Learning a new programming language can be hard. However, learning idiomatic JavaScript is not if you're already a Clojure developer. In fact, this statement could be extended to say that JavaScript will be rather easy to pick up for many developers that are knowledgeable in a functional programming language.

Generally speaking, functional programming can be boiled down to the idiom that you write your programs through intense usage of a few versatile data structures and many composable functions. Clojure is such a language. JavaScript initially was created with Scheme and Self in mind, therefore it supports both the paradigms...

  • clojure
  • clojure
  • javascript
  • programming

This is a talk Alain gave at the Web Zueri Meetup in Zurich, Switzerland on July 24, 2018.

The complexity of software is growing at an exponential rate. The biggest challenge is the growing complexity of dynamic state which makes it hard to reason about a system. There are many paradigms aiming to ease the situation. To reduce incidental complexity "Functional Programming" and "Code Hot-Reloading" have become much talked about topics in the web development community.

In this talk, Alain shows how to supercharge your development setup with true code hot-reloading in a truly functional programming language.

Please find the slides and...

  • clojure
  • 200ok
  • talk
  • clojure
  • clojurescript
  • functional programming

I personally work a lot with Orgmode, but collaborate on bigger projects with other people through proprietary tools. Some of them are very good for collaboration like Pivotal Tracker. So it totally makes sense to use them in heterogeneous teams! In fact, very often it is me introducing them into the team.

However, for my workflow (which is based on GTD) it is important to know that I have all my pending tasks visible in one place. In fact, that's one of the great features of Orgmode - I have my meeting minutes, tasks with links to resources like mails, time...

  • orgmode
  • emacs
  • tooling
  • productivity
  • tracker2pivotal

Über die letzten drei Tage haben wir ein wunderbar sonniges Code Retreat mit dem Team unseres Inkubators QuickShift in Ronco, Italien geniessen können.

Im Freien entwickelt es sich am Besten!

Feinster italienischer Kafi macht gute Stimmung.

Vom Retreat Haus hat es einen wunderbaren Ausblick auf den Lago Maggiore

Von Business-Entscheidungen hin zu Architektur und Entwicklung - alle sind konzentriert an der Arbeit!

Frühaufsteher bekommen jeden Morgen ein wunderbares Spektakel geschenkt.


QuickShift ist der automatische Einsatzplaner, der...

  • 200ok
  • quickshift
  • code retreat

If you recently upgraded the Slack Desktop App on Debian and now are wondering what happened to your automatic HiDPI recognition: Don't worry any further. It's a little peculiar, since this regression doesn't seem to be well documented on the net. However, the solution is easy. Slack on the Desktop is an Electron app - therefore it generally supports the same flags that other Electon Apps (like Spotify) support and Electron has a flag since 2014 --force-device-scale-factor. On my Macbook Pro, I'm using a scale-factor of 1.5.

Here's a little convenience wrapper around the slack binary to always start Slack...

  • debian
  • slack
  • electron
  • hidpi
  • spotify

TL;DR The following snippet added to you ~/.zshrc will recognize project folders you changed to, so that when you create new shells (i.e. through opening a terminal) it changes to the last used project automatically. Please find the complete snippet at the end of this post.

Some projects have a lot of processes. While there are tools for orchestrating the startup of applications that require multiple processes, sometimes it just more convenient to open terminals for each of those processes. But having opened multiple terminals, it would be cumbersome to have to change to the project's directory on each of those...

  • tricks
  • linux
  • console
  • cli
  • terminal
  • shell
  • zsh

Lean back and relax while enjoying a deep dive into the wonderful world of the Emacs editor. Emacs renaissance came with the advent of Clojure and undoubtedly is the most popular editor among Clojurians today. Of course there is a lot more you can do with Emacs, but much like playing an instrument, great skill only comes with practice.

You neither need to be an Emacs user nor a Clojure Programmer and neither do you need to contemplate about becoming one either to enjoy this talk. Much like you don't become a professional musician by attending a concert, but it might...

  • Emacs
  • talks
  • 200ok
  • clojure
  • elisp
  • ruby
  • javascript

Erste Einsatzpläne mit QuickShift

QuickShift Logo

Die Entwicklung von QuickShift schreitet weiter voran. Wir freuen uns, mitteilen zu können, dass wir mit dem ersten Gastro-Unternehmen den Betrieb aufnehmen! Das Grübeln über Einsatzpläne kann auch bei Ihnen bald ein Ende haben. Im Verlaufe des Jahres werden wir immer mehr Betriebe aufnehmen. Wir würden uns freuen, wenn auch Ihr Betrieb diese Gelegenheit am Schopf packt!

Jedes Gastro-Unternehmen ist individuell

Gewisse Bedingungen bei der Erstellung von Einsatzplänen sind für alle Betriebe gleich. Dazu zählt beispielsweise das Einhalten der LGAV-Bedingungen. Auch versuchen die meisten Betriebe...

  • 200ok
  • incubators
  • quickshift

Testing deserves and requires it's own spot in the development plan. It is understandable to only plan ahead sparingly, because many developers dislike testing. They tend to test gently, subconsciously knowing where the code will break and avoiding the weak spots. However, with the proper training and setup, you can find your bugs now and not later.

Finding bugs is somewhat like fishing with a net. At 200ok, we use fine, small nets (unit tests) to catch small fish, and big, coarse nets (integration tests) to catch the killer sharks.

We encourage you to start testing as soon as you have code.


Generally speaking, Linux tooling support is pretty great these days. I'm running Debian Stable on a Macbook Pro (MBP) and couldn't be happier. Most things just work as expected.

Apart from a few tiny things here and there. One of them is the ability to adjust brightness. The standard way for many window managers (WM) is to defer that functionality to xbacklight. However, this doesn't work on the MBP.