How much faster is Java 17?
@{siteConfig.tagline}
We don’t use Kubernetes
“No, we don’t use Kubernetes”. That always gets raised eyebrows... so we decided to write about our reasoning behind this cloud architecture decision.
The data model behind Notion's flexibility
Notion’s data model enables the product’s most foundational component: blocks. Through blocks, we allow users more flexibility over their information.
State machines are wonderful tools
I love when my current problem can be solved with a state machine. They’re fun to design and implement, and I have high confidence about correctness. They tend to:
Migrating from Docker to Podman
Docker has recently announced that Docker Desktop will soon require a subscription and, based on the size of your company, may require a paid subscription. (It remains free for personal use). There has been quite a bit of reaction to this news...
I'd like to review your README
I'm afraid I'm not accepting new requests for review. I have reviewed all the ones I've received before 2022-03-24.
Malloc broke Serenity's JPGLoader, or: how to win the lottery
I got the chance to investigate an interesting bug in SerenityOS this week. It was related to the decoding of JPG images in the operating system. For some reason, when a JPG image is viewed, it comes out like this: Lenna, showing up with incorrect colors. Weird, huh? Also seems like a simple confusion of RGB vs. BGR…
PHP 8.1.0
PHP 8.1 is a major update of the PHP language. Enums, readonly properties, first-class callable syntax, fibers, intersection types, performance improvements and more.
How to Hack APIs in 2021
Detectify Crowdsource is not your average bug bounty platform. It’s an invite-only community of the best ethical hackers who are passionate about securing modern technologies ...
Writing Well-Documented Code – Learn from Examples
Writing Well-Documented Code - Learn from Examples
SQLite Release 3.37.0
A complete list of SQLite releases in a single page and a chronology are both also available. A detailed history of every check-in is available at SQLite version control site .
Tmux lets you select and copy text with your keyboard
never leave the comfort of your home row again
Rust is a hard way to make a web API
It is not just the borrow checker
.NET 6 vs .NET 5 speedup
A year ago I wrote a post comparing .NET 5 performance with its predecessor on Fusion performance tests, and honestly, I was quite…
Strict Tables – Column type constraints in SQLite - Draft
SQLite strives to be flexible regarding the datatype of the content that it stores. For example, if a table column has a type of "INTEGER", then SQLite tries to convert anything inserted into that column into an integer. So an attempt to insert the string '123' results in an integer 123 being inserted. But if the…
Write a time-series database engine from scratch
It covers how to make a time-series database engine from scratch
Pharo 9
Pharo is a pure object-oriented programming language and a powerful environment, focused on simplicity and immediate feedback.
Will Nix Overtake Docker?
Nix and Docker both tackle the works-on-my-machine problem, but in different ways. A practical comparison of their approaches to reproducible environments.
Sciter, the 5 MB Electron alternative, has switched to JavaScript
Without too much fanfares Sciter has officially transitioned from TIScript to JavaScript this week.
RCE in Visual Studio Code's Remote WSL for Fun and Negative Profit
The Visual Studio Code server in Windows Subsystem for Linux uses a local WebSocket WebSocket connection to communicate with the Remote WSL extension. JavaScript in websites can connect to this server and execute arbitrary commands on the target system. Assigned CVE-2021-43907 and zero bounty. I paid 5 USD for the EC2…
What's bad about Julia?
A mega-rant about all the things I find bad about Julia.
Reverse Engineering an Unknown Microcontroller
Dmitry.GR: How to reverse engineer a completely undocumented microcontroller. From nothing to a full SDK in one week flat!
jQuery 3.6.0
jQuery: The Write Less, Do More, JavaScript Library
There is no 'printf'
In C, 'main' returns an int. What happens when you don't explicitly return a value, though? C99 provides a return value of 0, but C89... well, that's undefined, my favorite kind of behavior.
Branch predictor: How many “if”s are too many?
Is it ok to have if clauses that will basically never be run? Surely, there must be some performance cost to that...
Commits are snapshots not diffs (2020)
Git has a reputation for being confusing. Users stumble over terminology and phrasing that misguides their expectations. This is most apparent in commands that “rewrite history” such as git cherry-pick or git rebase. In my experience,…