After the (virtual) Vintage Computing Festival Berlin is before the (virtual) festival and I’m in the process of cutting, upscaling, loudness normalizing and re-encoding the video stream dump into presentations for media.ccc.de. Ffmpeg is a great tool for this and with the right GPU hardware that the process probably flies. But I’m not a gamer and also don’t regularly modify and cut video streams so I don’t have that. As a result, going through all the steps to produce a final video of a presentation takes a Lenovo X250 2-core / 4 thread notebook around one hour for each hour of video material provided. Due to a lack of proper GPUs I thought I’d do the next best thing and just throw more and powerful CPUs at the problem that one can rent in the cloud. A 16 dedicated vCPU virtualized setup for 166 euros a month that can be rented on a per minute basis should do the trick. Or so I thought…
Last weekend, I spent most of my waking hours at the Vintage Computing Festival Berlin. And as has become the new normal in our pandemic new world, it has taken place online. As I was running the BigBlueButton video conference server for the event I have learned a lot over the past weekend. To my relief but also somewhat to my frustration, I still don’t know where the capacity limit actually is.
Recently, two German network operators publicly stated that they will switch-off their UMTS networks in Germany in mid-2021. I’ve heard about such intentions before from other network operators in Europe a few years ago but their switch-off date at the time was ‘far’ in the future. But mid-next year is pretty much around the corner and it feels much more real now. That’s the first time in my career that a wireless technology that had a tremendous impact on my life is actually switched-off and I feel a bit sentimental about it.
Back in August, we finally relented to the pandemic reality and started to organize the 2020 edition of the Vintage Computing Festival Berlin in the virtual domain. Things have progressed nicely since then and we are ready to open the doors this this weekend!
I use the XMPP messenger “Conversations” quite a lot these days for end-to-end encrypted voice calls over my own infrastructure and I am quite amazed at how background noise is handled in WebRTC based voice channels on Android devices. When I’m in a ‘normal’ voice call, noise cancellation usually works pretty well until I switch to my Bose headset. Once the headset it plugged in, noise cancellation in the phone is disabled and people find it difficult to understand me due to the background noise in busy places or in the car. Not so with WebRTC!
Over the years, setting up a Linux notebook to access Eduroam Wifi networks around the world has become quite easy. While there is a generic installer script that institutions can customize to help their users to set up their Linux notebook, it has become easy enough in the meantime to just set it up with the standard network manager dialog when connecting to ‘Eduroam’ for the first time. As I recently migrated from Ubuntu 16.04 to 20.04, I had a look if anything had changed in the setup.
I am one of the few people who have the luxury, the time and the knowledge to run most of his cloud based services for family and friends at home. While this is the most private setup for personal data and communication, not everyone who wants his private data not to be in the hands of globally dominating surveillance capitalism companies does have this luxury. But there are many options for privacy focused people even if they can’t run cloud services on their own. As I keep being asked what I’d recommend, I thought I’d put together a post on how to have as much control over your privacy and your data as possible while not hosting the required servers (‘the cloud’) at home.
This is a follow-up to my previous post on IPv6-only connectivity in combination with DNS64 and NAT64 on Bouygues’s mobile network. One would assume that in an ideal world, the Android operating system would only query the IPv6 address of a domain name. In practice, however, this is not quite the case and different apps are behaving quite differently.
Quite a number of mobile network operators around the world these days support IPv4 / IPv6 dual stack operation. That’s nice but the real goal of the exercise is to eventually end up in an IPv6-only world without any IPv4 traffic in the network. Recently, I noticed that French mobile network operator Bouygues has also switched to IPv6-only operation for mobile Internet access.
I first noticed what Bouygues was doing when I had a look at the APN settings that were automatically configured when I inserted a Bouygues SIM in a device. As can be seen in the first screenshot in this post, the ‘APN protocol’ field is set to “IPv6” rather than “IPv4” or “IPv4v6”. When in the home network in France, the device only requests IPv6 connectivity in the LTE ‘PDN Connectivity Request’ and ‘ESM Information Request’ messages. As a result the device only gets the IPv6 addresses of DNS servers and an IPv6 interface identifier in the LTE ‘Activate Default EPS Bearer Conext Request’ message. Together with the IPv6 prefix received on the user plane in an IPv6 ‘Router Advertisement’ message, the device then generates its IPv6 address.
Now that Conversations supports end-to-end encrypted voice calls I have come to use it on a daily basis. While for text and image messaging I don’t mind a delay of a few seconds it is crucial that the setup of a voice call happens as quickly as possible. It turns out that in practice quite a number of things can delay message exchange and things can be optimized. In a previous post I went into the details of configuring TCP timeout of the XMPP server to counter carrier NAT gateways that have a very low NAT timeout value and cut connections before the default TCP or application keep alive mechanism sends an IP packet to keep the connection open. Once that was fixed, call establishment worked fine while the device in question was using the cellular mobile network. However, I still suffer some delay or even call setup failures when devices are connected to a particular Wifi network so I had a look at that scenario as well.