The hacker ethic: sharing, openness, decentralization, and getting your hands on machines at any cost to improve the machines and to improve the world. All information should be free.
Squeezing in time where no one else would (sniping people even 1 min late at 3am in the morning). This culture seemed to almost arise bottom-up from the scarcity of compute resources at the early 60s and 70s, especially around the MIT area where there seemed to be a lot more spare compute time and just really smart, curious people.
What was a computer but something that benefited from a free flow of information?
The best way to promote free exchange of information is to have an open system, one with no boundaries attached. The worst thing to encourage this is to have a bureaucracy.
The difference between bureaucrats and and logical algorithms are that bureaucrats follow arbitrary rules whereas algorithms follow concrete and transparent rules.
Hacking as a creative art
They seemed to think that hacking and painting were very different kinds of work— that hacking was cold, precise, and methodical, and that painting was the frenzied expression of some primal urge.
PG is positing that hacking (traditionally seen as more as more mechanical) and painting (seen as more creative) have a lot in common — most importantly, the face that they make things.
For hackers, computers are just the medium through which they express themselves.
Namely, they don’t exclusively try for exclusively creating or maintaining but rather to make ‘good things’ and if either of those happen along the way, all the better.
But often this mismatch [between labels and what they do] causes problems. It’s easy to drift away from building beautiful things toward building ugly things that make more suitable subjects for research papers.
Labels are logically decentralized so if it no longer is useful, then it will phase itself out. While yes, language is useful for defining norms externally, for those strongly intrinsically motivated (which arguably are the people PG is trying to speak to), those labels don’t matter because external incentives matter very little to them. If that label continues to be useful to them (e.g. to secure funding or to talk about it to laypeople) then why not continue to use it?
I think my case for this argument would be slightly different if PG focused more on the public perception of the label.
“Universities and research labs force hackers to be scientists, and companies force them to be engineers… Programmers were seen as technicians who translated the visions (if that is the word) of product managers into code.” (re: academia)
This feels like a problem of scale: only a small percentage of hackers can actually design software and it’s hard for people running a company to pick these out
Big companies want to damp oscillation/standard deviation of results, they have shareholders to which they are accountable. They win by sucking less than their competitors, not making great products.
“But when you damp oscillations, you lose the high points as well as the low.” (Vanilla Ice Cream effect)
Figuring things out as you go
If I had only looked over at the other makers, the painters or the architects, I would have realized that there was a name for what I was doing: sketching.
The traditional approach is to logically plan things out and to create with intention. PG argues that sketching — figuring out the program as one writes it — is just as valid.
A programming language is for thinking of programs, not for expressing programs you’ve already thought of. The argument against strong typing is really interesting. I like to think of strong typing as ruler lines or a guide to ensure that the perspective of my drawing is right; a good aid to ensure that I’m on the right track.
Prices are determined by supply and demand, and there is just not as much demand for things that are fun to work on as there is for things that solve the mundane problems of individual customers.