New
The latest blog posts to take off on Hacker News. 21,827 posts.
Wordle-solving state of the art: all optimality results so far
Almost all mathematical questions one could have about Wordle are settled by now. I summarize here what is known so far.
Worst practices are viral for the wrong reasons (2014)
Perverse incentives surrounding best practices
Why our team cancelled our move to microservices
Recently our development team had a small break in our feature delivery schedule. Technical leadership decided that this time would be…
Deno in 2021
Retrospect of what happened in 2021 and what's coming in 2022
What's new in Ruby 3.1?
Nithin Bekal's blog about programming - Ruby, Rails, Vim, Elixir.
Julia Macros for Beginners
Macros are a powerful and interesting feature of the Julia programming language, but they can also be confusing. Users coming from Python, Matlab or R have not come in contact with similar constructs before, and they require a different way of thinking about code. This article is supposed to be a simple introduction…
Highlights from Git 2.35
The open source Git project just released Git 2.35. Here's GitHub's look at some of the most interesting features and changes.
LogJ4 Security Inquiry – Response Required
On Friday January 21, 2022 I received this email. I tweeted about it and it took off like crazy. The email comes from a fortune-500 multi-billion dollar company that apparently might be using a product that contains my code, or maybe they have customers who do. Who knows? My guess is that they do this … Continue…
Const all the things?
Last week someone posted a /r/cpp thread titled “Declaring all variables local to a function as const”: Ok, so I’m an old-school C++ programmer using the language now since the early ’90s. I’m a fan of const-correctness for function and member declarations, parameters, and the like. Where, I believe, it actually…
I accidentally used YAML.parse instead of JSON.parse and it worked
How I stumbled upon the fact that YAML is a superset of JSON.
Solving Wordle in 3.64 guesses on average, 99.4% of the time
Hey all, I’ve been enjoying wordle, the puzzle game recently but also wondered how a program might do at it.
Staff Engineer Communities
There haven’t been a lot of community structures or resources for Staff+ engineers. That’s changing.
Strict Python function parameters
What do you think about when writing a new function in Python? The function name, parameter names, optional/required parameters, and default arguments are all on the list. Here is a simple Python f...
In defense of complicated programming languages
A polemic critique of 'simple' programming languages and a defense of complicated ones.
I'm making a Typescript type-checker in Rust
TLDR; I'm making a Typescript type-checker in Rust. Right now it supports a smaller subset of the type-system and exists as a fun side-project, but the end goal is a compilation tool we can use to make Typescript compilation go brrrr...
Audio Sparklines
Audio Sparklines! 3-bit digital wonders! A lofi waveform representation of audio buffers in tests and lldb debuggers!
My Elm Experience
I've been using Elm since about one year back now. At the start of 2021 I began working with a client that had an existing Elm frontend code base and an early stage backend built in Elixir and Phoenix. This post will be about my experiences running face first into Elm. I'll be vague on some details as I can't share…
NoJS – Creating a calculator with only HTML and CSS
Everyone loves CSS! So I built a calculator where the CSS handles the logic without the help of javascript. In this blog post, I will discuss how I achieved this and maybe make a case for my sanity for making it.
Ten years against division of labor in software
"Software libraries suck. Here's why, in a sentence: they promise to be abstractions, but they end up becoming services. An abstraction frees you from thinking about its internals every time you use it. A service allows you to never learn its internals. A service is not an abstraction. It isn't 'abstracting' away the…
SICP: JavaScript Edition available for pre-order
Since the publication of its first edition in 1984 and its second edition in 1996, Structure and Interpretation of Computer Programs (SICP) has influenced co...
Porting USB applications to the web. Part 1: libusb
Learn how code that interacts with external devices can be ported to the web with WebAssembly and Fugu APIs.
Bad Emacs Advice
Most Emacs advice you'll find on the internet is largely good, and will improve your Emacs abilities, but people do occasionally share outright bad advice that harms your learning.
Postgres Indexes for Newbies
Samples of b-tree, GIN, and GIST indexes for Postgres beginners.
Starting with microservices
Starting a greenfield project with microservices is easy. The promises are wonderful but often they are far from reality. This time I’ll share my experience on the truth about microservices when starting a project from scratch.