App update: Watch Later 1.3.1

Maximilian Hille / Mon, Jan 18, 2016

Watch Later got another update:

Available for free on Google Play

Feedback welcome on Reddit

Find the source (GPL) on GitHub

App update: Watch Later 1.2.2

Maximilian Hille / Thu, Oct 22, 2015

Watch Later got an update:

Unfortunately, we did not have time yet to get around Android M’s AppLinks-Anti-Feature. There are some ideas, but no time right now.

Available for free on Google Play

Feedback welcome on Reddit

Find the source (GPL) on GitHub

Android cheatsheet

Maximilian Hille / Wed, Jul 29, 2015

I googled the following things so often that I will be lazy and put them on my site for easier retrieval:

Android debug keystore fingerprint

keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android


Android emulator hardware acceleration

emulator -avd <avd_name> -qemu -m 512 -enable-kvm


Android emulator mock GPS location

adb emu geo fix 121.4961236714487 31.24010934431376


Update: GUI for ibutton

Maximilian Hille / Thu, Jun 4, 2015

The recently released Go application for controlling iButtons just got a small update: A GUI interface. It is very basic for now, but, as far as I know, the first graphical iButton interface for Linux.

I did not yet check if the App works from your Ubuntu Touch device, but since it should only depend on the installed kernel modules and working USB-to-go, I will need a physical device to actually test this. Android kernels usually do not carry the necessary drivers…

Building this has been a nice opportunity for me to learn a bit of the upcoming Ubuntu way of doing apps. The Ubuntu SDK uses Qt/QML as frontend language. QML is a specialized JavaScript’esque language for doing MVC. Qt has bindings ready in a lot of languages, but Go being part of the officially supported ones in the SDK (Go, Python, C++) could be a nice go-to app architecture in the future.

That said, the Ubuntu SDK is still at a very early stage. After years of doing Android, Ubuntu’s docs and the IDE (customized QtCreator) seem pretty rough.

You can find the project on GitHub, the license is (like the rest of go-netlink) GPL3+.

Go release: go-netlink

Maximilian Hille / Tue, May 5, 2015

To read Maxim iButton temperature sensors in Linux is not a big problem, but needs some work. There is a kernel module / driver for the USB reader adapter. This kernel module can be accessed from user space via a special file ‘rw’ or via a Netlink interface.

The ‘rw’ method is straight forward (with the technical docs from Maxim), but has some drawbacks: The file as it is created is only accessible for root and the location of this file is depending on the unique ID, distribution and maybe even the kernel version.

The Netlink method does not have these drawbacks, but in order to use the Netlink interface, you need to learn a bit about the Linux kernel.

After reading more kernel code that I wanted and learning about how to debug a running kernel (thanks for making Systemtap), I managed to talk to the iButton. You can grab the code at GitHub, it’s license is GPL3+.

The Go packages mirror the Netlink / Connector / One-Wire layer hierarchy within the kernel. Thus, the code can also be interesting for people trying to talk with other branches on those subsystems.

Note that the implementation is not very clean yet. I get some warnings like ALLCAPS for constants. I consider myself still a Go rookie ;-)

more posts ->