The “Unbreakable” Beer Glasses Of East Germany

We like drinking out of glass. In many ways, it’s an ideal material for the job. It’s hard-wearing, and inert in most respects. It doesn’t interact with the beverages you put in it, and it’s easy to clean. The only problem is that it’s rather easy to break. Despite its major weakness, glass still reigns supreme over plastic and metal alternatives.

But what if you could make glassware that didn’t break? Surely, that would be a supreme product that would quickly take over the entire market. As it turns out, an East German glassworks developed just that. Only, the product didn’t survive, and we lumber on with easily-shattered glasses to this day. This is the story of Superfest.

Continue reading “The “Unbreakable” Beer Glasses Of East Germany”

Parametric Design Process Produces Unique Speakers

When building one-off projects, it’s common to draw up a plan on a sheet of paper or in CAD, or even wing it and hope for the best outcome without any formal plans. Each of these design philosophies has its ups and downs but both tend to be rigid, offering little flexibility as the project progresses. To solve this, designers often turn to parametric design where changes to any part of the design are automatically reflected throughout the rest, offering far greater flexibility while still maintaining an overall plan. [Cal Bryant] used this parametric method to devise a new set of speakers for an office, with excellent results.

The bulk of the speakers were designed with OpenSCAD, with the parametric design allowing for easy adjustments to accommodate different drivers and enclosure volumes. A number of the panels of the speakers are curved as well, which is more difficult with traditional speaker materials like MDF but much easier with this 3D printed design. There were a few hiccups along the way though; while the plastic used here is much denser than MDF, the amount of infill needed to be experimented with to achieve a good finish. The parametric design paid off here as well as the original didn’t fit exactly within the print bed, so without having to split up the print the speakers’ shape was slightly tweaked instead. In the end he has a finished set of speakers that look and sound like a high-end product.

There are a few other perks to a parametric design like this as well. [Cal] can take his design for smaller desk-based speakers and tweak a few dimensions and get a model designed to stand up on the floor instead. It’s a design process that adds a lot of options and although it takes a bit more up-front effort it can be worth it while prototyping or even for producing different products quickly. If you want to make something much larger than the print bed and slightly changing the design won’t cut it, [Cal] recently showed us how to easily print huge objects like arcade cabinets with fairly standard sized 3D printers.

USB Stick Hides Large Language Model

Large language models (LLMs) are all the rage in the generative AI world these days, with the truly large ones like GPT, LLaMA, and others using tens or even hundreds of billions of parameters to churn out their text-based responses. These typically require glacier-melting amounts of computing hardware, but the “large” in “large language models” doesn’t really need to be that big for there to be a functional, useful model. LLMs designed for limited hardware or consumer-grade PCs are available now as well, but [Binh] wanted something even smaller and more portable, so he put an LLM on a USB stick.

This USB stick isn’t just a jump drive with a bit of memory on it, though. Inside the custom 3D printed case is a Raspberry Pi Zero W running llama.cpp, a lightweight, high-performance version of LLaMA. Getting it on this Pi wasn’t straightforward at all, though, as the latest version of llama.cpp is meant for ARMv8 and this particular Pi was running the ARMv6 instruction set. That meant that [Binh] needed to change the source code to remove the optimizations for the more modern ARM machines, but with a week’s worth of effort spent on it he finally got the model on the older Raspberry Pi.

Getting the model to run was just one part of this project. The rest of the build was ensuring that the LLM could run on any computer without drivers and be relatively simple to use. By setting up the USB device as a composite device which presents a filesystem to the host computer, all a user has to do to interact with the LLM is to create an empty text file with a filename, and the LLM will automatically fill the file with generated text. While it’s not blindingly fast, [Binh] believes this is the first plug-and-play USB-based LLM, and we’d have to agree. It’s not the least powerful computer to ever run an LLM, though. That honor goes to this project which is able to cram one on an ESP32.

Continue reading “USB Stick Hides Large Language Model”