Defaulting on Single Page Applications
If you’re trying to build a single page application (SPA), you should probably use a tool designed primarily for the job. Site generators focused on…
The latest blog posts to take off on Hacker News. 14,540 posts.
If you’re trying to build a single page application (SPA), you should probably use a tool designed primarily for the job. Site generators focused on…
Recently, 37signals unveiled mrsk , a tool developed internally to ease with deployments of their services and an accompanying blog post which sparked a lengthy discussion on Hacker News .
I find myself thinking about a particular design principle of Rust today. I’m not sure I’ve ever seen it named specifically before, but it gets referred to from…
This post will be a bit all over the place. Several months ago, I wrote Hard Mode Rust, exploring an allocation-conscious style of programming. In the ensuing discussion, @jamii name-dropped TigerBeetle, a reliable, distributed, fast, and small database written in Zig in a similar style, and, well, I now find myself…
Little things you'll notice and need to learn when learning Zig
A few months back, I started writing a profiler from scratch, and the code since became the base of my profiler validation tools. The only problem with this project: I wanted to write a proper non-safepoint-biased profiler from scratch. This … Continue reading →
I always thought of 1+N as a thing that you just keep in your head, catch on code reviews or via performance regressions. This worked well for a long …
Last year I finally decided to learn some Rust. The official book by Steve Klabnik and Carol Nichols is excellent, but even after reading it and working on some small code exercises, I felt that I needed more to really understand the language. I wanted to work on a small project to get some hands-on experience, but…
To learn how optimizing compilers are made, I built one targeting the 6502 architecture . In a bizarre twist, my compiler generates faster code than GCC, LLVM, and every other compiler I compared it to.
The TodoMVC implemented in Kobold weighs about 30kb when gzipped over the wire, out of which the gzipped Wasm blob is under 20kb. There are no tricks there . I haven't replaced the default allocator, nor have I minified the JavaScript (although I probably should).
I always got fascinated by heap memory. Questions such as How heap memory is obtained from kernel? How efficiently memory is managed? Is it managed by kernel or by library or by application itself?…
[…] Embedded in Academia : Why Take a Compiler Course? – Seconded, or whatever – my compiler course was briefer than I'd have liked but many of my peers didn't take it and I spent ages explaining what I thought where simple concepts to them when working on group projects and the like. […]
Series Introduction In this series of articles I would like to share with you a set of ideas that are meant to help non-technical people build a better intuition as to what the current software and…
React starter kits (Vite, Next, Astro, Remix, React Router) which help React developers to start a React project in 2025 ...
This post introduces [[butler]], a virtual operating system that runs multi-players applications on the web. In two parts, I present:
I describe why AWK is great for prototyping and is often the best alternative to the shell and Python
Suppose you’re not using a C runtime on Linux, and instead you’re programming against its system call API. It’s long-term and stable after all. Memory management and buffered I/O are easily solved, but a lot of software benefits from concurrency. It would be nice to also have thread spawning capability. This article…
Why DFINITY builds Rust with Bazel.
It is difficult to write software which reliably and safely manages processes on Unix; this is because of flaws in the API. I know of no Unix system which has solved these problems, but in this article I'll be specifically talking about the Linux process API.
Deploy Go apps as single static binaries with systemd. No Docker, no npm, zero-downtime via socket activation. Modern complexity is often unnecessary.
This is a set of tips/tricks for learning and using pytest.
UPDATE: has evolved a bit and is now on MELPA. I had been meaning to give ChatGPT a good try, preferably from Emacs. As an eshell fan, ChatGPT seemed ...
In this article, previously part of my new book, we look at the introduction of .NET Core, why it was created, and how it has evolved into .NET 7.
Software engineers are, if not unique, then darn near unique in the ease with which we can create tools to improve our own professional lives; this however can …
Taking a software design course in college (Go Ducks!), we used Ed Yourdon (RIP) & Larry Constantine’s book Structured Design as a text.
Right. I said in the 8.0.0 blog post that it might be a good release. It was. Apart form the little bug that caused it to crash in several test cases. So now we shipped curl 8.0.1, which is almost identical apart from a single commit that was reverted. Exactly why this was not discovered … Continue reading curl 8.0.1…
I don't care about avoiding GC or about maximum performance. I treat Rust as a high level language.
wingolog: article: a world to win: webassembly for the rest of us
I think by now everybody reading this will have seen how the new generation of Large Language Models like ChatGPT are able to produce somewhat useful code. Like any advance in software development—from IDEs to high-level languages—this has generated some discussion on the future employment prospects in our field.