halfbyte

compact musings of a multi faceted geek

Well. That have been interesting 10 hours or so. I came to my studio today to have a bit of nonsense fun. Recently I started to fiddle around with some ESP microcontrollers, namely the ESP8266 and the ESP32, both fun and cheap devices (with pretty cheap devkits available at your typical electronics tinker stores) that have built in wifi capabilities.

To do something “useful-not-useful” with them, I started to look around for the most useless project I could do with them. And then, during a bit of cleanup at home, I stumbled over (not literally, luckily) my old 24 pin printer I used with my AMIGA in the 1990's. I thought to myself “how hard can it be to drive an old centronics interface from a modern microcontroller” and thought it would be a fun project to add a web api (as I have no interest in implementing one of the standard network printer interfaces) to an old 1990's printer.

So here's more or less what I did today:

  • I unpacked the printer, inspected it and after it made a couple of stalling noises when I powered it up, I had to clean the rail that carries the printer head and lube it (preliminary with some WD40, this needs some real grease, though). After that, no more stalling noises.
  • I connected it to my RaspberryPi with a USB-to-Parallel adapter. Apart from the usual udev access control fubar (you need to be a member of the “lp” group as I learned), this worked fine and I was able to print stuff by simply doing echo "Hello World" >> /dev/usb/lp0. The printer ribbon is, surprisingly, not totally dead (I already looked for replacements – They can be found, but are, at this point, a tad expensive. Not sure how much more hassle it will be to try to “refill” it myself, though.
  • I started to build a simple setup on a bread board to be able to drive the printer from my ESP8266. That was my first mistake. I had a sketch for an Arduino I found on The Forum and I should have tested it on an Arduino Uno or something comparable first. That would have given me some useful info.
  • Instead, I quickly noticed that I was running out of IO ports on the ESP8266. I was suspecting as such and so I started to rummage through my IC collections to see if I could find a serial-to-parallel shift register. Luckily I found some 74HC595's. Using a shift register actually simplified the code a bit, so I wasn't even mad.
  • I knew going in that my main issue was going to be that the Centronics port wants TTL levels (0/5V) and the ESP runs on 3.3V. I did recently buy some level shifters and so I was hoping that this would be a non issue. Well.
  • I connected all of that up, having the level shifter driving the shift register, so that I didn't have to shift all 8 data lines. Testing with some LED's that seemed to work fine, so it was time to wire in the actual parallel interface. In preparation of this project I bought a Sub-D-25-Pin breakout board that has some nifty screw terminals for all 25 pins of the “Computer” side of a Printer cable. Luckily I found some old printer cables in my basement.
  • Nothing works. I am checking all signals but nothing works. I start playing around with the timings, but none of these things should matter, according to the specs. I double check the wiring, I try to follow the signals with a cheap logic analyzer and one of these toy memory oscilloscopes but literally nothing works. The printer does not care about any of the signals I send to it, the BUSY and ACK lines stay silent from all I can tell.
  • I finally did what I should have done in the first place, wire the parallel port up with an Arduino that runs on 5V and use the before mentioned sketch and that bloody effin printer prints on first try. I am happy and angry at the same time.
  • I rewire and rewrite the Arduino version a bit to incorporate the shift register, to make sure it would work with one. Apart from a wiring mistake I made that made the printer print all kinds of fun crap this worked fine, too. The good news is: This works in principle. The bad news: There is something going on with the level shifting and that's the part where I am the least experienced. I am not an electronical engineer. Nope.
  • I rewire everything with the ESP and still nothing works. I find a couple of problems with my wiring but still no response from the printer. I play with the timings again. Suddenly, the printer does print something. I play a bit more. I remember that sending an ASCII code of 7 to the printer should make it beep which is good for debugging. I play a bit more with the timings and things get a bit more stable, but it's still very broken
  • I suspect some problem with the return signals and add another (unidirectional, this time) level shifter in the form of a 74HC4050 for the return signals. Things get worse.
  • After a couple of hours of debugging with all the tools, I finally try the logic analyser again and finally I see something my memory scope didn't want to show me: The Strobe signal, that technically should just go low for a couple of microseconds, flips around like no tomorrow. Interesting. Looks like the printer pulls up the signal and for some reason the combination of the ESP and the level shifter can't do what the Arduino was able to do: pull down the signal reliably. Hmmmmmmm.
  • I tried a couple of things (but don't take this as advice, as I said, I'm completely out of my depth here and probably need professional advice) and what seems to work fine is a 470 Ohm pull down resistor at the output of the level shifter.
  • After fixing all the timings I messed so much with, I now seem to have a setup that works reliably and so as soon as I have refueled the lost energy of today, I can start writing some code for all the network stuff for this project. Right now I am tired and I need to do something completely different :)

(Images, schematics etc. will hopefully appear on a more upbeat post I will write after this project is “done”)

Update

I now replaced the level shifters I used with a simpler component – The ones I used are based on a TXS0108E by TI and are probably a bit too clever for their own good, or rather, built for a different purpose. I've now replaced them with a simple, transistor based level shifter and this now seems to work without any pull down.

Now I need to get back to the software :)

When the Arduino platform became somewhat popular somewhere 2006-2007 ish, I was hooked and I actually cut my teeth on a couple of super over ambitious projects like sequencers and midi controllers. I did manage to make a couple of cool things, including a motion sensor controlled instrument (mostly built in PureData) that was driven by Kids jumping up and down on a bungee trampoline.

Over the following years, my interests shifted elsewhere and apart from a couple of failed attempts to build a somewhat universal sync box (which is still somewhere on my todo list) between MIDI, the Korg Volca sync and Nanoloop, I had a bunch of electronics lying around in my living rooms drawers (and now in my studio that are unused and slowly go the way of all things in the universe.

My interest in electronics was (more or less out of specific needs) revived when I got my first 3d printer, but the applications where simple and well documented.

And so I more or less completely missed how the Arduino world had evolved since those early years. I loosely followed the developments, and so I knew about things like MicroPython, CircuitPython and also, to compile modern versions of my 3D printer's firmware, I started to use Platformio. But all of that was rather superficial.

Fast forward to this year and due to my experiments with home automation, I stumbled across the world of ESP8266/ESP32 boards. The ESP8266 (and the follow up, the ESP32 family) is a microcontroller essentially made for the modern IOT world. It contains a Wifi stack (ESP32's also do BLE) and is powerful enough to serve simple web interfaces, do TLS connections (even though full TLS security is a bit challenging on these devices) and such.

NodeMCU ESP8266 development board
A NodeMCU ESP8266 development board

And the most fascinating thing for me as a maker, these devices are super cheap. A fully featured dev board, like the NodeMCU units or the D1 mini cost around 6 EUR when sourced in germany and can be as cheap as 3 EUR when you can stand the nervewracking shipping from china and the follwing discussions with a customs officer.

And now suddenly my interest in all of these things is reinvigorated. Back then, building an internet connected thing (which, you know, is somewhat interesting if you are a web developer in your normal life) was not only quite difficult (Cheap wifi chips were not really a thing back then and ethernet adapters were available, but that makes a sensor or something like that immediatly 100x more clunky) but also a lot more expensive. Who knew that almost 15 years of technological advancement would have such an enormous effect!

So far I really haven't gotten that far in my experiments, so not much to document here but one thing I noticed is how much bigger this whole ecosystem has become. Also kind of a no-brainer, of course, but to me, being more or less away from this scene for a couple of years, the contrast is stark.

A Bosch BMP180 breakout board with attached cables which shows the small footprint of the sensor
A Bosch BMP180 temperature sensor breakout board. The sensor is the small metal case on the top left

To me this boils down to a couple of points.

  1. You can buy a lot more stuff more easily and also in way more accessible packages. With the still ongoing miniturisation of all things electronics, there's a ton of components that's essentially inaccessible to a noob maker like me who has no skills (and not a particularly great interest) in designing circuit boards. Take the BMP180 temperature and pressure sensor from Bosch for example. That whole thing is probably 4x3 mm or so. Without the adapter board someone designed and decided to mass produce you can see in the picture, it would be completely useless to me. Now, you can buy these ready made boards for about 3-5 EUR (again, depending on your sourcing habits and quantities you buy) and you can take a couple of DuPont wires and connect them to your NodeMCU and with some software and a USB power supply you have a temperature sensor you can run wherever there's a power socket.

  2. The library eco system for Arduino etc. exploded. There's not a lot of useful components out there for which you would not find an arduino library. When I started to play with my first Arduinos, one of the first things I tried was interfacing with a DOGM display, which not only looked cooler than the typical LCD displays but also needed less wires to operate as they used SPI for communication instead of the weird parallel protocol most text displays use – but there wasn't a library for it, so I had to do it myself – It's still available on GitHub but today of course there's a fully featured library available directly from the Arduino IDE.

  3. These two points combined actually mean that “the maker” is now a veritable market in itself. Back when I started, only a couple of online shops carried Arduino and compatible things. Nowadays, you can buy stuff from Amazon, you can buy stuff directly from chinese vendors at Aliexpress or Banggood or you can order at one of the many specialised online shops. And everything comes with references to the specific Arduino libraries or board definitions – You don't buy stuff that “works with Arduino”, you buy stuff that is specifically made for this particular ecosystem.

I did notice this already when i started to get into 3d printers, though. Suddenly, after a few searches, my internet was full of 3d printer driver boards, heating beds and matching surfaces, mechanical parts, stepper motors and so on, definitely stuff that wasn't as readily available when I first looked into this (roughly at the same time as my arduino journey started).

I guess, part of that is that the makersphere in itself got so much bigger and became “a market” to serve. But part of that is, I guess, also individual efforts to make the whole world of electronics so much more accessible – My feeling is that the “old school” electronics geeks don't particularly like this, in the same way that greybeards running unix clusters front agains those modern JavaScript hustlers.

Of course, there's the original Arduino founders to mention who really sparked this whole movement, but over the course of the last few years I don't think you should underestimate the influence that Limor “ladyada” Fried has had with her Adafruit empire. The amount of influencial hardware designs (like the Feather series of boards) and software initiatives like CircuitPython coming out of the Adafruit lair is just impressive.

The next evolutionary step was that hardware vendors started to understand and leverage that new market. Microchip, owner of Atmel, and thus the main supplier of ATMega chips you'll find on most of the Arduino boards, now has a much closer relationship to hobbyists. Expressif, the manufacturer of the ESP chips actually maintains the Arduino board SDK for the ESP32 and while I haven't looked I'm pretty sure there are examples of component manufacturers maintaining Arduino libraries for their components.

This all has a pretty weird effect on me though. Part of the fun of adapting the DOGM display back then was having to actually read data sheets and trying to get it working. In 2021, most of that work has probably been done for you and all there is left to do is copy and paste a couple of lines from an example file and adapt them to your need. If your need is to get up and running quickly and solve a problem you wanted to solve, that's great, but sometimes, the journey is the fun part – It will be interesting to see how this will influence my own motivation over the next few experiments.

I do think though, from a 3km perspective (See what I did there?) this change overall is fantastic for makers and the wide availability and accessibility of incredible hardware of all sizes and shapes is great and makes for a lot of fun.

At my home, the only thing that's “home automation” is a set of Hue light bulbs I use as a wake up light and to illuminate the flat as I arrive on a dark evening. This is quite nice and works okay-ish (I have issues with the geofencing every now and then, though) but since my flat is very small, has a very simple heating system and no other big automatable challenges, I have no desire to bring more automation in.

In my new studio (rapidly approaching a one year anniversary) the situation is different. I don't have any desire or need to actually automate the lighting, but there are a couple of things with the electrical wiring that made me think of doing at least tiny bits of automation.

For example, since two weeks now, I started to work on a dashboard – I have a RaspberryPi 3B+ as the driver and a cheap HD screen as the display. It displays a variety of different data, including Updown status of a few web apps, some personal “quantified self” stuff, status of my 3D Printers etc.

But of course, it would be madness to run the dashboard 24/7 when I'm not in the building. But keeping in mind every evening to switch off the dashboard is sort of tedious. And while in my experience Raspberry Pi's and the underlying OS are extremely good at handling power cutoff and cold restarts, you probably still want to gracefully shut them down before cutting the power, making the process even more tedious.

Now of course, here things get interesting because we went from “managing a few wifi power outlets” to “be also able to shut down a raspberry pi from afar” and of course none of the commercially available automation systems (mostly based on crappy apps) actually do allow you to ssh into a different machine and run shutdown -h now.

In my research, of course I quickly stumbled upon OpenHAB, and started to play around with it. In my search for a cheap and easily integrated power outlet, I then found Tasmota, an open firmware for a specific class of devices all based around the same specialised microcontroller, the ESP8266, which would make it really easy to integrate into OpenHAB. The missing puzzle to actually get me motivated to start for real was Tuya Convert, a project that allows you to flash specific ESP8266 devices (based on products of a company called Tuya) without having to open them up to solder some serial connection on. After a bit of searching for the best option, I settled on the Gosund SP1, which is sold in practical 4 packs for around 30 EUR at the evil quasi-monopolist (don't @ me). The flashing process is quite straight forward and I did it all from my RaspberryPi 400.

A screenshot of the tasmota ui running on one of my Gosund SP1's

Configuring OpenHAB is a daunting task and parts of me want to replace this with a much simpler system I can code up in a few minutes in Ruby, but there are benefits to be had from a system that has such a large community and has bindings for practically everything.

A screenshot of the OpenHAB configuration for an MQTT device channel

OpenHAB runs great on my brand new Raspberry Pi 4 and has been a lot of fun to configure and try to get some more elaborated schedulings and stuff working.

A screenshot of the basic UI of OpenHAB

I'm pretty sure this is not just me, but this year (2020) has make me lose my voice. And I don't mean that in a physical sense, so far (knocking on wood as I write this) the virus has spared me and my family, but in the sense that my brain is on constant overload during this multi-tier crisis but I haven't been able very well to put it into words. On twitter, I manage to occasionally come up with some witty, sarcastic comment and that often helps to temporarily relieve the pressure, but every time I try to put my (also very much multi-tiered) thoughts into writing, I give up after a couple of sentences.

Let me at least (for future me looking at this text in 10 years – because I don't think young people in 2030 will believe our stories) describe the status quo as I see it – I'll try to refrain from the instinct to analyse reasons or motivations.

As I write this, my home country is in a terrible state. Every day, roughly 500-600 people die from (or, as some people are not getting tired to point out: with) Covid-19. These are mostly, but not exclusively old people which we failed to protect. Our country is supposed to be in somewhat of a lockdown, but as lockdowns go, this is a pretty shitty one – It's very close to christmas celebrations, so people do lots of shopping (and many shops that are supposed to be closed offer “click and collect”). Also, companies are “urged” to allow working from home (what we call, slightly irritatingly to UK people, “home office”) or let people go home early for the xmas break but given that it is not enforced in any way and how shitty a lot of companies treat their employees in the first place I'm pretty sure that there are large pockets of the work force that are forced (that's why it's called work force, right?) to go to the office like normal (with the usual regulations of distancing and mask wearing applied...again something that's not enforced nor controlled in any way).

Schools, on the other hand, now clearly known for their hand in the spreading of the virus to and from families, were not even fully closed (well, it's holidays now) and I'm afraid they will open right away, regardless of our viral incidence on the 10th of January when this lockdown is supposed to end.

Schools are a complex subject. Closing schools outright can be dangerous with rising levels of in-family violence and dramatically rising inequality in terms of chances to learn, as families (or single parents) in precarious situations hardly have any chance to earn a living and help their children learn (or afford the technical needs allow their kids to follow online learning courses) – But the fact is that politics here in germany have systematically downplayed the risk of in-school infections even go so far to fake study results to prove their point, all to prevent a more complex discussion on how we can reduce on-premise studying to lower the infection risks and also how to make all of this socially just and less stressful for parents that are stretched thin in the best of times.

All this happening while the federal government spent enormous amounts of money on “rescuing” the (of course very battered) airline industry (which then went on to cut thousands of jobs anyway) and, probably the worst investment of the last few years, surprisingly found 10 Billion EUR to further subsidise our car industry – An industry that has not made headlines recently with their top-tier electric car technology as one would expect given the enormous challenges of mobility in a carbon neutral future but instead with technical measures to cheat emission tests so that they can continue to sell bigger and bigger cars that burn fuel like there is no tomorrow (And in the process ensuring there won't be one to speak of).

At the same time, our hospitals fill up and health care workers who got rounds of applause every evening at 9pm during all of April, now get even longer work days and no monetary compensation to speak of. I wouldn't be super surprised we'll get a mass exodus from the health care sector (which has already massive problems to find enough qualified personnel) after this crisis is over – It would be understandable and would maybe, maybe, if we all help, lead to much needed change. I said it before and I'll say it again, the mere fact that we thought (and still think) that health care can be organised around capitalist principles and should be able to cut profits is completely indefensible and needs to be reversed as soon as possible.

And under this clusterfuck, that is amplified by the complexities of germany's federal system with each state being run by a different kind of terrible right now (with several head of states being tangled up in a directional battle and search-for-successor-to-larger-than-life chancellor Merkel), there's the climate crisis looming that for some reason doesn't seem to be super impressed by a virus that completely threw off humanity for, as it seems to be more realistic now, several years. In my eyes the difficulties modern day lobbyist entangled representative democracy seem to have to deal with the crisis at hand all over the world (with some very few exceptions) is, in all it's glory, quite comparable of the inability to deal with the looming climate crisis. Again, I'll refrain from analysis here, but it seems to be quite clear to me that we'll need to take a deep reflection on what went wrong in 2020 to understand how we might be able to deal with the climate crisis.

Happy holidays, everyone.

These version numbers are strange, especially since they don't contain the dot that makes it clear that this actually means 2020-04, like Ubuntu's versioning scheme helpfully does. And of course Windows releases come without cutesy animal nick names (at least not publicly?!?)

WSL 2 – The Kernel within

Window 2004 was of special interest to me as it comes with support for WSL2 – a much improved version of the (again, weird name) Windows Subsystem for Linux. This time, instead of trying to do a cleanroom implementation of the Linux Kernel APIs (a brilliant and equally stupid idea), WSL2 actually runs a real Linux Kernel within Microsofts VM platform. This has a couple of benefits, with the biggest one being massively improved performance, specifically in accessing disks, for both the virtualised Linux file system but also the Windows filesystem that gets mapped in. WSL1's performance when Disk i/o was involved was absymal. On WSL2 it's, well, adequate. Of course a modern Linux distro running on the same machine on bare metal runs circles around it, but it's good enough to not be super frustrating.

My experience so far

I've been running 2004 now for as long as it is out, so almost a month, and I must say, the benefit of not having to reboot every now and then when I need to access stuff in Windows is bigger than I expected, even with todays quick boot times.

Also: Windows Terminal. Not exactly at feature parity with my Linux favourite K KiTTY, it is a pretty damn good terminal, with Tabs, Panes, a good configuration system and adequate compatibility.

Here's how my development setup currently looks like: All projects are on the Linux file system and I run them in the WSL shell. The most surprising thing might be my choice of editor: I had a bunch of interop issues when pointing SublimeText directly at the Linux filesystem – It works but it gets line endings wrong and sometimes file changes are not picked up. Probably things that are specific to WSL2 and will get ironed out over time, but there is a sort of solution: I'm running an XServer (x410 in my case, which is probably a nicely packaged version of XMing and has good configurability) and then start SublimeText from within WSL. It was a bit tricky to get this working, since it needs a bit of Firewall config on stock Windows, but it now works fine and while I haven't yet figured out how to scale the UI in a way that doesn't look blurry, it's a workable solution. Performance in the editor seems fine for the most part. SublimeMerge also then runs from within WSL as I had even more interop problems with it.

Automation

This sounds like a super hacky solution but it feels much better than that. Apart from the initial setup that was a bit tricky (but is somewhat documented on the web) and some interesting things that need to go into your .zshrc to make things work, everything works pretty much as expected. Runlevels are currently not supported but systemd scripts work, so I also have to do sudo /etc/init.d/postgres start (which fits my brain better than the systemctl alternative. I'm old) every time I start a session. People built scripts to automate that, but I quite like the fact that I can decide myself if the database should run or not.

So far I have only seldom booted into my Ubuntu to look up stuff or push stuff I forgot to a git repo. I do miss Evolution a bit as an Email client (and somehow expect to have a lot of hoops to jump through to get that beast working in WSL) but Thunderbird isn't so bad.

Putting the ow in audio.

One thing I certainly don't miss is Linux audio trouble. It's still the main sore spot in my Linux experience and given that I do a lot of Audio, I ran into all the issues. Now, Audio and (even more so) MIDI aren't great on Windows, it's the one thing that I miss from macOS, but if I understand it correctly, things haven't exactly improved there either and in general, specifically with my current setup, I'm quite happy with the stability.

Reclaim the space

I'll definitely continue this experiment and if it turns out that I don't need Linux anymore, at least not in pure form, I'll happily delete the partitions and reclaim the disk space. Dual boot systems are never great, but especially my Laptop, that extra space will be well received.

I recently started listening to the wonderful Hot & Bothered podcast and from April first on, a couple of episodes were essentially recordings from the “Designing the New Green Deal” conference the podcast hosts Daniel Aldana Cohen and Kate Aronoff co-organised (I hope I'm getting this right).

Listening to this was very insightful. The New Deal, which (obviously, duh) is the namsake of the New Green Deal is a very important chapter of American history, but over here in Europe, we have not been taught about it in school, so when during the panels people talked a lot about the New Deal and what was good and what was bad, for me it was all new. It's fascinating to learn that this neoliberal, capitalistic hell hole (my words, deal with it) was, for a couple of years, a super interesting (and super successful) playground for social democratic, heck, even socialist policies and measures, all happening while Europe slowly descended into the worst war by the actions of my ancestors, Nazi Germany.

The New Deal

Anyway – The episode I listened to today from April 3rd (I'm a little behind on my podcasts) has Vox writer David Roberts talking about the challenges in getting the political system to pass the legislation for a New Green Deal. And something suddenly clicked for me. He explained how almost everything about Republican policy can be explained by the desire to make absolutely sure that something like the New Deal can never ever happen again.

Now, the thing is, both Demographics (with America more leaning towards Democrats as a whole while urbanisation marches on) and, you know, Reality (For example climate crisis impacts, but also things like Covid-19 which shows how fragile the US health care system is) are actually working against Republicans here, which is why, especially looking at it from the outside, their actions seem so blatant and outright desparate. But to be fair, they have also been super effective in suppressing progressive change in the USA.

But what about Europe

But while it's fun to shake my European head at the stupid Americans and their broken democracy, it has become quite clear by now that this foolishness is not funny but outright dangerous, killing people. Americas Covid-19 cases spiking as we speak as lock down measures have been lifted without the needed suppression of the virus – but also black people continue to being straight up murdered by the police.

And, quite frankly, from my European perspective, while I think that most of our Democracies over here are more robust (with Hungary and Poland right now being the notable exceptions) the underlying currents are obviously quite similar.

Massive privatisation, trade and service agreements that contain ratchet clauses for deregulation and privatisation and in general a trend to deregulate either in law or in practice are things that slowly but surely not only undermine the capacity to act for future governments but also seriously endanger the financial basis of communites and governmental bodies on all levels.

The “small state” is an extremely effective way of making progressive, socialist or social democratic policies very unlikely to happen.

The strategic nature of all of this becomes clear if you look at the areas where power is amassed instead of eroded, where governmental spending is increasing: Security forces and the Military. Again, the sheer extent of that imbalance is much greater in the US, where police forces often make up a substantial chunk of a community's budget and the military is the biggest single employer in the country, but the trends of militarizing the police forces while consistently undermining the needed transparency and accountability that allows a liberal democracy to hand over the monopoly on violence to the police head into the same direction.

Now what?

And with that, meaningful change in the veins of a real New Green Deal (and not the fake version the EU commission proposed) becomes almost impossible, not only in the States but also in Europe.

It is not quite clear to me if we (and with that I mean both Europe and the USA) will be able to fix this issue without going through a valley of tears and blood beforehand (costing, given that we are very close to climate tipping points that will have devastating consequences, billions of lives, with a good chance of destroying civilisation as we know it).

But in contrast to those who throw their hands in the air and say “well, there's nothing we can do anymore, it will all go to pieces anyway” let me say that it will always be worth fighting for. Each degree of global warming counts. Each centimetre of saved land counts. Each less Covid-19 death counts. Each less victim of police violence counts. Each less homeless person counts. Each less person usurped by insurmountable debt because of a common illness counts. Each less refugee drowing in the mediterranean counts.

Don't let anyone tell you otherwise!

I've been dreaming about this a long time but somehow the time felt right to make it a reality: I'm going to have my own studio space – Yesterday I finally signed the contract and helped building the stairs that lead up to the 40-ish square meters space in an old industrial building.

I say studio and you may wonder what I mean by that. In fact, I mean it in the broadest way possible. It will hopefully be my office. It will be a music studio of sorts (although for that I probably need to fix the accoustics in there quite a bit). It will be a workshop, and, quite possibly, a photo/video studio.

I wonder what will happen next. My hope is that this space will inspire me, because inspiration is definitely something I need right now. My hope is also that it makes a few things possible that I currently simply can't do for space reasons.

Before I can move in, I need to install a new floor into the room, because the old wooden floor in there has seen better days. So right now I need to be patient and wait for a couple of things to happen before I can finally move my stuff there.

It's going to be worth the wait.

Last night, my {live:js} colleague Tim (aka NERDDISCO) and I did an experiment: Would it be possible to jam with someone a couple of hundred km away from you via the Internets?

The idea was to have a musician (moi) to stream audio data to a VJ (Tim) and then use that audio as input for modV and also stream the result live to the Youtubes or so.

Turns out you can.

Tim used OBS to do the capturing and the streaming. I think he got my audio stream via VLC and then used a virtual audio cable to feed that both into the brower for modV and OBS to marry it to the video feed.

Streaming audio only is a solved issue and I've been doing live streaming before. I have a icecast server and used a VST plugin in Ableton Live's master channel to send the audio to Icecast.

This was a fun experience and we plan to do this once a month now, so if you're interested in seeing this live, watch out for announcements.

Here's the result:

A quick note. As I revived the idea of turning my 3d printing (and general making) content into a separate endeavour (I am still thinking about trying the waters in video content production), I've started to move my content to a separate blog, which you can find at 3D-Bits from now on.

My Ubuntu installation on my laptop somehow became hosed and I have no idea what I did wrong, but some application snatched keyboard shortcuts and I couldn't figure out which one and also other things felt weird and so after my experiences with earlier reinstalls I felt the urge to either do a clean reinstall (my desktop machine still runs stock Ubuntu and I'm generally happy with it) or to try something new. Now that I have a new desktop, my Laptop became somewhat of an experimental machine (a thing that surely will never bite me in the arse in the future, I'm sure), runing the fast insider version of Windows (So that I can play around with WSL2) and so I thought I'd continue to make this more experimental.

This machine now runs Manjaro, in the XFCE edition. Manjaro (and the underlying Arch linux foundations) have intrigued me for a while and I've used the Arch wiki as an excellent source of knowledge about all things Linux and hardware a lot of times before. I didn't want to go all in with Arch and Manjaro has a good reputation for being a solid desktop computing focused Arch derivative.

Handsonness + 1

So far, so good. I have to say, everything is quite a bit more hands on here. After installing packages that provide services (databases, etc.) you have to then activate those services on your own which may be actually a benefit but was irritating at first. With the help of AUR, the “inofficial” user generated package repo I have yet to come across a software I couldn't install via pacman.

I also had to adjust a couple of things by hand, such as the Synaptic driver settings for my touchpad, but that's something I struggled with on Ubuntu as well. It's one of those things where the Apple experience is really just so much better.

The dreaded HiDPI

One thing that is annoying is that XFCE still struggles a bit with HiDPI displays. In hindsight, this is one of the most annoying things about this laptop and I sometimes wonder if I wouldn't have been better off with a standard HD display which would simply work. Support on Gnome on Ubuntu was “fine”. It wasn't great and the odd application simply refuses to scale properly. Luckily, this display doesn't look too blurry on smaller resolutions (such as full HD as I'm running now) and the fact that I'm slowly turning blind (I'm developing an annoying longsightedness – seems to be about time, I guess) does help.

Apart from that XFCE is quite nice and is surprisingly undemanding – A breath of fresh air after the resource hog that a modern GNOME can be. After I installed it I hear the fans a lot less and battery life got a lot better as well.

What also needs to be said is how awesome it is that I can simply back up my home directory, install a new OS, dump my home directory and apart from a few nicks here and there (such as things like databases) everything prety much works.

Enter your email to subscribe to updates.