New
The latest blog posts to take off on Hacker News. 2,668 posts.
Local-first software: you own your data, in spite of the cloud
Local-first software: you own your data, in spite of the cloud Kleppmann et al., Onward! ’19 Watch out! If you start reading this paper you could be lost for hours following all the interesti…
Code Pages, Character Encoding, Unicode, UTF-8 and the BOM [video]
OK, fine maybe they DID teach you this in class. But, you'd be surprised how ...
Selling My Bootstrapped SaaS Business (2017)
How I built and sold a bootstrapped Micro-SaaS business in five years. A guide for founders to selling a SaaS business.
The Hierarchy of Cringe
Cripples and lovely women are both tired of being looked at, they are weary of an existence that involves constantly being observed, they feel hemmed in; and...
How to Begin a Novel
Last year for National Novel Writing Month I trained a neural net called torch-rnn on 10,096 unique ways to begin a novel. It came up with some intriguing possibilities, my personal favorite being “I am forced to write to my neighbors about the beast.” But many of its sentences used made-up words, or had such weird…
Clang Format Tanks Performance
Can using clang-format make your code slower? Kind of.
The Most Intolerant Wins: The Dictatorship of the Small Minority
On Medium, Nassim explains how once an intransigent minority reaches a tiny percentage of the total population, the majority of the population will
The Early History of Usenet, Part I: The Technological Setting
Usenet—Netnews—was conceived almost exactly 40 years ago this month. To understand where it came from and why certain decisions were made the way they were, it’s important to understand the technological constraints of the time.
Logic Puzzles with Prolog (2017)
Solving Logic Puzzles with Prolog
Algebraic Data Types: Things I wish someone had explained about FP
Algebraic data types and algebraic data structures sound similar. It’s like they ought to be the same thing. But they’re not. They both have ‘algebraic’ in the name, so it’s confusing. I got them mixed up at times. Others have too. But, they’re different concepts. Understanding the difference will help if you’re…
Apple's New Map: Midwest and Western U.S.
On November 18, 2019, Apple’s new map expanded to parts of the Midwest and much of the Western U.S.:
The Loneliness of a Long-Distance Thinker (1985)
Harry Truman was President and Sputnik was a word that only Russian language experts knew when Doug Engelbart first thought about displaying words and images on radar screens, storing them in computers, and manipulating them with levers and buttons and keyboards. For over thirty years, Engelbart has been trying to…
Goroutines and APIs
Goroutines are a unusual and powerful programming language feature, so they are a tempting toy to play with, and they get a bit overused.
AI Update, Late 2019
It's been 7 months since my last commentary on the field, and as it became regular appearance in this blog (and in fact many people apparently enjoy this form and keep asking for it),
Music Generates Feelings That Are Only Weakly Bound to the Music
Here I use the word "bound" in the same sense as "bind" in the "binding problem".
A Dead-Simple Web Stack in Haskell
Haskell has a proliferation of libraries to choose from for all of your basic backend needs, from logging to database access to routing and web server definition. It's nice to have the freedom of choice, but if you're just starting out, the amount of decisions needed can be overwhelming. Maybe you're not even…
The cognitive costs of air pollution
Air pollution is a very big deal. Its adverse effects on numerous health outcomes and general mortality are widely documented . However, our understanding of its cognitive costs is more recent and those costs are almost certainly still significantly under-emphasized. For example, cognitive effects are not mentioned in…
WebWindow, a cross-platform webview library for .NET Core
Steve Sanderson's Blog
Programmer’s Guide to Performance Analysis and Tuning on Modern CPUs
They say “performance is king’… It was true a decade ago and it certainly is now. With more and more data the world generates each day, we need more and more computing power to process it. It used to be the case that some SW vendors preferred to wait for a new generation of HW to speed up their application and did not…
Tunnel Boring Machines (2018)
Meet the Most Interesting Tunnel Boring Machines
Understanding Serde
Serde is one of the most popular Rust crates, and deservedly so. If you aren't familiar, Serde describes itself as "a framework for serializing and deserializing Rust data structures efficiently and generically." What is most impressive to me is how robust the Serde data model has proven to be, allowing it to support…
“What Alan Kay Got Wrong About Objects”
One of the anonymous reviewers of my recently published Storage Combinators paper ( pdf ) complained that hiding disk-based, remote, and lo...