A self drive computer science degree, 2025 edition

What is you want to study computer science, but can't affort university fees? Or, studied computer science a really long time ago and want to see what's changed? Or just like learning stuff? Well, lots of schools now post their lectures on YouTube, so its entirely possible to construct a zero cost "self driving degree", as long as you're good enough at Canva to make your own certificate at the end. Introduction First let's nail down some basics with Crash Course Computer Science. This covers some fundamental stuff like binary maths, logic gates, as well as providing a good overview of the history of computing in general. Databases The focus here isn't on SQL itself, there are lots of places to learn that. Instead, the focus here is how does a database actually work under the hood? That said, let's chuck in a quick SQL introduction anyway. freeCodeCamp.org's SQL for web developers course I will admit I didn't actually watch this one but I have recommended it to others who wanted to brush up on SQL. I made that recommendation on the basis of quite liking Lane Wagner's golang course (included below). CMU Introduction to Database Systems with Andy Pavlo…

Continue ReadingA self drive computer science degree, 2025 edition

Writing my own KVM client in python

I was talking to a friend the other day about our shared mutual appreciation of virtio-vsock, and it made me wonder something. How do virtual machines on Linux actually work? I know it involves qemu and the kernel’s KVM virtual machine implementation, but exactly how do they interact? How does the kernel get qemu to do emulation tasks as required?

qemu is several things hanging out together in a trench coat, but one of those things is software which can configure Linux’s built-in KVM virtual machine functionality to run a virtual machine, and then handle emulation of the devices that virtual machine is attached to which cannot be represented with actual physical hardware. This part of qemu is called a “KVM client” in the Linux kernel documentation. Its called that because if we ignore the emulation part for now it is just literally a client calling established APIs to the Linux kernel.

(more…)

Continue ReadingWriting my own KVM client in python

Tensorflow, ROCm, and version mismatches

I’ve fallen into this pattern where I do an hour or so of self-directed learning in the mornings before going to work. Until recently it was an excellent CMU course on the design of SQL database systems, which I’ve mentioned previously here. I’ve finished that, so I thought I would do something shorter and fun as a break before finding another course to do. I chose The freeCodeCamp.org hot dog or not hot dog tensorflow course. 90 minutes seemed achievable, and I too wish to know if an object in front of me is a hot dog or not.

(more…)

Continue ReadingTensorflow, ROCm, and version mismatches

High level themes from CloudCon 2025

  • Post author:
  • Post category:Conference

I've just been in Sydney for a couple of days for CloudCon 2025. I think depending on how you count this is my third one of these events -- the event has changed names at least twice, so its actually a little hard to work out the lineage of the event. This year's conference was noticeably smaller than last years which is confusing to me for an event which is so competitively priced and branded so heavily with the hot topics dejour. That said the event was well run, in a good venue, and well worth the time. That is, this event really deserves more support than its getting. There were some clear themes from the event for me: ClickHouse is cool. Or at least I think so. ClickHouse observability certainly has potential, but I think the underlying SQL database is actually the most interesting bit. ClickHouse is also investing heavily in the Australian market right now, so I suspect they're seeing strong traction here. No one talks about "devops" any more, because its become a meaningless term where everything is devops if you squint at it right. Instead people are using the term "platform engineering", which doesn't appear to have…

Continue ReadingHigh level themes from CloudCon 2025

Converting from setup.py and PBR to pyproject.toml

  • Post author:
  • Post category:Python

I make no claim to be an expert at this, but I did just need to convert a project from a slightly complicated setup.py / PBR configuration to pyproject.toml and thought I should write up where I landed. I say “slightly complicated” because there are a few very OpenStacky things I like to do in these things. Specifically:

  • version numbers are driven by git tags not hard coded in the configuration file.
  • console scripts are a thing.
  • I often include data files in the built package.

So here’s an example of all of those things that is working ok for me:

(more…)

Continue ReadingConverting from setup.py and PBR to pyproject.toml

I was unaware of Debian’s extrepo command…

  • Post author:
  • Post category:Debian

…and its actually a pretty neat idea!

Now admittedly, I encountered extrepo when one of the repos being added to a Docker container build I care about was being unreliable, but that caused me to dig into what it is and how it works and I quite like the idea.

The basic idea is that there are people out there who publish packages for Debian, either as hilarious curl scripts which you’re meant to pipe into a root shell, or as just .deb files which you download and manually install. Instead of being terrible though, what if there was a tool which knew how to provide apt repository configurations for those things? Then, apt would do the right things when the packages changed and so forth. Those configurations could come from a central source which you could also trust to provide the GPG keys that signed those packages. Neat yeah?

(more…)

Continue ReadingI was unaware of Debian’s extrepo command…

Edward Zitron is right about why companies struggle long term

  • Post author:
  • Post category:Work

I spent a lot of last year trying to understand why companies treated the employees they rely on for success so poorly — The Man Who Broke Capitalism; Lights Out; The Idea Factory; AI Snake OilLeaders Eat Last; and so on are all part of that journey. At the time I was a bit fixated on Jack Welsh and his long term impact on General Electric — which I would summarize as being overwhelmingly negative. It was a classic example of managing to short term profit metrics, instead of for long term sustainable growth by delighting your customers.

Ultimately this is why I chose to take a break from working for corporate America, as being treated like a replaceable cog in a profit machine wasn’t really working for me.

Then Edward Zitron wrote this blog post which really resonated with me…

(more…)

Continue ReadingEdward Zitron is right about why companies struggle long term

Getting Digitech / Bresser 6in1 weather stations working with rtl_433, MQTT, and Home Assistant

Please note: this post is a re-write of a previous post about my Vevor weather station that failed after a few months because of ineffective weather seals on the outdoor unit. Given the poor warranty service from Vevor, I instead went and bought a weather station from a local retailer. In my case a Jaycar Digitech XC-0434, which also appears to be sold online as a Bressser 6in1 weather station.

Now that we’ve defeated QNAP’s slightly broken udev, we can run a Docker container with rtl_433 in it to wire up our Digitech / Bresser 6in1 weather station to Home Assistant via MQTT. First off, we need a Docker container running rtl_433, which assumes you’ve already setup the udev rule mentioned in the previous post, even if you’re not using a QNAP!

(more…)

Continue ReadingGetting Digitech / Bresser 6in1 weather stations working with rtl_433, MQTT, and Home Assistant

The Complete Robot (again)

  • Post author:
  • Post category:Book

I’ve read this book a few times, but honestly the Foundation TV series has left me with a new enthusiasm to re-read some Asimov stuff. I have previously read the entire extended multi-author series, and honestly a fair few of them sucked — especially the ones by other authors — so this time I have the luxury of being a bit more picky. Worse, Asimov remixed the robot stories several times into various volumes, and it can be quite confusing. The Complete Robot contains all the robot stories, and replaces I, Robot (reading one, reading two), The Rest of the Robots; Robot Dreams; and Robot Visions. It also contains a couple of previously unpublished stories.

(more…)

The Complete Robot
Isaac Asimov
Robots
1982
688

Continue ReadingThe Complete Robot (again)

End of content

No more pages to load