Retiring a favourite C++ joke
I have a favourite joke when teaching new and delete in C++. Alas, I believe that attendees are now less likely to have seen the show it references. Therefore, I present it here for your enjoyment (or not).
Cut the Cutesy Errors
If your app has just ruined my day, I need help, not humour.
Scaling Rust Builds with Bazel
Why DFINITY builds Rust with Bazel.
From Ruby to Node: Overhauling Shopify’s CLI for a better developer experience
In this blog post, Pedro explains why we rewrote Shopify CLI into Node instead of Ruby, the tradeoffs that came with the decision, the principles we embraced in this new iteration, and the challenges and ideas ahead of us to explore.
Building a Digital Audio Mixer
Hacking together bits of electronics to route audio
Ways to teach kids to code (2016)
Board games, apps, websites, and tutorials for teaching kids to code.
Notes on making a multiplayer "doing nothing app"
Projects, experiments and toys by Rafał Pastuszak
The Jupyter+Git problem is now solved (2022)
Previously, using git with Jupyter could create conflicts and break notebooks. With nbdev2, the problem has been totally solved.
C++17 creates a practical use of the backward array index operator
Possibly more than just a curiosity.
How to keep lambda calculus simple
Once upon a time, my curiosity of dependent types transitioned into an endeavour to learn how they work under the bonnet. Then I found the paper called “A Tutorial Implementation of a Dependently Typed Lambda Calculus” or just “Simply Easy” – and began reading it. However, the affairs happening there were so complex…
AsciiDoc, Liquid and Jekyll
A couple of days ago I was giving a little update to my website and I needed a wayto create and inject custom HTML into some of my posts.
Extending web applications with WebAssembly and Python
How to leverage Python and WebAssembly to securely extend your web application capabilities using Suborbital and Wasm Labs tooling and language runtimes.
Let's make a Teeny Tiny compiler (2020)
Make your own BASIC to C compiler in Python.
What is gained and lost with 63-bit integers? (2014)
Almost every programming language uses 64-bit integers on typical modern Intel machines. OCaml uses a special 63-bit representation. How does it affect OCaml?
Programming culture in the late aughts (2022)
How it felt to be computing in the late aughts vs. now.
Making Lenses Practical in Java
How (and why!) to convince the machines to write lenses for you
A FactoryFactoryFactory in Production (2017)
No one has ever written a FactoryFactoryFactory and deployed it to production, right? This article takes a look at some real Java mishaps.
The Future of Programming – Interview with Richard Eisenberg
Listen in on Jane Street’s Ron Minsky as he has conversations with engineers working on everything from clock synchronization to reliable multicast, build systems to reconfigurable hardware. Get a peek at how Jane Street approaches problems, and how those ideas relate to tech more broadly.
Emacs and shellcheck
Julia Evans had a great talk called Making Hard Things Easy . One of the takeaways for me was that I should be using tools for parts of a ...
Language Pragmatics Engineering
On best practices and gradient descent.
The Remarkable Ivan Sutherland
CHM releases to the public for the first time a full oral history with Ivan Sutherland, pioneer of computer graphics, virtual reality, asynchronous systems, and more.
Surviving without a superuser in Postgres 16
As I've written about before , a PostgreSQL superuser always has the ability to take over the operating system account in which PostgreSQL i...
For processing strings, streams in C++ can be slow
The C++ library has long been organized around stream classes, at least when it comes to reading and parsing strings. But streams can be surprisingly slow. For example, if you want to parse numbers, then this C++ routine is close to being the worst possible choice for performance: std::stringstream in(mystring)…