Tech In Plain Sight: Meet The Robot That Does CPR

Usually in Tech In Plain Sight, we talk about technology you probably see every day, even if you don’t notice it. But we hope you don’t get to see one of the latest crop of medical robots, such as the LUCAS chest compression system. If you watch the popular TV series “The Pitt”, though, you may have caught a glimpse of one of these medical marvels. They aren’t fiction. They are very real devices.

Calling them robots might be stretching the definition a little. They don’t roam the halls looking for patients. But once attached to someone in cardiac arrest, they can take over one of the most important — and physically demanding — parts of CPR: chest compressions.

Keep The Blood Moving

When someone’s heart stops pumping blood, time is critical. CPR doesn’t normally restart the heart on its own. Instead, chest compressions produce enough blood flow to keep oxygen reaching the brain and heart while rescuers work on the underlying problem and, when appropriate, use a defibrillator.

Doing that well is harder than it looks on television. Current American Heart Association guidelines call for adult chest compressions 100 to 120 times per minute, at least 5 cm deep but generally no deeper than 6 cm, while allowing the chest to recoil fully between compressions. Interruptions should be kept to a minimum.

That’s hard physical work. In fact, studies show compression depth begins to fall after only about 90 to 120 seconds, which is one reason CPR teams normally swap compressors every two minutes. But a robot doesn’t get tired.

Continue reading “Tech In Plain Sight: Meet The Robot That Does CPR”

One Bit Sound With The ZX Spectrum

[Michael] has a thing for playing audio over beepers using a single bit. He’s done it with the Apple ][ and the IBM PC. This time he turns to the ZX Spectrum. He didn’t get quite as good a result — at least not yet — but he did manage to get some things working. He documents everything, so even though this wasn’t a successful week, there’s sometimes more to learn from reasonable failures than from unreasonable successes.

Of course, the whole thing relies on pulse code or pulse width modulation. Of the two techniques, PWM should produce better results. However, he wasn’t able to get PWM working yet. Some other target computers drive the buzzer through a dedicated hardware timer. However, with the Spectrum, it is all software.

Continue reading “One Bit Sound With The ZX Spectrum”

A 1024 Byte Python Interpreter

Like many of us, [Austin] finds writing code satisfying — especially if it is challenging. His latest challenge: shoehorn something that looks like Python into 512 bytes. Ok, that didn’t work out, but would you believe 1024 bytes of source code?

The goal was to properly execute a fizzbuzz program using a decidedly Python-like syntax. Since he is only interpreting Python, some things were simplified. In addition, he tried hard to minimize things like whitespace and variable names. Still, there were other things to do, and he borrowed from tips for code golfing.

The resulting code is essentially illegible, but it handles integer variables and literals, assignment, arithmetic, many control structures, functions, and even print. Not bad for 1 K.

Despite being tiny, the parser does a lot, but it does cut corners. No bytecode, no syntax tree, and no error handling. Variables have to be a single lowercase letter. So, ok, it isn’t really Python. But it is something.

Naturally, this reminded us of the obfuscated C code contest. If you really want to go small, we appreciate small Forth.

WordStar Lives Again (and Again)

Word processors and editors are a funny thing. It doesn’t really matter what’s “best,” whatever that means. If you have finger memory built up for one program, it’s painful to change. That’s why most of us don’t learn how to type on a Dvorak keyboard and why [George R. R. Martin] writes with WordStar. Many people of a certain age have a deep memory of WordStar. Now you can run it on a modern machine or even in your browser without a lot of trouble, thanks to [nampara-ai].

The idea is simple. Take a vintage copy of WordStar for MSDOS, wrap it with DOSBox, and package it up with some basic scripts for Linux, Mac, or Windows. In addition, there’s a WebAssembly version for the browser if you’re into that sort of thing.

Continue reading “WordStar Lives Again (and Again)”

Running Apple ][ Software On A Commodore 64 — Silently

The computer business in 1984 was a bizarre mix of hobby-level companies, a few small companies that had made it big, and a lot of big companies starting to take notice of personal computers. Plenty of money followed, which led to strange products and even stranger ads. [Such Bad Tech Ads] reveals a very bad ad from that time for a product we have barely heard of: the Spartan. The Spartan’s job was to convert your Commodore 64 so it could run Apple ][ software. The ad campaign had, inexplicably, a mime. We think. Or maybe a clown. Hard to say.

On the face of it, the Spartan might not be a bad idea. In 1984, there was plenty of Apple software. Well, relatively, anyway. But a Commodore computer was far cheaper. Other conversion kits like the Intel Inboard/386 managed to find some success in the market later. The problem, outside of strange ads, was one of timing.

Continue reading “Running Apple ][ Software On A Commodore 64 — Silently”

COSMAC Elf Turns 50

If you were interested in computers in the early 1970s, you struggled to get time on real computers since owning your own was all but impossible. In the middle of the decade, though, you could get a few computers: the Mark VIII, the Altair, the Apple I, and several others. Those were still pretty expensive, though. But in late 1976, an article in Popular Electronics said you could build a “powerful, expandable” computer for $80. The article in question was by [Joseph Weisbecker], who, unknown to most of us at the time, was actually the RCA employee behind the CPU — an RCA 1802. [Tech Time Traveler] takes a close look at the spunky little computer’s history in the video you can see below.

The 1802 was actually the second generation of the CPU, but the first that was all-in-one chip. [Weisbecker] started building the CPU as a personal project. He’d been a hacker even in high school, building relay-based tic-tac-toe games, among other things.

The first incarnation in his lab was “Fred,” with 100 TTL chips, and his idea was to have the computer be at least partially used as a video game — an interesting point, with Pong being very popular at the time.

Continue reading “COSMAC Elf Turns 50”

From A Ten-Line Script To A Real Utility With Codex

I’m an experienced programmer, and I’ve worked in many different languages. Sometimes being a programmer is a two-edged sword. You want to accomplish something, and you can do it easily — but it can be a lot of work to do it right. Maybe more work than you want to do.

Normally, I’ll kick out a few lines of script for something I want and be done, accepting that it isn’t production-hardened. This time, however, I decided to try an AI tool to see whether they could do the work I was too lazy to do myself. While I’ve played with chatbots, I wanted to try one of the dedicated coding agents, in this case, Codex. Outside of asking ChatGPT to write a simple function or find the cause of an error message, I haven’t done much coding with AI assistance, so I was interested to see what these agents brought to the table.

A Radio Problem

The problem was simple: I wanted an easy way to put buttons on my Linux desktop that launched Internet radio stations. Sure, I could open a player and paste in a long URL, but I’m far too lazy to remember all those URLs.

I searched for a way to make Shortwave — an Internet radio player — open a URL from the command line. Apparently, you can’t. Google Gemini suggested writing a script that launches cvlc, the command-line VLC player, with the URL as an argument.

That’s easy, so I did it. Of course, then I had to find the stream URLs for all my favorite stations. It turns out that Radio Browser maintains an extensive database of stations. I considered scraping the site or using its API, but honestly, the little script was becoming too much of a project.

Besides, I was already struggling to manage the media player’s lifetime. I didn’t want a new station playing on top of one that was already running, and I wanted a command to stop playback, so the script had already grown larger than I first imagined.

My first version used a temporary file containing the player’s process ID so a future script execution could kill the old player. That usually works, but it isn’t very robust, and I knew it. But how much work did I really want to do here? I decided I had done enough and turned the rest over to Codex, OpenAI’s coding assistant.

Continue reading “From A Ten-Line Script To A Real Utility With Codex”