Know Audio: Lossy Compression Algorithms And Distortion

In previous episodes of this long-running series looking at the world of high-quality audio, at every point we’ve stayed in the real world of physical audio hardware. From the human ear to the loudspeaker, from the DAC to measuring distortion, this is all stuff that can happen on your bench or in your Hi-Fi rack.

We’re now going for the first time to diverge from the practical world of hardware into the theoretical world of mathematics, as we consider a very contentious topic in the world of audio. We live in a world in which it is now normal for audio to have some form of digital compression applied to it, some of which has an effect on what is played back through our speakers and headphones. When a compression algorithm changes what we hear, it’s distortion in audio terms, but how much is it distorted and how do we even measure that? It’s time to dive in and play with some audio files. Continue reading “Know Audio: Lossy Compression Algorithms And Distortion”

There's an ATMega88 in that handsome case.

Give ATMega88 The Boot With This Retro Front Panel

It’s a truism that a computer must boot before it begins to operate. Nowadays that bootstrapping process is automatic, but in the case of the very first home computers, it was very much a hands-on affair. That’s what all those switches and blinkenlights are for on the front panel of the Altair 8800 — laboriously flicking each bit into memory as required to get your program going.

[Linus Åkesson] missed those very early days, and wanted to see what it was like, and clicking virtual switches on an emulator wasn’t going to cut it. He realized that he could set up an ATmega88 for front-panel booting, and proceeded to do just that.

The article linked above goes into good detail; for those of you who prefer video, we’ve embedded his presentation below.  They say the book is always better, but to get the full story, you’ll really want both in this case. The video contains a lot more context and build details, but neglects to mention some issues he had with programming that are detailed in the text. In short, the Write Page bit needs to be written to the Command register to use the page buffer. Which does make sense, but tripped [Linus] up at first.

Then again, this use case isn’t exactly detailed in the datasheet. ATmega88 is an old chip, but not Intel 8008 old, so that’s no surprise. Which is exactly what makes this a good hack! The only thing lacking is blinkenlights to allow one to see the contents of the registers. [Linus] discusses the idea of putting them in, but is apparently happy with this more minimalist approach.

We’ve seen the doughty Atmel chip hacked into everything from web-servers to washing machines, and even things that don’t start with “W”. As for the redoubtable [Linus], he’s most famous around these parts for his musical inventions and adventures with the Commodore 64Continue reading “Give ATMega88 The Boot With This Retro Front Panel”

Analog Surround Sound Was Everywhere, But You Probably Didn’t Notice

These days, most of the media we consume is digital. We still watch movies and TV shows, but they’re all packaged in digital files that cram in many millions of pixels and as many audio channels as we could possibly desire.

Back in the day, though, engineering limitations meant that media on film or tape were limited to analog stereo audio at best. And yet, the masterminds at Dolby were able to create a surround sound format that could operate within those very limitations, turning two channels in to four. What started out as a cinematic format would bring surround sound to the home—all the way back in 1982!

Continue reading “Analog Surround Sound Was Everywhere, But You Probably Didn’t Notice”

Mushrooms As Computer Memory

Fungi make up a massive, interconnected part of Earth’s ecosystems, yet they’re vastly underrepresented in research and public consciousness compared to plants and animals. That may change in the future though, as a group of researchers at The Ohio State University have found a way to use fungi as organic memristors — hinting at a possible future where fungal networks help power our computing devices.

A memristor is a passive electronic component whose resistance changes based on the voltage and current that has passed through it, which means it can effectively remember past electrical states even when power is removed. To create these circuit components with fungus, the researchers grew shiitake and button mushroom mycelium for these tests, dehydrated their samples for a number of days, and then attached electrodes to the samples. After misting them briefly to restore conductivity, the samples were exposed to various electrical wave forms at a range of voltages to determine how effective they were at performing the duties of a memristor. At one volt these systems were the most consistent, and they were even programmed to act like RAM where they achieved a frequency of almost 6 kHz and an accuracy of 90%.

In their paper, the research group notes a number of advantages to building fungal-based components like these, namely that they are much more environmentally friendly and don’t require the rare earth metals that typical circuit components do. They’re also easier to grow than other types of neural organoids, require less power, weigh less, and shiitake specifically is notable for its radiation resistance as well. Some work needs to be done to decrease the size required, and with time perhaps we’ll see more fungi-based electrical components like these.

Two colored plastic films are loosely tied over the entrances to two plastic containers.

Cooking Up Plastics In The Kitchen

The earliest useful plastics were made out of natural materials like cellulose and casein, but since the Bakelite revolution, their use has dwindled away and left them mostly as curiosities and children’s science experiments. Fortunately, though, the raw materials for bioplastics are readily available in most grocery stores, and as [Ben] from NightHawkInLight demonstrates, it’s still possible to find new uses for them.

His first recipe was for a clear gelatine thermoplastic, using honey as a plasticizer, which he formed into the clear packet around some instant noodles: simply throw the whole packet into hot water, and the plastic dissolves away. With some help from the home bioplastics investigator [Giestas], [Ben] next created a starch-based plastic out of starch, vinegar, and glycerine. Starch is a good infrared emitter in the atmospheric window, and researchers have made a starch-plastic aerogel that radiates enough heat to become cooler than its surroundings. Unfortunately, this requires freeze-drying, and while encouraging freezer burn in a normal freezer can have the same effect, it’ll take a few months to get a usable quantity of the material.

The other problem with starch-based plastics is their tendency to absorb water, at least when paired with plasticizers like glycerine or honey. Bioplastics based on alginate, however, are easy to make waterproof. A solution of sodium alginate, derived from seaweed, reacts with calcium ions to make a cross-linked waterproof film. Unfortunately, the film forms so quickly that it separates the solutions of calcium ions from the alginate, and the reaction stops. To get around this, [Ben] mixed a sodium alginate solution with powdered calcium carbonate, which is insoluble and therefore won’t react. To make the plastic set, he added glucono delta lactone, which slowly breaks down in water to release gluconic acid, which dissolves the calcium carbonate and lets the reaction proceed.

The soluble noodle package reminded us of a similar edible package, which included flavoring in the plastic. We’ve also seen alginate used to make conductive string, and rice used to make 3D printer filament. It’s worth some caution, though – not all biologically-derived plastics are healthier than synthetic materials.

Continue reading “Cooking Up Plastics In The Kitchen”

Remembering Better Mono Graphics

No matter what kind of computer or phone you are reading this on, it probably has a graphics system that would have been a powerful computer on its own back in the 1980s. When the IBM PC came out, you had two choices: the CGA card if you wanted color graphics, or the MDA if you wanted text. Today, you might think: no contest, we want color. But the MDA was cheaper and had significantly higher resolution, which was easier to read. But as free markets do, companies see gaps and they fill them. That’s how we got the Hercules card, which supported high-resolution monochrome text but also provided a graphics mode. [The 8-bit Guy] has a look at these old cards and how they were different from their peers.

Actually, the original MDA card could do eight colors, but no one knew because there weren’t any monitors it could work with, and it was a secret. The CGA resolution was a whopping 640×200, while the MDA was slightly better at 720×350. If you did the Hercules card, you got the same 720×350 MDA resolution, but also a 720×348 graphics mode. Besides that, you could keep your monitor (don’t forget that, in those days, monitors typically required a specific input and were costly).

Continue reading “Remembering Better Mono Graphics”

Making A Virtual Machine Look Like Real Hardware To Malware

Running suspicious software in a virtual machine seems like a basic precaution to figure out whether said software contains naughty code. Unfortunately it’s generally rather easy to detect whether or not one’s software runs inside a VM, with [bRootForce] going through a list of ways that a VirtualBox VM can be detected from inside the guest OS. While there are a range of obvious naming issues, such as the occurrence of the word ‘VirtualBox’ everywhere, there many more subtle ways too.

Demonstrated is the PoC ‘malware’ application called Al-Khaser, which can be used to verify one’s anti-malware systems, such as when trying to unleash a debugger on a piece of malware, run it inside a VM, along with many more uses. Among its anti-virtualization features are specific registry key names and values, file system artefacts, directory names, MAC addresses, virtual devices, etc.

In order to squeeze by those checks, [bRootForce] created the vbox_stealth shell script for Bash-blessed systems in order to use the VirtualBox Manager for the renaming of hardware identifier, along with the VBoxCloak project’s PowerShell script that’s used inside a Windows VirtualBox guest instance to rename registry keys, kill VirtualBox-specific processes, and delete VirtualBox-specific files.

Theoretically this should make it much harder for any malware to detect that it’s not running inside Windows on real hardware, but as always there are more subtle ways that are even harder to disguise.

Continue reading “Making A Virtual Machine Look Like Real Hardware To Malware”