Melvin Conway on system design

Melvin Conway's own site, Wikipedia

Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization's communication structure.

Phil Karlton's "two hard things"

David Karlton on skeptics.stackexchange.com

There are only two hard things in Computer Science: cache invalidation and naming things

Kent Beck on refactoring

Kent Beck's Tweet

For each desired change, make the change easy (warning: this may be hard), then make the easy change.

Bruce Schneier on AES

Cryptography Engineering

To us, AES is the shining example of how to standardize security systems. AES is not a design by committee, but rather a design by competition.

Tony Hoare on premature optimization

Popularized by Donald Knuth's 1974 book Structured Programming with go to Statements. Knuth credits Tony Hoare, whom then credits Edsger Dijkstra

Premature optimization is the root of all evil.

Check out my thoughts on this one.

John Carmack on functions

John Carmack's Tweet

Sometimes, the elegant implementation is just a function. Not a method. Not a class. Not a framework. Just a function.

Kent Beck on strategies on writing new code

wiki.c2.com

Make it work, make it right, make it fast.

Jack W. Reeves on software design

What Is Software Design?

Designing software is an exercise in managing complexity.

Anders Hejlsberg on working from home

Interview with The Aarthi and Sriram Show

I treated work as the place where I wouldn't work and then I go home and work.

Tony Hoare on null pointers

Null References: The Billion Dollar Mistake, Null: The Billion dollar mistake

I call it my billion-dollar mistake. It was the invention of the null reference in 1965.

Bjarne Stroustrup

https://www.stroustrup.com/quotes.html

It's easy to win forgiveness for being wrong; being right is what gets you into real trouble.

Antoine de Saint-Exupéry

Wind, Sand and Stars, chapter III: The Tool

Perfection is finally attained not when there is no longer anything to add, but when there is no longer anything to take away.

This is the translation found in Airman's Odyssey. I've found different wordings of this phrase online.

Ada Lovelace on Babbage’s machine

As quoted by Charles Petzold in his book Code

We may say that the Analytical Engine weaves algebraical patterns just as the Jacquard-loom weaves flowers and leaves.

Donald Knuth

Interview in the magazine Computer Language, volume 2, number 5, page 26, which I know of thanks to the amazing Computer Ads From The Past's article

The best way to program, I believe now, is really to concentrate on explaining to a person what the computer is supposed to do rather than explaining to a machine what it's supposed to do.

Peter Todd

Mail sent to the bitcoin-dev list on Tue, Jan 18, 2022 (original, dead link)

Bitcoin is an almost $1 trillion dollar system. We have to very carefully weigh the benefits of making core consensus changes to that system against the risks. Both for each proposal in isolation, as well as the precedent making that change sets.

At its peak, the bitcoin market cap actually exceeded 1 trillion, getting very close to 1.3. For comparison, Microsoft reached a trillion dollar market cap in 2019, when it was 44 years old and had over 150k employees. Bitcoin was 13 years old when this email was sent, is and always was open source and free, the reference implementation has had less than 100 significant contributors, and we still don't even know who Satoshi Nakamoto is.

In his talk at the Winter 1984 USENIX/UniForum meeting

There was always a foil which described Bell System Unix support policy:

| no advertising
| no support
| no bug fixes
| payment in advance

This slide was always greeted by wild applause and laughter.

A newsletter for programmers

Yo! This is Taro. I've been doing JavaScript for years and TypeScript for years. I have experience with many programming languages, libraries, frameworks; both backend and frontend, and in a few company roles/positions.

I learned a few things over the years. Some took more effort than I wish they had. My goal with this blog and newsletter is to help frontend and backend developers by sharing what I learned in a friendlier, more accessible and thorough manner.

I write about cool and new JavaScript, TypeScript and CSS features, architecture, the human side of working in IT, my experience and software-related things I enjoy in general.

Subscribe to my newsletter to receive notifications when I publish new articles, as well as some newsletter-exclusive content.

No spam. Unsubscribe at any time. I'll never share your details with anyone. 1 email a week at most.

Success!
You have subscribed to Taro's newsletter
Shoot!
The server blew up. I'll go get my fire extinguisher — please check back in 5.