https://github.com/cmstead/technica-miscellany
A collection of memories, stories, and aphorisms from the technical trade
https://github.com/cmstead/technica-miscellany
Last synced: 4 months ago
JSON representation
A collection of memories, stories, and aphorisms from the technical trade
- Host: GitHub
- URL: https://github.com/cmstead/technica-miscellany
- Owner: cmstead
- Created: 2020-10-23T17:57:48.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2025-08-16T20:37:37.000Z (10 months ago)
- Last Synced: 2025-08-16T22:15:00.606Z (10 months ago)
- Size: 17.6 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
Awesome Lists containing this project
README
# Technica Miscellany #
*A collection of memories, stories, writings, aphorisms, and guiding principles from the computing trades*
This is a curated list of various works about and related to the computing trades. This is not programmer specific, though I am a programmer so it may lean that way. The goal of this document is to collect those things which illuminate the culture at the time; have materially influenced the way we think, work, and interact; or could shift the way we look, think, or work as a group.
This is a glimmer of what I imagine [thick culture](https://www.geepawhill.org/2018/10/14/thick-and-thin-culture/) might look like.
## Stories and Other Writings ##
- [The Abuse of Design Patterns in writing a Hello World Program](https://taskinoor.wordpress.com/2011/09/21/the-abuse-of-design-patterns-in-writing-a-hello-world-program/)
- Taking design patterns to the extreme, creating a Hello World program in Java -- This is a great one for highlighting that patterns are not always the answer
- [Das Blinkenlights](https://en.wikipedia.org/wiki/Blinkenlights)
- The story of a faux-German sign posted to warn people to leave the computers in a supercomputing center alone
- [Fizz-buzz in TypeScript](https://dev.to/gypsydave5/fizz-buzz-in-typescript-7ip)
- Extracting the pure TypeScript part of TypeScript, and building FizzBuzz with an abuse of the type system
- [The Origins of Opera and the Future of Programming](https://blog.atomist.com/the-origins-of-opera-and-the-future-of-programming/)
- The camerata, symmathesy, and the continuous discovery of software as a sociotechnical system
- [A Story About 'Magic'](http://www.catb.org/~esr/jargon/html/magic-story.html)
- One of my favorite stories about technical oddities and electronics
- [Thick and Thin Culture](https://www.geepawhill.org/2018/10/14/thick-and-thin-culture/)
- A reflection on what "geek culture" looks like and what it could be
- [Efficiency is the Enemy](https://fs.blog/2021/05/slack/)
- A discussion of why being less efficient is more efficient
## Videos ##
- [Veritasium - Khan Academy and the Effectiveness of Science Videos](https://www.youtube.com/watch?v=eVtCO84MDj8)
- A video about discomfort of learning, and combating misconceptions around an idea
## Aphorisms and Principles ##
*Brooks' Law*
> [...] Adding manpower to a late software project makes it later
*Coldwater's Law*
> Given enough published content, an expert in their field will always have their work weaponized against them by someone not realizing its origins.
Origin: [https://bsky.app/profile/markstjohn.bsky.social/post/3l6sy5wiakr2z](bsky skeet)
*Conway's Law*
> Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization's communication structure.
*Dijkstra on Abstraction*
> The purpose of abstraction is not to be vague, but to create a new semantic level in which one can be absolutely precise
*Gall's Law*
> A complex system that works is invariably found to have evolved from a simple system that worked.
*Goodhart's Law*
> When a measure becomes a target, it ceases to be a good measure.
*Greenspun's tenth rule*
> Any sufficiently complicated C or Fortran program contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp.
*Gregor's Law*
> Excessive complexity is nature’s punishment for organizations that are unable to make decisions.
*Hofstadter's Law*
> It always takes longer than you expect, even when you take into account Hofstadter's law.
*Kernighan's Lever*
> Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.
*Little's Law*
> The average number of items in a system is equal to the average arrival rate of those items multiplied by the average time they spend in the system (L = λW)
*[Law of Demeter](https://en.wikipedia.org/wiki/Law_of_Demeter)* (link)
*[Principle of Least Privilege](https://en.m.wikipedia.org/wiki/Principle_of_least_privilege)* (link)
*Principle of Least Astonishment*
> If a necessary feature has a high astonishment factor, it may be necessary to redesign the feature.
## Books ##
- [The Cathedral & the Bazaar](https://bookshop.org/books/the-cathedral-the-bazaar-musings-on-linux-and-open-source-by-an-accidental-revolutionary-revised-expanded/9780596001087)
- Reflections on the Open Source community, and the benefits which come from open source software
- [The Mythical Man Month](https://bookshop.org/books/the-mythical-man-month-essays-on-software-engineering-anniversary-edition/9780201835953)
- The famous book by Fred Brooks about his experience in the software industry
- [A People's History of Computing in the United States](https://bookshop.org/books/a-people-s-history-of-computing-in-the-united-states/9780674970977)
- A look at the democratization of programmable computing in the United States
- [Peopleware](https://bookshop.org/books/peopleware-productive-projects-and-teams-revised/9780321934116)
- Discussions on things that make for a better, or worse technical worker environment
- [The Psychology of Computer Programming](https://www.amazon.com/Psychology-Computer-Programming-Silver-Anniversary-dp-0932633420/dp/0932633420/ref=mt_other?_encoding=UTF8&me=&qid=1603479443)
- An analysis of computer programmers, programming languages, and how they function together in the world of software development
## Contributing ##
To contribute to this list, please visit the [contributing document.](https://github.com/cmstead/technica-miscellany/blob/main/CONTRIBUTING.md)
## License ##
Licensed under Creative Commons:
[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/)