New
The latest blog posts to take off on Hacker News. 14,543 posts.
SQLite is easy to compile
SQLite is really easy to compile
Go Is the New Ruby
How I fell in love with Ruby
ML from Scratch, Part 2: Logistic Regression (2018)
In this second installment of the machine learning from scratch we switch the point of view from regression to classification: instead of estimating a number, we will be trying to guess which of 2 possible classes a given input belongs to. A modern example is looking at a photo and deciding if its a cat or a dog.
Why async fn in traits are hard
After reading boat’s excellent post on asynchronous destructors , I thought it might be a good idea to write some about async fn in traits. Support for async fn in traits is probably the single most common feature request that I hear about. It’s also one of the more complex topics. So I thought it’d be nice to do a…
An Illustrated Guide to Useful Command Line Tools
A short description and screenshot of some useful command line tools I use that aren't part of typical POSIX environment.
PostgreSQL example of self-contained stored procedures
Derek Sivers official site. Thoughts on philosophy, culture, self-improvement. Author of Useful Not True, How to Live, Hell Yeah or No, Anything You Want.
Software Is Hard (2007)
"Software is hard," reads the quote from Donald Knuth that opens Scott Rosenberg's Dreaming in Code . The 400 pages that follow examine why: Why is software in a never-ending state of crisis? Why do most projects end up horribly over-budget or cancelled or both? Why can't we ship code without bugs? Why, everyone asks…
قلب: a non-ASCII programming language written in Arabic
قلب is a programming language exploring the role of human culture in coding. Code is written entirely in Arabic, highlighting cultural biases of computer science and challenging the assumptions we make about programming. It is implemented as a tree-walking language interpreter in JavaScript.
Zen and the Art of Software Maintenance
In one part of the book Zen and the Art of Motorcycle Maintenance, which is neither about Zen nor motorcycle maintenance, there are two motorcycles and two riders. John Sutherland is a romanticist who appreciates the external qualities of his motorcycle: its aesthetics, and its use as a vehicle. The narrator is a…
Rust and C++ on Floating-Point Intensive Code
I have developed some interest in the Rust programming language. Rust is a systems programming language which means it gets out of the way of developers interested in reaching low-level internals of a system. What sets it aside from other systems languages though is: Borrow checking to guarantee memory safety…
80x25
Every now and then, my brain clamps on to obscure trivia like this. It takes so much time. “Because the paper beds of banknote presses in 1860 were 14.5 inches by 16.5 inches, a movie industry cartel set a standard for theater projectors based on silent film, and two kilobytes is two kilobytes” is as far back as I…
Beating C with Dyalog APL
wc utility in Dyalog APL
Essential elements of good documentation
A comprehensive guide on how to write good documentation for your code and libraries
How to not rewrite it in Rust
Once you get past the growing pains of the Borrow Checker and realise Rust gives you the power to do things which would be unheard of (or just plain dangerous) in other languages, the temptation to Rewrite it in Rust can be quite strong. However at best, the temptation to RiiR is unproductive (unnecessary duplication…
An Introduction to Real-Time Subsurface Scattering
A little while ago I was doing some research into the state-of-the-art for approximating subsurface scattering effects in real-time (mainly for skin rendering), and I had taken a bunch of loose notes to help me keep all of the details straight. I thought it might be useful to turn those notes into a full blog post, in…
63 Cores Blocked by Seven Instructions
I seem to have a habit of writing about super powerful machines whose many cores are laid low by misuse of locks. So. Yeah. It’s that again. But this one seems particularly impressive. I mean, how …
Client-side web programming in Haskell: A retrospective
At the beginning of this decade (2010), a few of us Haskellers were exploring how best to do client-side web programming. We didn’t want to write JavaScript. There’s a surprising number of techniques we tried to avoid doing so. There was work coming from academia and industry. Here’s a history of my own experience in…
Yes, Estimate Software Projects
I hear more voices saying [https://hackernoon.com/the-myth-of-software-time-estimations-576a7466d91a] there is little point in doing time-based estimations on how long building software will take, and thus we should just stop doing it. "Let's just use story points and estimate complexity, but not
ML From Scratch, Part 1: Linear Regression
To kick off this series, will start with something simple yet foundational: linear regression via ordinary least squares. While not particularly exciting, linear regression finds widespread use both as a standalone learning algorithm and as a building block in more advanced learning algorithms.
My Favourite Git Commit
I like Git commit messages. Used well, I think they’re one of the most powerful tools available to document a codebase over its lifetime. I’d like to illustrate that by showing you my favourite ever Git commit.
Stupid Unix Tricks
These are my stupid unix tricks. I hope that they are useful to you. Platform Note I use Mac OS X (pron: “ten”). If you don’t, you might want to switch…
Verb-Noun vs. Noun-Verb
Behind the scenes - how I'm making redblobgames.com - interactive explanations of game development algorithms and math
Mu: A minimal hobbyist computing stack
Over the past year I've been working on a minimal-dependency hobbyist computing stack (everything above the processor) called Mu . The goal is to: