A Software Engineering Radio Guest Episode
4 May 2024 | 7:30 pm

A few months ago, I was interviewed by Jeremy Jung of the Software Engineering Radio podcast about my book The Creative Programmer. The episode, #614, was published yesterday, so be sure to give it a listen! Here’s how Jeremy summarized our hour-long conversation:

Wouter Groeneveld, author of The Creative Programmer and [former] PhD researcher at KU Leuven, discusses his research related to programming education with host Jeremy Jung. Topics include evaluating projects, constraints, social debt in teams, common fallacies in critical thinking, maintaining flow state, documenting and retaining knowledge, and creating environments that encourage creativity.

SE-Radio episode #614

Listen to the episode using your favorite Podcast app by subscribing to SE-Radio, or online via https://se-radio.net/. Show notes pointing back to resources on this blog are available as well. It took a very long time for this one to be published compared to the earlier Tech Lead Journal interview. Still, I’m very happy to be part of the IEEE Software and IEEE Computer Society community.

I need to Show My Work more often, as Austin Kleon likes to point out repeatedly. Therefore, I also added a Speaking page in the Works section, listing my (non-academic) talks and podcast appearances. Writing a book is one thing, getting it out there another.

By Wouter Groeneveld on 4 May 2024.  Reply via email.


ISP Router Design Mistakes
30 April 2024 | 7:00 am

Time for another design mistake, this time from our new Internet Service Provider (ISP). We switched last week because I required a business subscription as part of the cost-optimization plan. In Belgium, there’s very little choice when it comes to ISPs, with two giants completely dominating the market: Proximus and Telenet. We used to have a Scarlet subscription which is the “cheap part” of Proximus, meaning all the hardware is from Proximus, it’s just coated with another software layer.

Proximus/Scarlet modems/routers (integrated) are aptly called B-Box routers appended with a revision number. Our previous one was B-Box 3: a basic but functional router with crappy Wi-Fi capabilities. With our new installation came a revision upgrade: welcome, B-Box 4 also known as the Internet Box! That alias raised serious suspicions that were confirmed as soon as the technician started the installation: you can no longer configure your modem locally.

Wait. What?

That’s right, no more logging into the router with http://192.168.1.1 with user root and the password as mentioned on the sticker at the bottom. Instead, you use something called The Internet to navigate to the ISP site, log into the client portal, drown in a series of dubious links and menus, to eventually find your internet connection, click on that, and locate a button “configure”. That means, in order to connect my internal network to the outer world, I first have to find another device or hijack my neighbor’s Wi-Fi to configure my own network using an external website? What the hell were they thinking?

MyProximus Network Management: configure your router... Via the internet.

That also means that if someone hacks your MyProximus customer account, they can happily change your Wi-Fi password, disable it, or mess with the DHCP settings, or even mess with the router IP itself. Or disable the firewall. Or open up port 80 or setup a series of port forwarding rules. Or keep on rebooting the router. From a security point of view, that sounds like a job well done!

Even if there’s an option to disable any features and treat it as a pass-through device in order to bring in my own router, I still cannot disable the publicly (if you’ve got the credentials) accessible part of the configuration, where config can be messed up at will1.

None of the Flemish tech-related websites that cover the new Internet Box, like this Knack DataNews article, seem to care about this: all they care about is how future-proof the 1GB DDR3 RAM and 512M flash storage is compared to its predecessor that had “only” 256MB RAM and 128MB storage. Hurray for digitization and technological progress.

Belgian ISPs are great at screwing over their customer when it comes to customizing networks: everything’s shut tight, supposedly because of certain laws that require DNS resolvers to forward to fccu-stop.services.belgium.be in case a domain is blocked by the government. It was never possible to configure your own DNS server in any B-Box, but I fixed that with a Pi-Hole acting as the DHCP server.

Speaking of which, the new B-Box 4 kept on broadcasting an IPv6 DNS server—namely himself—that had our macOS laptops bypass the Pi-Hole because macOS treats the DNS server list as round-robin, not as a priority list. By enabling IPv6 support on the Synology NAS, on the DHCP server and DNS server settings of the Pi-Hole, and by fiddling with the Box DNSv6 config, I eventually did manage to throw out the wrong one. (And yet there’s no option to customize the DNSv4 one?)

Sure enough, the Proximus Support pages list ways to setup your private router—via a bridged LAN Host that results in 2 networks—but also clearly state that the TV box won’t work. Great. I’ve had trouble with the TV decoder before that didn’t accept an IP from the Pi-Hole DHCP. The new installation also came with a new TV box: now it’s suddenly an Android-based one that does flow through the Pi-Hole, allowing me to block certain domains.

Another problem is that using custom modems requires certifications from the ISP that seem to be very reluctant to hand them out. Judging from the Userbase and Proximus forums, diving in that rabbit hole will easily take days. I’ve tried to set up custom modems before and it never worked, meaning I had to fall back to using it merely as a router. Still, that’s better than having someone else remotely configuring my local Wi-Fi settings.


I recently discovered a set of alternative modem/router devices seemingly compatible with Proximus called FRITZ!Box that seem to be certified for the Belgian VDSL network that Proximus offers in our neighborhood… I might go ahead and order one to keep myself busy for the coming month.

Another related interesting read (in Dutch): free modem choice in Belgium: possible since 2015 but no ISP allows it.


  1. I presume remote reconfigurability was already a part of the B-Box 3 line as a tool for support, but not as an end user endpoint. At least you can enable 2FA, which is my good-enough solution until I replace the stock modem. ↩︎

By Wouter Groeneveld on 30 April 2024.  Reply via email.


6 Years Later, I've Got A New Phone
27 April 2024 | 6:05 pm

It took a very long time to finally add a new entry in the personal phone history matrix, and I’m quite proud of that. My last smartphone, a hand-me-down Sony XZ1 Compact, was eventually rooted and flashed with LineageOS, significantly prolonging its lifespan. In fact, the phone was still perfectly serviceable, so why buy a new one? Because I didn’t, but my company did—otherwise I would never spend that much on a stupid phone.

I’ve always had a big problem with the bulkiness of contemporary smartphones that prevent its owner from comfortably putting it away in a jeans pocket. The XZ Compact is… well… compact. And then my mother got a cool-looking foldable Samsung Flip 4 which evoked instant retro vibes, harking back to the GBA SP/Nintendo DS days. It made my choice very easy: either the Motorola Razr+/40 Ultra, another foldable one, or the Flip 5.

The problem, however, is bloatware. Motorola has a reputation for selling durable phones that come without too much junk, giving you the vanilla Android experience. Sadly their latest entries, including the one I was eyeing on, does come with a lot of unwanted crap—just like any Samsung phone. The foldable mechanism of the Samsung seemed a bit more sturdy so I eventually went with a Flip 5, hoping for the best.

When it comes to software, I was to be sorely disappointed. The Flip 5 is somehow preloaded with crap that reminds me of a Windows 11 installation, and there is no official LineageOS build for Flip/Fold phones as a quick-and-easy alternative. It took a day of fiddling in adb and various settings panels to (de)configure the phone to my liking and it’s still not 100% de-cluttered.

There’s something you have to know about me and smartphones. I hate them. So why own one in the first place? That’s very simple: (1) in this digital world, it’s almost impossible to communicate without one, and (2) I want to be reachable for my wife. That said, I’m very, very strict when it comes to usage:

  • Maximize privacy. This includes de-Googling (and de-Samsunging) the phone.
  • Minimize interaction. I don’t have an e-mail client installed. Are you shocked yet? I’ve used Tusky as my Mastodon client before but find myself scrolling too often, so no social media client either. I’m still undecided about mobile RSS feed scrolling.
  • Zero work-related stuff, like Slack or Outlook.

How to de-bloat your Android phone? Using the Android debugger, you can uninstall packages with pm uninstall -k --user 0 [PackageName]. The problem then is: which ones to get rid of and which ones to keep? I consulted multiple sources, such as the Universal Android Debloater and a list published on getdroidtips.com. Did you know your brand new Samsung phone comes with Facebook, LinkedIn, and Microsoft crap installed? Great! Or how about multiple shady Samsung telemetry packages? I even disabled the Samsung Update software—the first thing that one will do is re-download all bloatware. The more you get rid of, the less that remains eating away battery life…

How to de-Google your Android phone without installing a new OS? Don’t login to your Google account and pm uninstall all non-critical Google-related packages. The problem then is: how to install anything if the Google Play Store isn’t available? That’s what the Aurora Store, an anonymous front-end, and F-Droid, an alternative FOSS catalogue, are for. At home, I also have a Pi-Hole running, so the bloatware that remains will have to pass those filters as well.

Here’s a list of apps I now rely on:

Sync tools

  • DAVx5: CardDav/CalDav contacts/calendar syncing with my Radicale server.
  • ICSx5: connect with an external .ics Calendar.
  • Syncthing: the essential tool to auto-backup images, documents, and to sync my Obsidian Vault.

Note-taking/related apps

  • Obsidian: I can now quickly consult my second brain without a laptop nearby!
  • Genius Scan: my go-to analog note-taking scanning app.
  • BGG Catalog: a board game (note) tracking app.
  • Foxit PDF Editor: works better than viewing PDFs in Firefox.
  • HP Sprocket: the only way to print photo stickers with the Sprocket.

Multimedia

  • DS video: an old but still OK working video streaming app for the NAS.
  • Substreamer: the mobile Subsonic client connecting with my local music streaming server.

Google alternatives

  • Firefox mobile.
  • HERE WeGo: GPS navigation, an excellent Maps alternative.
  • OsmAnd~: detailed maps navigation useful for geocaching.
  • Aurora Store & F-Droid to download apps.

Necessarily Evils

  • WhatsApp & Signal.
  • Itsme, a digital authentication app for Belgians.
  • Banking software.
  • FreeOTP: RedHat’s 2FA client.

Misc

  • NetGuard: currently under evaluation, with this you can block internet access on (system) package level.
  • Automate: currently under evaluation, with this you can create widgets that activate a custom workflow (see Zach Young’s notes on this). Used as a quick link to my Obsidian Scratchpad note file.
  • Material Files as a proper FOSS File Explorer.

Switching smartphones was—besides the hassle of installing and configuring all of the above—surprisingly easy, thanks to Syncthing and DAVx5. I was already exporting all critical data and I already de-Googled my life, so there wasn’t anything on the old Sony XZ1 Compact phone that I had to backup or copy before switching over. I don’t save chat conversation history anymore: most of my messages are ephemeral anyway.

I am the most excited about the mobile version of Obsidian that didn’t exist when I started my Vault. At least now I have enough screen real estate to comfortably read my own notes, and everything’s kept in sync, again, thanks to Syncthing! If you, like me, rely on open source tools like these, please consider donating to them.

By Wouter Groeneveld on 27 April 2024.  Reply via email.



More News from this Feed See Full Web Site