Flashable firmware zip generator for the Oneplus 3T

I have recently switched to a Oneplus 3T after my older phone suffered a series of unfortunate accidents.

I have to say I'm very happy with the experience so far. Excellent build quality, performance, battery and the warranty is not voided by using non-oficial ROMs.

After verifying that everything worked fine with the stock ROM I immediately switched to LineageOS, the successor of CyanogenMod.

The issue with this ROM is that they don't ship the firmware blobs themselves. So every time a newer version of the firmware is needed, one needs to flash the stock upgrade, wiping all existing data in the process.

To avoid having to wipe clean my device with a factory image every time I want to upgrade my firmware I wrote a small script to generate a flashable zip from Oneplus' official OxygenOS ROM images which you can download here.

Keep on reading if you are interested in my upgrade routine/checklist.

Read more…

Fixing Xorg's modesetting driver tearing on Intel Skylake IGPs


Just a really small post for a really annoying issue.

As you might know no stable releases of the Xorg Intel IGP cards has been released in 3 years and Debian/Ubuntu decided to switch to Xorg's modesetting driver as the default for non-legacy Intel cards (see Timo Aaltonen's post for more details on the subject).

The issue with this driver is that it will tear like there's no tomorrow on Skylake chips in some setups.

Read more…

Tribler's branching model and development methodology


In this post I'll explain the branching model and development metodology we use at TUDelft on the Tribler project.

This is mostly targeted at new students joining the team. However, it may give you some useful ideas if you are working on a similar project type.

Read more…

My Ergodox keyboard build


Figure 1: Pic taken with a myopic smartphone

A while ago I finished building my Ergodox keyboard. I didn't use a PCB nor a Teensy. Instead, I handwired the key matrix and built an ATMEGA32U4 based controller board (the same one the teensy 2.0 is based on so I can use existing firmwares). I mounted the diodes inside of the key switches to make the build cleaner. It was fun.

Read more…

Setting up Magit and using it as a standalone tool

This post will guide you through the steps needed to set up Magit, a great Git porcelain for Emacs, to be used as a standalone app.

Read more…