- Running one's website + a few services + monitoring was easier than I thought.
- Writing custom synthesizers and audio code in general was the most fun I've had this year :)
- Moving to privacy respecting frontends for popular websites was a good idea:
- Less time spent mindlessly scrolling, more time spent learning
- Everything loads faster and is more responsive
- No trackers or other malicious scripts running in your browser
- Moving from popular websites to smaller communities run by real people was an even better idea!
- Learned a lot by making the knowledge visualisation system. It is not yet clear to me whether this idea is worth pursuing. Will continue the project through 2023.
- Gathered a lot of knowledge about generative music (waiting room, dsp). It's time to start working on a custom sequencer.
- Gotten comfortable with my Korg Minilogue. It's a beautiful machine.
- The Rust language has clicked for me. I'm definitely no expert yet, but I can get things done.
- Still not understanding digital filters well enough :)
Master's thesis is coming!
Love, Death & Robots
Terry Pratchett - Men at Arms
Deconstructing Brian Eno: Music For Airports.
todo: add the patterns from the back of Music For Airports cd, write ending thoughts for 2022.
Jacob Collier - In My Room
The sound quality of this album has brought me down to my knees. It was amazing to notice more details hidden in the songs.
Another great case for open hardware
Panic! At the Disco - Vices & Virtues
MARINA - The Family Jewels
Moby - LA1
Robert Nystrom - Crafting Interpreters
Adam Hochschild - Orwell on Truth
Half Moon Run - Full Circle
Guillermo del Toro - Pinocchio
Another evening spent thinking about a custom domain-specific language for a generative music sequencer.
Learning about fuzzy testing: american fuzzy lop and cargo-fuzz. Using it to test my DSP code for possible unhandled edge cases.
Labyrinth Ear - Navy Light
Sting - Fields Of Gold
Angelo Badalamenti - Twin Peaks Soundtrack
async in Rust. The ideas from Python map really well to Rust and its great to see how performant it is. The synchronisation primitives and queues are even easier to use than in Python!
Also, if you're reading this, get more sleep.
Color Out of Space
Adoring Fan - STAR (this slaps so good I can't believe it)
Louis Cole - Quality Over Opinion
Working on the synchronisation server for Libretakt, slammed with work required to get to the end of the semester.
Terry Pratchett - Guards! Guards!
Ben Bohmer - Live At The Roundhouse, London
Brian Eno - 2/2
The beauty of Eno's 2/2 always catches me off guard, Especially when listening on the speakers.
Scorn + H.R. Ginger + Wayne Barlowe
Son Lux - Enough Of Our Machines
The Grand Budapest Hotel
Jacob Collier - Fix You, Piano Ballads
Spectres III: Ghosts in the Machine
Oliver Koletzki - Lovestoned
I highly recommend the book above for anyone who's interested in generative music. Opens numerous new paths, both in thinking and to other similar literature. Todo: add them to the waiting room.
Working on the sounds & melodies webpage section.
mverb to Rust! I'm still fixing some bugs, but it's usable overall. The code is currently embedded inside Libretakt, but I'm planning to release it as a standalone crate when I'm done with this semester.
Watched a talk on neural audio effects. The project is insanely cool and the author's github is a goldmine of interesting audio programming resources.
Douglas Adams - The Restaurant at the End of the Universe
Douglas Adams - Life, the Universe and Everything
Vulf - Ace of Aces
Son Lux - This is a Life
the small town kids - Pomocy!
Finally learning about digital filters, as I don't want to rely only on off-the-shelf filter implementations while working on Libretakt.
Youngmoo Kim's DSP videos are a great learning resource if you're starting from scratch and want to learn some theory.
TIL: Urs Heckmann, creator of the Diva Synth (Ben Bohmer's main VST of choice) runs a blog!
Deployed watchtower on my server to automatically update the public services I'm hosting.
Dawid Podsiadło - Szarość i Róż
Ghost in the Shell OST - Floating Museum
Since the start of this semester, I'm feeling like my country's education system is constantly overwhelming the students with the amount of things to learn and projects to finish. Similar thoughts have been circulating in my head long before, but I feel like I need to vent them out.
Due to the information/work overload, students no longer actually learn anything on a deeper level, they just skim over the bare minimum required to finish a project. There's just no other way to keep up with all work.
Somewhere in the process of improving the education system, we fell victim to the Goodheart's Law. Blindly increasing the amount of information learned by students just for the sake of ECTS or some other university-related metric does not actually increase the amount of knowledge that the students are gaining.
Todo: trim the right side of this poster.
Cory Wong & Dirty Loops - Follow The Light
Dawid Podsiadło - Project 19
Oliver Koletzki - I am OK
Found out about Hania Rani today. Glad to see more talented Polish artists doing experimental music :)
Hania Rani - Eden
Thievery Corporation - Love Has No Heart
Found out about dragon while searching for possible improvements to my terminal workflow.
TODO: a summary of my favourite terminal utilities, especially the less popular ones.
Olga Tokarczuk - Empuzjon
Slimming down the docker image I'm using to generate the related posts map.
Again, thinking about rewriting the whole thing completely from scratch, just to learn some low level NLP, as the image is still way over 1GB.
Finished watching this brilliant talk by timur.audio. A true eye opener, as I was mostly ignorant of C++ standard's inner workings regarding real-time guarantees.
Rewriting Libretakt's cross-thread data synchronisation mechanism to mpsc (or some other lock-free communication primitive, only time will tell).
Update: settled down on Flume for lock-free communication.
The Chemical Brothers - No Geography
The Killers - When You Were Young
Panic! At the Disco - New Perspective
I should write a post on cosmic horror movies/books/etc
I often find myself mistaking the command which launches Orca screen reader
with the one launching the Orca sequencer (commands are
orca-c on my system, so it's easy to get them wrong).
This gave me an opportunity to dig a little bit into the screen readers world.
I was really impressed that every single UI element of Firefox is compatible with
orca. This adds a completely new layer to UI programming,
I really feel ignorant for not realising this before.
I've heard that the only way to actually make your websites accessible for people with vision disabilities is to use them
the same way they do, so I gave my website a try while blinded, using some basic keyboard shortcuts i found via
I was able to get around the page without any issues, so I guess that's another reason to stay minimal with your site. Also, using proper semantic tags (nav, section, etc) is always a good idea!
TODO: On the other hand, thinking about my interest in data visualisation
Updated the related pages generation system for Python 3.10 compatibility. The amount of dependencies required to run the generation script is staggering. 292 Fedora dependencies and 111 Python libraries!
Idea: try writing a basic word vectorizer and a PCA algorithm, see how it performs as a minimal setup.
Going down the real-time video/audio streaming rabbit hole again, this time for a university project - real-time sound synthesis and streaming to an arbitrary number of connected devices, all collaborating together to create a track. Synthesizer as a service?
Punch Brothers - Familiarity
Brian Eno - Apollo
Clearing code and fixing the AUR package of my old project, Telegram Notification Bot. Reading on de-bloating and improving build times of Rust programs.
Ben Bohmer - Lost in Mind
Experimenting with wavetable synthesis. I've managed to hack it into nosna and sampled my Minilogue, just to have some "homemade" wavetables. It's way more entertaining than coding an FM synthesiser, as you can get a lot of interesting timbres without having to play around with operator ratios & envelopes. This "happy accidents" workflow is more enjoyable and rewarding. On the other hand, it mostly boils down to the samples you're using to build the wavetables.
Rosa Walton - I Really Want to Say at Your House
If someone had told me a year ago that there would be an anime made by Studio Trigger, in collaboration with a Polish game development company, featuring some of the most known Polish artists in its soundtrack, I wouldn't be able to stop myself from laughing at such an idea. And yet, here we are.
The feeling's magical. Thank you, CD Project Red!
Ben Bohmer - In Memoriam
Listened to a part of Lex Fridman Podcast about Rule 30. I was familiar with cellular automatas, but only with ones that operate on 2D arrays. Using a single dimension for the automata and visualising changes over time was something new to me.
After taking a quick dive into Wikipedia, I found Rule 184.
I liked the generated shapes, so I've experimented a bit with
That's one step closer to becoming a generative artist, I guess :)
Paprika (2nd rewatch)
Brian Eno - There Were Bells
Dredd was surprisingly fun to watch, if you enjoy cliche sci-fi movies or action movies in general, you're going to have a good time.
Compiled a sample Rust application to Android using Macroquad. It all worked out of the box, without any problems. Makes me excited, as I'll probably be able to work on my portable groovebox, all in Rust. I just need to hack together some way to get custom audio sources into Macroquad or use some other library to do the low-level heavy-lifting for me.
Exploring ideas related with physical modeling.
Coldplay - Christmas Lights
Wes Anderson - Fantascic Mr Fox
Ari Aster - Hereditary
David Lynch - Mulholland Drive
Ben Bohmer - Begin Again
Started hosting an Invidious instance at invidious.baczek.me. It provides a way better experience than YouTube, especially when listening to podcasts. I am not interrupted every ~30 minutes with ads that I have to manually skip for them to stop playing.
Wrote a proof of concept custom oscillator for my Minilogue.
Baasch - Brokat
My time gets eaten away by work as we're finishing a big project. Hopefully I'll rest in the upcoming month and prepare some materials to submit the idea for my master's thesis to the uni.
Agnes Obel - Riverside
Went to Agnes Obel's concert in my hometown. I'm really starting to enjoy live music :)
Experimenting on visualisations, pairing UMAP with GraphViz. This is an in-between state of post visualisation, I've rewritten the similiarity calculation code but left the GraphViz visualisation part.
The resulting graph is still very far from anything I'd call decent. I'm positive that the steps, while small, are leading in the right direction.
Here's another not-so-bad-looking graph generated during development:
Late night update: Took a while to read more of Graphviz documentation. Turns out that they have a special layout engine called neato for drawing non-directed graphs. I tried it and I'm amazed, it works wonderfully!
Depeche Mode - But Not Tonight, Live
It's amazing how the voices of the audience synchronise together at the end when the music stops, it was almost a spiritual moment for me while listening.
Configured Prometheus and Grafana for VPS monitoring. Since it is facing the public site of the internet with my website and SearX instance (see yesterday's entry), I should be collecting performance & health metrics. I will probably host Invidious in the future as well.
Found out about the 512kb.club, I'm considering joining them when my website will look less like a portfolio and more like a exocortex/idea sharing space. First 512kb, then hopefully the XXIIVV webring :)
(At night) Redesigned the index page and updated the main website template. Happy to see that I'm getting along pretty well with CSS. Never saw much logic in it but I'm starting to understand it, at least for my simple needs.
Orchestral Manoeuvres in the Dark - Souvenir
Ben Bohmer - Beyond Beliefs
Strawberry Guy - F Song (slowed down to 80% in audacity)
Started hosting a SearXNG instance at searx.baczek.me. I encourage you to host one yourself if you're interested in decentralisation of the internet.
I've learned a bit more about website security hardening when setting up the instance. If you're planning to proxy search queries through a self-hosted meta-search engine instance (lots of web security lingo here), you better make sure that you won't be leaking any information regarding the queries that the users are making. Otherwise, you're no better than FAANG :)
From reading the issues at Searx-instance I've learned about 2 new tools for checking website security. Try them out if you're hosting anything yourself:
End of the day update: the instance has been accepted by SearX maintainers and is now visible at searx.space.
Taeko Onuki: 4:00A.M.
Beardyman & MC Hyperscott: Shelter me from the rain
Added stemming to the algorithm generating related posts, I'm seeing a lot of improvement!
Experimenting with UMAP for related posts exploration.
I'm testing it on XXIIVV again, but this time without cheating, preprocessing removes
<nav> blocks containing links to other pages, the algorithm works only with each page's content. Results are promising:
Al Steward - Year of the Cat
Cleaned up the site deployment code, moved the docker image to Fedora + Python3.9 (3.10 does not yet have wheels for
sklearn and there are some problems with numpy compatibility). I'm now ready to test UMAP for site map generation :)
Harmonia & Eno '76 - Welcome
Ben Bohmer - Fade to Blue
Exploring ideas related with sound fingerprinting and song similarity calculation. Computer Vision for Music Identification is the most interesting paper I've found so far. Even in such niche use cases, Arch Linux repos still deliver.
Implemented site auto-deployment with github webhooks.
Busy sailing with friends at Mazury, a region of Poland with lots of nice lakes. Sailing helps a lot when taking a break from technology as I don't get bored watching the waves, boat and landscapes around.
I finally have some time to dig through The Rust Book now :)
Implemented the first prototype of automated mind mapping, using word vectorisation and out-of-the-box graphing algorithms. I'm gonna need more content on the site for this feature to become useful.
It looks promising when run on blogs with lots of entries:
Note: honestly, I'm cheating in this example. Blog's author, Devine, is writing all the links to related pages manually. Because of this, text vectorisation has no problems with connecting the dots :) On the other hand, this experiment made me more confident that semi-automatic generation of related blog entries in a graph form is not a bad idea, as the resulting graphs look promising. You can see them here.
Dawid Podsiadło - Leśna Muzyka
Cory Wong - Wong's Cafe
100 Rabbits - Busy Doing Nothing
Imperium Chmur - Jacek Dukaj
Douglas Adams - The Hitchhiker's Guide to the Galaxy
Reading & thinking about graphs visualisation, both for the website and for my masters thesis. There seems to be plenty of papers exploring the matter, but not a lot of software which will let me experiment straight away (
networkx is all I found so far).
I like the idea of using physical modeling of objects such as springs to create graph layouts. This approach allows the structure to grow dynamically in real time, which makes interactive visualisations possible.
As for my masters, I'm devoting too much time thinking about the visualisation side. The core idea is to automatically create a DSP pipeline that would mimic a sample, given by the user. I'm planning to use a genetic algorithm to optimize the pipeline graph. This is similar to the popular YouTube videos where randomly generated creatures are trying to walk. I'm gonna be creating organisms which dwell in the realm of sounds :) I really want to visualise the evolution process of theese creatures and watch how their DSP-node-based bodies evolve to create various timbres, with animations and a possibility to interact with the process. I hope that explains why I'm kind of obsessed over the visualisation part.
Boy Harsher - Careful
Go to 2023.