Tech Choices I Regret at Spectrum
Spectrum is an open source chat app for large online communities. With the benefit of hindsight, here are the technology choices I regret.
The latest blog posts to take off on Hacker News. 14,543 posts.
Spectrum is an open source chat app for large online communities. With the benefit of hindsight, here are the technology choices I regret.
An alternative way to teach Git
Do we have a good safety net to change this legacy code?
[latexpage] Rise of the Tomb Raider (2015) is the sequel to the excellent Tomb Raider (2013) reboot. I personally find both refreshing as they move away from the stagnating original series and rete…
Some of you may know I've been spending whatever time I can scrounge together grinding away at a new serialization library for .NET. Serializers can be complicated beasts. They have to be reliable, flexible, and fast beyond reproach. I won't convince you that serialization libraries have to be quick — in this post…
caveat: tthis is not a best-of nor a comprehensive list of Lisp books; it is merely a selection of Lisp books you may not have heard of or that special to me in some way. If you find this post interesting then you might like my yearly best-of posts .
This post introduces paging, a very common memory management scheme that we will also use for our operating system. It explains why memory isolation i…
In 1963, the philosopher Edmund Gettier published a three-page paper in the journal Analysis that quickly became a classic in the field. Epistemologists going back to the Greeks had debated what it meant to know something, and in the Enlightenment, a definition was settled upon: to know something is to have a…
Today, I'm publishing a new book: Property-Based Testing with PropEr, Erlang, and Elixir . It's my third book, the second one that is not self-published.
I've been interested in using Kyoto Tycoon for some time. Kyoto Tycoon, successor to Tokyo Tyrant , is a key/value database with a number of desirable features:
The purpose of this article is to show you step-by-step examples of how to use the Fourier transform algorithm to multiply two numbers. The primary advantage of using fourier transforms to multiply numbers is that you can use the asymptotically much faster 'Fast Fourier Transform algorithm', to achieve better…
Adrian Kummerländer's blog on software development, linux and open source
To say my first foray into Rust was a frustrating struggle would be an understatement. I picked a terrible first project that left me neck deep in Rust’s trickiest areas right off the bat. I was excited to try again. A few years ago I wrote Sumoshell, a CLI App for log analysis. I’d wanted to improve it for a while…
In a recent blog post entitled “Monorepos: Please don’t,” Matt Klein discusses the pros and cons - as it turns out, mostly cons in his view - of monorepos. The long and short of it is that he thinks that they are not a good fit for most teams. After thinking about this question for a few years I have come to the…
In this tutorial we’ll discuss the ideas and concepts behind rendering water and then talk through some demo code.
Ever since I opened up my Direct Messages and invited everyone to ask me computer graphics related questions on Twitter , I am very often asked the question "How can I get started with graphics programming?". Since I am getting tired of answering this same question over and over again, I will in this post compile a…
Removing spaces from a string is a common task in text processing. Instead of removing single character we often want to remove all the white space characters or the punctuation characters etc.
The BeagleBone Black is an inexpensive, credit-card sized computer that has two built-in microcontrollers called PRUs. While the PRUs provi...
I was recently reminded of why I think it’s a bad idea to teach beginners C++. It’s a bad idea because it is an objective mess—albeit a beautiful, twisted, tragic, wondrous mess. Despite the current state of the community, this post is not a polemic against modern C++. This post is partly a follow-up on Simon Brand’s…
Note that some of the wrong answers can be fixed with various workarounds. For example Common–Lisp gives the correct answer for:
Two fun things happened recently and the proximity of the two made something go click in my head and now I think I understand how bytecode interpreters work.
There's nothing here. The Internet is far too dangerous right now. The blog may return in future, if I get around to it.
You should choose a monorepo because the default behavior it encourages in your teams is visibility and shared responsibility, especially…
The vchan protocol is used to stream data between virtual machines on a Xen host without needing any locks. It is largely undocumented. The TLA …