A curated list of data oriented design resources. https://github.com/dbartolini/data-oriented-design
Category Archives: Programming
Never use the word “User” in your code
You’re six months into a project when you realize a tiny, simple assumption you made at the start was completely wrong. And now you need to fix the problem while keeping the existing system running—with far more effort than it would’ve taken if you’d just gotten it right in the first place. https://codewithoutrules.com/2018/09/21/users-considered-harmful/
The Urge To Strangle (The Strangler Pattern)
Applications are selected or created in isolation to address local needs. They are not designed to interoperate. They may provide overlapping or redundant functionality. They are built with different programming languages on different platforms and use different data stores. https://www.leadingagile.com/2018/10/the-urge-to-stranglethe-strangler-pattern/
Objections Are Goals
After I published test && commit || revert, I got a variety of responses on Twitter and on Hacker News. The Twitter comments were mostly of the form, “I’ll try it and post how it goes.” Many of the Hacker News comments were objections–“This won’t work because…” I was reminded of a habit: turn objectionsContinue reading “Objections Are Goals”
Why you can have millions of Goroutines but only thousands of Java Threads
Many seasoned engineers working in JVM based languages have seen errors like this: OutOfMemory…err…out of threads. On my laptop running Linux, this happens after a paltry 11500 threads. If you try the same thing in Go by starting Goroutines that sleep indefinitely, you get a very different result. On my laptop, I got up toContinue reading “Why you can have millions of Goroutines but only thousands of Java Threads”
10 Practices for Readable Code
I’ve been writing code for 20 years. During that time I’ve worked with 17 teams coding different languages to build hundreds of projects. These include everything from a simple blog site, to APIs supporting 3,000 requests/second, to top selling apps. From these experiences, combined with the books I’ve read, it’s become apparent to me whatContinue reading “10 Practices for Readable Code”
Implementing single file Web Components
Probably everyone who knows the Vue framework also heard about its single file components. This super simple idea allows web developers to define the entire code of a component in one file. It’s such a useful solution that an initiative to include this mechanism in browsers has already appeared. However, it seems quite dead as,Continue reading “Implementing single file Web Components”
Nine people can’t make a baby in a month. Fred Brooks
Laziness. Impatience. Hubris. Larry Wall Laziness – The quality that makes you go to great effort to reduce overall energy expenditure. It makes you write labor-saving programs that other people will find useful, and document what you wrote so you don’t have to answer so many questions about it. Hence, the first great virtue ofContinue reading
On two occasions I have been asked [by members of Parliament]: “Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?” I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question. Charles Babbage, Passages from the Life of aContinue reading