• Fokus

    The Internet rewired my brain and somehow I don’t like that upgrade very much.

    Do you know that reflex? You’re watching a movie and then you grab your phone to have a look at your push messages. And then five to ten minutes later, you do the same thing. And again. And again. And again…

    When I find longerer pieces of text on the web, my first reaction is to hit the instapaper-button, so I can read the text later. Because it’s quite too long for the moment. Of course the chances I’ll read that text later on arent much higher than null percent.

    I realize, that I become tired faster, while reading a book. I prefere scrolling over my twitter timeline and get some small pieces of information. And maybe I find an interessting YouTube video, which I will look at. For about five minutes until something else distracts me.

    Amazingly, I still manage to concetrate on my work for hours. So my brain seems to function as it did years ago in some parts.

    Get back the focus

    I am in rehab. For some days. And I have to confess, I do have relapses again and again. I try to train my brain to resist those „notification reflexes“. I am watching a movie and try not to look at my phone. You won’t belive how hard this is, sometimes!

    One step after another

    Actually it should be pretty ease, shouldn’t it? You do one thing. And just that one thing. But your environment makes that a hard task. The phone is making noices, there is an App jumping up and down the dock. Recently our clocks need attention, too.

    So I questioned myself one thing: How does that help me in any way?

    What benefits do I have from all those push messages on my phone? Am I more informed when I look at my phone while watching a movie?

    The anser is simple: I won’t benefit from that in most cases. As fast as I grab my phone, as fast I forget what I just read. In most cases there is nothing important or urgent.

    So I started looking at things differently. I sit down and let myself be distracted. But I do this deliberately.

    After that, I’ll care about another thing. And just about this single one. I read a text. I write a text. I watch a video. I write code. I chat with somebody. I dring a tea. I eat.

    That’s difficult for me. Very difficult. There is always this reflex of looking at twitter or Instagram. Or opening the messenger-app. But I’ve got the feeling, I’m making progress.

    I am meditatoin for years. But I don’t do it very regular. There are times I do it every day and there are times I don’t do it at all. Nevertheless, that practice helps me. This and the knowledge about what it’s all about: appreciate the moment.

    Admonish the brain

    While meditating, it is not about to sit down and relax. It’s about concentration. You sit down and concentrate on one thing, usually your breath.

    Thoughts will come and go. And as soon as you try to concetrate, you get aware of all those things that have to be done. So the most important ability you have to learn, is creating an awareness of your thoughts. As soon as you can master this, you can start controlling your focus.

    While meditating you’ll concentrate on your breath. As soon as you realize your mind wanders, you’ll try to shift your focus back to the breath. That’s an endless back and forth. While time is passing the gaps between your toughts will become larger.

    This can also be applied to everyday life. The most important ability is to be aware. Whenever you do a thing and realize you brain is getting on a journey, try to focus again on this one thing you do. Reading a book or slicing bread.

    Join me

    I try to adapt to my life, what I’ve learned from meditation. I try to concentrate on one thing. And whenever I realize my thoughts wander, I’ll try to refocus. It said easily, I know, but it is possible!

    I invite you to join my experiment. Maybe you’re like me. So let me know if you progress or when or which problemes occure.

    Read full post
  • How personal may I be here?

    What level of information about my personal life should a weblog like this one contain? Even if this website carries my name, it’s no personal site per definition.

    Sure, one or another article might show some personal stuff, but at first, this is a business site. Clients should be able to know more about me, potential clients should be attracted.

    So, is it appropriate to write about personal stuff?


    I think so. Clients who want to work with me, want to know how I function. What kind of guy am I? Why am I doing this? Do I fit into the clients’ team?

    So I’ll write some personal story now and then, to show my human side.


    What really counts is expertise. The client isn’t interessted in my lunch or if I visited a concert last night. The client wants to know, if I am able to deliver what he is expecting.

    So I’ll limit this blog to technical articles, which show my range of services and how I work.

    The dose makes the poison

    I think both views are comprehensible. And I fear, as so often, „the dose makes the poison“. So I’ll add a dash more „personal“ to this blog. You’ll notice this in the near future.

    And if you want to be one the first to do so, you can subscribe to my newsletter. You’ll get mail about once a week. No spam, of course. Just subscribe below.

    Read full post
  • GitLab, Postgresql and problems on vservers

    After working on a vserver, the little guy needed a reboot. And - who would have thought, after that reboot, GitLab didn’t start correct.

    Without caring about the reasons, I decided to do GitLab a pleasure spending it an update. I should have known better, because I never did an GitLab update without trouble…

    The problem

    Even after the update, GitLab didn’t want to work. A subset of its processes was up and running but navigating to gitlab in my browser, presented me an error 502 and later on an error 500.

    The problem was the combination of postgresql and the vserver, but one step after another:

    Updating GitLab on Ubuntu 14.04

    Let’s start with step one and spend GitLab the latest update. I am using binary Unbuntu packages for some time.

    Only two lines in the terminal, and the everything will be installed rather quickly. It’s a good advice stoping all GitLab instances before sudo service gitlab stop or sudo gitlab-ctl stop, depending on the version.

    Now we can start the installation:

    curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
    sudo apt-get install gitlab-ce

    Don’t be surprised, at first, the gitlab package will be uninstalled. You’ll see a lot of information scrolling along your screen. On my first try, I got an error message, the package couldn’t be installed properly. Don’t ask why, but at my second attempt it worked.

    After the installation we have to reconfigure GitLab to transfer the old settings:

    sudo gitlab-ctl reconfigure

    Done! Or are we?

    Error 502 - Getting Postgresql to work

    After the installation I got an error 502 when looking in the browser. Having a look at gitlab-ctl status told me, everything is fine.

    I didn’t trust the status, so I started the GitLab selftest:

    sudo gitlab-rake gitlab:app:check

    At first everything looked fine, but then the test was aborted due a fatal error. Postgresql couldn’t be accessed because there wasn’t any socket file under tmp. So, to the Googles! I found some advices, one should create symbolic links etc. But then I found the real problem.

    Postgresql, VServer and RAM

    It seems like Postgresql is reserving 25% of the system memory by default. This will probably fail, running on a vserver. Looking at the logfile (/var/log/gitlab/postgresql/current) confirmed this theory.

    GitLab comes with its own instance of Postgresql and so it also have an own config, which is included in the main GitLab config at /etc/gitlab/gitlab.rb.

    Depending on the documentation of GitLab you have to set postgresql['shared_buffers'] = "100MB". I did, but Postgresql didn’t care. The logs said something about shmmax. So I searched within the config and found something. I set the value down to: postgresql['shmmax'] = 10179869184

    After changes on that config, you have to reconfigure GitLab:

    sudo gitlab-ctl reconfigure

    After that I restarted Gitlab, too, just to make sure Postgresql gets the changes.

    sudo gitlab-ctl restart

    And here we are! A socket file at /tmp. Hurray! Launching my browser, heading towards GitLab… and… Error 500. Great.

    Error 500

    Because everything was up and running I started the selftest again, hoping I will get some more information this time.

    sudo gitlab-rake gitlab:app:check

    And tada! The datebase has to be migrated.

    sudo gitlab-rake db:migrate RAILS_ENV=production

    Running the test again confirms: everything is find. So let’s restart GitLab again:

    sudo gitlab-ctl restart

    Starting the browser and we’ll see a beautiful login screen. Nice! We can also use git to push and pull.

    Let’s hope the next update will be easier.


    After restarting the server, the problem occured again. Great. This Blogpost helped.




    Read full post
  • Kirby Podcast Plugin

    I mentioned it one time or another, I am currently working on a little podcast show. For that, I wrote a plugin for my favorite CMS, Kirby.

    Well, at first I decided to quickly set up a WordPress site and install a podcast plugin, to get the thing up and running fast.

    But then I decided not to do so. The theme I bought wasn’t compatible with the podcast plugin and a lot of new security issues spoke against a quick and carefree WordPress Podcast setup.

    So I switched to Kirby and started building a theme. I don’t want to do much work on the site at the current time. The most important thing is the podcast. And most of the people will subscribe to it using their favorite podcast client.

    Anyway, something really important was missing. An appropriate RSS-feed containing all the necessary fields for iTunes and the other clients around. Using just a standard RSS-feed won’t work.

    So I sat down and started writing a plugin. The plugin serves a RSS-feed, in the form I need it for iTunes. And it analyzes all MP3-files I uploaded to the post. So duration and size will be determined and transfered to iTunes.

    I set up a page for the plugin and put the sources on GitHub. So, if you like to use Kirby as your CMS for your podcast, go ahead and grab the plugin.

    Oh btw, I hope the new site of my podcast will be only soon. Although it will be german only, sorry.

    Read full post
  • Sublime Text for JavaScript developers

    I’ve been searching for some time now, to find the best Sublime Text plugins which help me write JavaScript code. And it seems like I’ve found a good combination.

    JavaScript Ultimate

    JavaScript Ultimate is the heart of my setup. It comes with an outstanding autocomplete for functions and variables. This plugin is an extended language definition, so it replaces the JavaScript language definition comming with sublime.

    Get the Plugin

    Go To Definition

    You can easily jump to a definition of a function or anything else within Sublime Text, by pressing cmd+r and starting to type. Or you can choose an entry from the list.

    Go To Definition makes it even more simpler. Just put your cursor on a function-call and press alt+g. The plugin will now jump to the related function/method. The best thing is, this works cross-file.

    Get the Plugin

    JavaScript Snippets

    The name should speak for itself. It is a collection of usefull JavaScript snippets. Very helpful.

    Get the Plugin


    I like my code to be in shape. So Alignment is mandatory for me. Marked sections will be aligned, like so:

    hallo: welt,
    hallihallo: universum

    will become:

            hallo     : welt,
            hallihallo: universum

    Get the Plugin

    Bracket Highlighter

    The Bracket Highlighter helps you get a better overview. It works with a lot of languages and shows code blocks next to the line numbers.

    Get the Plugin

    Sublime Linter

    Sublime Linter by itself doesn’t do a lot. You’ll need some other plugins. I use JSHint and Annotations.

    If you’re writing JavaScript code, you should know JSHint. This linter shows errors and warnings right when I make them. You can configure JSHint being more or less strict. In case of JSHint you’ll need the binaries, which you have to install by yourself, because the plugin comes without them.

    Annotation helps me getting an overview of all my TODOs and stuff like that. It marks comments containing certain words, which you can freely define. Those can be marked as a warning or error. And you can even get a cross-file-report, if you like.

    Get the Plugin
    Plugins for Sublime Linter


    I am quite happy with my current setup. Especially with the autocomplete. Try it out and let me know, if you know other plugins I have to look at.

    I’ve some more plugins doing some work for me, which you can find in my older posts.

    Read full post