Close-up of a CPU

Register Renaming: The Art Of Parallel Processing

In the quest for faster computing, modern CPUs have turned to innovative techniques to optimize instruction execution. One such technique, register renaming, is a crucial component that helps us achieve the impressive multi-tasking abilities of modern processors. If you’re keen on hacking or tinkering with how CPUs manage tasks, this is one concept you’ll want to understand. Here’s a breakdown of how it works and you can watch the video, below.

In a nutshell, register renaming allows CPUs to bypass the restrictions imposed by a limited number of registers. Consider a scenario where two operations need to access the same register at once: without renaming, the CPU would be stuck, having to wait for one task to complete before starting another. Enter the renaming trick—registers are reassigned on the fly, so different tasks can use the same logical register but physically reside in different slots. This drastically reduces idle time and boosts parallel tasking. Of course, you also have to ensure that the register you are using has the correct contents at the time you are using it, but there are many ways to solve that problem. The basic technique dates back to some IBM System/360 computers and other high-performance mainframes.

Register renaming isn’t the only way to solve this problem. There’s a lot that goes into a superscalar CPU.

Continue reading “Register Renaming: The Art Of Parallel Processing”

Open Source Universal ROM Programmer Grows Up

When we first looked at [Anders Nielsen’s] EEPROM programmer project, it was nice but needed some software and manual intervention and had some limitations on the parts you could program. But through the magic of Open-Source collaboration, revision 2 of the project overcomes all of these limitations and—as you can see in the video below—looks very polished.

If you recall, the programmer is in a “shield” format that can plug into an Arduino or — if you prefer a retrocomputer — a 6502uno. Along with hardware improvements from the community, [Henrik Olsson] wrote Python software to handle the programming (see the second video below).

Continue reading “Open Source Universal ROM Programmer Grows Up”

Ethernet From First Principles

For someone programming in a high-level language like Python, or even for people who interact primarily with their operating system and the software running on it, it can seem like the computer hardware is largely divorced from the work. Yes, the computer has to be physically present to do something like write a Hackaday article, but most of us will not understand the Assembly language, machine code, or transistor layout well enough to build up to what makes a browser run. [Francis Stokes] is a different breed, though, continually probing these mysterious low-level regions of our computerized world where he was recently able to send an Ethernet packet from scratch.

Continue reading “Ethernet From First Principles”

Vintage telephone

World’s First Virtual Meeting: 5,100 Engineers Phoned In

Would you believe that the first large-scale virtual meeting happened as early as 1916? More than a century before Zoom meetings became just another weekday burden, the American Institute of Electrical Engineers (AIEE) pulled off an unprecedented feat: connecting 5,100 engineers across eight cities through an elaborate telephone network. Intrigued? The IEEE, the successor of the AIEE, just published an article about it.

This epic event stretched telephone lines over 6,500 km, using 150,000 poles and 5,000 switches, linking major hubs like Atlanta, Boston, Chicago, and San Francisco. John J. Carty banged the gavel at 8:30 p.m., kicking off a meeting in which engineers listened in through seat-mounted receivers—no buffering or “Can you hear me?” moments. Even President Woodrow Wilson joined, sending a congratulatory telegram. The meeting featured “breakout sessions” with local guest speakers, and attendees in muted cities like Denver sent telegrams, old-school Zoom chat style.

The event included musical interludes with phonograph recordings of patriotic tunes—imagine today’s hold music, but gloriously vintage. Despite its success, this wonder of early engineering vanished from regular practice until our modern virtual meetings.

We wonder if Isaac Asimov knew about this when he wrote about 3D teleconferencing in 1953. If you find yourself in many virtual meetings, consider a one-way mirror.

Playing Chess Against LLMs And The Mystery Of Instruct Models

At first glance, trying to play chess against a large language model (LLM) seems like a daft idea, as its weighted nodes have, at most, been trained on some chess-adjacent texts. It has no concept of board state, stratagems, or even whatever a ‘rook’ or ‘knight’ piece is. This daftness is indeed demonstrated by [Dynomight] in a recent blog post (Substack version), where the Stockfish chess AI is pitted against a range of LLMs, from a small Llama model to GPT-3.5. Although the outcomes (see featured image) are largely as you’d expect, there is one surprise: the gpt-3.5-turbo-instruct model, which seems quite capable of giving Stockfish a run for its money, albeit on Stockfish’s lower settings.

Each model was given the same query, telling it to be a chess grandmaster, to use standard notation, and to choose its next move. The stark difference between the instruct model and the others calls investigation. OpenAI describes the instruct model as an ‘InstructGPT 3.5 class model’, which leads us to this page on OpenAI’s site and an associated 2022 paper that describes how InstructGPT is effectively the standard GPT LLM model heavily fine-tuned using human feedback.

Continue reading “Playing Chess Against LLMs And The Mystery Of Instruct Models”

Art of 3D printer in the middle of printing a Hackaday Jolly Wrencher logo

Hackers, Patents, And 3D Printing

Last week, we ran a post about a slightly controversial video that claimed that a particular 3D-printing slicing strategy was tied up by a patent troll. We’re absolutely not lawyers here at Hackaday, but we’ve been in the amateur 3D printing revolution since the very beginning, and surprisingly patents have played a role all along.

Modern fused-deposition modelling (FDM) 3D printing began with Stratasys’ patent US5121329A, “Apparatus and method for creating three-dimensional objects”, and the machines they manufactured and sold based on the technology. Go read the patent, it’s an absolute beauty and has 44 different claims that cover just about everything in FDM printing. This was the watershed invention, and today, everything claimed in the patent is free.

Stratasys’ patent on the fundamental FDM method kept anyone else from commercializing it until the patent expired in 2009. Not coincidentally, the first available home-gamer 3D printer, the Makerbot Cupcake, also went on sale in 2009.

The Stratasys machines were also one of the big inspirations for Adrian Bowyer to start the RepRap project, the open-source movement that basically lead to us all having cheap and cheerful 3D printers today, and he didn’t let the patent stop him from innovating before it lapsed. Indeed, the documentation for the RepRap Darwin dates back to 2007. Zach [Hoeken] Smith delivered our hackerspace the acrylic parts to make one just around that time, and we had it running a year or two before the Cupcake came out of the company that he, Bre, and Adam shortly thereafter founded.

The story of hackers and 3D printers is longer than the commercial version of the same story would imply, and a lot of important innovations have come out of our community since then too. For instance, have a look at Stratasys’ patent on heated bed technology. At first read, it seems to cover removable heated beds, but have a look at the cutout at the end of claim 1: “wherein the polymer coating is not a polymer tape”. This cutout is presumably in response to the at-the-time common practice of buying Kapton, PEI, or PET tape and applying that to removable heated bed surfaces. I know I was doing that in 2012, because I read about it on IRC or something, long before the Stratasys patent was filed in 2014. They could only get a patent for sprayed-on coatings.

As [Helge] points out, it’s also easily verifiable that the current patent on “brick layers” that we’re worrying about, filed in 2020, comes later than this feature request to Prusa Slicer that covers essentially the same thing in 2019. We assume that the patent examiner simply missed that obvious prior art – they are human after all. But I certainly wouldn’t hesitate to implement this feature given the documented timing.

I would even be so bold as to say that most of the post-2010 innovation in 3D printing has been made by hobbyists. While the RepRap movement was certainly inspired by Stratasys’ invention in the beginning, our community is where the innovation is happening now, and maybe even more starkly on the software side of things than the hardware. Either way, as long as you’re just doing it for fun, let the suits worry about the patents. Hackers gotta hack.

Spotted At Supercon: Glowtape Wearable Display

We’re big fans of unusual timepieces here at Hackaday, so it didn’t take long before somebody called our attention to the gloriously luminescent watch that [Henner Zeller] was wearing at this year’s Supercon.

He calls it the Glowtape, and it uses a dense array of UV LEDs and a long strip of glow-in-the-dark material to display the time and date, as well as images and long strings of text written out horizontally to create an impromptu banner. It looked phenomenal in person, with the energized areas on the tape glowing brightly during the evening festivities in the alleyway.

Continue reading “Spotted At Supercon: Glowtape Wearable Display”