Dr Huw Campbell

Dr Huw Campbell

@huwcampbell.com

Functional programmer, physicist, trainee zoo keeper, circus performer, and Dad.

116 followers91 following168 posts

Played with a steam engine toy circa 1950 today. Seems to run about 30Hz, based on the video feed capturing it as nearly still. The company that built this, Mamod, closed in 2024, after existing for almost 90 years.

Spotted this one today, a controversial bird. The Channel-billed cuckoo is the largest brood parasite in the world, laying its eggs often in Magpie nests so the parents raise it instead of their own young. Its juvenile calls are awful (I know). #ausbirds #birding

Apple's Neo looks pretty amazing. Speculatively though, if it's running one year behind on iPhone Pro chips, next year it should get a bump from 8 to 12GB or RAM which would be a big boost for a laptop.

Buying a Gerni with the plumbing attachment has saved me thousands is plumbing callouts. But on the other hand, tonight I picked up a garbage bag full of sewage overflow after unblocking the stack. It… wasn’t pleasant.

Actually started building my #birding app for #atproto. I’ve lexicons for birding observations, oauth login in (ported from @baileytownsend.dev’s rusty statusphere) and have a Tap backed app view ingesting events. I’ve also bought the domain.

Does anyone have a good local developer environment for ATproto apps? I'm thinking just docker compose with a PLC, a PDS and Relay, and maybe Jetstream too. Effectively I want to develop locally without spraying records into the public firehose.

One particularly interesting thing about Japan is the large number of birds of prey you see around towns. This fine specimen was near Toyama, but I’ve seen dozens.

@tangled.org Hey guys, I’m sure you’ve the introducing-tap post. Do you think you will adopt it? I think a key part of the atmosphere experience is that I can spin up my own appview and get a consistent experience with the main app. Also happy to help in this.

docs.bsky.appIntroducing Tap: Repository Synchronization Made Simple | BlueskyJust about every app built on AT needs data from a repository at some point. For many use cases – feed generators, labelers, bots – streaming live data through a Relay or Jetstream works well. But som...

The Australian Government passed the Environment Protection Reform Bill today – a massive milestone for Australia and establishing a national EPA, updating environmental standards and increasing penalties for breaches. But, you may not have seen it in the news, because Trump is an unhinged fuckwit.

aph.gov.auEnvironment Protection Reform Bill 2025Helpful information Text of bill First reading: Text of the bill as introduced into the Parliament Third reading: Prepared if the bill is amended by the house in which it was introduced. This...

The Australian Government passed the Environment Protection Reform Bill today – a massive milestone for Australia and establishing a national EPA, updating environmental standards and increasing penalties for breaches. But, you may not have seen it in the news, because Trump is an unhinged fuckwit.

aph.gov.auEnvironment Protection Reform Bill 2025Helpful information Text of bill First reading: Text of the bill as introduced into the Parliament Third reading: Prepared if the bill is amended by the house in which it was introduced. This...

My Elm and Haskell libraries for Apache Avro were ported to OCaml… and they’re fucking fast. Only 6% slower than the fastest Rust version, but easier to use and with a richer API and complete schema migration support.

Tim McGilchrist@tsmc.purely-functional.com

A pure OCaml implementation of Apache Avro with codec-based design, schema evolution support, and container file format. Version 0.1 released on opam. github.com/tmcgilchrist...

Sydney Area Programming Languages Interest Group – 2025 was on today and I gave a talk on how Haskell's laziness and the Tardis Monad can make optimisation simpler. I nominated late, so got a shorter time slot; but I spun it by smashing through with wild gesticulations and pretty humorous results.

I've got a real use case for online contextual bandits. My first thought was Vowpal Wabbit, but its apparently not maintained anymore and its python libraries tap out at 3.9. What do people use for old school online contextual bandits these days? #python #machinelearning

Senate Democrats roll over again, when their position had never been stronger. Coming off an historic win on election night, after Republicans were rightly blamed for their shutdown, and the mandate to fight having never been stronger. The idiots said "LOL. It was us, health care doesn't matter".

By capitulating at this time, Democrats gave weight to the Republican talking point that the shutdown was their doing. By capitulating they admitted that they don't actually care about their constituents health care.

The Orange Princess of the Ballroom was calling on Republicans to end the filibuster to take away Health Care. But the Senate's morons just couldn't let them own it... and did absolutely nothing for the country in meantime. The filibuster will still be there but health care won't. Everyone loses.

I'm currently rocking an iPhone XR. It's 7 years old but actually still works really well, but I want upgrade. But Trump is a fascist. I've cancelled all my subscriptions to American companies (including Apple's). There's too much capitulation in the US by big tech. It's disgusting.