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”

Mmm… Obfuscated Shell Donuts

In case you grow tired of clear-written, understandable code, obfuscation contests provide a nice change of scenery, and trying to make sense of their entries can be a fun-time activity and an interesting alternative to the usual brainteasers. If we ever happen to see a Simpsons episode on the subject, [Andy Sloane] has the obvious candidate for a [Hackerman Homer] entry: a rotating ASCII art donut, formatted as donut-shaped C code.

The code itself actually dates back to 2006, but has recently resurfaced on Reddit after [Lex Fridman] posted a video about it on YouTube, so we figured we take that chance to give some further attention to this nifty piece of art. [Andy]’s blog article goes in all the details of the rotation math, and how he simply uses ASCII characters with different pixel amounts to emulate the illumination. For those who prefer C over mathematical notation, we added a reformatted version after the break.

Sure, the code’s donut shape is mainly owed to the added filler comments, but let’s face it, the donut shape is just a neat little addition, and the code wouldn’t be any less impressive squeezed all in one line — or multiple lines of appropriate lengths. However, for the actual 2006 IOCCC, [Andy] took it a serious step further with his entry, and you should definitely give that one a try. For some more obfuscated shell animations, check out the fluid dynamics simulator from a few years back, and for a more recent entry, have a look at the printf Tic Tac Toe we covered last month.

Continue reading “Mmm… Obfuscated Shell Donuts”

Slaying Dragons In Notepad

We all have our favorite text editor, and are willing to defend its superiority above all other editors by any means necessary. And then there’s Notepad. But what Notepad may lack in text manipulation features, it compensates with its inconspicuous qualities as a gaming platform. Yes, you read that correctly, and [Sheepolution] delivers the proof with a text-based adventure game running within Notepad.

What started out with [Sheepolution] jokingly wondering what such a game may look like, ended up as an actual implementation as answer to it. Behind the scenes, a script written in Lua using the LÖVE framework — for which he also created an extensive tutorial — monitors the state of several text files that make up the game world. Each location is a separate text file to open in Notepad, showing the current state of the game, telling the story with text and ASCII art, and offering choices to the player. The game is played by modifying and saving those text files, which the script then processes to push the gameplay forward by simply updating the content of those files with the new state. Check out the game’s trailer after the break to get a feel of what that looks like.

Unfortunately, Notepad itself doesn’t automatically reload the file when its content changes, so to provide a smoother gaming experience, [Sheepolution] modified the open source implementation Notepad2 to work around this, and bundled it as part of the game’s executable. Initially, he even added animations to the ASCII graphics, but in the end decided against most of them to avoid constant disk writes and race conditions caused by them.

Sure, this is no Game Boy emulator in a text editor, and it may not be as groundbreaking as Notepad’s latest feature, but it’s always amusing to see alternative uses for well-established tools.

Continue reading “Slaying Dragons In Notepad”

Logging Into Linux With A 1930s Teletype

Buried deep within all UNIX-based operating systems are vestiges of the earliest days of computing, when “hardware” more often than not meant actual mechanical devices with cams and levers and pulleys and grease. But just because UNIX, and by extension Linux, once supported mechanical terminals doesn’t mean that getting a teletype from the 1930s to work with it is easy.

Such was the lesson learned by [CuriousMarc] with his recently restored Model 15 Teletype; we covered a similar Model 19 restoration that he tackled. The essential problem is that the five-bit Baudot code that they speak predates the development of ASCII by several decades, making a converter necessary. A task like that is a perfect job for an Arduino — [Marc] put a Mega to work on that — but the interface of the Teletype proved a bit more challenging. Designed to connect two or more units together over phone lines, the high-voltage 60-mA current loop interface required some custom hardware. The testing process was fascinating, depending as it did on an old Hewlett-Packard serial signal generator to throw out a stream of five-bit serial pulses.

The big moment came when he used the Teletype to log into Linux on a (more or less) modern machine. After sorting out the mysteries of the stty command, he was able to log in, a painfully slow process at 45.5 bps but still a most satisfying hack. The ASCII art — or is it Baudot art? — is a nice bonus.

We love restorations like these, and can practically smell the grease and the faint tang of ozone around this device. We’re not thrilled by the current world situation, but we’re glad [CuriousMarc] was able to use the time to bring off a great hack that honors another piece of our computing history.

Continue reading “Logging Into Linux With A 1930s Teletype”

Vintage Mini Inkjet Prints On-Demand ASCII Art

Readers of a certain age may fondly remember ASCII art emerging from line printers in a long-gone era of computing; for others, it’s just wonderfully retro. Well, when [Emily Velasco] found a vintage Kodak Diconix 150 inkjet at a local thrift store for $4, she knew what she had to do: turn it into a dedicated ASCII-art machine.

Dating to the mid-1980s, the diminutive printer she scored was an early example of consumer inkjet technology; with only 12 “jets,” it sported a resolution roughly equivalent to the dot-matrix impact printers of the day. [Emily] notes that this printer would have cost around $1000 in today’s money — this is from a time before printer companies started selling the printer itself as a loss leader to make revenue on the back end selling consumables. It seems you can’t escape the razor-and-blades model, though: [Emily] had to pay $16 for a new ink cartridge to revive the $4 printer.

With the new ink in place, and some tractor-feed paper acquired, [Emily] started work on the art generator. The concept is something that might have been sold on late-night TV ads: a “cartridge” you plug into your printer to make ASCII masterpieces. Starting with a stripped-down Centronics printer cable that matches the printer’s port, she added an Arduino nano to store and serve up the art. The user interface is foolproof: a single button press causes a random selection from one of ten ASCII images to be printed. The whole thing is ensconced within a slick 3D printed case.

One of the coolest aspects of this project is the lack of power supply. When she first hooked the Arduino to the printer’s parallel port, [Emily] noticed that it powered right up with no external supply, and in true hacker fashion, just ran with it. Upon reflection, it seems that power is being supplied by the printer status lines, Busy and/or Ack, through the input protection diodes of the Atmega328 on the nano.

We really like this project, and are more than a little bummed we tossed those old printers that were kicking around the Hackaday labs for years. If you still have yours, and would like turn out some rad ASCII art, the code for this project is up on GitHub.

We’re no strangers to [Emily]’s work, but if you aren’t familiar with it, check out her inspiring talk from the 2019 Hackaday Superconference. Meanwhile, don’t miss the excellent video about the ASCII art printer cartridge, after the break.

Continue reading “Vintage Mini Inkjet Prints On-Demand ASCII Art”

Explore This 3D World Rendered In ASCII Art

Pixelated RPGs are pretty standard in games like Legend of Zelda and Pokemon, but have you ever seen anything like ASCIICKER? It’s a full-color three-dimensional world rendered with ASCII art and playable in your browser.

For the time being, the game exists as an experiment. There’s no storyline or goals other than exploring the world, although you can meet up with (or follow) others exploring the game — although all of the sprites look the same, so it may be difficult to have interactions. The game was created by [Gumix] and built entirely in JavaScript without using any other game engines.

All of the previous iterations have also been published online and are accessible by adding X1 up to X13 to the end of the URL. With game development beginning in 2017, it has since been through a considerable amount of change. There’s an entire subreddit dedicated to the game with regular updates from the creator on the development of an open-source dev tool for building new levels and features for the environment. The current engine is capable of rendering objects as thin as fences as well as reflections in bodies of water.

You can try out the game for yourself and see what you think!

Continue reading “Explore This 3D World Rendered In ASCII Art”

All Things Enigma Hack Chat

Join us Wednesday at noon Pacific time for the All Things Enigma Hack Chat!

This week’s Hack Chat is a bit of a departure for us because our host, Simon Jansen, has tackled so many interesting projects that it’s hard to settle on one topic. Simon is a multidisciplinary hacker whose interests run the gamut from building an ammo-can Apple ][ to a literal steampunk Rickroller. How about a Bender Brewer? Or a MAME in a TARDIS? Or perhaps making an old phone play music to restore a car by? Oh, and remember that awesome ASCII animation of Star Wars: Episode IV? That was Simon.

So, a little hard to choose a topic, but we asked Simon to talk a bit about his recent Enigma watches. He has managed to put an electronic emulation of the Enigma cypher machine from World War II into both a wristwatch and, more recently, a pocket watch. They’re both gorgeous builds that required a raft of skills to complete. We’ll start there and see where the conversation takes us!

Please join us for this Hack Chat, where we’ll discuss:

  • Where the fascination with Enigma came from;
  • Tools, techniques, and shop setup;
  • Melding multiple, disparate skill sets; and
  • What sorts of new projects might we see soon?

You are, of course, encouraged to add your own questions to the discussion. You can do that by leaving a comment on the All Things Enigma Hack Chat and we’ll put that in the queue for the Hack Chat discussion.

join-hack-chatOur Hack Chats are live community events on the Hack Chat group messaging. This week we’ll be sitting down on Wednesday, February 27, at noon, Pacific time. If time zones have got you down, we have a handy time zone converter.

Click that speech bubble to the right, and you’ll be taken directly to the Hack Chat group on You don’t have to wait until Wednesday; join whenever you want and you can see what the community is talking about.