The Seto Inland Sea Trip, Part 2
Published
This is the second part of my backpacking trip through the Seto Inland Sea.
Published
This is the second part of my backpacking trip through the Seto Inland Sea.
Published
I like exploring. A few months ago I finished a major contract, so I took the opportunity to do an adventure I’ve wanted to do for some time: backpacking across the Seto Inland Sea in Japan and exploring its tiny little rural islands.
(Warning: this post is image-heavy.)
Published
Sometimes you need a really simple way to generate parameterised text without pulling in a full-blown templating language as a dependency — for example, when writing an install script that needs to generate a simple configuration file. Using the classic *nix Bourne shell that’s installed on practically every *nix system is one option. To be honest, it can be a terrible option, but it often gets simple jobs done, so I think it’s a trick worth remembering.
Published
Version 2.079 of the DMD compiler has just
been released with improvements to the -betterC
flag. I
just gave it a try, and the D code I linked into a C executable with some
horrible linker hacking in 2016 now works without any linker hacking at all. There’s still some more stuff to test
out when I get around to it, but, hey, here’s some progress:
Published
Markets are supposed to make corporations efficient, so if you do consulting, you have to wonder why so many organisations (both private and government) are so absurdly dysfunctional. The way I see it, there’s no real paradox: organisations are pushed by both forces of efficiency (like market forces) and forces of dysfunction (like political drama). Corporations are only efficient if the forces of efficiency are stronger.
There are many forces of dysfunction that can affect an organisation, but there’s one that’s particularly important for risk-averse organisations (like banks and large government departments). Whenever I see people in an organisation doing something that doesn’t make any sense, I always ask if this catch-22 can explain it:
Every risk-averse organisation needs someone to take the initiative to eliminate risks. But in a risk-averse organisation, that’s exactly what no one does.
Published
Here’s a comparison of the web servers I’ve used the most.
Published
NB: This post is just a translation (with some extra comments by me). Credit goes to the original and the C code generator that inspired it.
Published
A year ago I worked on a web service that had Postgres and Elasticsearch as backends. Postgres was doing most of the
work and was the primary source of truth about all data, but some documents were replicated in Elasticsearch for
querying. Elasticsearch was easy to get started with, but had an ongoing maintenance cost: it was one more moving part
to break down, it occasionally went out of sync with the main database, it was another thing for new developers to
install, and it added complexity to the deployment, as well as the integration tests. But most of the features of
Elasticsearch weren’t needed because the documents were semi-structured, and the search queries were heavily
keyword-based. Dropping Elasticsearch and just using Postgres turned out to work okay. No, I’m not talking about
brute-force string matching using LIKE
expressions (as
implemented in certain popular CMSs); I’m talking about using the featureful text search indexes in good modern
databases. Text search with Postgres took more work to implement, and couldn’t do all the things Elasticsearch
could, but it was easier to deploy, and since then it’s been zero maintenance. Overall, it’s considered a net win (I
talked to some of the developers again just recently).
Published
My first small business wasn’t actually in the software industry. Back when I was a student, I did contract office jobs in the summer holidays to pay for things while I was studying. I got a feeling that I’d be happier self-employed than someone else’s employee, so after graduation I experimented with registering an Australian Business Number (ABN) and using it to do maths and sciences tuition. I went back to working for other companies eventually, but I learned a lot from the experience, and that know-how was extremely valuable later when I quit my full-time job to start my own little consulting business.
I might write more about that experience some other time, but for now I want to write about what’s been hardest for me to get used to: when you’re self-employed, no one cares how much work you do.
Published , Updated
It was less than a year ago that I wrote about linker hacking the
runtime out of D code so that it could work as “better C” code, but things have already changed a lot since then. A
few days ago Walter Bright announced a new, improved
-betterC
switch, which can now do a lot of the stuff that
needed ugly hacking before.