I Want Off Mr. Golang's Wild Ride
My honeymoon with the Go language is extremely over. This article is going to have a different tone from what I’ve been posting the past year - it’s a proper rant. And I always feel bad writing tho...
Posts that commenters keep linking to, ranked by how many different people have cited them in Hacker News comments. 2,232 posts.
My honeymoon with the Go language is extremely over. This article is going to have a different tone from what I’ve been posting the past year - it’s a proper rant. And I always feel bad writing tho...
Replace Redis, MongoDB, Kafka & more with PostgreSQL. Reduce complexity, boost development speed. Complete guide with real examples.
ASCII delimited text solves the problems exporting and importing structured text files and is part of the design of the character set. Unfortunately a lot of people and systems use CSV and other pr…
An experiment in javascript-free syntax highlighting, made possible by opentype contextual alternates and COLR table
I was explaining on Hacker News why Windows fell behind Linux in terms of operating system kernel performance and innovation. And out of nowhere an anonymous...
قلب 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.
Org Mode Syntax Is One of the Most Reasonable Markup Languages to Use for Text
This article shows how to construct a non-recursive zip bomb that achieves a high compression ratio by overlapping files inside the zip container. "Non-recursive" means that it does not rely on a decompressor's recursively unpacking zip files nested within zip files: it expands fully after a single round of…
In this post, we explore cooperative multitasking and the async/await feature of Rust. We take a detailed look at how async/await works in Rust, inclu…
I love Make . You may think of Make as merely a tool for building large binaries or libraries (and it is, almost to a fault), but it’s much more than that. Makefiles are machine-readable documentation that make your workflow reproducible.
In this course we explain how category theory—a branch of mathematics known for its ability to organize the key abstractions that structure much of the mathematical universe—has become useful for writing elegant and maintainable code. In particular, we'll use examples from the Haskell programming language to motivate…
A machine learning craftsmanship blog.
OK, so C# doesn’t share the Rust concept of “borrowing,” so it wouldn’t technically be correct to call this “borrow checking,” but in practice when people talk about “Rust’s borrow checker” they’re talking about all of the static analysis Rust does to ensure memory safety, for which I think this qualifies.
This JavaScript demo application visualizes in detailed steps, how a text string is encoded into a QR Code barcode symbol. The content of this page essentially explains and justifies how my QR Code generator library works internally.
PHP 8.0 brings features like attributes, union types, and the JIT compiler. It has some important breaking changes, and improved performance.
Both QBE and LLVM are compiler backends using an SSA representation. This document will explain why LLVM does not make QBE a redundant project. Obviously, everything following is biased, because written by me.
There are three questions you have when you’re hiring a programmer (or anyone, for that matter): Are they smart? Can they get stuff done? Can you work with them? Someone who’s smart but doesn’t get stuff done should be your friend, not your employee. You can talk your problems over with them while they procrastinate…
I think it’s time to remind people that D. J. Bernstein is the greatest programmer in the history of the world.
Some bugs look so impossible you start blaming the OS, the tools, or the compiler. This post digs into three of them.
Most of the comments in this semicolons in JS exchange make me sad. The code in question:
Butterick’s Practical Typography
I’ve programmed systems in many different languages; from assembler to Java. I’ve written programs in binary machine language. I’ve written applications in Fortran, COBOL, PL/1, C, Pascal, C++, Java, Lua, Smalltalk, Logo, and dozens of other languages. I’ve used statically typed languages, with lots of type inference…
My hobby : opening up McIlroy’s UNIX philosophy on one monitor while reading manpages on the other.
Steven Frank's essay on the current state of the desktop UI 1 reminded me of Oberon, a delightfully insane system I used back when I was studying computer science at ETH Zürich. The first thing you have to understand about Oberon is that it evolved entirely outside of the normal genealogy of user interfaces…