Every good work of software starts by scratching a developer’s personal itch.
With enough eyes, all bugs are shallow.
If Unix could present the same face, the same capabilities, on machines of many different types, it could serve as a common software environment for all of them.
The beginnings of the hacker culture as we know it today can be conveniently dated to 1961, the year MIT acquired the first PDP-1.
You cannot motivate the best people with money. Money is just a way to keep score. The best people in any field are motivated by passion.
Microsoft is not the problem. Microsoft is the symptom.
When you lose interest in a program, your last duty to it is to hand it off to a competent successor.
If you have the right attitude, interesting problems will find you.
Complexity control is the central problem of writing software in the real world.
Why the hell hasn’t wxPython become the standard GUI for Python yet?
Berkeley hackers liked to see themselves as rebels against soulless corporate empires.
A critical factor in its success was that the X developers were willing to give the sources away for free in accordance with the hacker ethic, and able to distribute them over the Internet.
For the first time, individual hackers could afford to have home machines comparable in power and storage capacity to the minicomputers of ten years earlier – Unix engines capable of supporting a full development environment and talking to the Internet.
Software is largely a service industry operating under the persistent but unfounded delusion that it is a manufacturing industry.
A software system is transparent when you can look at it and immediately see what is going on. It is simple when what is going on is uncomplicated enough for a human brain to reason about all the potential cases without strain.
The only way to write complex software that won’t fall on its face is to hold its global complexity down – to build it out of simple pieces connected by well-defined interfaces, so that most problems are local and you can have some hope of fixing or optimizing a part without breaking the whole.
Of course, C proved indispensible to the developers of all its alternatives. Dig down through enough implementation layers under any of the other languages surveyed here and you will find a core implemented in pure, portable C.
Prototype, then polish. Get it working before you optimize it.
Programmer time is expensive; conserve it in preference to machine time.
It is widely grokked that cats have the hacker nature.