Kathleen Booth: Assembling Early Computers While Inventing Assembly

Imagine having to program your computer by rewiring it. For a brief period of time around the mid-1940s, the first general-purpose electronic computers worked that way. Computers like ENIAC initially had no internal storage for code. Programming it involved manipulating thousands of switches and cables. The positions of those switches and cables were the program.

Kathleen Booth began working on computers just as the idea of storing the program internally was starting to permeate through the small set of people building computers. As a result, she was one of the first programmers to work on software and is credited with inventing assembly language. But she also got her hands dirty with the hardware, having built a large portion of the computers which she programmed. She also did some early work with natural language processing and neural networks. And this was all before 1962, making her truly a pioneer. This then is her tale.

Continue reading “Kathleen Booth: Assembling Early Computers While Inventing Assembly”

The Forgotten Art Of Riveted Structures

If you are in the habit of seeking out abandoned railways, you may have stood in the shadow of more than one Victorian iron bridge. Massive in construction, these structures have proved to be extremely robust, with many of them still in excellent condition even after years of neglect.

A handsome riveted railway bridge, over the River Avon near Stratford-upon-Avon, UK.
A handsome riveted railway bridge, over the River Avon near Stratford-upon-Avon, UK.

When you examine them closely, an immediate difference emerges between them and any modern counterparts, unlike almost all similar metalwork created today they contain no welded joints. Arc welders like reliable electrical supplies were many decades away when they were constructed, so instead they are held together with hundreds of massive rivets. They would have been prefabricated in sections and transported to the site, where they would have been assembled by a riveting gang with a portable forge.

 

So for an audience in 2018, what is a rivet? If you’ve immediately thought of a pop rivet then it shares the function of joining two sheets of material by pulling them tightly together, but differs completely in its construction. These rivets start life as pieces of steel bar formed into pins with one end formed into a mushroom-style dome, probably in a hot drop-forging process.

A rivet is heated to red-hot, then placed through pre-aligned holes in the sheets to be joined, and its straight end is hammered to a mushroom shape to match the domed end. The rivet then cools down and contracts, putting it under tension and drawing the two sheets together very tightly. Tightly enough in fact that it can form a seal against water or high-pressure steam, as shown by iron rivets being used in the construction of ships, or high-pressure boilers. How is this possible? Let’s take a look!

Continue reading “The Forgotten Art Of Riveted Structures”

Installing LibreBoot The (Very) Lazy Way

Recently I was given a somewhat crusty looking ThinkPad T400 that seemed like it would make a good knock around machine to have on the bench, if it wasn’t for the fact the person who gave it to me had forgotten (or perhaps never knew) the BIOS password. Cleaning the machine up, putting more RAM in it, and swapping the wheezing hard drive for an SSD would be a relatively cheap way to wring a few more years of life from the machine, but not if I couldn’t change the boot order in BIOS.

Alright, that’s not entirely true. I could have installed an OS on the SSD from my desktop and then put it into the T400, but there was something else at play. The locked BIOS gave me the perfect excuse to install LibreBoot on it, which is one of those projects I’ve had in the back of my mind for years now. Replacing the BIOS with something entirely different would solve the password issue, but there was only one problem: the instructions for flashing LibreBoot onto the T400 are intimidating to say the least.

You’re supposed to take the entire machine apart, down to pulling the CPU cooler off and removing the display. All so you can flip the motherboard over to access a flash chip between the CPU and RAM that’s normally covered by a piece of the laptop’s frame. Oh how I hated that diabolical chunk of magnesium which kept me from my silicon quarry. Flashing the chip would take a few minutes, but YouTube videos and first hand accounts from forums told me it could take hours to disassemble the computer and then put it back together after the fact.

Deep into that darkness I peered, long I stood there, wondering, fearing, doubting. Then a thought came to me: maybe I could just cut the thing. If it was a success, it would save me hours of work. If it failed, well, at least the computer didn’t cost me anything. Time to roll the dice.

Continue reading “Installing LibreBoot The (Very) Lazy Way”

Circuit VR: A Tale Of Two Transistors

Last time on Circuit VR, we looked at creating a very simple common emitter amplifier, but we didn’t talk about how to select the capacitor values, or much about why we wanted them. We are going to look at that this time, as well as how to use a second transistor in an emitter follower (or common collector) configuration to stiffen the amplifier’s ability to drive an output load.

Several readers wrote to point out that I’d pushed the Ic value a little high for a 2N2222. As it turns out, at least one of the calculations in the comments was a bit high. However, I’ve updated the post at the end to explore what was in the comments, and talk a bit more about how you compute power dissipation with or without LTSpice. If you read that post, you might want to jump back and pick up the update. Continue reading “Circuit VR: A Tale Of Two Transistors”

Getting Kitted To Teach Your First Hardware Workshop

I was always a sucker for art classes in my early days. There was something special about getting personal instruction while having those raw materials in your hands at the same time. Maybe it was the patient voice of the teacher or the taste of the crayons that finally got to my head. Either way, I started thinking: “I want to do this; I want to teach this stuff.”

Last year at Hackaday Superconference I got my chance. Hardware workshops with real hardware were so rare; I just had to bring one to the table! What follows is my tale of joys and woes bringing together a crew to take their first few steps into the world of cable-driven animatronics. If you’re thinking about getting your feet wet with teaching your own hardware workshop, read on. I’ve packed this story with as much of my own learnings as I could to set you on a path to success.

The good news is that Supercon returns every year. I you want to take part in some epic workshops like this one, grab a ticket for this year’s conference now. If you want to host a hardware workshop, the Call for Proposals is still open! Okay, let’s dive in.

Continue reading “Getting Kitted To Teach Your First Hardware Workshop”

Stop Using Python 2: What You Need To Know About Python 3

Though Python 3 was released in 2008, many projects are still stuck on Python 2.

It’s understandable that porting large existing codebases to a new version is a prospect which sends a shiver down many a developer’s spine. But code inevitably needs to be maintained, and so when all the shiny new features that would fix everything are in a new version, is it really worth staying rooted in the past?

We’ll take you through some of the features that Python 2 programs are missing out on, not only from 3.0 but up to the current release (3.7).

Continue reading “Stop Using Python 2: What You Need To Know About Python 3”

Behind The Pin: Logic Level Outputs

There is one thing that unites almost every computer and logic circuit commonly used in the hardware hacking and experimentation arena. No matter what its age, speed, or internal configuration, electronics speak to the world through logic level I/O. A single conductor which is switched between voltage levels to denote a logic 1 or logic zero. This is an interface standard that has survived the decades from the earliest integrated circuit logic output of the 1960s to the latest microcontroller GPIO in 2018.

The effect of this tried and true arrangement is that we can take a 7400 series I/O port on an 8-bit microcomputer from the 1970s and know with absolute confidence that it will interface without too much drama to a modern single-board computer GPIO. When you think about it, this is rather amazing.

It’s tempting to think then that all logic level outputs are the same, right? And of course they are from a certain viewpoint. Sure, you may need to account for level shifting between for example 5V and 3.3V families but otherwise just plug, and go, right? Of course, the real answer isn’t quite that simple. There are subtle electrical differences between the properties of I/O lines of different logic and microcontroller families. In most cases these will never be a problem at all, but can rear their heads as edge cases which the would-be experimenter needs to know something about.

Continue reading “Behind The Pin: Logic Level Outputs”