Fun with processing.js

I started checking out various visualization tools for the web during the last few months. A project which I found very interesting is processing.js. This is a JS port of the processing language, an easy-to-use language to write visualizations or interactive media stuff. It seems it’s mainly used for visual art stuff.

You can see some example processing.js code here:




The page header animation at the processing website inspired me to create a small game, which I called PRace. Here is a screenshot:


It’s a 2D side scroller. You are the red guy on the left, and the goal is NOT to crash into the blue guys coming at you from the right — BUT flying close to them gives you points.

The best thing is that you can give the game a try yourself with a modern browser:

The code can be found at Github:




Posted in coding, general, IT and computers | Tagged , , , , | 1 Comment

Architecture visualization in the Quake 3 engine

I was recently given a bunch of 2D plans of a large building. They were floor plans for the 5 stories, plotted on paper. I’m pretty good at imagining the 3D object from 2D plans, but in this case, I thought some 3D visualization might be helpful. So for everybody involved in the project, I built the whole thing in the Quake 3 engine on a rainy Sunday afternoon some months ago when I was ill and had nothing better to do.

Here is the front view:


Here is the back of the building:


And finally, a small section which already has some windows:



This was a fun project for a day that made some people happy.

Here is a final shot showing the scene in the Quake level editor GtkRadiant:



Posted in general, Level Design | Tagged , , , , | Leave a comment

Talk on Hodgkin lymphoma cell graphs at ISMB 2016

It’s been a while since I went to the Intelligent Systems for Molecular Biology (ISMB) 2016 conference, but I thought I’d still share a few impressions.



The conference was held at a Disney Resort Hotel near Orlando, FL. Great weather, but not a good place to be as a PhD student who is short on money.


I am working on two projects in the fields of digital pathology/imaging and protein topology in my PhD. I submitted a paper we recently published in Bioinformatics to the highlight track and it was accepted, and I was also given a $ 1000 travel grant (thanks to the RNA group at ISCB!). So I went to the conference directly after a returning from a trip to Indonesia.

The conference was well organized and interesting. There were very few contributions from the field of digital pathology, but quite a few interesting talks on structural biology. I especially enjoyed the keynotes by Ruth Nussinov on Ras signaling and by Deborah Marks on Molecular structure and organism fitness from genomic sequences.


My highlight talk was at the last day of the conference, but I got some good questions afterwards and also met interesting people at the poster sessions that were held earlier during the conference.


If you are interested in the talk, you can find the slides at F1000:

Tim Schäfer, Hendrik Schäfer, Jörg Ackermann, Norbert Dichter, Claudia Döring, Sylvia Hartmann, Martin-Leo Hansmann, and Ina Koch. CD30 cell graphs of Hodgkin lymphoma are not scale-free — an image analysis approach. Highlight talk at Intelligent Systems for Molecular Biology 2016. Orlando, FL, USA

Slide link at F1000:

This is a highlight talk based on the following publication:


Hendrik Schäfer, Tim Schäfer, Jörg Ackermann, Norbert Dichter, Claudia Döring, Sylvia Hartmann, Martin-Leo Hansmann, and Ina Koch. CD30 cell graphs of Hodgkin lymphoma are not scale-free — An image analysis approach. Bioinformatics, 32(1):122–129, 2016. DOI 10.1093/bioinformatics/btv542

Posted in Bioinformatics, general, Science | Tagged , , , , , | Leave a comment

Back from Indonesia

I recently submitted my PhD thesis and then went on a 3 week trip to Sulawesi, Indonesia. We visited Makassar, Rantepao, Tentena, Ampana, the Togean Islands, and Palu. You can find my travel blog with a description of the trip and lots of photos here:

You can find my travel blog with a description of the trip and lots of photos here:

Posted in general | Leave a comment

Elinchrom EL Skyport ECO does not fire flash anymore

I have an Elinchrom D-Lite 2 lighting set in my home studio, and I fire the soft boxes via an Elinchrom EL Skyport ECO transmitter mounted in the camera’s hot shoe.


When I wanted to start a photo session yesterday, the flashes refused to fire. When I clicked the Test button, the LED flashed green, so it seems the batteries were OK. But I didn’t know what else to do (channel settings were good), so I changed the battery. Still no flash.

I searched the internet, and after a while, I found the following line in some product description of the Elinchrom Skyport: Status LED flashes once or twice depending on if Normal-or Speed Sync mode is selected. With my device, it flashed twice.

With this info and new search terms, I finally found this post at

Basically, the Skyport was in its second operation mode (‘speed mode’), and in this mode it does not work with my studio lights. So the solution is to change the mode back to normal. You can do this by holding the Test button until the LED flashes once it seems.

(In the baypattern article it says hold it for 10 seconds, but that did not work in my case.)

Posted in Photography | Tagged , , , , , , | 4 Comments

DSLR filming: oh right, what about the audio?

When you’re a hobbyist DSLR guy like me and try to make your first videos, you will most likely be busy getting the visuals right first. After a while, you may have the idea of turning the sound on when whatching the videos you recorded. At that time, you are most likely be shocked by the cruel audio quality of your oh so great and expensive DSLR!

I thought they gotta be kidding me when I first heard it. My thought was like: I spend € 2000.- on a D800 body, and THIS SHIT is what it gives you for audio?!

The problem

Yes, it’s true. Audio quality of DSLRs sucks hard. Why? Some of the most obvious problems with the built-in DSLR audio include:

  1. Handling noise: The mic is directly attached to the camera without any shockmount (and additionally, it is not directional). So it records the handling noise of the camera, e.g., you pressing buttons / moving the camera, zooming the lens, etc.
  2. Mic quality: The mic most likely has high self noise and/or is not sensitive enough.
  3. Wind (outdoors only): Even very little wind may cause ugly hissing, because the mic has no dead cat or similar protection against wind.
  4. Dependent on camera: You cannot move the mic (independently of the camera). Note that this means you cannot ask somebody to talk directly into the mic — he would not be in the frame of the camera anymore (or be VERY close and look very stupid).

Options to solve the problem

So what can you do to get better audio with a DSLR? This depends on what you want to record, which quality you need, etc. But the general options include:

  • Ignore / circumvent the problem: Decide that audio is not that important or convince yourself that the quality you have is good enough. Or decide to simply not use the recorded audio at all — use background music only for the videos, or whatever. Pros: Dirt cheap, little work! Cons: Crappy or no audio.
  • Buy a video mic: buy a standard, rather cheap (€ 80 — € 200) video mic (like Rode VideoMic, Shure VP83 or similar stuff from other companies). These get mounted in the camera hot shoe, the data is send to your camera for recording via the 3.5 mm jack. Pros: Improves problems 1, 2 and 3 listed above. Rather cheap, medium amount of work (audio is part of the video). Cons: Does not address problem 4. Whether the other problems get solved or only improved depends on your application.
  • Record with an external device: Get a handy recorder (Zoom H4N, Tascam DR-40 or similar stuff from other companies). These are devices with a size between an old cell phone and a Game Boy — you may be able to force them into your pocket, and it is possible to attach them to a DSLR. They have a built-in microphone and they record to internal SD cards these days. Priced between € 180 and € 400. If you don’t go for the cheapest ones, they usually have 2 XLR inputs — this is interesting for high quality audio, because XLR is what professional microphones use! Pros: Possibility to get very good quality. Cons: Expensive, more work (handle 2 devices, sync audio to video later, post-process audio to get even better quality?).

Zoom H5

Actually, the last option could be subdivided further.

  • Record with an external device, but not to it. That is, use the mic of the device, but not the recorder (and storage). Instead, route the audio signal back into the camera for recording (from the monitoring output of the device to the 3.5 mm mic input jack on the camera). Note that this requires a special cable: the mic input on a DSLR requires a mic-level audio signal, and the headphone output of a handy recorder is line-level (see this article by Sam Mallery for details). Pros: Uses good mic of external device, no need to sync audio. Cons: ?
  • Also record to the device. Pros: No need for special cable, can use advanced features of the recording device, e.g., audio filters. Cons: Need to sync audio later

That’s it for now. You now know some options to get better audio when filming with your DSLR.

Posted in audio, Photography | Tagged , , , , , | Leave a comment

Buch-Review: Continuous Delivery — Der pragmatische Einstieg (Wolff)

Note: Most articles on this blog are in English, but I review books in the language they are written in. I read the german edition of this book, so this article is in German.

Das Buch
Title: Continuous Delivery — Der pragmatische Einstieg
Authors: Wolff, E.
Publisher: dpunkt
Year: 2015
Pages: 253

Meine Beschreibung

Das Buch hält, was der Untertitel verspricht, und gibt eine relativ knappe, und sehr praktisch orientierte Einführung in Continous Delivery (CD). CD ist ein Weiterdenken von Continuous Integration (CI), und es geht darum, nach dem Build von Software (wie bei CI) auch die danach folgende Auslieferung so weit wie möglich zu automatisieren. Das Buch richtet sich dabei an unterschiedliche Leserschaften, denn die Einführung von CD betrifft neben den Entwicklern eben auch die Admins und Operations und natürlich das Management. Es werden also auch zu CD passende Organisationsformen aus Nicht-Programmier-Bereichen angesprochen (Lean Startup, DevOps, etc). Tatsächlich geht es eigentlich gar nicht um Software-Entwicklung im Sinne des Programmierens (bis auf die Tests), sondern hauptsächlich um den Aufbau einer CD-Pipeline. Dabei werden sehr pragmatisch dafür nützliche Softwaretools aufgezählt, verglichen, beschrieben und es werden kurze Übungen vorgeschlagen, mit denen man einen guten Eindruck von den Tools bekommt und sie evaluieren kann. Der Fokus liegt im Bereich Open-Source Tools unter Linux/Unix zum Aufbau einer CD-Pipeline für die Entwicklung von Java EE-Anwendungen. Es werden aber auch kommerzielle closed-source Lösungen vorgestellt, und auch die Möglichkeiten zur Nutzung von PaaS (oder Outsourcing der Hardware in die Cloud) werden diskutiert. Zum Aufbau der Pipeline wird dabei viel auf Virtualisierung gesetzt, und es kommen Tools wie Docker und Vagrant zum Einsatz. Build-Tools wie Ant, Maven und Gradle sowie die Automatisierung von Unit-Tests, Akzeptanztests und Lasttests werden ebenfalls praxisnah besprochen. Außerdem unterschiedliche Strategien zum Deployment von Software und Umgang mit Fehlern dabei, inklusive dem dabei heiklen Thema Datenbanken.

… und mein persönlicher Eindruck

Das Buch ist sehr praxisnah und gut lesbar, und die Tiefe, in der die Tools erklärt werden, ist sehr passend gewählt. Ich verstehe mich hauptsächlich als Software-Entwickler, und habe es aus Interesse von vorne bis hinten in recht kurzer Zeit durchgelesen, würde aber sagen, dass es wohl am wertvollsten für die Leute ist, die die Infrastruktur für die CD-Pipeline wirklich einrichten und warten müssten, also in vielen Fällen wohl eher die Administratoren als die Entwickler. Die Praxis-Vorschläge fand ich exzellent. Das Buch richtet sich dabei recht deutlich an Enterprise-Anwender, und manche der vorgestellten Tools und Techniken sind in kleineren Projekten oder Umgebungen (ich wntwickle Software in einem Arbeitskreis an einer dt. Universität) sicher Overkill, aber trotzdem interessant zu kennen. Nach der Lektüre kenne ich die Tools, und kann ihren Nutzen für mich bewerten, und das war das Ziel. Das Buch hat also meine Erwartungen voll erfüllt.

Was ich daraus gelernt habe

  • CD ist ein Weiterdenken von CI, und setzt darauf, alle Schritte von Build und Deployment zu automatisieren. Wichtig sind insbesondere gute Tests.
  • Dies erlaubt einfaches, schnelles und häufiges Deployment. Das führt dazu, dass neu entwickelte Features schnell in Produktion gebracht werden können, und schnell einen Nutzen und Wert bringen.
  • Ich habe viele gute Automatisierungstools kennengelernt (und kürzlich meinen eigenen Jenkins-CI-Server bei OpenShift in Betrieb genommen)
Posted in IT and computers, Software Design | Tagged , , , , , | Leave a comment