Inverse Live Coding: A practice for learning web development
I finished my first semester teaching at the University of Michigan. I taught EECS 493 User Interface Development all on the Web. It was a tough class for me since I had never before this class use…
Effortless Elixir Releases and Deployment
Elixir-learning article: Effortless Elixir releases and deployment (tagged: Deployment, Releases, Phoenix, Render)
Fastly launches its new compute environment – supports Rust
Fastly is now offering access to its serverless compute environment in private beta. Meet Compute@Edge, a uniquely secure, performant, and scalable approach to serverless computing.
Why we’re switching to calendar versioning
One small step for Cockroach Labs, one giant leap for our release numbering.
Why We Chose Rails to Build Gitlab
Here's our CEO on GitLab’s inception using Rails, and how challenges are being handled along the way.
The phpCE 2019 conference in Dresden has been cancelled and won't be continued
Vergleiche Online Casinos in Europa nach den wichtigsten Kriterien – Lizenzierung, Zahlungen und Transparenz. Unabhängige Bewertungen für europäische Spieler.
Dark Matter Developers: The Unseen 99% (2012)
In astronomy and cosmology, dark matter is a currently-undetermined type of ...
Multiple ways to compute e in Raku
The first task of the 21st Weekly Challenge was a very old one: to find (what would eventually become known as) Euler’s number.
On Writing a C++ Book
On writing a technical book for experienced programmers.
Local Variables
And as imagination bodies forth The forms of things unknown, the poet’s pen Turns them to shapes and gives to airy nothing A local habitation and a name.
Learning to prove theorems via interacting with proof assistants
Learning to prove theorems via interacting with proof assistants Yang & Deng, ICML’19 Something a little different to end the week: deep learning meets theorem proving! It’s been a while …
2019 Guide to Cryptographic Key Sizes and Algorithm Recommendations
A simple, accessible recommendation for key sizes and recommended algorithms for various cryptographic algorithms.
Modeling Adversaries with TLA+
A common question I get about specs is how to model bad actors. Usually this is one of two contexts: The spec involves several interacting agents sharing a protocol, but some of the nodes are faulty or malicious: they will intentionally try to subvert the system. The spec involves an agent subject to outside forces…
Implementing a Convolutional Neural Network Using Only NumPy
A simple walkthrough of deriving backpropagation for CNNs and implementing it from scratch in Python.
Writing a simple evaluator and type-checker in Haskell
This tutorial serves as a very short and quick summary of the first few chapters of TAPL. Huge thanks to the ##dependent@freenode community (pgiarrusso, lyxia, mietek, …) for clearing all my …
Malloc Never Fails (2012)
Here’s a fun bit of trivia: malloc on Linux never fails [due to the obvious cause]. In this post, we’ll show that this indeed is the case, and explore why…
Getting Started with Lisp in 2019
A quick guide on how to get started with LISP development in 2019. TLDR: install <a href="https://github.com/roswell/roswell">roswell</a>.
PHP 5 and 7.0 end of life
Critical PHP Security Release 21 Oct 2026: PHP released emergency patches on 21 October 2026 for two critical unauthenticated remote code execution (RCE) Learn why PHP EOL matters, the security & compliance risks of running unsupported PHP, and how to plan, test, and upgrade to supported versions.
Librem 5 App Design Tutorial
Purism makes premium phones, laptops, mini PCs and servers running free software on PureOS. Purism products respect people's privacy and freedom while protecting their security.
Size visualization of Go executables using D3
Note The latest version of this document can be found online at https://dr-knz.net/go-executable-size-visualization-with-d3.html. Alternate formats: Source, PDF. Note Erratum (2019-04-02): The increase in binary size from CockroachDB v1.0 to v19.2 is 94%/125%, not 194%/225% as initially written. The increase in source…
Allsorts: font parser and shaping engine implemented in Rust
Today YesLogic is open-sourcing the Allsorts font parser, shaping engine, and subsetter for OpenType, WOFF, and WOFF2 under the Apache 2.0 license. Allsorts was extracted from the Prince HTML to PDF typesetting and layout tool and is implemented in Rust. Prince is a tool that converts HTML and CSS into well laid out…
Language, trees, and geometry in neural networks
Language is made of discrete structures, yet neural networks operate on continuous data: vectors in high-dimensional space. A successful language-processing network must translate this symbolic information into some kind of geometric representation—but in what form? Word embeddings provide two well-known examples…
“What the Hardware Does” Is Not What Your Program Does: Uninitialized Memory
This post is about uninitialized memory, but also about the semantics of highly optimized “low-level” languages in general. I will try to convince you that reasoning by “what the hardware d...
My Favorite Programming Problem to Teach: Digit Length
A function to return the number of digits in an input (natural) number provides many learning opportunities for a new programmer
Thoughts on macOS Package Managers
Saagar Jha's website.
Command Line Tools to Break Your Dependence on the GUI
Learn about 5 interesting Linux tools that will help break your dependence on the GUI and keep you productive on the command line.