Fake it until you automate it
A pragmatic way for you to start automating deployments of a Legacy system.
A pragmatic way for you to start automating deployments of a Legacy system.
Object Pascal is a modern, readable, fast, type-safe, cross-platform OOP programming language. It is also easy to pick up.
There is an area of Python that many developers have problems with. This is an area that has seen many different solutions pop up over the years, with many different opinions, wars, and attempts to solve it. Many have complained about the packaging ecosystem and tools making their lives harder. Many beginners are…
DegenCity Casino for New Zealand players: 30 free spins with no deposit, an NZ$6,000 welcome package, a four-tier VIP program, Apple Pay, cards and crypto, payouts within 24 hours.
A study of Google's code review tooling (Critique), AI-powered improvements, and recent statistics
You're probably reading this page because you've attempted to access some part of my blog (Wandering Thoughts) or CSpace , the wiki thing it's part of. Unfortunately you're using a browser version that my anti-crawler precautions consider suspicious, most often because it's too old (most often this applies to versions…
This is a very concise introduction to x86 disassembly. It shows that you probably have all the skills to start reading disassembly right now even if you thought it was too complicated for you. It really isn't, see it for yourself.
I got a Slack message from colleagues at a major partner. They’d updated their dev environment to support WebSockets, so that Neon’s serverless driver could be used there, but then they’d run into a weird issue. The nub of it was this: This hangs: This works Reproducibly, the query without an ORDER BY ran fine […]
Introduced in 2019 (kernel 5.1) by Jens Axboe, io_uring (henceforth uring) is a system for providing the kernel with a schedule of system calls, and receiving the results as they're generated. Whereas epoll and kqueue support multiplexing, where you're told when you can usefully perform a system call using some set of…
Brave's vertical tabs feature is now available for Windows, macOS, and Linux users to experience a new way to manage open tabs.
The next time you start on a major project, I want you to write code for a couple of days and then delete it all . Just throw it away.
In 2013, I had an idea: "what if I were to build my programming language?". Back then my idea came down to "an interpreted language that mixes elements from Ruby and Smalltalk", and not much more.
Over the past year I’ve refined my approach to arena allocation . With practice, it’s effective, simple, and fast; typically as easy to use as garbage collection but without the costs. Depending on need, an allocator can weigh just 7–25 lines of code — perfect when lacking a runtime . With the core details of my own…
When a laptop crashed in an empty office, we knew it was time to overhaul our performance testing framework.
Supply chain security is a hot topic today, but it is a very old problem. In October 1983, 40 years ago this week, Ken Thompson chose supply chain security as the topic for his Turing award lecture, although the specific term wasn’t used back then. (The field of computer science was still young and small enough that…
Xe Iaso's personal website.
In October 2021, Ian, a fellow frontend developer at GDS posted a message in our support channel for the GOV.UK Design System on Slack:
This release is the Reference Implementation of version 20 of the Java SE Platform, as specified by JSR 395 in the Java Community Process.
A way to talk about programming languages, and a plea to Think Different™
Extensible programs like Obsidian have achieved a Holy Grail of software architecture, after decades of failed attempts.
Did you hear the news? Firefox development is moving from Mercurial to Git . While the decision is far from being mine, and I was barely involved in the small incremental changes that ultimately led to this decision, I feel I have to take at least some responsibility. And if you are one of those who would rather use…
Building agents with LLM (large language model) as its core controller is a cool concept. Several proof-of-concepts demos, such as AutoGPT, GPT-Engineer and BabyAGI, serve as inspiring examples. The potentiality of LLM extends beyond generating well-written copies, stories, essays and programs; it can be framed as a…
In my view, wget is not a curl competitor. It is a companion tool that has a feature overlap with curl. Use the tool that does the job. Getting the job done is the key. If that means using wget instead of curl, then that is good and I don't mind. Why would I? To … Continue reading The curl-wget Venn diagram →
This is an introduction to data structure flattening, a special case of arena allocation that is a good fit for programming language implementations. We build a simple interpreter twice, the normal way and the flat way, and show that some fairly mechanical code changes can give you a 2.4× speedup.
Part 1: expressions, arithmetic Part 2: statements, control flow Ever since I was a teenager I wanted to create my own systems pr...
Quicker, but also more convenient
Why replacing programmers with AI won’t be so easy.
From raw code to a model serving users: the data pipelines, training infrastructure, and evaluation work behind Replit’s language models.
I’ve been writing custom software for a long time and one of the things that annoys me most is when a client adopts the position that there is a silver bullet which will reduce or remove the inherent complexity of this task. This happens more often than you’d think and guess what? They are almost always wrong. Perhaps…