You’ve probably heard about this project before. Incredible piece of art/scienece/math – wonderful. I wish I was this clever.
Anyway, I liked the description that some LLM ( I don’t want to advertise a particular one ) gave. I particularly like the last sentence – and if I knew what to look for I would now know… unfortunately searching for “hans hafner died of complications” will result in that sentence, but of course the sentence continues with gibberish and also of course there are almost infinite numbers of ways (most of them gibberish) that continue this sentence, so again, we wouldn’t know where to look… kchkchkch – the scope is funny – anyway – here’s the text from the LLM:
It is a brilliant digital realization created by author and programmer Jonathan Basile, based entirely on the famous 1941 short story by Argentine author Jorge Luis Borges.
The website operates on a fascinating premise: it contains every possible combination of the 26 lowercase letters of the English alphabet, plus the space, comma, and period.
Here is exactly how it works:
The Scale: The site simulates a universal library containing roughly $10^{4677}$ books. Because storing that much data physically or digitally would require more space than exists in the observable universe, the site uses a clever pseudo-random number generating algorithm.
The Search Feature: Instead of browsing endlessly through walls of absolute gibberish, you can use the “Search” tab to type in any sentence, phrase, or paragraph (up to 3,200 characters).
The Result: The algorithm instantly inverts the text into a set of fixed coordinates. It will point you to the exact hexagon, wall, shelf, and book where that precise string of text “resides.” Because the math is fixed, that sentence will exist at those exact coordinates forever.
It is a trippy experience because it means everything you have ever said, every secret you have ever kept, and the exact description of how you will die is already written down somewhere on a page in that library.
Fix: Broadcom Wi-Fi “Module wl Not Found” on Debian After Kernel Update
I’m running Debian on a MacBook Wi-Fi stopped working after a system update. Found out, that this happens because a new kernel was installed, but the Broadcom driver failed to “rebuild” itself for that new version.
When running sudo modprobe wl results in: modprobe: FATAL: Module wl not found in directory /lib/modules/...
Yes, an LLM fixed it and it’s working again. Sue me, but getting my Linux running again and perhaps sharing the working solution here will help others.
The Solution: Sync Your Headers
The DKMS (Dynamic Kernel Module Support) system needs the specific “headers” for your new kernel to compile the driver. Without them, the driver won’t build.
Trigger the rebuild:Once the headers are installed, tell DKMS to look for missing modules and build them:Bashsudo dkms autoinstall
Load the driver:Now you can manually load the module without the error:Bashsudo modprobe wl
Pro Tip: To prevent this in the future, ensure you have the linux-headers-amd64 (or your specific architecture) meta-package installed. This ensures that every time your kernel updates, the matching headers are pulled in automatically.
The reason it matters is that linux-headers-$(uname -r) only installs headers for your current kernel. When the next update rolls around, you’ll be right back in the same spot. Installing the meta-package ensures the headers stay updated alongside the kernel.
Here is how you set that up so you never have to manual-fix this again:
The “Permanent” Fix
Run this command to install the meta-package:
sudo apt install linux-headers-amd64
Why this works:
The Meta-Package:linux-headers-amd64 isn’t a set of files itself; it’s a “pointer.”
Automatic Sync: Every time Debian updates your kernel (e.g., from version $6.1$ to $6.2$), this package automatically pulls the matching headers for that new version.
DKMS Trigger: Because the headers are present during the update, DKMS will automatically rebuild your Broadcom wl module in the background before you even reboot.
By adding this, your Wi-Fi should “just work” after every future update.
It happens every now and then that I need to know which Logic projects contain a certain audio file.
If you’re not afraid of the terminal, the following command will do that for you:
find . -type f -name "ProjectData" -exec grep -a "Your Audio Filename" {} +
The dot in this command is the starting directory for this search – when you first open the terminal it will open to the home folder of the user that you’re loggen in as.
If you want to be specific: only type “find” and a space and then drag and drop a folder from Finder into the terminal window, that will add the complete path to that folder as the search starting directory, then type (or copy/paste) the rest of the command and hit enter.
What’s happening under the hood?
Most of the files Logic uses are binary files that look like gibberish to humans. A standard search usually skips these because it can’t “read” the text inside. By using the -a flag with grep, we force the computer to treat that binary blob as plain text. This allows the command to scan through the code and pick out the human-readable filepaths and filenames hidden inside your project data without you ever having to open Logic.
So today I was pointed to ProducerAI and thought, ok, let’s do my regular test to see how this machine will create solo instrument lines. I will share the whole back and forth prompting session below but I just want to collect some general observations first.
The overall sound of the cello that was produced in this session is frankly quite outstanding. I mean there are aspects that I don’t like (the reverb for example I would dial down a bit) – there are rarely any pauses in the playing, which gets super tiresome… I wonder what would have happened with woodwind or brass instruments… infinite breath and such. Reminds me of my composition arranging teachers who always said that writing for strings has the big downside that they don’t have to breathe, so people tend to write these ongoing things that never stop and get boring quickly.
The other general observation is that the system very very soon started to just do its own thing and go down a rabbit hole that was getting further and further away from what I actually intended and wanted. I’ve noticed this in all kinds of creation (not just here with producerAI): the first try of these systems is usually kind of good but if you then try to modify that first result it gets horrible quickly. And from a user perspective this will get quite frustrating as you want to just shake that machine to make it wake up again and realize that it’s not “listening” to your instructions anymore. I guess starting over again and again is the way to go…
This producerAI system first “translated” my prompt into another prompt and I have to admit that I learned from these second prompts because those usually did have very precise descriptive terms and words that sometimes elude me as a non-native speaker. These generated prompts also sounded like it was understanding exactly what I wanted, but the result… well, judge for yourself. For me there might be the occasional fragment I could cut out of these to use in a sketch – but it probably will have to be recorded to make sense in a real piece the way I imagine it. Overall, at this point this system is almost useless as a tool for me to write.
We’ll see, this technology is in its infancy and perhaps they will get it better, but my hunch is, because all of these systems are designed to not offend the user, no art that is challenging will come out if this. Only bland regurgitation of mainstream pleasantness. Yuck.
Anyway, so here is the exchange:
Resulting audio:
Prompt 1: create a dramatic cello melody that has a fast part (like 3 or 4 notes) going into a held note – create 6 of those motives
Prompt 1 (producerAI version): dramatic solo cello melody, dark and intense, fast four-note staccato run leading into a long sustained vibrato note, cinematic and emotive, 110 bpm
Prompt 2: I was thinking more like dagadagadagadaaaaaaahhhhhdgadigidagadigiduuuhhhhhhh
Prompt 2 (producerAI veresion): solo cello, aggressive fast sextuplet runs followed by a heavy long held vibrato note, dramatic and rhythmic, dagadagadagadaaaaaaah, 120 bpm
Prompt 3: now create it in Ab minor
Prompt 3 (producerAI version): solo cello in Ab minor, fast rhythmic staccato bursts followed by a long intense held note, dagadagadagadaaaaaaah, 120 bpm, dark classical style
Prompt 4: No. you are moving away from dagadagadagadaaaaaaaahhhh – next phrase digidigidigduuuuuuhhhh…. next phrase etdc…
Prompt 4 (producerAI version): solo cello, sequence of dramatic phrases, fast staccato runs of 4-5 notes followed by a long held vibrato note, dagadagadagadaaaaaaaahhhh then digidigidigduuuuuuhhhh, dark Ab minor, aggressive classical, 120 bpm
Prompt 5: it’s all sounding very nice – but it is much too baroque and not really what I want. I imagined at 150bpm these very short 4 , 6 or note 16th runs that consist only of three notes into a note that is held for almost 2 measures.
Prompt 5 (producerAI version): aggressive solo cello, Ab minor, rapid 16th note bursts of three distinct notes followed by a massive two-measure held vibrato note, cinematic and high tension, 150 bpm
Prompt 6: that was all based on 8th notes in relation to 150 bpm – I was talking 16th notes and then a long held not (very little vibrato if at all!!!)
Prompt 6 (producerAI version): dramatic solo cello, 150 bpm, sharp 16th note runs, three note cells, leading into a two measure held note, zero vibrato, cold and mechanical, Ab minor, cinematic intensity
Prompt 7: Nothing I’m asking for is in here. I’m getting music that Bach would have written 300 hundred years ago. I’m not interested in that.
Prompt 7 (producerAI version): modern solo cello, Ab minor, industrial precision, fast 16th-note cells, 3 unique notes, slamming into a 2-measure dead-tone sustain, no vibrato, flat and intense, cinematic horror aesthetic, 150 bpm
Love this article. Can’t wait for the bubble to burst. Also: I need to be able to buy SSDs and memory again, so I’m hoping for a flood of used products on the market…
This is very useful if you don’t have a microphone available but need to quickly record a sketch into Logic for example. This is how to set up your iPhone as a microphone using your Mac’s built-in utilities, no third-party software needed:
Connect via cable: Use a charging cable (Lightning or USB-C) to physically connect your iPhone to your Mac.
Select “trust this computer” on the iPhone: Tap Trust on your iPhone when prompted, and enter your passcode.
Open Audio MIDI Setup: Locate and launch the application in the Utilities folder (/Applications/Utilities).
Open the “Audio Devices” window: If the window is not visible, navigate to Window > Audio Devices (or press Command + 1).
Click “enable” below the iPhone name in the sidebar.
Only in the folder you choose (not its subfolders)
Not require your password
Not touch system files
In order to run the following commands, the Terminal will have to have access to your storage devices. Read this blog post to learn how to enable Full Disk Access for Terminal.
Step-by-Step Instructions:
Open Terminal Press Command + Space, type Terminal, then press Return.
Type find, then a space. Don’t press Return yet.
Drag the folder into the Terminal window. This automatically inserts the correct file path — even if the path contains spaces or it’s on an external drive. For example, it might look like this: find /Volumes/My\ External\ Drive/Some\ Folder (You’ll see backslashes \ before spaces — that’s normal.)
Complete the command by adding this to the end: -maxdepth 1 -name .DS_Store -delete So the full command might look like: find /Volumes/My\ External\ Drive/Some\ Folder -maxdepth 1 -name .DS_Store -delete
Press Return. That’s it! If there’s a .DS_Store file in that folder, it will be deleted instantly. You won’t get a confirmation message — Terminal just does it.
Quick note about paths:
In the Terminal, spaces are used to separate parts of a command — like the command itself from the options and file or folder names. So if a folder is called My Folder, typing it without any special formatting (like My Folder) will confuse the Terminal into thinking you’re referring to two separate things (“My” and “Folder”). To fix this, you can escape the space with a backslash (\), like this: My\ Folder. This tells the Terminal, “treat the space as part of the name.” Another option is to wrap the entire path in quotes, like "My Folder", which also works. But important: don’t combine the two — a backslash inside quotes (like "My\ Folder") will not work and will actually break the command. Use either backslashes or quotes, but not both.
Examples:
Deleteing “.DS_Store” from the Desktop folder: find ~/Desktop -maxdepth 1 -name .DS_Store -delete
Deleteing “.DS_Store” from the Documents folder: find ~/Documents -maxdepth 1 -name .DS_Store -delete
This article explains how to enable Full Disk Access for the Terminal application on macOS (So You Can Safely Work with All Files Even Hidden or Protected Ones)
Why would you do this?
macOS protects certain files and folders (like Mail, Safari, external drives, and some hidden system folders) by default. If you run a command in Terminal and it doesnt seem to work or skips some files it might be because Terminal doesn’t have Full Disk Access. Giving Terminal Full Disk Access lets it do what you tell it to
Step-by-Step: How to Enable Full Disk Access for Terminal
Open System Settings Click the Apple menu in the top-left corner. Choose System Settings (or System Preferences on older macOS versions).
Go to Privacy & Security In the left-hand sidebar, scroll down and click Privacy & Security. On the right side, scroll down until you see Full Disk Access and click it.
Add Terminal to the list Click the + (plus) button at the bottom of the list. A file picker will appear. Press Command + Shift + G (or navigate manually). In the “Go to the folder” box, type: /System/Applications/Utilities/ Press Return, then select Terminal.app, and click Open. You’ll now see Terminal in the list, with the toggle turned on (or you’ll need to turn it on yourself).
Restart Terminal (just to be safe) Activate the Terminal app, the quit the Terminal app completely (press Command + Q while its focused). Then reopen it as normal.
Important Notes:
You only need to do this once. This does not give Terminal uncontrolled access to your Mac it just lets you, the user, tell Terminal to access protected folders if needed. Of course, still be very careful with commands when Full Disk Access is enabled Terminal can now read/write more files than before, especially commands you copy from pages on the internet!
Special security note example:
Copy-pasting curl commands from the internet can be extremely risky because they can download and run unknown code on your system sometimes with full permissions. For example, a popular and benign command to install Pi-hole looks like this:
curl -sSL https://install.pi-hole.net | bash
While this works and is safe if you trust the source (in this case the developers of pihole), you’re essentially letting a remote server run code on your computer without seeing what it is first. A malicious site could do the same but install malware, steal data, or damage your system.
Note: The | symbol (this is not the uppercase letter I as in Ian or the lower case “l” as in letter) is called a pipe, it takes the output of one command (in this case, the download from curl which is a script that handles the full installation of the pi-hole service!) and feeds it directly into another command (bash), which runs it. This is powerful but highly dangerous if misused.
Working with the new beta of the upcoming Zebra3 from u-he and doing a little sound design for it this sound happened and I liked it so much that this one patch can make a whole track…