• Saving Uranus posted on 16 Jun 2020

    So I'm finally getting myself a new computer. Had it all figured out - new off-lease desktops were coming available for my kids, and I was going to buy myself a brand-new gaming machine. No hard feelings because everybody's getting a new machine at once.

    Just had to wait until August.

    Which is why it's awesome that my kids' computer (named Uranus) died. And died in an infuriating way - it was murdered by its own software.

    Read more...

  • Mineclone2 Skins (rpi minetest-server part 4) posted on 30 May 2020

    Continuing on our marathon process of setting up the perfect Mineclone2 server, this is going to be a brief side-guide - how set up skins in mineclone 2. I tried several approaches to this problem - the popular skin mods in minetest are meant to manage a connection to an online database of skins, and I just wanted to pre-load enough skins so the kids would have a library to choose from.

    I couldn't get any of the existing skins mods to work fully, so we're going to just set the files up manually.

    Read more...

  • Minetest Mods (rpi minetest-server part 3) posted on 23 May 2020

    Now that we've got our Minetest server built (see previous entry ), now it's time to learn how to install mods and games into it, and how to run multiple instances of minetest. In particular, we're going to be installing Mineclone 2.

    Read more...

  • Minetest Pi4 Recipe (rpi minetest-server part 2) posted on 12 May 2020

    Continuing from my previous article on my daughter's Minetest birthday party, here's how I built my Raspberry Pi 4 minetest server that powered the party. To be clear: this is only my second time this century setting up a linux-based server from scratch, so I'm pretty novice at this. I'm handy with a terminal console but only on Windows. The intended reader of this article is... well, somebody like me. Somebody new to Linux but very comfy with Windows.

    Read more...

  • Minetest Birthday (rpi minetest-server part 1) posted on 05 May 2020

    Okay, this is part one of a multi-part... well, I guess we can't use the term "postmortem" that's popular in software development, since it's kind of morbid for a birthday. We'll call it an "after-action report".

    Basically, we had to handle the challenge of "how do you run a 10th birthday party with kids under social distancing"? My answer was cupcakes, Zoom, a Raspberry Pi 4, and the open-source clone of Minecraft called Minetest.

    Read more...

  • Using your phone as a Webcam on Windows and Android posted on 08 Apr 2020

    What with covid-19, a lot of people are remoting and not a lot of people have webcams. But everybody's got a smartphone. So here's a guide on how to use your smartphone as a webcam with Android an Windows over wifi.

    This is pretty adminny. If you're not comfy with that you might need to look at other approaches.

    One important wrinkle is performance: It runs down the battery on my phone, and it slams the CPU on my desktop with interrupts.

    Note that none of the software I'm recommending in this guide is open-source. I cannot guarantee that the software discussed below has no malicious secret intent.

    Read more...

  • XOutput v0.2.0 posted on 11 Mar 2017

    I've released my first version of my fork of XOutput.
    It's a simple wrapper that allows you to rebind a DInput gamepad as an XInput gamepad.
    Since most games are standardized on XInput (XBox360 controllers), this allows you to make an existing gamepad masquerade as an XBox360 controller.

    Read more...

  • York Boulevard Centre-aligned Bike Track posted on 22 Feb 2017

    The city has told us that the York and Dundurn bike lanes may need to be removed as York and Dundurn must carry westbound automotive traffic that will no longer fit on LRT-equipped King Street.

    Since everyone else has thrown a design out there for saving the York bike track, I thought I'd do the same.

    There are a handful of cities that have implemented centre-aligned bike lanes. There are some advantages to this flow: Drivers expect to see oncoming traffic on the left. In one-way traffic like Cannon, this means putting the cycle track on the left side (south for Cannon). In a two-way street, this means using the centre - it's on the left for both directions of traffic. This allows us to unify the two bike lanes into a single protected bidirectional cycle track without having oncoming traffic on the right.

    Also, a feature very particular to York and Cannon; Cannon merges with York Boulevard at Queen to form a single road. The Cannon lanes, if continued, would end in the centre of this road. So let's see what that looks like: The Cannon lanes continue right to Queen, and only have to deal with left-turning traffic turning across the bike lane.

    picture of straight-through bike-lane at York/Queen/Cannon

    Read more...

  • XmlCommentMarkDownGenerator Updated posted on 13 Oct 2016

    I'm an idiot. Always commit everything. Always. And only push your build artifacts, not straight from the project.

    I omitted the crucial line of the .nuspec that makes the .targets thing work, and so the cool build-generates-your-markdown wasn't actually available for users since version 0.1.5977.1837.
    The latest version 0.2.6130.564 fixes the issue.

    A lesson learned, but I wonder how many people I infuriated in the meantime?

    Read more...

  • XmlCommentMarkDownGenerator posted on 12 Sep 2016

    I've released version 0.2 of XmlCommentMarkDownGenerator. If you're running a C#-based project on GitHub, it could be useful to you - it takes your Xml comments and converts them into GitHub-flavoured markdown. This gives you a nice document page right in your repo that you can link to. I've set it up as a NuGet package, so in your C# project all you have to do is add the NuGet package to your project and it will add a post-build step to your project to automatically run the tool and generate the markdown file. I was surprised that NuGet makes that a thing - apparently it's called custom .targets. See https://github.com/Pxtl/XmlCommentMarkDownGenerator/blob/master/PxtlCa.XmlCommentMarkDownGenerator.targets to see how that kind of "custom post-build-step as a nuget package" thing is implemented.

    It was forked from https://gist.github.com/lontivero/593fc51f1208555112e0, but I'd like to think I've polished it up a fair bit. This was really just a side-project while I worked on BigVariant and Nustache, but it's the one with the most stars and downloads so I thought I should give it a little TLC. Pull requests are always welcome.

    Read more...