New
The latest blog posts to take off on Hacker News. 1,517 posts.
Building Container Images with Nix
Dockerfiles are de facto standard for creating container images. In this article I highlight some issues with this approach and I propose building container images with Nix.
A Visual Guide to React Rendering
Contrary to popular belief, by default, react component doesn't care whether its props changed or not. It will always re-render when its parent renders.
A 5x reduction in RAM usage with Zoekt memory optimizations
Recently, we've been working to scale Sourcegraph cloud's index to 1 million open source repositories and beyond. Part of that effort has been reducing the RAM usage for the Zoekt (pronounced "zooked") servers responsible for handling most of our code searches.
Data-Mining Wikipedia for Fun and Profit
The engineering blog of Bill P. Godfrey.
LLVM Internals: The Bitcode Format
I’ve done a couple of posts on LLVM itself, mostly on things you can do with LLVM or how LLVM represents particular program features.
Wgpu-0.10 released: WebGPU implementation now in pure Rust
gfx-rs is a project bringing efficient cross-platform graphics to rust. This blog supposedly hosts the major milestones, concepts, and recaps of the project.
GitHub Discussions is out of beta
GitHub Discussions is now out of beta, with features that include labels, Discussions GraphQL API and webhooks, and mobile functionality.
C++20 Modules with GCC11
Introduction One of the headline changes of the C++20 standard is the inclusion of modules. Modules promise to significantly change the structure of C++ codebases and possibly signal headers’ ultimate demise (but probably not in my lifetime). It also opens the door to potentially have a unified build system and…
Performance Improvements in .NET 6
Take a rip-roarin' tour through hundreds of PRs worth of performance improvements for .NET 6.
A simple way to build collaborative web apps
Junyu Zhan's homepage
Exploring Clang/LLVM optimization on programming horror
Recently, I’ve come across a not so efficient implementation of a isEven function (from r/programminghorror ).
Git 2.33
The open source Git project just released Git 2.33, with features and bug fixes from over 74 contributors. Here's a look at some of the most interesting features and changes.
Object-Oriented Entity-Component-System Design
About two months ago, I decided to start developing a fresh codebase for my voxel project – something that many indie developers are probably all-too familiar with, including myself. This time around, there were three major features that I wanted to implement:
Let's write a compiler, part 3: A parser
Tokenizing the source code input is a great start for our compiler. Now let's turn our attention to parsing the PL/0 grammar. Once we have finished with the parser, the front end of our compiler will be finished and we will have a PL/0 validator. This is a program that can read in PL/0 source code and inform the user…
What can be learned from studying long gone development practices?
Current ideas about the best way of building a software system are heavily influenced by the ideas that captured the attention of previous generations of developers. Can anything of practical use be learned from studying long gone techniques for building software systems?
Why is learning functional programming so damned hard? (2019)
My Functional Programming journey was filled with dead ends, false starts, failed attempts and frustration. And I suspect that I’m not…
Rails 6 with Webpacker 6, Tailwind 2 with JIT, Postcss 8 and some default setup
It is always nice to follow a detailed guide and steps when building new rails apps. Below is a bit of guidance and step-by-step…
Cap'n Proto 0.9
There’s no huge new features in this release, but there are many minor improvements and bug fixes. You can read the PR history to find out what has changed.
Let's write a compiler, part 1: Introduction, selecting a language, and planning
I think we all knew this might be coming once we finished up with our assembler . While we can in theory solve any computable problem by writing the appropriate assembly for our assembler, writing assembly code can be a bit more cumbersome than a high-level language. There is a reason why we did not write our…
Closing 45% of the open Emacs bugs
Hey, that took only a month, which means that it’s time, once again, to display some Emacs charts. And since this is the tenth post in this series, I thought I’d natter on even more tha…
Thoughts On Lisp And Racket (2019)
I plan on writing about why I am interested in the Lisp family of languages. It will probably come out in stages.
How Actors Work Internally in Swift
Lets explore how actors work under the hood, using Swift's own source code as a guide to finding out how they work inside the compiler.
Dealing with Out-of-Memory Conditions in Rust
In this post, CrowdStrike's Engineering team walks through one possible way of adapting a library to handle OOM events without aborting the process.