The Shady School

We can understand why shaderacademy.com chose that name over “the shady school,” but whatever they call it, if you are looking to brush up on graphics programming with GPUs, it might be just what you are looking for.

The website offers challenges that task you to draw various 2D and 3D graphics using code in your browser. Of course, this presupposes you have WebGPU enabled in your browser which means no Firefox or Safari. It looks like you can do some exercises without WebGPU, but the cool ones will need you to use a Chrome-style browser.

You can search by level of difficulty, so maybe start with “Intro” and try doing “the fragment shader.” You’ll notice they already provide some code for you along with a bit of explanation. It also shows you a picture of what you should draw and what you really drew. You get a percentage based on the matching. There’s also a visual diff that can show you what’s different about your picture from the reference picture.

We admit that one is pretty simple. Consider moving on to “Easy” with options like “two images blend,” for example. There are problems at every level of difficulty. Although there is a part for compute shaders, none seem to be available yet. Too bad, because that’s what we find most interesting. If you prefer a different approach, there are other tutorials out there.

Debugging The Instant Macropad

Last time, I showed you how to throw together a few modules and make a working macropad that could act like a keyboard or a mouse. My prototype was very simple, so there wasn’t much to debug. But what happens if you want to do something more complex? In this installment, I’ll show you how to add the obligatory blinking LED and, just to make it interesting, a custom macro key.

There is a way to print data from the keyboard, through the USB port, and into a program that knows how to listen for it. There are a few choices, but the qmk software can do it if you run it with the console argument.

The Plan

In theory, it is fairly easy to just add the console feature to the keyboard.json file:

{
...
    "features": {
        "mousekey": true,
        "extrakey": true,
        "nkro": false,
        "bootmagic": false,
        "console": true
    },
...

That allows the console to attach, but now you have to print.

Continue reading “Debugging The Instant Macropad”

Dead Bug Timer Relay Needs No PCB

We often marvel at the many things a 555 can do. But [Zafer Yildiz] shows us that it can even take the place of a PCB. You’ll see what we mean in the video below. The timer relay circuit is built “dead bug” style with the 555 leads bent out to provide wiring terminals.

Honestly, these kinds of circuits are fun, but we would be reticent to use this type of construction for anything that had to survive in the real world. Solder joints aren’t known for being mechanically stable, so this is good for experiments, but maybe not something you want to do all the time.

Continue reading “Dead Bug Timer Relay Needs No PCB”

RP2040 Assembly Language Mix And Match

[David] is building a project with an OLED, a keyboard, and an RP2040. He’s perfected a scanning routine in C to work with the keyboard, but he still had some places he wanted to use even lower-level instructions. That was as good an excuse as any to experiment with inline assembly language inside the C program.

The goal was to grab the keyboard’s input and stick it into a memory address register so the data at that address could be shown on the display. However, there was a complication because memory access of this type has to be word-aligned.

Sure, you could mask the low bits of the address, do the read, and then set an index to pick the specific byte, but assembly is easy, and it is good to know how to put it in your code, anyway.

Continue reading “RP2040 Assembly Language Mix And Match”

Wire Photo Fax Teardown

Fax machines had a moment in the sun, but they are actually much older than you might expect. Before the consumer-grade fax machines arrived, there was a thriving market for “wire photos” used by, for example, news organizations and the weather service. In the United States, the WEFax from Western Electric was fairly common and shows up on the surplus market. [Thomas] has an English unit, a Muirhead K-570B, that is very clearly not a consumer-oriented machine. His unit dates back to 1983, but it reminds us of many older designs. Check out his teardown in the video below.

The phone line connection on this device is a pair of banana jacks! There are even jacks for an external meter. Inside, the device is about what you’d expect for a 1983 build. PCBs with bare tinned conductors and lots of through-hole parts.

Continue reading “Wire Photo Fax Teardown”

The Oscilloscope From 1943

[Thomas] comes up with some unusual gear. In his latest teardown and repair video, he has a vintage 1943 Danish oscilloscope,  a Radiometer OSG32 on the bench. It isn’t lightweight, and it certainly looks its age with a vintage cracked finish on the case. You can check out the tubes and high-voltage circuitry in the video below.

If you’ve only seen the inside of a modern scope, you’ll want to check this out with giant condensers (capacitors) and a slew of tubes. We love seeing the workmanship on these old chassis.

Continue reading “The Oscilloscope From 1943”

Picking An Old Operating System

We usually at least recognize old computer hardware and software names. But [Asianometry] taught us a new one: Pick OS. This 1960s-era system was sort of a database and sort of an operating system for big iron used by the Army. The request was for an English-like query language, and TRW assigned two guys, Don Nelson and Dick Pick, to the job.

The planned query language would allow for things like “list the title, author, and abstract of every transportation system reference with the principal city ‘Los Angeles’.” This was GIM or generalized information management, and, in a forward-looking choice, it ran in a virtual machine.

Continue reading “Picking An Old Operating System”