The Programmers' Stone (2014)
datapacrat.com
datapacrat.com
I miss sites that were about sharing ideas and helping others rather than getting claps.
The only way I could think of making this better was if it was generated from a git repo so that one day if I’m ever worthy of asking a question or sending a suggestion, I could send a pull request. But that’s totally author’s prerogative and I’m happy they shared this in a non junky-way.
My best takeaways were:
1. You're not crazy for being a deep thinker: it drives force multiplication
2. Ceremony is very often bullshit
3. You're going to have to make some quality sacrifices in your code - here's a useful model on how to approach that
I also liked the bits about using a step debugger for code reviews, and avoiding nested conditionals. I mostly failed to grasp the camel sex analogy.
I think it's a bit more than that, though. Fluency in a task usually means being able to do it without undue planning. When you are speaking, you don't figure out the grammar of what you are saying. You just open your mouth and it kind of pops out. It's that kind of synthesis that's important. It's the same as play chess at a high level or especially playing go. You might not know exactly why one move is better than the other, but your fluency allows you to judge it correctly. To me, that's "mapping". "Packing" is a good strategy if you don't need to judge the value of your work. This is the answer: right or wrong. You can write it down. You can memorize it. You can produce it at the appropriate time. But you can't derive it without a lot of effort.
This writing influenced my thinking a lot, but when I started to get involved with language acquisition, I started to feel that it's a bit limited. I think language/skill acquisition models are actually a better fit. However, this analogy is still useful in certain ways.
It implores us to learn from the Japanese post WWII practice of Total Quality Management / Kaizen to become imaginative mappers.
The article strongly divides people into one of the two camps, with frequent Dilbert references and disparaging remarks towards packers as "holding their toothbrush with chopsticks". It strongly criticizes packing as worthless ceremony for the sake of social ritual.
(If you squint hard enough there's also a parable in there about premature API layers and strong typing, but I'll concede that part's subjective).
https://www.datapacrat.com/Opinion/Reciprocality/r2/index.ht...
I'm very curious the history behind all of this, the original author(s), where they are now or where any of this theory went, whose thinking it influenced.
Edit: Well, from the "unsolicited testimonial": 'On Tue, 2 Nov 1999, Alan Carter wrote' So, I guess I'm pretty close on the 20 year thing :-)
It's been discussed on Hacker News a few times before. There's also a Yahoo group for discussing related ideas: https://groups.yahoo.com/neo/groups/progstone/info with posts going back as far as 1999.
Definitely not 2014.
[0] http://libgen.io/search.php?req=programmers%27+stone [1] https://en.wikipedia.org/wiki/Library_Genesis
Also points out the beauty of the web that it’s so effortless to maintain information that it’s easier for me to keep it running than shut it down.
It would be valuable to have a short description from someone who's read this, please.
It also champions the bazaar over the cathedral.
That ship hasn't come in yet. Maybe the Pareto principle is stopping it.
https://web.archive.org/web/20190627151514/https://www.datap...
There's real good stuff here. Minor quibble: 'The Art of Computer Programming' is a well known series of books by Donald Knuth. You might say:
"The purpose of this site is to recapture, explore and celebrate the art of computer programming."
Each API will give different implementation.
The things that i learnt is that, i need to spend more time on API usage rather than implementation. With basic API and raw implementation, i could incrementally improve the implementation later.
With a broken API usage, my code is trashable.
for i in {1..7} ; do curl "https://www.datapacrat.com/Opinion/Reciprocality/r0/Day$i.html" | pandoc -f html --pdf-engine=xelatex -o "chap$i.pdf"; done