Belfry OpenSCAD Library (BOSL2) Brings Useful Parts And Tools Aplenty

OpenSCAD has a lot of fans around these parts — if you’re unaware, it’s essentially a code-based way of designing 3D models. Instead of drawing them up in a CAD program, one writes a script that defines the required geometry. All that is made a little easier with the Belfry OpenSCAD Library (BOSL2).

Designing a part like this is a cinch with BOSL2.

BOSL2 has an extensive library of base shapes, advanced functions for manipulating models, and some really nifty tools for creating attachment points on parts and aligning components with one another. If that sounds handy for designing useful objects, you’re in for even more of a treat when you see their functions for gears, hinges, screws, and more.

There’s even one that covers bottle necks and caps. (Those are all standardized by the way, so it’s never been easier to interface to existing bottles or caps in a project.)

OpenSCAD really is very versatile software. It powers useful tools like this screw, washer, and nut generator as well as having more unusual applications like a procedural terrain generator. It’s free, so if you’ve never looked into it, check it out!

Tiny Typing Tutor Tuts At Your Incorrect Shift Usage

There are a wide range of typing tutors out there that will educate you in the glorious skill of touch-typing. Many just focus on the basics, ranking you on accuracy and speed. However, there’s a nifty little online tutor that can help you with one skill specifically—it’s aim is to teach you to use the Shift keys “properly.”

The tutor is the work of [KaarelP2rtel]. The unnamed tool is intended to guide you into instinctively using both the left and right Shift keys as you type. Many typers default to using one or the other. This can lead to fumbles and slowdown when one hand is trying to hit both the Shift key and a letter.

[KaarelP2rtel]’s belief is that the “correct” method is to press the Shift key with the opposite hand to the one typing the letter, and this typing tutor enforces that practice. You must type repeated capitalized words one after the other, and you’ll only progress quickly if you’re hitting the opposite Shift key each time. Unconventional keyboardists fear not—you can convert the tool to work with Dvorak or Colemak layouts if necessary.

Is this a crucial tool for the fast typist? The jury’s out on that one. It’s entirely possible to hit in excess of 120 wpm without this technique for most normal passages of text, using dynamic finger reassignments when hitting Shift with the same hand. Still, the diligent may find it a useful upgrade to their existing typing abilities.

Source code is on GitHub for the curious. Notably, it’s a very small website that weighs in at just a few kilobytes; it would be a rather fitting part of the Small Web, which we’ve explored before!

Make A Secret File Stash In The Slack Space

Disk space is allocated in clusters of a certain size. When a file is written to disk and the file size is smaller than the cluster(s) allocated for it, there is an unused portion of varying size between the end of the file’s data and the end of the allocated clusters. This unused space is the slack space, it’s perfectly normal, and [Zachary Parish] had an idea to write a tool to hide data in it.

The demo uses a usb drive, using the slack space from decoy files to read and write data.

[Zachary]’s tool is in Python and can map available slack space and perform read and write operations on it, treating the disparate locations as a single unified whole in which to store arbitrary files. A little tar and gzip even helps makes things more efficient in the process.

There’s a whole demo implemented on Linux using a usb drive with some decoy files to maximize the slack space, and you can watch it in action in the video embedded below. It’s certainly more practical than hiding data in a podcast!

Note that this is just a demo of the concept. The approach does have potential for handling secret data, but [Zachary] points out that there are — from a serious data forensics point of view– a number of shortcomings in its current form. For example, the way the tool currently structures and handles data makes it quite obvious that something is going on in the slack space.

[Zachary] created this a few years ago and has some ideas about how to address those shortcomings and evolve the tool, so if you have ideas of your own or just want to try it out, the slack_hider GitHub repository is where you want to go.

Continue reading “Make A Secret File Stash In The Slack Space”

Screenshot of Linux in a PDF in a browser

Nice PDF, But Can It Run Linux? Yikes!

The days that PDFs were the granny-proof Swiss Army knives of document sharing are definitely over, according to [vk6]. He has managed to pull off the ultimate mind-bender: running Linux inside a PDF file. Yep, you read that right. A full Linux distro chugging along in a virtual machine all encapsulated within a document. Just when you thought running DOOM was the epitome of it. You can even try it out in your own browser, right here. Mind-boggling, or downright Pandora’s box?

Let’s unpack how this black magic works. The humble PDF file format supports JavaScript – with a limited standard library, mind you. By leveraging this, [vk6] managed to compile a RISC-V emulator (TinyEMU) into JavaScript using an old version of Emscripten targeting asm.js instead of WebAssembly. The emulator, embedded within the PDF, interfaces with virtual input through a keyboard and text box.

The graphical output is ingeniously rendered as ASCII characters – each line displayed in a separate text field. It’s a wild solution but works astonishingly well for something so unconventional.

Security-wise, this definitely raises eyebrows. PDFs have long been vectors for malware, but this pushes things further: PDFs with computational power. We know not to trust Word documents, whether they just capable of running Doom, or trash your entire system in a blink. This PDF anomaly unfolds a complete, powerful operating system in front of your very eyes. Should we think lightly, and hope it’ll lead to smarter, more interactive PDFs – or will it bring us innocent looking files weaponized for chaos?

Curious minds, go take a look for yourself. The project’s code is available on GitHub.

Continue reading “Nice PDF, But Can It Run Linux? Yikes!”

Basically, It’s BASIC

The BASIC language may be considered old-hat here in 2025, and the days when a computer came as a matter of course with a BASIC interpreter are far behind us, but it can still provide many hours of challenge and fun. Even with our love of all things 8-bit, though, we’re still somewhat blown away by [Matthew Begg]’s BASIC interpreter written in 10 lines of BASIC. It’s an entry in the BASIC 10-liner competition, and it’s written to run on a Sinclair ZX Spectrum.

The listing can be viewed as a PNG file on the linked page. It is enough to cause even the most seasoned retrocomputer enthusiasts a headache because, as you might expect, it pushes the limits of the language and the Sinclair interpreter.  It implements Tiny Basic as a subset of the more full-featured BASICs, and he’s the first to admit it’s not fast by any means. He gives a line-by-line explanation, and yes, it’s about as far away from the simple Frogger clones we remember bashing in on our Sinclairs as it’s possible to get.

We love it that there are still boundaries to be pushed, even on machines over four decades old, and especially that this one exceeds what we thought was a pretty good knowledge of Sinclair BASIC. Does this language still have a place in the world? We always look forward to the BASIC 10-liner competition.

Header: background by Bill Bertram, CC BY-SA 2.5.

Handy Online Metric Screw, Nut, And Washer Generator

For those times when you could really use a quick 3D model, this metric screw generator will do the trick for screws between M2 and M16 with matching nuts and washers. Fastener hardware is pretty accessible, but one never knows when a 3D printed piece will hit the spot. One might even be surprised what can be usefully printed on a decent 3D printer at something like 0.08 mm layer height.

Behind the scenes, [Jason]’s tool is an OpenSCAD script with a very slick web-based interface that allows easy customization of just about any element one might need to adjust, including fine-tuning the thread sizing. We’re fans of OpenSCAD here and appreciate what’s going on behind the scenes, but one doesn’t need to know anything about it to use the online tool.

Generated models can be downloaded as .3mf or .stl, but if you really need a CAD model you’re probably best off looking up a part and downloading the matching 3D model from a supplier like McMaster-Carr.

Prefer to just use the OpenSCAD script yourself, instead of the web interface? Select “Download STL/CAD Files” from the dropdown of the project page to download ScrewGenerator.scad for local use, and you’re off to the races.

Taylorator Makes Mischief On The Airwaves

[Stephen] recently wrote in to share his experiments with using the LimeSDR mini to conduct a bit of piracy on the airwaves, and though we can’t immediately think of a legitimate application for spamming the full FM broadcast band simultaneously, we can’t help but be fascinated by the technique. Called the Taylorator, as it was originally intended to carpet bomb the dial with the collected works of Taylor Swift on every channel, the code makes for some interesting reading if you’re interested in the transmission-side of software defined radio (SDR).

The write-up talks about the logistics of FM modulation, and how quickly the computational demands stack up when you’re trying to push out 100 different audio streams at once. It takes a desktop-class CPU to pull it off in real-time, and eats up nearly 4 GB of RAM.

You could use this project to play a different episode of the Hackaday Podcast on every FM channel at once, but we wouldn’t recommend it. As [Stephen] touches on at the end of the post, this is almost certainly illegal no matter where you happen to live. That said, if you keep the power low enough so as not to broadcast anything beyond your home lab, it’s unlikely anyone will ever find out.

Continue reading “Taylorator Makes Mischief On The Airwaves”