Bridging A Gap Between LLMs And Programming With TypeChat

By now, large language models (LLMs) like OpenAI’s ChatGPT are old news. While not perfect, they can assist with all kinds of tasks like creating efficient Excel spreadsheets, writing cover letters, asking for music references, and putting together functional computer programs in a variety of languages. One thing these LLMs don’t do yet though is integrate well with existing app interfaces. However, that’s where the TypeChat library comes in, bridging the gap between LLMs and programming.

TypeChat is an experimental MIT-licensed library from Microsoft which sits in between a user and a LLM and formats responses from the AI that are type-safe so that they can easily be plugged back in to the original interface. It does this by generating JSON responses based on user input, making it easier to take the user input directly, run it through the LLM, and then use the output directly in another piece of code. It can be used for things like prototyping prompts, validating responses, and handling errors. It’s also not limited to a single LLM and can be fairly easily modified to work with many of the existing models.

The software is still in its infancy but does hope to make it somewhat easier to work between user inputs within existing pieces of software and LLMs which have quickly become all the rage in the computer science world. We expect to see plenty more tools like this become available as more people take up using these new tools, which have plenty of applications beyond just writing code.

RFID Emulator + E-paper Badge Can Be Programmed With Sound

In a way, an e-paper display makes an excellent foundation for a reprogrammable RFID card. The display only needs power during a refresh, and 125 kHz RFID tags are passive in the sense that the power for the RFID transaction comes from the reader itself. [Georgi Gerganov] has put those together in the GGtag, an open-source project for a 3.52″ e-paper badge with a trick or two up its sleeve.

One clever function is that it is programmable with sound, a feature built off another project of [Georgi]’s called ggwave, a data-to-sound (and vice-versa) framework that has been ported to just about every hardware platform one cares to imagine — including mobile phones — and can reliably send data through the air.

Transmitting data over sound is limited in throughput but has a number of advantages, not least of which is the huge range of compatible devices. There’s a web-based tool for programming the GGtag with sound available at ggtag.io that will give you a preview and let you hear how it works. The data encoding method gives transmissions a charming beep-boop quality that’s a bit reminiscent of an analog modem handshake. GGtag can also be programmed over USB serial, a faster (but somewhat less exciting) option.

The project’s GitHub repository contains GGtag’s code and technical details, and the CrowdSupply project is in the works for anyone who would prefer to buy one once they become available.

2023 Cyberdeck Challenge: Crosberry Pi Loves Lo-Fi Hip Hop

As far as we can tell, the only real selling point that any portable record player offered was, well, its portability. To be clear, the sound is never that great. But perhaps a selling point for this crowd is that they usually come in hinged cases with handles, and you know what that means — cyberdeck that thing!

[Mx. Jack Nelson] started gutting this Crosley CR40 record player to make a Raspberry Pi housing, but it quickly turned into a cyberdeck project with the addition of a 10.1″ portable monitor, a Planck ortholinear keyboard, and a gutted trackball mouse.

We love that [Mx. Jack Nelson] made use of the Crosley’s original speakers — this was the wife’s idea! — as well as the volume and tone knobs. But our favorite part has to be the clear acrylic top that both protects the electronics and provides a platform for the keyboard and mouse buttons. Be sure to check out the demo video after the break.

Continue reading “2023 Cyberdeck Challenge: Crosberry Pi Loves Lo-Fi Hip Hop”

Root, On An Amazon Echo Dot

The Amazon Echo has become an indispensable device for many people unconcerned by its privacy implications. It’s easy to forget that it’s not quite a new product anymore, with the oldest examples now long in the tooth enough to no longer receive security updates. A surprise is that far from being mere clients to Amazon cloud services, they in fact run a version of Android. This makes old dots interesting to experimenters, but first is it possible to gain root access? [Daniel B] has managed it, on a second-generation Echo Dot.

In a sense, this is nothing new, as root has previously been achieved on an Echo Dot through means of a patched kernel. Echo devices use a chain of trust boot process in which each successive step must verify the Amazon signing of the previous one. The kernel patch method breaks the ability to reboot the device with root access. [Daniel’s] method bypasses that chain of trust by using a custom pre-loader injected over USB through an exploit.

As an example, [Daniel] created a web server on his Dot, which can serve audio captured by the device. Don’t panic just yet — an analysis of the other security features suggests that this is not the dangerous exploit it might seem. It does however open up these powerful but now pretty cheap devices as potentially usable for other purposes, which can only be a good thing.

We’ve previously brought you [Daniel]’s work freeing the WiFi details from a Dot.

The Moment A Bullet Turns Into A Flashlight, Caught On Film

[The Slo Mo Guys] caught something fascinating while filming some firearms at 82,000 frames per second: a visible emission of light immediately preceding a bullet impact. The moment it occurs is pictured above, but if you’d like to jump directly to the point in the video where this occurs, it all starts at [8:18].

The ability to capture ultra-slow motion allows us to see things that would otherwise happen far too quickly to perceive, and there are quite a few visual spectacles in the whole video. We’ll talk a bit about what is involved, and what could be happening.

Spotting something unusual on video replay is what exteme slo-mo filming is all about.

First of all, the clear blocks being shot are ballistic gel. These dense blocks are tough, elastic, and a common sight in firearms testing because they reliably and consistently measure things like bullet deformation, fragmentation, and impact. It’s possible to make homemade ballistic gel with sufficient quantities of gelatin and water, but the clear ones like you see here are oil-based, visually clear, and more stable (they do not shrink due to evaporation).

We’ve seen the diesel effect occur in ballistic gelatin, which is most likely the result of the bullet impact vaporizing small amounts of the (oil-based) gel when the channel forms, and that vaporized material ignites due to a sudden increase in pressure as it contracts.

In the video linked above (and embedded below), there is probably a bit more in the mix. The rifles being tested are large-bore rifles, firing big cartridges with a large amount of gunpowder igniting behind each bullet. The burning powder causes a rapid expansion of hot, pressurized gasses that push the bullet down the barrel at tremendous speed. As the bullet exits, so does a jet of hot gasses. Sometimes, the last bits of burning powder are visible as a brief muzzle flash that accompanies the bullet leaving the barrel.

A large projectile traveling at supersonic velocities results in a large channel and expansion when it hits ballistic gel, but when fired at close range there are hot gasses from the muzzle and any remaining burning gunpowder in the mix, as well. All of which help generate the kind of visual spectacles we see here.

We suspect that the single frame of a flashlight-like emission of light as the flat-nosed bullet strikes the face of the gel is also the result of the diesel effect, but it’s an absolutely remarkable visual and a fascinating thing to capture on film. You can watch the whole thing just below the page break.

Continue reading “The Moment A Bullet Turns Into A Flashlight, Caught On Film”

Who’s Afraid Of Assembly Language?

This week, [Al Williams] wrote a great thought piece about whether or not it was worth learning an assembly language at all anymore, and when. The comments overflowed, and we’re surprised that so many people basically agree with us: yes. Of course, it’s a Hackaday crowd, but I still didn’t expect the outpouring of love for the most primitive of languages.

Assembly language isn’t really one language, though. Every chip speaks its own dialect. Of course there are similarities: every CPU has an add function, right? But almost no CPU has just one add – there are variants with and without carry, storing and reading from working registers or RAM. And once you start talking about memory access, direct or indirect, the individual architectures of the chips demand different assembly languages.

But still, although the particular ways that CPUs do what they do can be incompatible from a strictly language perspective, they are a lot more similar in terms of the programming idioms that you’ll pick up along the way. Just as learning a set of solid algorithms will help you no matter which higher-level language you use, learning the concepts behind crafting loops and simple memory structures out of raw assembly language will serve you no matter which CPU you choose.

I have only written assembly language for a handful of CPUs, and not much of it at that, but I’ve found the microcontrollers to be the friendliest. So if you want to dip your toes in that water, pick up an AVR or an MSP430. Or maybe even the new hotness – a RISC-V. You’ll find the instruction sets small enough that you have to do most of the work yourself. And that is, after all, the point of learning an assembly language: learning to think like the silicon. If you treat it like a fun puzzle to solve, you’ll probably even enjoy the experience.

[Al]’s original question was when you should learn an assembly language: before or after a higher-level language. For 99% of our readers, I’d say the answer is right now.

That Ultra-White Paint That Helps Cool Surfaces? Make Your Own!

It started with [KB9ENS] looking into paints or coatings for passive or radiative cooling, and in the process he decided to DIY his own. Not only is it perfectly accessible to a home experimenter, his initial results look like they have some promise, as well.

[KB9ENS] read about a type of ultra-white paint formulation that not only reflects heat, but is able to radiate it into space, cooling the painted surface to below ambient temperature. This is intriguing because while commercial paints can insulate and reflect heat, they cannot make a surface cooler than its surroundings.

Anecdotally speaking, this painted battery section of a solar recharger gets too hot to touch in full sunlight. But when painted over, it was merely warm.

What really got [KB9ENS] thinking was that at its core, the passively-cooling paint in the research is essentially a whole lot of different particle sizes of barium sulfate (BaSO₄) mixed into an acrylic binder. These two ingredients are remarkably accessible. A half-pound of BaSO₄ from a pottery supply shop was only a few dollars, and a plain acrylic base is easily obtained from almost any paint or art supplier.

[KB9ENS] decided to mix up a crude batch of BaSO₄ paint, apply it to some things, and see how well it compared to other paints and coatings. He wetted the BaSO₄ with some isopropyl alcohol to help it mix into the base, and made a few different concentrations. A 60% concentration by volume seemed to give the best overall results.

There’s no indication of whether any lower-than-ambient cooling is happening, but according to a non-contact thermometer even this homemade mixture does a better job of keeping sunlight from heating things up compared to similarly-applied commercial paints (although it fared only slightly better than titanium dioxide-based white paint in the initial test.)

[KB9ENS] also painted the battery section of a solar recharger with his homemade paint and noted that while under normal circumstances — that is to say, in full sunlight — that section becomes too hot to touch, with the paint coating it was merely warm.

Actual passive cooling can do more than just keep something less warm than it would be otherwise. We’ve seen it recently used to passively and continuously generate power thanks to its ability to create a constant temperature differential, day and night.