Terminal-Based Image Viewer, and Multi-OS Binary, and Under 100kb

[Justine Tunney]’s printimage.com is a program capable of splatting full-color images to text mode terminal sessions, but that’s not even its neatest trick. It’s also a small binary executable capable of running on six different operating systems: Linux, Windows, MacOS, FreeBSD, OpenBSD, and NetBSD. All without having to be installed or otherwise compiled first. On top of it all, it’s less than 100 kb.

How is this possible? It’s thanks to [Justine]’s αcτµαlly pδrταblε εxεcµταblε format, implemented by a project called Cosmopolitan which aims to turn C into a build-once-run-anywhere language. The printimage.com source code is included within the Cosmopolitan project.

If the name sounds a bit familiar, it’s probably because the Cosmopolitan project is a key piece of a tool we recently covered: llamafile, which allows people to package up an LLM (large language model) as a single-file, multi-OS executable.

As printimage.com shows, terminal windows are capable of more than just text. Still, plain ASCII has its appeal. Check out the ASCII art STL file viewer which might just make your next sick ASCII art banner a bit easier to generate.

Finally! A Typeface For Hardware People

When it comes to novelty typefaces there is no shortage of weird and wonderful fonts to be found when you have finally tired of Comic Sans. Everything from bananas forming letters to Wild West saloon lettering can be yours, plus of course our favourite, the embossed Dymo label. But there’s a new kid on the novelty typeface block, and for us it sweeps all before it.

Scopin’ Sans is as its creator [Guy Dupont] calls it “A typeface for hardware people”, and its party trick is that it doesn’t produce letters. Instead it forms an oscilloscope trace that displays what it would look like as serial data. Instantly your text jumps straight to 1337, and you win the internet.

We have shamefacedly to admit that we don’t know binary ASCII by sight, so we’ll have to take his word for it. But for the curious there’s a demo from which you can amuse yourself creating traces, and if you can’t recognize serial ASCII then the chances are few of the people around you can either. We take our hats off to [Guy], and it’s something we’re sure we’ll use at some point to delight and confuse our friends. It’s not the first font we’ve brought you, here are some more if you come from the bitmap era.

Forever Writing On Monofilament Fishing Line

Collectively, we have a long-term memory problem. Paper turns to mulch, dyes in optical disks degrade, iron oxides don’t last forever, and flash memories will eventually fade away. So what do you do when you want to write something down and make sure it’s around a couple of thousand years from now? Easy — just use something that even Mother Nature herself has trouble breaking down: plastic.

Specifically, fluoropolymer fishing line, which is what [Nikolay Valentinovich Repnitskiy] uses as a medium in his “Carbon Record” project. There’s not a lot of information in the repository, but the basic idea is to encode characters by nicking the fishing line along its length. The encoder is simple enough; a spool of fresh line is fed into a machine where a solenoid drives a sharpened bolt against the filament. This leaves a series of nicks that encode the ones and zeros of 255 ASCII characters. It looks like [Nikolay] went through a couple of prototypes before settling on the solenoid; an earlier version used a brushed motor to drive the encoder, but the short, rapid movements proved too much for the motor to handle. We’ve included a video below that shows the device encoding some text; sounds a little like Morse to us.

There seems to be a lot more going on with this device than the repo lets on; we’d love to know what the big heat sink on top is doing, for instance. Hopefully we’ll get more details, including how [Nikolay] intends to decode the dents. Or perhaps that’s an exercise best left to whoever finds these messages a few millennia hence.

An ASCII Terminal Like It’s 1974

It’s quite probable that any of you who have built a keyboard will have done so using a matrix of keys connected to a microcontroller, or if you are old-school, a microprocessor. A CPU can scan the keyboard matrix with ease, and pass whatever is typed either to whatever software it is running, or to a host computer. There was a time however when available CPUs were not considered powerful enough to do all this and also perform a useful task, so a keyboard would have its own decoder chip that would output ASCII over a parallel interface. It’s an era [John Calhoun] harks back to with Adam74, a little ASCII terminal which takes its input from that 7-bit parallel port.

In the place of a forest of TTL chips which might have graced the originals, within that attractive curved laser cut acrylic case is an LCD display and a Teensy microcontroller board. There’s a level shifter for the classic 5 volt logic, and of course a small buzzer for the essential BEL character. In these days when a parallel interface is relatively rare, he describes the rediscovery of alternate earth lines in a ribbon cable to minimize cross-talk. Should you wish to try your own, everything can be found on GitHub.

All in all it’s a fun way to rediscover an old idea.

Mechanical Keyboards Are Over, This Device Has Won

The desk of any self-respecting technology enthusiast in the 2020s is not complete without a special keyboard of some sort, be it a vintage IBM Model M, an esoteric layout or form factor, or just a standard keyboard made with clacky mechanical switches. But perhaps we’ve found the one esoteric keyboard to rule them all, in the form of [HIGEDARUMA]’s 8-bit keyboard. You can all go home now, the competition has been well and truly won by this input device with the simplest of premises; enter text by setting the ASCII value as binary on a row of toggle switches. No keyboard is more retro than the one you’d find on the earliest microcomputers!

Jokes aside, perhaps this keyboard may be just a little bit esoteric for many readers, but it’s nevertheless a well-executed project. Aside from the row of binary inputs there is a keypress button which sends whatever the value is to the computer, and a stock button that allows for multiple inputs to be stored and sent as one. If you pause for a moment and think how often you use Ctrl-C and Ctrl-V for example, this is an essential function. There’s more information on a Japanese website (Google Translate link), which reveals that under the hood it’s a Bluetooth device running on an ESP32.

We can imagine that with a bit of use it would be possible to memorize ASCII as binary pretty quickly, in fact we wouldn’t be at all surprised to find readers already possessing that skill. But somehow we can’t imagine it ever being a particularly fast text input device. Take a look for yourselves, it’s in the video below the break.

Continue reading “Mechanical Keyboards Are Over, This Device Has Won”

Enjoy An ASCII Version Of Star Wars In The Palm Of Your Hand For May The 4th

Everyone by now has probably seen the original — and best; fight us — installment of the Star Wars franchise, and likely the ASCII-art animation version of it that improves greatly on the film by eliminating all those distracting special effects, human actors, and the soundtrack. But what we haven’t had until now is a portable player for ASCIIWars, to enjoy the film in all its character-based glory while you’re on the go.

While this tribute to [Simon Jansen]’s amazing ASCII-art achievement might seem like a simple repackaging of the original, [Frank] actually had to go to some lengths to make this work. After getting [Simon]’s blessing, the build started with a WEMOS D1 Mini, a good platform for the project less for its wireless capabilities and more for its 4 MB of flash memory. A 240×360 TFT LCD display was selected to show the film; the scale of the display made most fonts hard to read, so [Frank] used Picopixel, a font designed for legibility on small screens. The animation file is stored on the SPIFFS file system on the D1’s flash memory, and a few lines of code parse it and send it to the display. The final touch is mounting the whole thing is an old slide viewer, which magnifies the display to make it a little easier to see.

As much as we applaud [Frank]’s tribute to [Simon]’s effort, there’s no reason to confine this to the Star Wars universe. If you read up on the history of ASCII art, which goes surprisingly far back, you might be inspired to render another classic film in ASCIImation and put it on a viewer like this. ASCII-Metropolis, anyone?

Continue reading “Enjoy An ASCII Version Of Star Wars In The Palm Of Your Hand For May The 4th”

Real Hackers Videoconference In Terminal

At some point or another, many of us have tried to see how much of our digital lives could be accessed from the comfort of a terminal. We’ve tried Alpine for email, W3M for web browsing, and even watched Star Wars via telnet. But, in the increasingly socially-distant world we find ourselves in today, we find ourselves asking: what about video calling?

Okay, we weren’t asking that. But thankfully [Andy Kong] was, and saw fit to implement it when he and a friend created AsciiZOOM, a “secure, text-based videoconferencing app, accessible from the safety of your terminal.”

As you may have guessed, [Andy]’s solution replaces the conventional video stream we’re all used to with realtime animated ASCII art. The system works by capturing a video stream from a webcam, “compressing” each pixel by converting it into an ASCII character, and stuffing the entire frame into a TCP packet. Each client is connected to a server (meeting room?) which coordinates the packets, sending them back and forth appropriately.

As impressive as it is impractical, the only area in which the project lacks is in audio. [Andy] suggests using Discord to solve that, but here’s hoping we see subtitles in version 2! Will AsciiZOOM be replacing our favorite videoconferencing suite any time soon? No. Are we glad it exists? You betcha.

Continue reading “Real Hackers Videoconference In Terminal”