Hacker News new | ask | show | jobs
by saucetenuto 3781 days ago
I think this is my favorite Underhanded C submission ever. One simple ambiguity, applied with breathtaking precision and effectiveness. Puts me in mind of an old essay of Zed's: http://zedshaw.com/archive/the-master-the-expert-the-program...
3 comments

From the essay:

> In contrast there are masters in the martial arts who learned their art as a means of survival and became masters in a realistic and hostile environment. We don’t have anyone like this in the programming profession, or at least I haven’t met any.

Charles H. Moore springs to mind.

> learned their art as a means of survival

A friend of mine posted this a couple years ago: https://news.ycombinator.com/item?id=7950190

It's fantastic meeting people who learned to program because they had to. They have a totally different perspective on it.

> Charles H. Moore springs to mind.

Can you expand on this?

Quote from (http://www.ultratechnology.com/1xforth.htm):

I wish I knew what to tell you that would lead you to write good Forth. I can demonstrate. I have demonstrated in the past, ad nauseam, applications where I can reduce the amount of code by 90% percent and in some cases 99%. It can be done, but in a case by case basis. The general principle still eludes me.

I have a background in system design, programming, and martial arts. That was a great essay. Really enjoyed it. So thanks for linking it. I'm glad I've finally gotten into the Master phase in the sense of philosophy rather than claiming a certain talent level.

I'm sick of all the needless complexity in what people push. I'm old enough to have seen it repeat in many fads over time. I've seen designs that beautifully and simply (for user/developer) handled their requirements. I've even seen the master programmers he thinks don't exist that write maintainable, good code under deadlines. I've seen amateurs following good principles come close enough. So, I'd like to see more people emulating the principles of mastery he espouses using any proven method to get there and avoiding common pitfalls.

A significant rise in amateurs on that path would itself deliver a better baseline than what today's experts are pushing. I'll take a well-trained amateur that hates complexity over an expert any day. 80/20 rule says I don't need many experts anyway for most jobs.

> I'll take a well-trained amateur that hates complexity over an expert any day.

I would consider someone sufficiently well-trained, yet wise enough to understand the value in simplicity, humble enough to listen to the ideas of others and keep learning, and curious enough to actively consult others for dissenting ideas to be one of tomorrow's experts.

In other words, I agree. :P

Very well worded haha. Given my background, I should throw in an exception for INFOSEC. If it's high security, you want as many experts as you can get to review various aspects for pitfalls and possible suggestions. Just too much to worry about for one master and good amateurs as complexity grows. Still leave final decision and priorities on any of that to the leader who was a master or an expert that's a cut above the rest in wise decision-making. That should filter BS and committee-think while getting review benefits.

That's actually been my recommendation for a while for high assurance. What you think of it?

I like it.

Somewhat related anecdote: Trying go get WordPress to adopt a CSPRNG was painful for a year.

Then I started paragonie/random_compat and like 30 other people pitched in to improve it, and then I suggested just using that (so new code can be written against PHP 7's API). And so the problem was solved.

I'd tend to agree that, for security matters, a small team of people focused on success with the knowledge and/or resources they need to execute on their own initiatives gets a better result than a large team with varied interests and use cases.

Good job on winning that uphill battle. One of those little things that can prevent immeasurable damage given its userbase.
That was my intention. Dion Hulse really pulled through on WP's end, and he's quick to pull in upstream changes into their trunk branch for testing. :)
> In contrast there are masters in the martial arts who learned their art as a means of survival and became masters in a realistic and hostile environment. We don’t have anyone like this in the programming profession, or at least I haven’t met any.

I'm wondering if Zed would consider say Carmack for example, such a master coder?