In this post we use the FreeDOS VM to run MS-DOS 1.25 and play with the system a bit.


I want to see how well I could run/upgrade various versions of MS-DOS and Windows through the generations, all on Hyper-V. In theory I think I should be able to upgrade through the ages, but the jump from 32-bit to 64-bit might be a problem. I will attack that when I come to it (Windows 10/11). I’m not sure if I’ll go all the way through or not, but I’ve started a bit tonight, and I thought I’d document the process.


Edit 24/07/2022: Removed reference to an incorrect blog post.

Edit 25/07/2022: Sarah Roberts (from Better Workplaces) contacted me to clear up some of the things I said below. With her permission, I am pasting the whole email:

Hi Eric

First, apologies for the long email! I saw your blog post this morning and thought I would reach out to you around a couple of things you said in it.

The first is around the all-member email that went out advertising the “Enterprise Bargaining: Campaigning to Win” event on 2 August, about which you said “In my mind this is nothing but National, with the help of people in Div (some on the Better Workplaces ticket), playing dirty.”

I want to let you know that this forum was organised without my knowledge, and without Ruth, Joo-Cheong's or Adam's knowledge either. The first I heard of it was when I received the all-member email myself. I dug into it straight away and discovered that another staff member had organised the forum and sent and sent out the email off their own bat. As a member of the UniMelb bargaining team I was concerned by the fact that it had been organised at exactly the same time as the UniMelb log of claims approval meeting, at which we need to get a 400-member turnout. For this reason, I asked that the forum be pulled immediately. It's simply not the case that our ticket was playing dirty in organising this forum – we didn't even know about it.

The second is where you say “A lot of these wage theft campaigns have been helped by Div/National but started by casual networks unaffiliated with Div/National. Instead, they’re rank and file groups of people fighting for a common cause. Then they start to get traction and Div/National swoop in like Bill Shorten in a robodebt lawsuit. I’m sure the Div/National help is very welcome, but we need to acknowledge where it all started.”

First, I must reject your posing Div / National and the rank and file as a dichotomy – in my view we are all part of the one union with collective cause (or should be). Second, though, I want to explain my own involvement in the wage theft campaigns you're referring to so there can be no misunderstanding.

The basis of our success in all wage theft campaigns that have occurred to date has been enforcement of our existing rights, in particular rights around separate pay for marking and payment for all hours worked. Separate pay for marking was something we achieved in Round 5 of bargaining in 2012, at the initiative of the (then) National Casuals Committee, which I was instrumental in agitating for and establishing. I bargained for it and achieved it at several sites including at the University of Melbourne. In relation to the right to payment for all hours worked, again this was something I pushed at the University of Melbourne in bargaining, and won (might I say, without any particular rank-and-file casual involvement or support for it). My purpose in achieving these enforceable rights was always with the strategic purpose of running successful enforcement campaigns.

Subsequently I agitated at the University of Melbourne Branch for a campaign around breaches of the new payment for all hours worked provisions (wage theft). The casuals who were involved at that time weren't ready to run that campaign, but then, due to the sterling work of Branch activists like Annette Herrera, Geraldine Fela, Ben Kunkler and Nick Robinson, the casuals network was formed, courage was built over the next 6 months and we were able to run that successful wage theft campaign, winning back $10m in stolen wages for casuals. In my mind this was a collective effort, but in no way do I want to take away from the work of casual activists on the ground – every element is crucial in a winning campaign.

We then went on to run similar campaigns at RMIT (academic judgement rates of pay), La Trobe (piece rates) and now Deakin (again, piece rates). The casuals activists and the Branch leaderships there can tell you about the strategic role I've played in each. Collectively these campaigns have achieved success through, in my view, a combination of factors, in order: 1. establishment of enforceable rights 2. identification of enforcement / campaign opportunity 3. development of dispute plan with evidence-gathering via casual networks or similar 4. organising via Branch and casual networks, using digital and other tools 6. lodgement of dispute with management 7. rank-and-file participation in disputes meetings with management 8. further enforcement in FWC / courts if needed 9. LOTS of media 10. THE WIN!!

I really hope, whoever wins this election, we can move beyond posing the rank and file against the Union leadership, and achieve some unity. We all want the same thing, which is to win better conditions and pay for members and build our power. I think I've shown through my praxis that's I'm committed to rank and file empowerment and leadership of our wage theft disputes. Casual members telling their stories to management is the most powerful tool we have, and how we can win. But I also think the strategic overview of what we're doing, and the long term strategic plan for building enforceable rights (not just in relation to casual wage theft, but also on workloads and job security) that we can then enforce and win on, is equally important, and I believe that's what I contribute.



Do you like the title? It sounds so professional to me. I’ve been somewhat involved with the NTEU 2022 elections, although I’m not running for any of the ‘big’ office titles. I wanted to comment on what I’ve seen happen so far, and why I think it’s important people get involved and vote this election. In this post I link to the websites of the tickets, but that should just be a starting point if you want to find out more. Finding the campaign and candidates’ public social media accounts (Twitter, Facebook, etc) can show you who they are.


Edited 7:20pm 5/12: Added email from Amy to councillors (with her permission) Edited 7:40pm 5/12: Remembered another excuse and it's a doozy, so adding it. Edited 9:20pm 5/12: Fixing some text that was in angle brackets and didn't parse correctly (on why the NTEU Exec can't publicly support trans people) Edited 5:20pm 7/12: Changed naming of some dates below (from 3/12 to Dec 3rd).

I was at the National Council meeting, and I feel like I need to write about what I saw/experienced, and how poor it was. It’s been almost 24h and I’m still angry, in part because of what bullshit the NTEU National office is putting out online in response to the cries from their members at what they’re doing.


This covers getting a new Windows 10 instance working with an existing openpgp setup and yubikey. It doesn't cover creating the openpgp key and linking it with the yubikey in the first place.


Winget/Powershell (Core)

I use winget to install my packages, but you can grab the packages individually, or use choco or something else.

  1. Grab winget and install it (double click on the appbundle downloaded).
  2. Open up Powershell as administrator and run: winget install gpg4win, winget install putty, and winget install git (git is optional)
  3. In a normal Powershell window, import your existing key with: gpg --import [publickeyfile].gpg
  4. Run gpg --edit-key [keyhash] to go to the edit interface for the key.
  5. Type trust and trust your key ultimately. Type 'save' to save and quit.
  6. Open the Kleopatra app (installed as part of gpg4win).
  7. Go to Settings->Configure Kleopatra->GnuPG System->Private Keys->Options controlling the configuration and select “Enable ssh support” and “Enable putty support”
  8. Hit WIN-R and type “shell:startup”
  9. Create a shortcut to “gpg-connect-agent /bye”. Mark it to start minimised.
  10. Set an evironment variable of GIT_SSH to C:\Program Files\PuTTY\plink.exe
  11. Download and install WSL-SSH-Pagaent and install it.
  12. Follow the instructions here for setting it up and automating it.
  13. Set an environment variable making SSH_AUTH_SOCK map to the pipe created in step 12 ('\\.\pipe\winssh-pageant')
  14. Follow the instructions here for the WSL2 scripts (not the windows-side-setup, which was already done), however modify the socat command for SSH_AUTH_SOCK to be '\/\/.\/pipe\/winssh-pageant', with the backslashes included.
  15. Start a new WSL2 session and SSH keys and GPG should be working in WSL2.

As mentioned in the previous Maximite Colour post, the screen works, but is extremely dim. It's dim to the point where if the room is well lit, you can't see anything on the screen, but it's there. I was able to connect to the system on the serial console (baud 9600), and the base system worked, so I definitely screwed something up along the line of the display.

After studying/deciphering the electronics diagram (below) and tracing paths on the board, I think I had figured out what stuff to look at. I also again read a “basic electronics” document that came with the board. Double checking that, I realised that diodes actually have poles.

electronics diagram (diagram from Geoff's main Maximite Site)

I had two of the three VGA-based diodes placed incorrectly, as well as another one that does.. no idea. I learned how to unsolder, although I'm not great on it, and then soldered stuff properly. Powered it back on and...... same result.

The work continues.

Fixed it! It took maybe 2-3 hours of learning how to use the multimeter for testing connectivity and voltage, and then learning how to use the multimeter in an effective way when trying to narrow down my problem. To review, I soldered the whole kit together, but when I plugged it in there was no activity. The board should do a quick POST and then the green light should light up (and the screen will display stuff if it's plugged in).

I had determined I was getting a proper 9V into the first voltage regulator, and a proper 5V out from it. The second voltage regulator didn't seem to have anything incoming or outgoing, though. I ran through almost every A->B connection I could on the board, testing connectivity, all good. I tried tracing paths on the board, checking voltage between them. I never went end to end though, as I would get distracted and look at a different path or I strayed too far from the regulator that seemed to be broken.

The kit came with a diagram/layout of the electronics and paths on the board, so I started deciphering that as I looked at the board. It all started to click. At this point I started realising “hey there's none incoming, it's something higher up before the second voltage regulator”. This is a super obvious thing to experienced people, I'm sure, but I am just too new and dumb about this stuff.

So anyway, I started chasing the line from the successful 5V output of the first regulator. I finally come to the optional power switch holes on the board. The kit didn't come with a switch so I figured it must be optional. Nope! I was supposed to cut off a couple jumper pins and solder them into the holes, then put a jumper on them. Again, this is likely something super obvious to an experienced person, but that's not me!

So after a quick solder of the two jumper pins and a jumper, I plug in the board. After a second the green light comes on, and the display on the screen appears, although it's very dark. I'll debug that another day though, as I have no keyboard for the device yet (it's coming) and I'm just happy I got the board working!

I am interested in learning how to solder, so I got a cheap soldering iron from Aldi when it came out one week. I started soldering some small kits like the WeevilEye Beginner's Kit, the Badge Rocket Kit, and the Velleman Crawling Microbug Kit. I also tried the Crystal Radio Kit which was crappier (no instructions) and I didn't get to work. The solders felt good though, so I think it's more for me not understanding how it worked or not being around reception.

After those I decided to move up to something bigger. That led to me getting the Maximite Colour Kit. This is a printed board with a PIC chip already attached to it. Everything else you have to solder on yourself. This includes two things that are surface-mount soldered on, which I had never done before.

Picture of all the parts, unsoldered

I started small, with the resistors and worked bigger, except for a tiny tiny tiny tiny capacitor that I didn't even realise was something that needed soldering. About halfway through (during the capacitors) the ALDI soldering iron cooked itself. That ended all work for the weekend.

The ALDI soldering iron had a short life overall, but it taught me some stuff; enough to know what I really wanted. I had no idea what temperature it went to (hot enough, but no idea how hot) or if it was fully warmed up (no light or anything). Both were extremely annoying. Using this as an opportunity to not get stuck in that situation again, I got what seems to be a popular consumer-level soldering iron, a Hakko FX-888D from Mektronics (cheapest place I saw it). It's likely overkill for what I need (5 presets, a locking mechanism), but it has a digital temperature setting and a light to tell you when it has heated up, so I'm happy.

Weekend two of the build with the Hakko FX-888D in the picture

With the new soldering iron, I was able to continue my work the following weekend. I was mostly done with the small stuff, except for one piece I mentioned before, a 10mf capacitor. I saw it mentioned here, and once I found the spot on the board for it (it took a minute, it's near the PIC), I realised it had to be surface mounted. This was a challenge. Not only is this the first surface mount soldering I've done, the piece is tiny (1.5mm x 1mm). I did some googling about how to do surface mount soldering, and from this I realised that there was already solder on the pads (came with it). I was able to heat the existing stuff and push it down without burning the board. I think it's OK. After that, doing the surface mounts for the SD card reader was pretty easy.

Finally, I had it all together.

Soldered and put together

Of course as soon as I plugged in the power... nothing happened. So now I get to learn how to use a multimeter and test solders/components. To be continued...

I enjoy soldering. There's a nice zen-like quality to doing it. Flip on some music and zone out as I put it all together. It might be different if I was working under a timelimit or not for myself, but right now it's good.

5x86 Intro

In July 2018, I found an ebay listing for a 5x86 133Mhz desktop machine with a video card, network card, 16M of RAM, a clone Sound Blaster card, a CD-ROM drive, and a 650M hard drive.

The motherboard is, I believe, a BEK-P407. I was able to find images that are scans of the instruction booklet here. There's a local copy here.

From that, I deduced I was able to get 128M total, so I ordered 128MB (2X64MB) FPM PARITY 60NS SIMM 72-PIN 5V 16X36 DIMMs off eBay. On installation though, the system wouldn't start. Swapping around the old DIMMs and the new in different configurations, I could only get 20MB total. I am not sure why yet.

I initially triple booted it with OS/2 Warp 4, FreeDOS 1.2, and Slackware 11. I got the network card working on each install, as well as the sound card. In addition I also ordered from eBay:

  • A new serial mouse (the one I got with the computer could only scroll horizontally)
  • A new Gravis Gamepad

Then I decided I needed more disk space for the OSs and the software/games I was planning to install, so I purchased from eBay:

  • 2 compact flash (CF) card –> IDE adapter cards
  • 2 CF cards, 1x2GB and 1x8GB
  • Various splitters/adapters/cables for molex connectors, floppy-sized power connectors, and PATA IDE cables

The first extra IDE cable I got wouldn't fit the motherboard due to the cable having a blocked out pin and the motherboard not having that. It seems damn near impossible to cheapely find old PATA IDE cables that didn't have a blocked pin, so I got an adapter to handle that sort of cable. Then I set up the disks like so:

  • Primary Master: 8GB CF card through adapter
  • Primary Slave: 2GB CF card through adapter
  • Secondary Master: none
  • Secondary Slave: CD-ROM drive

In future posts I will go over the installs of different OSs I've done, as well as the minor physical restoration of the desktop.

Enter your email to subscribe to updates.