Nice PDF, But Can It Run DOOM? Yup!

DOOM is a classic game to implement on a variety of platforms, but doompdf by [ading2210] is one we didn’t see coming. It runs a bit slow and controls are a little awkward but it does run. Entirely within a PDF file, at that.

How is this possible? PDFs are technically capable of much more than just displaying static content, and support JavaScript with their own library of functions. Adobe Acrobat implements the full spec, but modern web browsers implement at least a subset of the functionality in a sandboxed JavaScript runtime environment. Input and output are limited to things one might expect from a fancy PDF form (text input boxes, clickable buttons, things of that nature) but computation-wise, just about anything goes.

Continue reading “Nice PDF, But Can It Run DOOM? Yup!”

Modern AI On Vintage Hardware: LLama 2 Runs On Windows 98

[EXO Labs] demonstrated something pretty striking: a modified version of Llama 2 (a large language model) that runs on Windows 98. Why? Because when it comes to personal computing, if something can run on Windows 98, it can run on anything. More to the point: if something can run on Windows 98 then it’s something no tech company can control how you use, no matter how large or influential they may be. More on that in a minute.

Ever wanted to run a local LLM on 25 year old hardware? No? Well now you can, and at a respectable speed, too!

What’s it like to run an LLM on Windows 98? Aside from the struggles of things like finding compatible peripherals (back to PS/2 hardware!) and transferring the required files (FTP over Ethernet to the rescue) or even compilation (some porting required), it works maybe better than one might expect.

A Windows 98 machine with Pentium II processor and 128 MB of RAM generates a speedy 39.31 tokens per second with a 260K parameter Llama 2 model. A much larger 15M model generates 1.03 tokens per second. Slow, but it works. Going even larger will also work, just ever slower. There’s a video on X that shows it all in action.

It’s true that modern LLMs have billions of parameters so these models are tiny in comparison. But that doesn’t mean they can’t be useful. Models can be shockingly small and still be perfectly coherent and deliver surprisingly strong performance if their training and “job” is narrow enough, and the tools to do that for oneself are all on GitHub.

This is a good time to mention that this particular project (and its ongoing efforts) are part of a set of twelve projects by EXO Labs focusing on ensuring things like AI models can be run anywhere, by anyone, independent of tech giants aiming to hold all the strings.

And hey, if local AI and the command line is something that’s up your alley, did you know they already exist as single-file, multi-platform, command-line executables?

Custom Case Turns Steam Deck Into Portable Workstation

DIY portable computing takes many forms, and doesn’t always require getting down and dirty with custom electronics. [Justinas Jakubovskis]’s Steam Deck Play and Work case demonstrates this with some really smart design features.

It’s primarily a carrying case for Valve’s Steam Deck portable PC gaming console, but the unit also acts as a fold-out workstation with keyboard. Add a wireless mouse to the mix and one can use it much like a mini laptop, or just pull the Steam Deck out and use it in the usual way.

The case is 3D printed and while the model isn’t free (links are in the video description) some of the design features are worth keeping in mind even if you’re not buying. The top clasp, for example, doubles as a cover for the buttons and exhaust vents and the kickstand at the rear covers the cooling intake when closed, and exposes it when deployed. We also really like the use of thick fabric tape lining the inside of the case to support and cushion the Steam Deck itself; it’s an effective and adjustable way to provide a soft place for something to sit.

The case is intended to fit a specific model of keyboard, in this case the Pebble Keys 2 K380s (also available as a combo with a mouse). But if you want to roll your own Steam Deck keyboard and aren’t afraid of some low-level work, check out the Keysheet. Or go deeper and get some guidance on modding the Steam Deck itself.

Continue reading “Custom Case Turns Steam Deck Into Portable Workstation”

Embedding Lenticular Lenses Into 3D Prints

A research project shows that it’s possible to create complex single-piece lenticular objects, or objects that have lenticular lenses built directly into them. The result is a thing whose appearance depends on the viewer’s viewpoint. The object in the image above, for example, is the same object from five different angles.

What’s really neat is that these colorful things have been 3D printed as single objects, no separate lenses or assembly required. Sure, it requires equipment that not just everyone has on their workbench, but we think a clever hacker could put the underlying principles to work all the same.

This lampshade (which was 3D printed as a single object) changes color and displays Good Day or Good Night depending on viewing angle.

The effect is essentially the same as what is sometimes seen in children’s toys and novelties — where a perceived image changes depending on the viewing angle. This principle has been used with a lenticular lens sheet to create a clever lenticular clock, but there’s no need to be limited by what lenses are available off the shelf. We’ve seen a custom 3D printed lenticular lens slapped onto a mobile device to create a 3D screen effect.

Coming back to the research, the objects researchers created go beyond what we’ve seen before in two important ways. First is in using software to aid in designing the object and it’s viewpoints (the plugin for Rhino 3D is available on GitHub), and the second is the scale of the effect. Each lens can be thought of as a pixel whose color depends on the viewing angle, and by 3D printing the lenses, one can fit quite a lot of them onto a surface with a high degree of accuracy.

To make these objects researchers used PolyJet 3D printing, which is essentially UV-cured resin combined with inkjet technology, and can create multi-color objects in a single pass. The lenses are printed clear with a gloss finish, the colors are embedded, and a final hit of sprayed varnish helps with light transmission. It sure beats placing hundreds of little lenses by hand.

Continue reading “Embedding Lenticular Lenses Into 3D Prints”

AA Battery Performances Tested, So Get The Most For Your Money

[Project Farm] has a video in which a wide variety of AA cells are analyzed and compared in terms of capacity, internal resistance, ability to deliver voltage under load, and ability to perform in sub-freezing temperatures. Alkaline, lithium, and even some mature rechargeable cells with a couple thousand cycles under their belt were all compared. There are a few interesting results that will can help you get the most from your money the next time you’re battery shopping.

The video embedded below demonstrates a set of tests that we recommend you check out, but the short version is that more expensive (non-rechargeable) lithium cells outperform their alkaline peers, especially when it comes to overall longevity, ability to perform under high-drain conditions, and low temperatures. Lithium cells also cost more, but they’re the right choice for some applications.

Some brands performed better and others worse, but outside of a couple stinkers most were more or less comparable. Price however, was not.

As for how different brands stack up against one another, many of them are more or less in the same ballpark when it comes to performance. Certainly there are better and worse performers, but outside of a couple of stinkers the rest measure up reasonably well. Another interesting finding was that among rechargeable cells that were all several years (and roughly 2,200 charge-discharge cycles) old, a good number of them still performed like new.

Probably the single most striking difference among the different cells is cost — and we’re not just talking about whether lithium versus alkaline AAs are more cost-effective in the long run. Some brands simply cost twice as much (or more!) than others with comparable performance. If you’re in a hurry, jump to [Project Farm] presenting the final ranked results at 19:45 in.

Relying on brand recognition may save you from buying complete junk, but it’s clearly not the most cost-effective way to go about buying batteries.  These findings are similar to an earlier effort at wide-scale battery testing which also determined that factoring in price-per-cell was too significant to ignore.

Continue reading “AA Battery Performances Tested, So Get The Most For Your Money”

Gaze Upon This Omni-directional Treadmill’s Clever LEGO Construction

Want to see some wildly skillful LEGO construction? Check out [Banana Gear Studios]’ omni-directional treadmill which showcases not only how such a thing works, but demonstrates some pretty impressive problem solving in the process. Construction was far from straightforward!

A 9×9 grid of LEGO shafts all turning in unison is just one of the non-trivial design challenges.

In principle the treadmill works by placing an object on a bed of identical, rotating discs. By tilting the discs, one controls which edge is in contact with the object, which in turn controls the direction the object moves. While the concept is straightforward, the implementation is a wee bit more complex. LEGO pieces offer a rich variety of mechanical functions, but even so, making a 9×9 array of discs all rotate in unison turns out to be a nontrivial problem to solve. Gears alone are not the answer, because the shafts in such a dense array are a bit too close for LEGO gears to play nicely.

The solution? Break it down into 3×3 self-contained chunks, and build out vertically with gimbals to take up the slack for gearing. Use small elastic bands to transfer power between neighbors, then copy and paste the modular 3×3 design a few times to create the full 9×9 grid. After that it’s just a matter of providing a means of tilting the discs — which has its own challenges — and the build is complete.

Check out the video below to see the whole process, which is very nicely narrated and illustrates the design challenges beautifully. You may see some similarities to Disney’s own 360° treadmill, but as [Banana Gear Studios] points out, it is a technically different implementation and therefore not covered by Disney’s patent. In an ideal world no one would worry about getting sued by Disney over an educational LEGO project posted on YouTube, but perhaps one can’t be too careful.

Continue reading “Gaze Upon This Omni-directional Treadmill’s Clever LEGO Construction”

Turns Out Humans Are Terrible At Intuiting Knot Strength

We are deeply intuitively familiar with our everyday physical world, so it was perhaps a bit of a surprise when researchers discovered a blind spot in our intuitive physical reasoning: it seems humans are oddly terrible at judging knot strength.

One example is the reef knot (top) vs. the grief knot (bottom). One is considerably stronger than the other.

What does this mean, exactly? According to researchers, people were consistently unable to tell when presented with different knots in simple applications and asked which knot was stronger or weaker. This failure isn’t because people couldn’t see the knots clearly, either. Each knot’s structure and topology was made abundantly clear (participants were able to match knots to their schematics accurately) so it’s not a failure to grasp the knot’s structure, it’s just judging a knot’s relative strength that seems to float around in some kind of blind spot.

Continue reading “Turns Out Humans Are Terrible At Intuiting Knot Strength”