You probably don't need query builders
In a previous [0] post I’ve discussed why I ditched sea-query and why sql is almostalways the best way to not re-learn something new from the beginning...
In a previous [0] post I’ve discussed why I ditched sea-query and why sql is almostalways the best way to not re-learn something new from the beginning...
I have been writing production applications in Go for a few years now. I like some aspects of Go. One aspect I do not like is how easy it is to create data races in Go.
A recent article devoted to the macho side of programming made the bald and unvarnished statement:
Stop deploying broken SQL queries. RegreSQL provides regression testing for PostgreSQL queries with performance baselines and automated warnings.
This would be my website, I guess.
How to build a custom completion backend for emacs from scratch.
TL;DR ¶ Some of the wisdom contained in Josh Bloch’s Effective Java book is relevant to Go. panic and recover are best reserved for exceptional circumstances. Reliance on panic and recover can noticeably slow down execution, incurs heap allocations, and precludes inlining. Internal handling of failure cases via panic…
We replaced simple websites with complex apps nobody asked for. Now it takes a complex build pipeline just to change a headline.
Building StopTheMadness Pro in Xcode is usually very fast, because my project doesn't use any Swift. It's a combination of Objective-C, which compiles much more quickly than Swift, and JavaScript, which doesn't need to be compiled. However, sometimes the builds were very slow for some strange reason. Checking the…
The tools of linear algebra are extremely useful when working in Euclidean space (e.g. \mathbb{R}^3 ). Wouldn’t it be great if we could apply these tools to additional mathematical constructs, such as functions and sequences? Hilbert space allows us to do exactly this - apply linear algebra to functions.
Building on my previous post on sorting algorithms, I implemented the same algorithms using CUDA to explore performance improvements through parallel computing. The goal is to see how we can leverage the power of parallel computing to speed up our sorting algorithms. I went for a NVIDIA recruiting event some days ago…
Hey all. TinyKVM was open-sourced this february and since then I’ve been working on some things that are very much outside of the scope of…
Training gaming agents is an addictive game. A game of sleepless nights, grinds, explorations, sweeps, and prayers. PufferLib allows anyone with a gaming computer to play the RL game, but getting from “pretty good” to “superhuman” requires tweaking every lever, repeatedly.
There comes a time in every software engineer’s life when they come up with a new binary-to-decimal floating-point conversion method. I guess my time has come. I just wrote one, mostly over a weekend: https://github.com/vitaut/zmij .
The data on the page is presented in a hierarchichal structure. The movie page contains a director, a list of genres, a list of actors, and each actor in the list contains a list of characters they played in the movie. You can't sensibly fit all of this into a single flat structure like a relation.
Modularity is a crucial concept when designing and creating software. Independent of whether our chosen architecture style is to have a single unit of deployment - Monolith or multiple units of deployment - Microservices/Services. It is a quality that should be treated completely independent of how many deployable…
The fundamental units of computation available to users today are not the same as they were 20 years ago. When users had at most a few cores on a single CPU, it made complete sense that every program was written with the assumption that it would only run on a single core.
Enums are one of the most popular features in Rust. An enum is a type whose value is one of a specified set of variants.
Today sees the announcement of the latest additions to Raspberry Pi's microcontroller line-up - the RP2350 family. I've had prototype units for a while, and you can run Rust code on it today. To my knowledge this is the first ever microcontroller launch with Rust support out-of-the-box.
This is the fifth post in my planned multipart series on memory management. You will probably want to go back and read Part I , which covers C, parts II and III , which cover C++, and part IV , which introduces Rust memory management. In part IV, we got through the basics of Rust memory management up through smart…
Recto is a 2D programming language that uses nested rectangles as its core syntax, encoding structure and recursion directly in space instead of a linear stream of text. Recto explores new ways to write, parse, and reason about code—and even natural language—spatially.
The year 2024 was a resurgent year for decompilation. Academic publications from that year made up nearly 30% of all top publications ever made in decompilation. In this post, I do a summarization and retrospective of both the academic and ideological progress of decompilation in 2024. Hint: decompilation research is…
The C++ standard library (also know as the STL) is, without a doubt, an astounding piece of work. Its scope, performance and incredible back...