Now
Compilers and low-level work have turned into a genuinely nice place to be. Most of what I do now sits somewhere between an instruction set manual and a code generator, and that suits me.
The day job is still the system operator role at Cuscal Paymark in Auckland, TACL and COBOL and a fair bit of TAL, and the embedded fintech contract is still on. Both good, the shift work is brutal though.
Being honest about the harder part of this year. The attention around Booth was more than I expected and more than I wanted. A lot of startups got in touch promising a great deal, and very few of them followed up on any of it. The rest was a steady stream of people asking when their particular thing would be supported. I ended up programming from waking to sleeping, sixteen hour days, and having to deliberately make myself go for a walk. The quantum work was good fun and then the same thing happened all over again.
The true cost of that is two finished things I have not released. Kokako, a quantum chemistry suite, roughly Gaussian in a CLI and without the licence that stops you saying so. And a browser engine, which browses a fair chunk of the web already. Both sitting there because I know what releasing them looks like now. I will put them out, but on the understanding that they are things I made rather than products I am staffing.
Quantum itself was interesting and I am glad I went there. I got a Fortran runtime PR into qiskit-fortran and learned a lot. I do not think it is mine, though, so Ernest is going quiet rather than getting a roadmap.
One big lesson from this year, learned a few times now. If you want to build something inside somebody else's project, turn up with the patch rather than the question. I asked first, specifically and politely, partly so I would not duplicate anyone's work. Six weeks of silence later the work existed and I had not done it. An issue is a gift to whoever has more time than you, and in a project with paid full-time people that is always them. It was a bit disappointing because I was rather looking forward to it and it's put me off contributing for some time.
Where I am actually pulling is backwards. I have been enjoying BAL on the Apollo guidance computer project, and HLASM, and designing an emulated VSAM for z390.
Reading a lot of nuclear physics at the moment so I can take Moa past neutrons.
I've also been reading into Grace Hopper's work and have found some preserved copies of Math-matic and Arith-matic. I've already made Flow-matic usable for Python and I feel more confident in my compiler work so would love to get some of it running again.
The projects ticking along
- Booth, a GPU compiler. I've been adding more tests to it. Plus I intend to release a wannabe Ghidra crossed with LLVM objdump that I've been using to analyse my output.
- Takahē, I made a decompiler of sorts which helped with a puzzle and I've been reading a lot on verification which has really been a brain workout. I've also been reading up on older targets as I've encountered them so hopefully Takahē could be useful to people doing historical reconstructions of chips. Once I get some savings I plan on getting a few of my own designs fabricated.
- z390, the portable mainframe emulator. Currently improving zVSAM and designing a zVSAM 2.
- OCaml, teaching the native backend to emit single instructions it currently turns down. Plus a few other things. I've been enjoying working in that compiler and it's been a fantastic way to "give back". I use OCaml a lot for my historical computing research and it's great to make compilers with. I even got sponsored!
- Moa, Monte Carlo neutron transport, heading towards charged particles which has been an interesting conundrum.
- LFortran, adding full support for Do Concurrent which will hopefully get Fortran properly running on my own GPU compiler.
Away from the terminal
- Bertha has a new leaf!
- I've nearly hit the 'bottom of the rack' for the lat pulldown and a few exercises. I can finally do 10 consecutive pull ups again and we're back to weighted dips!
- I'm getting myself a new 3d printer which could be the start of a new hobby. I've had a friend show me how to do some 3d sculpting in Blender.
- I have a wee plan to get back into Muay Thai again after being out of it for a couple years. Expect an update in my next Now update.
- Ich lerne gerade wieder Deutsch, weil mein Mitbewohner und seine Familie Deutsch sprechen. Ich habe seit 2019 kein Deutsch mehr gesprochen. I've been relearning German because my flatmate is German and his family speaks the language. I haven't spoken it since 2019 when I was last in the country.
- The song I was listening to while writing this, with a nod to a Jane Street puzzle I did, which is a hint to anyone else attempting it: this one.