Episode 13: The Open-Closed Principle

In this episode, I discuss Bertrand Meyer’s Open-Closed Principle.

Tagged | Leave a comment

NeXT marketed their workstations by letting Sun convince people they wanted a workstation, then trying to convince customers (who were already impressed by Sun) that their workstation was better.

As part of this, they showed how much better the development tools were, in this very long reality TV infomercial.

Posted on by Graham | Leave a comment

Getting started on my Vampire V4

Apollo accelerators make the Vampire, the fastest Motorola 680×0-compatible accelerators for Amiga around. Actually, they claim that with the Sheepsaver emulator to trap ROM calls, it’s the fastest m68k-compatible Mac around too.

The Vampire Standalone V4 is basically that accelerator, without the hassle of attaching it to an Amiga. They replicated the whole chipset in FPGA, and ship with the AROS ROMs and OS for an open-source equivalent to the real Amiga experience.

I had a little bit of trouble setting mine up (this is not surprising, as they’re very early in development of the standalone variant and are iterating quickly). Here’s what I found, much of it from advice gratefully received from the team in the Apollo Slack. I replicate it here to make it easier to discover.

You absolutely want to stick to a supported keyboard and mouse, I ended up getting the cheapest compatible from Amazon for about £20. You need to connect the mouse to the USB port next to the DB-9 sockets, and the keyboard to the other one. On boot, you’ll need to unplug and replug the mouse to get the pointer to work.

The Vampire wiki has a very scary-looking page about SD cards. You don’t need to worry about any of that with the AROS image shipped on the V4. Insert your SD card, then in the CLI type:

mount sd0:

When you’re done:

assign sd0: dismount
assign sd0: remove

The last two are the commands to unmount and eject the disk in AmigaDOS. Unfortunately I currently find that while dismounting works, removing doesn’t; and then subsequent attempts to re-mount sd0: also fail. I don’t know if this is a bug or if I’m holding it wrong.

The CF card with the bootable AROS image has two partitions, System: and Work:. These take up around 200MB, which means you’ve got a lot of unused space on the CF card. To access it, you should get the fixhddsize tool. UnLHA it, run it, enter ata.device as your device, and let it fix things for you.

Now launch System:Tools/HDToolBox. And click “Add Entry”. In the Devices dialog, enter ata.device. Now click that device in the “Changed Name” list, then double-click on the entry that appears (for me, it’s SDCFXS-0 32G...). You’ll see two entries, UDH0: (that’s your System: partition) and UDH1: (Work:). Add an entry here, selecting the unused space. When you’ve done that, save changes, close HDToolBox, and reboot. You’ll see your new drive appear in Workbench, as something like UDH2:NDOS. Right click that, choose Format, then Quick Format. Boom.

My last tip is that AROS doesn’t launch the IP stack by default. If you want networking, go to System:Prefs/Network, choose net0 and click Save. Optionally, enable “Start networking during system boot”.

Posted in Amiga | Leave a comment

On the topic of the Apple II, remember that MOS was owned by Commodore Business Machines, a competitor of Apple’s, throughout the lifetime of the computer. Something to bear in mind while waiting to see where ARM Holdings lands.

Posted on by Graham | Leave a comment

An eight-year-old model of iPad is now considered vintage and obsolete. For comparison, the Apple ][ was made from 1977-1993 (16 years) and the January 1983 Apple //e would’ve had exactly the same software support as the final model sold in November 1993, or the compatibility cards for Macintosh sold from 1991 onwards.

Posted on by Graham | Leave a comment

The problem with musicians these days is they don’t work hard enough to make Daniel Ek, Tim Cook, Sundar Pichai and Jeff Bezos rich.

Posted on by Graham | Leave a comment

Some programming languages have a final keyword, making types closed for extension and open for modification.

Posted on by Graham | Leave a comment

I’ve been playing a lot of CD32, and would just like to mention how gloriously 90s it is. This is the startup chime. For comparison, the Interstellar News chime from Babylon 5.

Sure beats these.

Posted on by Graham | Leave a comment

Episode 12: No Silver Bullets

Having over-run on the previous episode, here’s the end of it, where I actually get as far as discussing No Silver Bullet—Essence and Accident in Software Engineering. This is a really great article about how no single improvement to software development practices is likely to provide an order-of-magnitude improvement in capability.

Brad Cox asked What if there’s a silver bullet…and the competition gets there first?, and followed it up by saying There is a silver bullet.

One input to the essential complexity Brooks mentioned was the need to change, which has been explored in much more detail by Manny Lehman in his laws of software evolution. I link to a recent critique of the laws by a proponent of evidence-based software engineering, because less is settled in software engineering than we might like.

Tagged | Leave a comment

Episode 11: The Monocle Math-Myth

In this episode I talk about The Mythical Man-Month and Brooks’s Law, even though I intended to talk about No Silver Bullet by the same author. Next time. Maybe.

Exploratory experimental studies comparing online and offline programming performance, a.k.a. the source of the “10x programmer” myth.

Leprechauns of Software Engineering, a book by Laurent Bossavit debunking the 10x programmer myth (and other myths).

12 signs you’re working in a feature factory, a post about the kinds of software companies where “the business” is a separate society from “the engineering team”. Also check out the follow-up, 12 signs…3 years later.

Update

I knew I would forget to add these to the show notes! I talked about the curve in the Mythical Man-Month essay being like a Laffer or Kuznets curve. These both posit that “if we do more of this” (taxing rich people) “we will get less of this” (tax revenue), with no evidence, and have been central to economic ideology for the decades since they were sketched onto napkins. So, I say, with the Brooks curve in software engineering.

Tagged | Leave a comment