Live Coding Techno With Strudel

The super talented [Switch Angel] is an electronic music artist, with a few cool YouTube videos to show off their absolute nailing of how to live code with Strudel. For us mere mortals, Strudel is a JavaScript port of TidalCycles, which is an algorithmic music generator which supports live coding, i.e. the music that is passed down to the synthesizer changes on-the-fly as you manipulate the code. It’s magical to watch (and listen!) to how you can adapt and distort the music to your whims just by tweaking a few lines of code: no compilation steps, hardly any debugging and instant results.

The traditional view of music generators like this is to create lists of note/instrument pairs with appropriate modifiers. Each sound is specified in sequence — adding a sound extends the sequence a little. Strudel / Tidalcycles works a little differently and is based on the idea of repeating patterns over a fixed time. Adding an extra sound or breaking down one sound slot into multiple sounds squeezes all the remaining slots down, causing the whole pattern to repeat in the same period, with the sounds individually taking up less space. This simple change makes it really easy to add layer upon layer of interest within a sequence with a few extra characters, without recalculating everything else to fit. On top of this base, multiple effects can be layered—more than we can mention here—and all can be adjusted with pop-in sliders directly in the code.

Continue reading “Live Coding Techno With Strudel”

A Tale Of Two Car Design Philosophies

As a classic car enthusiast, my passion revolves around cars with a Made in West Germany stamp somewhere on them, partially because that phrase generally implied a reputation for mechanical honesty and engineering sanity. Air-cooled Volkswagens are my favorites, and in fact I wrote about these, and my own ’72 Super Beetle, almost a decade ago. The platform is incredibly versatile and hackable, not to mention inexpensive and repairable thanks to its design as a practical, affordable car originally meant for German families in the post-war era and which eventually spread worldwide. My other soft-spot is a car that might seem almost diametrically opposed to early VWs in its design philosophy: the Mercedes 300D. While it was a luxury vehicle, expensive and overbuilt in comparison to classic Volkswagens, the engineers’ design choices ultimately earned it a reputation as one of the most reliable cars ever made.

As much as I appreciate these classics, though, there’s almost nothing that could compel me to purchase a modern vehicle from either of these brands. The core reason is that both have essentially abandoned the design philosophies that made them famous in the first place. And while it’s no longer possible to buy anything stamped Made in West Germany for obvious reasons, even a modern car with a VIN starting with a W doesn’t carry that same weight anymore. It more likely marks a vehicle destined for a lease term rather than one meant to be repaired and driven for decades, like my Beetle or my 300D.

Continue reading “A Tale Of Two Car Design Philosophies”

EmuDevz Is Literally A Software Game

The idea of gamifying all the things might have died down now that the current hype is shoving AI into all the things — but you’ve probably never seen it quite like EmuDevz, a game in which you develop an 8-bit emulator by [Rodrigo Alfonso].

There’s a lot of learning you’ll have to do along the way, about programming and how retro systems work, including diving into 6502 assembly code. Why 6502? Well, the emulator you’re working on (it’s partially-written at the start of the game; you need only debug and finish the job) is for a fantasy system called the NEEES “an antique game console released in 1983”. It’s the NEEES and not NES for two reasons. One, Nintendo has lawyers and they really, really know how to use them. Two, by creating a fantasy console that is not-quite-a-Famicom, the goalposts for EmuDevz can be moved a bit closer in.

Continue reading “EmuDevz Is Literally A Software Game”

RFIDisk

RFIDisk: When Floppy Drives Go Contactless

Not too long ago, part of using a computer was often finding the correct disk for the application you wanted to run and inserting it into your machine before you could start. With modern storage, this is largely a thing of the past. However, longing for some of that nostalgia, [ItsDanik] has been developing the RFIDisk, a 3D printed floppy drive that can kick off applications when their disk is inserted.

The desktop enclosure is printed to look like a standalone floppy drive, allowing use with either desktops or laptops. There’s the familiar 3.5 inch slot ready for your floppy disk, and there’s also a 1.3 in. OLED display on the front giving you feedback on the status of the RFIDisk — including telling you what’s currently inserted. Inside the enclosure is an Arduino Uno and an MFRC522 RFID reader. As the name would suggest, the way the RFIDisk enclosure reads its media is via NFC, not the traditional magnetic reader. Due to being RFID-based, the disks printed for the RFIDisk are solid without moving parts, but enclose a 25 mm NTAG213 NFC tag.

On the software side, [ItsDanik] has developed the RFIDisk Manager Python application, which is used to tie specific NFC tag IDs to commands to run when that tag is read. The application includes some nice features, such as being able to adjust the commands for both when the disk is first read and when it’s removed from the RFIDisk. You can also change what shows up on the OLED screen when the cartridge is inserted.

Using NFC to simulate physical media is a clever trick we’ve seen before, but if you’re looking for something with a bit more physical engagement, you could always put your USB devices into 3D printed cartridges.

How Bad Can A Cheap Knockoff ADS1115 ADC Be?

Although the saying of caveat emptor rings loudly in the mind of any purveyor of electronic components, the lure of Very Cheap Stuff is almost impossible to resist. Sure, that $0.60 Ti ADS1115 ADC on LCSC feels like it almost has to be a knock-off since the same part on Digikey is $4 a pop, and that’s when you buy a pack of 1,000. Yet what if it’s a really good knockoff that provides similar performance for a fraction of the price, such as with those cheap ADC boards you can get from Amazon? Cue [James Bowman] letting curiosity getting the better of him and ordering a stash of four boards presumably equipped with at least some kind of cheapo knockoff part, mostly on account of getting all boards for a mere $2.97.

The goal was of course to subject these four purported ADS1115s to some testing and comparison with the listed performance in the Ti datasheet. Telling was that each of the ADCs on the boards showed different characteristics, noticeably with the Data Rate. This is supposed to be ±10% of the nominal, so 7.2 – 8.8 times per second in 8 samples per second mode, but three boards lagged at 6.5 – 7 SPS and the fourth did an astounding 300 SPS, which would give you pretty noisy results.

Using a calibrated 2.5 voltage source the accuracy of the measurements were also validated, which showed them to be too low by 12 mV. The good news was that a linear correction on the MCU can correct for this, but it shows that despite these parts being ADS1115 compatible and having features like the PGA working, you’re definitely getting dinged on performance and accuracy.

[James] said that he’s going to run the same tests on an ADS1115 board obtained from Adafruit, which likely will have the genuine part.  We would also love to see someone test the $0.60 version from LCSC to see whether they can match the datasheet. Either way, if you are eyeing this ADC for your own projects, it pays to consider whether the compromises and potential broken-ness of the knockoffs are worth it over coughing up a bit more cash. As they say, caveat emptor.

Could This Be The Year Of Algol?

Ok, you caught us. It certainly isn’t going to be the year of Algol. When you think of “old” programming languages, you usually think of FORTRAN and COBOL. You should also think of LISP. But only a few people will come up with Algol. While not a household name, it was highly influential, and now, GCC is on the verge of supporting it just like it supports other languages besides C and C++ these days.

Why bring an old language up to the forefront? We don’t know, but we still find it interesting. We doubt there’s a bunch of Algol code waiting to be ported, but you never know.

Continue reading “Could This Be The Year Of Algol?”

Attack Turns Mouse Into Microphone

As computer hardware gets better and better, most of the benefits are readily apparent to users. Faster processors, less power consumption, and lower cost are the general themes here. But sometimes increased performance comes with some unusual downsides. A research group at the University of California, Irvine found that high-performance mice have such good resolution that they can be used to spy on a user’s speech or other sounds around them.

The mice involved in this theoretical attack need to be in the neighborhood of 20,000 dpi, as well as having a relatively high sampling rate. With this combination it’s possible to sense detail fine enough to resolve speech from the vibrations of the mouse pad. Not only that, but the researchers noted that this also enables motion tracking of people in the immediate vicinity as the vibrations caused by walking can also be decoded. The attack does require a piece of malware to be installed somewhere on the computer, but the group also theorize that this could easily be done since most security suites don’t think of mouse input data as particularly valuable or vulnerable.

Even with the data from the mouse, an attacker needs a sophisticated software suite to be able to decode and filter the data to extract sounds, and the research team could only extract around 60% of the audio under the best conditions. The full paper is available here as well. That being said, mice will only get better from here so this is certainly something to keep an eye on. Mice aren’t the only peripherials that have roundabout attacks like this, either.

Thanks to [Stephen] for the tip!

Continue reading “Attack Turns Mouse Into Microphone”