New
The latest blog posts to take off on Hacker News. 14,543 posts.
A New R6RS Scheme Compiler
Some readers already know this and a few have suspected. I’ve been working on a new R6RS Scheme compiler for a while. Now I have released it as free software. Read on to learn the many wonderful drawbacks of this niche compiler.
Processing 40TB of code from 10M projects with a dedicated server and Go
The command line tool I created Sloc Cloc and Code (scc) (which is now modified and maintained by many other excellent people) counts lines of code, comments and makes a complexity estimate for files …
Go Interfaces, the Tricky Parts
Does this Go snippet compile, and if not, why?
Text Rendering Hates You
Rendering text, how hard could it be? As it turns out, incredibly hard! To my knowledge, literally no system renders text “perfectly”. It’s all best-effort, although some efforts are more important than others.
Modern Script Loading
Serving the right code to the right browsers can be tricky. Here are some options.
Modern SAT solvers: fast, neat and underused
In part 1 of this series, we built a Sudoku solver based on translating Sudoku to SAT and then giving the resulting SAT instance to a SAT solver. We also benchmarked our solver and found out that it, unsurprisingly, loses to the state of the art of Sudoku solvers. Since
Crafting Interpreters: Closures
As the man said, for every complex problem there’s a simple solution, and it’s wrong.
Application Layering – A Pattern for Extensible Elixir Application Design
This paper covers building large, maintainable Elixir codebases using Hexagonal Architecture and the Layers pattern.
Be wary of functions which take several parameters of the same type
A good example of a simple looking, but hard to use correctly, API is one which takes two or more parameters of the same type. Let’s compare two function signatures:
Commit Graph Drawing Algorithms
This article is one chapter of my master thesis entitled “Design and implementation of a graphical user interface for git”. It describes the algorithm I designed to draw the commit graph in my own prototype git client called gitamine. I have adapted the content so that it fits better with this blog. Drawing graphs is…
Ray Tracing Denoising
An overview of ray tracing denoising, reviewing filtering, spatiotemporal, sampling and AI techniques to improve convergence and temporal coherency in real time ray traced applications.
Voidcall – Making of 13kb JavaScript RTS Game
Like last year with Underrun , I participated in this year's js13kGames – a JavaScript game development competition with a file size limit of 13kb, including code, assets and everything else. My entry was Voidcall , a Real-time Strategy game.
Tmux Tutorial
Setting Up Tmux for Daily Usages
When TCP sockets refuse to die
While working on our Spectrum server , we noticed something weird: the TCP sockets which we thought should have been closed were lingering around. We realized we don't really understand when TCP sockets are supposed to time out!
Using Gooey as a Universal Front End for Any Language or CLI Application
A quick walk through demoing how to use Gooey as the frontend for any language or application!
Weld: Accelerating numpy, scikit and pandas as much as 100x with Rust and LLVM
Lambdaclass's blog about distributed systems, machine learning, compilers, operating systems, security and cryptography.
Why I Write Games in C (yes, C)
I am an unusual beast. All my solo project games I've been making recently have been written in 'vanilla' C. Nobody does this. So I think it might be interesting to explain why I do.
Async.h – asynchronous, stackless subroutines in C
The async/await idiom is becoming increasingly popular. The first widely used language to include it was C#, and it has now spread into Jav...
Common Systems Programming Optimizations and Tricks
Today’s blog post is an overview of some common optimization techniques and neat tricks for doing “systems programming” – whatever that means today. We’ll walk through some methods to make your code run faster, be more efficient, and to squeeze just a little more juice from whatever you got.
Working with GitHub Actions
GitHub Actions are still in beta and are changing quickly. But if you are looking to get started the possibilities are endless.
Challenges in Implementing a Full-Text-Search Engine
While Full-text-search is famous for search through documents at a faster rate, there are other interesting ways in which these systems handle scale, synonyms, abbreviations, misspellings etc., we will
Linux Terminal Goods
Some time ago I blogged about some cool terminal plugins I was using in my Linux notebook. Also some awesome retro- emulator terminals j...
At Dynamicland, the Building Is the Computer
Dynamicland is a non-profit that resides somewhere between an academic research lab and a Silicon Valley startup, between physical and digital, and between computing’s distant past and its future.