Commuting to Work with an E-Bike

My current workplace in Frankfurt is 20 km from my home. In the past years I used the train to go there. Unfortunately the train became more and more unreliable. Sometimes the train had lots of delays, sometimes the train just didn’t arrive, sometimes the train was heavily crowded, often the information you receive during delays is wrong or misleading. Add to this the strike of the railway drivers, then you really question whether it is justified to pay ca. 130 EUR per month for the train. So in one year I pay roughly 1,500 EUR for public transport.

Continue reading

Advertisements

Installing OxygenOS 1.0 on the OnePlus One Smartphone

Some notes and sketches to install OxygenOS on the OnePlus One, plus some remarks on my experiences.

Download twrp.

Download OxygenOS from here. Unzip the file and check MD5 of oxygen_1.0.0_flashable.zip with MD5 from web-page.

$ cat oxygen_1.0.0_flashable.md5 
2d79312774c44d2fa2bf5bb0c877d1b7  ONE_12_OTA_001_all.zip
$ md5sum oxygen_1.0.0_flashable.zip 
2d79312774c44d2fa2bf5bb0c877d1b7  oxygen_1.0.0_flashable.zip

Installation instructions are in Installation Guide. This guide is also very helpful: How to Install CyanogenMod on the OnePlus One (“bacon”).

Install fastboot and adb, e.g.,

apt-get install android-tools-adb
apt-get install android-tools-fastboot

As user root:

adb reboot bootloader
adb devices
fastboot devices
fastboot oem unlock
fastboot flash recovery twrp-2.8.6.0-bacon.img
adb shell
adb push oxygen_1.0.0_flashable.zip /sdcard/

It is recommended to install supersu, which is offered on the phone during installation.

Some remarks on my experience with OxygenOS after three weeks of use:

  1. Battery life is worse than with old CM11, CM12 also has these battery drain issues. It looks like this is a general Lollipop problem.
  2. Double tap to turn phone off no longer works.
  3. Encryption of phone no longer works.

See also Upgrading from OxygenOS 1.0.3 to 2.1.4 on the OnePlus One Smartphone.

Speeding-Up Software Builds: Parallelizing Make and Compiler Cache

1. Problem statement

Compiling source code with a compiler usually employs the make command which keeps track of dependencies. Additionally GNU make can parallelize your build using the j-parameter. Often you also want a so called clean build, i.e., compile all source code files, just in case make missed some files when recompiling. Instead of deleting all previous effort one can use a cache of previous compilations.

I had two questions where I wanted quantitative answers:

  1. What is the best j for parallel make, i.e., how many parallel make’s should one fire?
  2. What effect does a compiler cache have?

Continue reading