Gerrit Niezen

Maker of open-source software and hardware.

Feature image

I previously wrote about how I'm always running out of space on my 16GB iPhone 6S. I decided to reset my phone to factory settings and then install everything manually, instead of restoring from a backup. Surprisingly, iTunes and iCloud makes this very easy. If you click “Restore iPhone..” in iTunes, it erases everything from the phone and automatically installs the latest release of iOS.

If you then sign in using iCloud, it automatically restores most of your settings from iCloud. You still have to install every app manually, but if you go to “Purchases” in the iTunes store it's easy to see what you had installed before. The most tedious part was signing into each app again.

The only issue I had is that I turned off Whatsapp iCloud backups in June, so my chat history from June to September is missing. Apart from that all photos, messages, contacts and so on restored from iCloud without any problems. It seems iCloud finally matured into a usable technology.

The best part is that I have 5GB of free space on the phone after installing all my apps again. This means there was probably some cruft that accumulated over the past eight or so years since I got my first iPhone, where I always just restored from a backup when upgrading to a new phone.

Tl,DR: It's good to start with a fresh install of iOS every now and again, and iCloud makes it easy nowadays.

Comment on this post

Feature image

It has a user interface dating from two decades ago, but Freecycle remains one of the best ways to get to the reuse part of reduce-reuse-recycle. We had an extra bookcase that we wanted to get rid of, and it was reasonably easy to list it on the site. Within a day I had two takers, one who dismissed it after hearing the dimensions. The other picked it up in a van this morning.

There have been various attempts at building better alternatives to Freecycle, but it's hard to recreate the same network that FreeCycle has been building since 2003, with more than 9 million members. That said, this feels like the kind of thing that would work really well as a decentralised app.

Comment on this post

Feature image

We would like to plant some fruit trees along one of the walls in our garden, that over time will create a natural screen from the neighbour's backyard. We had a look at some fruit trees at the garden centre this afternoon, and I suddenly realized how little I know about trees in general.

How do we make sure that they will be pollinated and can bear fruit? Do we need multiple trees of the same type or do they cross-pollinate? How large do they get? What type of fruit would we like to grow? And so on. I guess I have some research to do before we start buying trees.

Comment on this post

Feature image

I'm back from the Lake District and starting up my daily posts again. Even though it was pretty rainy this past week, with Storm Ali sweeping across the UK, we had a good time and even managed to fit in a long walk along Lake Ullswater.

The photo above was taken at Lake Windermere, which is the largest natural lake in England and the Lake District.

Comment on this post

Feature image

I'm spending some time with my family in the Lake District this week, so for the first time in more than a hundred days there may be some days without any posts. See you on the flipside!

Comment on this post

Feature image

Now that we're living a bit closer to the beach again, it was great to go for a quick run today. The weather almost looked like it wasn't going to play along, pouring down earlier in the morning. I had a quick look on Windy and noticed that there would be a short break in the rain, and luckily I timed it exactly right.

There was a little bit of sun that came out during the run, and it was great running on the beach itself at high tide. And then running back along a small stream in the park. It does make you ask the question: Why would you not want to live in Swansea?

Comment on this post

Feature image

In my previous post on using Windows virtual machines on Linux, I mentioned that I switched back to VirtualBox. Well, it turns out that VirtualBox would also completely hang my machine, just less frequently than VMWare.

However, I think finally found a great solution: GNOME Boxes! I was looking for how to import a VirtualBox Windows VM into QEMU/KVM, which is what Boxes uses under the hood. Not finding anything useful, I just installed Boxes and tried to open an existing VirtualBox VM on my machine. And it just worked!

So far I'm very impressed. Closing the VM and restoring it happens almost instantly. It did have high CPU utilization initially, but was spreading the load over seven of the eight cores on my machine. I barely even noticed it apart from a high fan noise and looking in top. Compare this to VirtualBox and VMWare, that somehow only uses one or two cores, and then still manages to bring down the whole machine.

Everything is exactly where you expect it to be in Boxes. Changing the properties is easy to find, and the minimalistic interface gets out of your way. I should have done this ages ago – if I just knew how easy it would be to transfer my VirtualBox VM to Boxes. This morning I installed the guest additions on the machine, and it improved the video driver on the fly without even having to reboot anything.

I guess if I spent hours on obscure VMWare or VirtualBox settings and config files, I would've eventually been able to make it work. But with Boxes everything just works – out of the box![1]


  1. Sorry, I couldn't help it. ↩︎

Comment on this post

Feature image

Yesterday I mentioned that I wanted to look into getting WebUSB working on Electron. Well, I've done some testing and the first show-stopper is that Electron doesn't have the WebUSB device chooser implemented that requests permission from a user to access a USB device.

This results in a DOMException: No device selected when calling navigator.usb.requestDevice(). Electron has implemented a chooser for WebBluetooth, so I just put in a feature request for a WebUSB chooser.

Comment on this post

Feature image

Over the weekend I saw this tweet from Reilly Grant, one of the main developers of WebUSB:

I wish someone would sit down with the Linux drivers for proprietary USB serial chips like FTDI and Prolific and port them to JavaScript with WebUSB as a polyfill for the Serial API.https://t.co/ebiiBdIf7jhttps://t.co/yrgS4dgCK3https://t.co/H88w5KDnsFhttps://t.co/uCeLuDlJJs

— Reilly Grant → @reillyeon@toot.cafe (@reillyeon) September 7, 2018

The reason this would be so valuable is that these are the chips for which you aren't guaranteed that the OS driver is even properly configured and so are perfect candidates for quality WebUSB support.

— Reilly Grant → @reillyeon@toot.cafe (@reillyeon) September 7, 2018

Now, if you've been following this blog you may know that I've been working on JavaScript drivers for three different USB serial chips:

The only issue is that they're all written with node-usb instead of WebUSB, as I'm targeting Electron. Now, porting them shouldn't be too hard and it something I would really like to do. Today I discovered Niels Leenheer, creator of html5test.com, even has a $500 bounty out:

This would probably the single most useful thing for WebUSB for me personally. We need this. I’ll donate $500 towards the first project or developer that can get this working. https://t.co/h4sFxeXyw2

— Niels Leenheer (@html5test) September 9, 2018

I found a GitHub comment saying it's possible to get WebUSB working in Electron, so maybe I should give that a try again. node-usb is barely maintained at the moment, so getting everything working on WebUSB instead would be great! Or if someone else decides to build WebUSB versions using my code, that will be great too.

Comment on this post

Feature image

When I started writing these posts I didn't think that I would be able to keep it going for 100 days straight, but here we are! Let's have a quick look at what I think worked this time, compared to previous times that I started a blog:

  • It doesn't matter how many words I write, as long as I write something every day.
  • No analytics. It doesn't matter if anybody reads it, I'm writing this for me.
  • I realised that older posts are useful to me if I need to look something up.
  • I realised that writing every day improves my written communication in other areas of my life.
  • Using a blogging platform like Ghost with a web-based editor reduces the friction – you just write and press Publish.
  • I can use my iPad to write if I'm not in front of the computer[1].

  1. a Bluetooth keyboard makes this much easier ↩︎

Comment on this post

Enter your email to subscribe to updates.