New
The latest blog posts to take off on Hacker News. 14,543 posts.
95th percentile isn't that hard to reach
Reaching 95%-ile isn't very impressive because it's not that hard to do. I think this is one of my most ridiculable ideas. It doesn't help that, when stated nakedly, that sounds elitist. But I think it's just the opposite: most people can become (relatively) good at most things.
Combinatris: Tetris with SKI Combinators
Combinatris
What’s New in Swift 5.2
Key path expressions as functions, callAsFunction, and more
Pathfinding Demystified (2014)
Pathfinding is one of these topics that usualy baffles game developers. The A* algorithm in particular is poorly understood, and the general belief seems to be that it’s arcane magic.
You’re better off using Exceptions
Exception handling is an error management paradigm that has often been met with criticism. Such criticisms typically revolve around scoping considerations, exceptions-as-control-flow abuse or even …
Allocator Designs
This post explains how to implement heap allocators from scratch. It presents and discusses different allocator designs, including bump allocation, li…
Null Values in SQL Queries
*If you’re the owner of this website and have questions, reach out to Bluehost. We’re happy to help.
Writing a DSL in Lua (2015)
DSLs, or domain specific languages, are programming languages that are designed to implement a set of features specific to a particular problem or field. An example could be Make , the build tool, which is a specially designed language for combining ...
Things I Believe About Software Engineering
Inspired by Jan Stette's "Things I Believe" post, I decided to write down some of the more contentious beliefs I have about software engineering. I've selected some of my more extreme opinions here, so I expect reasonable people to disagree with me. That's ok.
New in PHP 8
PHP 8.0 brings features like attributes, union types, and the JIT compiler. It has some important breaking changes, and improved performance.
Streaming: a skill gap?
It's not just for big data
Writing a RISC-V OS in Rust: System Calls
System calls are a way for unprivileged, user applications to request services from the kernel. In the RISC-V architecture, we invoke the call using the ecall instruction. This will cause the CPU to halt what it's doing, elevate privilege modes, and then jump to whatever function handler is stored in the mtvec…
Libc++'s Implementation of std::string
I. Introduction
A Pythonista's Review of Haskell
A Python developer's honest review of Haskell: the type system, tooling, learning curve, and practical tradeoffs.
Alpine makes Python Docker builds slower, and images larger
Alpine Linux is often recommended as a smaller, faster Docker base image. But if you’re using Python, it will slow down your build and make your image larger.
The Shapes of Code
Expressive code in C++
Hacking on Clang is surprisingly easy
Date: 2020-01-27 Git: https://gitlab.com/mort96/blog/blob/published/content/00000-home/00012-clang-compiler-hacking.md
Distri: 20x faster initramfs (initrd) from scratch
In case you are not yet familiar with why an initramfs (or initrd, or initial ramdisk) is typically used when starting Linux, let me quote the wikipedia definition: “[…] initrd is a scheme for loading a temporary root file system into memory, which may be used as part of the Linux startup process […] to make…
Ambitions for a Unix Shell
As discussed in the January blog roadmap , I want to concretely describe a reduced Oil language , and see if we can get it "done" in 2020.
Why the Sorbet type checker is fast
This is the second in an indefinite series of posts about things that I think went well in the Sorbet project. The previous one covered our testing approach. Sorbet is fast. Numerous of our early users commented specifically on how fast it was, and how much they appreciated this speed. Our informal benchmarks on…
Clojure – Fascinated, Disappointed, Astonished (2016)
I’ve had a pleasure to work with Piotrek Jagielski for about two weeks on Clojure project. I’ve learned a lot, but there is still a lot to know about Clojure for me. In this post I’ll write what fasci
Yes Silver Bullet (2019)
Since Fred Brooks published his essay, I believe that we, contrary to his prediction, have witnessed several silver bullets.
Lumen – Elixir and Erlang in the Browser
The Lumen Project is an alternative implementation of the Erlang VM, more known as the BEAM. It is designed to work in WebAssembly with the specific goal of bringing Elixir and Erlang to the browser.