Subscribe to RSS feed - electronic brain surgery since 2001


  • Why I finally ditched Jira | Hacker News 2016-09-09
    Even though Jira has grown on me, I still don't like it very much. The Hacker News comments have a few interesting alternatives...
  • Can this flat-pack truck save the world? 2016-09-07
    Interesting approach to the truck. Low cost and easy to assemble and maintain. Not that the world really needs more petrol powered trucks.
  • Asia’s Cult of Intelligence 2016-09-02
    "In Japan, for example, teachers are held in high esteem and normally viewed as among the most important members of a community. [...] The profession of teaching is one that is seen as being of central value in Japanese society and those who choose that profession are well compensated in terms of salary, pension, and respect for their knowledge and their efforts on behalf of children. [...] The problem is not really with our educational system; it is with our educational culture."

Some DokuWiki Plugin Updates

So in the last weeks (or is it months) I worked on a few DokuWiki plugins. All of them took much more time than I originally planned to spend on them and each would deserve their own elaborate blog posts. But I am just too lazy for that. So here are some shortish summaries of what I did. Check the links to learn more.

ditaa Plugin

I like ditaa. It's a cool way to create nice diagrams from ASCII. Unfortunately it needs Java. If you want to run the ditaa plugin for DokuWiki you need to have Java on your server which you probably haven't. At least not on cheap web space.

Some years ago there was an online service that could render ditaa diagrams for you. The ditaa plugin used that if you hadn't configured a local Java install. Unfortunately that service has been down for years now.

However there popped up an alternative ditaa implementation on github written in go. The nice thing about go is that you can easily cross compile. The bad thing is there were no binaries available and people would need to compile their own version.

I opened a ticket. Then created a pull request. Then learned a bit of go and made a better pull request.

The ditaa plugin now automatically downloads the correct binary for your server's platform and uses that if Java is not available. Thus it now works out of the box again.

letsencrypt Plugin

At work I worked on the farmer plugin. It's awesome and basically means there's a really simple solution to run a DokuWiki farm. However if you want your animals secured via HTTPS it's complicated. Well at least if you don't want to shell out serious money for a wildcard certificate.

So I needed a way to request letsencrypt certificates for all the (sub)domain known to the farm. I looked for a simple PHP letsencrypt library and found LeScript.

I generally liked it, but I thought it was lacking some polishing. So again I spent much more time than I should and created a Pull Request. It isn't merged yet but I'm optimistic.

The letsencrypt plugin is available, too.

mathpublish Plugin

I'm not a math buff. But the need to embed mathematical formulas seems to be common. There are many plugins that do it. I'm fond of the mathpublish plugin. It creates PNGs for each formula which makes it easy to have the results in PDF exports as well.

Unfortunately the underlying PhpMathPublisher library hasn't seen any updates for years and wasn't PHP7 compatible. On github I found a repository where someone started to convert the old script to a modern PSR compatible library. But there where still some bugs in it and lots of duplicated code.

So there's another Pull Request open now. We'll see if there's still someone paying attention or if I need to adopt that thing completely.

However the mathpublish plugin got updated and also supports ODT export now (thanks for that PR).

dokuwiki, plugin, development, github, php
Similar posts:
Last updated: 2016/09/02 21:49 · Permalink · Comments

Adoptable Storage on Sony Z3C

With the Android Marshmallow release, Google introduced a new concept on how to work wit SD card storage.

SD card support has always been problematic on Android. It worked fine to store data, like music or photos but it didn't really work when you needed space to store new Apps. There was some support to move at least parts of an app to the SD card, but it was always a clutch. In reality it often meant that for moving a 50MB app to SD card, 25MB remained on the internal storage and 40MB ended up on the card, effectively making the app even bigger. In addition you had to manage all of this yourself for each app you installed.

Marshmallow finally promised to change that with the introduction of Adoptable Storage. It allows you to make your whole or parts of your SD card, part of your internal storage. With the OS managing it all automatically. Exactly what vendors had promised for years: “extend your storage with a SD card”.

Last updated: 2016/08/06 15:08 · Permalink · Comments

Pokémon GO

The much anticipated Pokémon GO has been released this week to select regions only, but you can sideload the game from APKMirror. I did and I have to admit I'm a bit disappointed. Let me explain why…

Pokémon GO is an augmented-reality game developed by Niantic for iOS and Android devices. […] The game allows players to capture, battle, train, and trade virtual Pokémon who appear throughout the real world.

As mentioned above, the game was produced by Niantic - the Google spinoff that created Ingress in 2012. Pokémon GO is basically the same game as Ingress, just with Pokémon. The “PokéStops” where you get items like PokéBalls or health- and revive potions are simply rebranded Ingress-Portals.

Being basically a rebranded Ingress, Pokémon GO suffers from the same problems: its a huge battery hog, the 3D graphics feel sluggish on non-top-tier phones and the memory requirements make it impossible to quickly switch to other apps on your phone without having to restart the game (and wait for it to load). It basically means you either play the game or you use your phone. That's a horrible mobile experience.

What really irks me though, is that game mechanics changed fundamentally to what Pokémon used to be on the GameBoy and other consoles. As far as I understand, there are no real time one-on-one fights. Instead you place a leveled up Pokémon on a “Gym” (just another rebranded Ingress portal) where it can be fought by other players. Fights no longer use the previous turn-based action system. Instead you just click for an attack and try to swipe at the right time to dodge incoming attacks. There doesn't even seem to be a sensible way to pick the right Pokémon to fight (like picking a water Pokémon to fight a Fire Pokémon). There is apparently no strategic element to Pokémon GO fights anymore.

I have no doubt that the game will be successful, but I feel like this is a missed opportunity to make a better game. Combining Gameboy-like topdown 2D graphics and well established fight mechanics with the multiplayer augmented reality aspects of Ingress would have been much better. Especially considering that Pokémon is supposed to be a kids game. Having an enjoyable experience on lower end phones should have been a priority.

Anyway, gotta catch 'em all…

review, android, game, pokemon, rant
Similar posts:
Last updated: 2016/07/08 12:40 · Permalink · Comments

EDC Update

This is a post I was planning to write for a long time now, but somehow never came around to. In 2012 I wrote about my keyring as the main part of my EDC4). Since then a lot of my equipment changed, so here's what I carry every day:

The goal with my EDC is to be able to carry the same things really every day. That means Winter or Summer, regardless of clothing or bags carried. So everything has to fit on my body when I only wear jeans and T-Shirt on a hot summer day. And I have to actually regularly use the things I carry, otherwise why carry them? The things you see above are the result of 4 years of optimizing :-)

Below is a detailed description of all the items.

Last updated: 2016/05/20 13:14 · Permalink · Comments

Simple Let's Encrypt on Debian/Apache

As you may have noticed, is now available via HTTPS. This is possible through the awesome Let's Encrypt project which makes SSL certificates available to everyone for free.

They're doing that for a while now, but I always shied away from the hassle to set it up. The SSL certificates they issue are very short lived (90 days) to force you to automate the whole update process. They provide a client to do that but it is a large Python script with all kind of dependencies that also tries to reconfigure your webserver. I didn't like that at all, so I looked for alternatives.

I finally decided for after reading this German blog post. With this, the setup proved to be extremely simple while still giving me full control over what exactly happens.

Here's a quick tutorial on how I setup SSL for my domains and commie.io1):

Last updated: 2016/05/14 00:57 · Permalink · Comments

Older Posts are available in the Archive. Keep up to date with the RSS Feed.


Older Articles are available in the Archive, subscribe to the
Full Content RSS Feed to stay tuned. You can also subscribe to the Link RSS Feed.

← Flattr me ;-)