Weeknotes

Weeknote 37/2021

A big chunk of my work time in recent weeks has been going into getting Netdata set up to monitor our server fleet. Where we already have it in place, it’s an amazing help in investigating resources issues and bottlenecks. I’m looking forward to getting alerts about issues that might occur soon. Well, I don’t look forward to getting alerts, but I’d rather be alerted about risks when they’re building up than when they already hit. And that’s what Netdata is going to make possible by extrapolating historic data.

I’ve finally managed to make the continuous integration process for our Chef cookbooks reliable by switching from Docker to VirtualBox. Before, we tried to run our tests in Docker, and that failed far too many times because of issues with iptables, systemd and similar system-level components. To be precise, we still use the Gitlab runner for Docker, but I’ve built a custom Docker image that allows test-kitchen to use VirtualBox VMs just like our development machines.

The Windows laptop that replaced my iMac works beautifully for both work and gaming but is far too heavy to lug around except for longer vacations. That’s why I got myself a lightweight companion in the Schenker VISION 14. I wanted to run it with Linux but was disappointed that that’s only possible with firmware that TUXEDO Computers keeps for themselves. I installed the Windows 11 beta instead and was again pleasantly surprised.

Despite, or maybe because of, all these accomplishments, I felt quite drained from Wednesday on. That’s why I skipped my live streams on Wednesday and Friday. I was able to recover nicely over the weekend, so I’m going to do my work in the public later today again.

Weeknote 34/2021

I’ve just returned from our summer vacation. I spent two weeks visiting friends and family in Germany; my wife and kids are staying for one week more. On one hand, it’s always nice to see people again. On the other hand, I spent even more time in between get-togethers alone in our guest room than I usually do to recharge my introvert batteries because of the ongoing pandemic and the dubious behaviour of so many people. I’m longing for a future in which I don’t have to fear for my health anymore while travelling.

Looks like the rest of this weeknote is going to be about new shiny things!

New types

I’ve been into mechanical keyboards for decades but I didn’t start really getting into custom keyboards until 2019. I started taking part in group buys where everyone chips in in advance to get a specific keyboard case or keycap set manufactured, but then COVID disrupted everything. To illustrate this point: Just recently, I received a keycap set that I ordered back in February 2020!

In the last few weeks, I got to build three new keyboards:

  • The M0lly is a design replica of the classic Apple M0110A keyboard of the Macintosh Plus. It has a 60% layout plus a separate numpad. This keyboard is quite the chonker and weighs in just below 4 kg fully built!
  • The Grid650 is a 65% keyboard that has a replaceable front module with many fun options. I built it plateless, which means that the key switches are only held by their solder joints in the PCB. I still managed to get all switches aligned properly except one that I’ll fix at a later time.
  • The Corne is a split ergonomic keyboard in a 3x6+3 layout, meaning each half has 3 rows with 6 columns of keys plus 3 thumb keys at bottom. Its standout feature, apart from colourful RGB lighting, is the two tiny OLED screens that can be programmed in the keyboard’s firmware.

Even though they’re very different, I like all three keyboards. Not only do they all have pretty high quality, I also picked the right key switches for myself. M0lly and Corne have Zealio v2 switches with 68g springs, the Grid650 is built with Boba U4 with 62g springs. Looks like I like tactile switches over the linear ones I tried back when Novelkeys Cream switches became all the rage. And all three keyboards run on the open-source firmware QMK that allows me to customise their behaviour to my individual preferences.

For example, by programming a “leader key”, I can enter German umlauts easily. I press the leader key, followed quickly by the letter (a, o, u) whose umlaut I want; once for lower case, twice for upper case. (I’m probably going to write a separate article on this topic.)

(Almost) feels like paper

I’m clearly late to the game in that I recently applied a Paperlike screen protector to my iPad Pro. It definitely makes using the Apple Pencil a better haptic experience, but I don’t get to use it much. Still, the matte and slightly rough texture of the surface makes the iPad screen easier to view in different lighting.

A broader view

My company’s fiscal year ended in July and we had a bit of money left, so I got to purchase a new monitor. Up until now, I was using my 10 year-old Apple Cinema Display with my Windows laptop. The monitor still works okay, I don’t really mind that it isn’t a Retina screen. But it gives off a lot of heat and doesn’t have any manual controls for brightness and contrast, not even an On/Off switch. It was built to run with a Mac, after all. So I treated myself with an Alienware AW3820 34” ultrawide monitor. It floats above my desk on an Amazon Basics monitor arm. With its resolution of 3440x1440, I chose screen real estate over pixel density. And with all this space I have now, the Fancy Zones feature of Windows Power Toys (window management similar to macOS tools like Moom) can really shine. It’s great!

For live-coding on Twitch, I was able to segregate a 1920x1080 region on my screen that I share with my viewers, and there is still enough room left on the screen for my streaming applications. There are now very few occasions when I have to turn my head to the laptop screen on the side (also on a monitor arm). I feel like I’ve pretty much reached perfection in terms of an ergonomic and productive workplace.

Weeknote W5 2021

To tile or not to tile

Looking at Twitch streams and Youtube videos around Linux, it seemed to me that everyone was into tiling window managers. This week, I decided to finally try this approach of filling and subdividing the whole screen area. On macOS, I installed yabai, and on Linux (more on that below), I chose the popular i3.

After a few days of the tiling life, my conclusion is that I don’t see much benefit in forcing my application windows to fill up all the available screen real estate. Maybe it’s because I already have a habit of tiling my windows manually – when it makes sense. However, often it just doesn’t make sense. Some windows really don’t like to be squeezed into a tiny space, and even on a 13” screen, a full-size terminal window isn’t of much use to me. I’ll keep my windows floating. If I really want to tile them, there’s always BetterTouchTool.

Linux on Apple hardware

Another item of curiosity this week (is this some kind of lockdown syndrome?) was if 2021 could be the year of Linux on the Desktop for me. While I still enjoy the stability and user-friendliness of the macOS ecosystem, some of its constraints do annoy me from time to time. I have an unused Macbook Pro 13” from 2015, and it’s now running Ubuntu 20.04. My go-to applications like Brave, VS Code and Obsidian worked fine out of the box. But when it came to more specialised use cases, I quickly realised how much macOS spoils me with its choice of well-polished applications.

Maybe I will pursue a “best of both worlds” approach, where I do my management work on the Mac and my DevOps work on Linux. That is, if the hardware issues that drove me into Apple’s arms more than a decade ago don’t spoil it for me again. For example, there’s a 50:50 chance that after powering up the laptop, Bluetooth doesn’t work, preventing me from using a proper mouse and keyboard. Sigh.

Weeknote W2 2021

Re-launching my live stream

This week, I started live coding on Twitch again. I had planned to get going on Tuesday but didn’t have the energy; more on this later. On Thursday, I was ready to launch. It took only a few minutes of being online until many familiar names started popping up in chat. It felt so good. This year, I’m trying a different strategy. I’m going to focus on an area in which I have lots of experience: IT training, starting with a Ruby course. In simple terms, it’ll work like a book club where the participants work through a chapter of the training material, and we’ll talk it through on a weekly basis. I’m excited to see how it goes!

VS Code dev containers

Until now, I didn’t need a dedicated website for my live coding stream. I simply referred people to my personal blog. But with the Ruby course coming up, I need to have a permanent space where people find information. As always, I’m going to use Jekyll to build the site for FullStackLive.

I’ve been using Docker to run test instances of my Ruby projects for a long time because it makes separating their resources (the app, its database, other services…) so much easier. However, I always used scripts to interact with the containers. This time, I wanted to try a closer integration with my coding tools and set up a VS Code dev container. Thanks to Microsoft providing a big library of pre-built language images, setting up a dev container for Ruby development was painless. However, I had to invest a bit more time to get my dotfiles installed automatically after I realised that I didn’t have any of my familiar commands and shell aliases available inside the dev container. I’m happy with the result and am looking forward to build a more complex setup for Rails development.

Over-hyper-scheduling

In weeknote W1, I explained how I’m using the Sorted app for time-boxing my daily work. It’s helping me a lot to keep my focus on what I want to get done. Its auto-scheduling feature also is a great reality check that prevents me from expecting too much from the time I have available in between calendar events.

Where I took a wrong turn was when I added time tracking to mix. I had discovered the Session app that comes with my Setapp subscription and thought that it would increase my focus even more, and on the other hand make sure that I took frequent breaks as well. What happened instead was that I started to feel burnt out. That’s why I didn’t start streaming on Tuesday. I think that there were multiple reasons for this energy drain:

  • The Pomodoro periods in Session didn’t align well with my task slots in Sorted that are usually multiples of 30 minutes.
  • Getting interrupted every 25 minutes kept me from getting into a flow state.
  • I often ended up ignoring the timer completely, leaving me with frustratingly few tasks actually tracked.

This is not the first time that a new tool created more frustration instead of more productivity. Sorted stays, Session goes. I’m a slow learner sometimes.

Weeknote W1 2021

It's the new year, and look, already COVID-19 is not dominating the headlines anymore! 😆😭

This week, I've started to use my home office for work again, not only for fighting bosses in Castle Nathria.

Getting myself Sorted

Back in October, I mentioned that I was using TickTick for time-boxing my work. Since I didn't like the apps's UI, I returned to using Things for tracking my tasks, and manually blocked time slots for each of them in my calendar. In his recent newsletter, David Sparks mentioned the app Sorted, and for me it hits the sweet spot in terms of design and functionality. What I enjoy the most is its auto-scheduling feature which allows me to quickly recover from unplanned work or getting distracted. It assigns new time slots to my remaining tasks and shows me the fallout of what needs to be pushed to another day.

My modifiers went home

Inspired by t00mietum's keyboard layout, I gave "home row mods" another try. The home row is the row of keys where the fingers rest on ASDF and JKL;. "Home row mods" is a keyboard layout hack that puts the modifier keys (e.g. Shift, Control) on the home row. This is made possible by using the "mod tap" feature available in firmware like QMK where quickly tapping a key will trigger its usual function, but holding it will turn it into a modifier. For example, holding "D" now functions as my Shift key, and for symmetry, holding "K" does the same. First, this improves ergonomics: Having to stretch out my fingers less, especially the pinkies, feels substantially more comfortable. I'm actually using my new right Shift key for a change! Second, it frees up all thumb keys of my Lily58 for layer switching. I even put numbers and symbols on their own layers. Having a virtual numpad on the right hand side makes entering numbers easier than reaching up with both hands. My next split keyboard will not even have a number row anymore.

Coming up

Due to the exploding infection numbers in Ireland, the kids will not return to school on Monday, so that's going to be interesting. I'm going to pick up live streaming again -- with a new strategy.

Weeknote 50/2020

Taking notes

Writing my weeknotes will be easier from now on.

It makes me terribly sad that I didn’t learn to take proper notes decades ago. If there’s one thing the current note-taking craze has finally taught me, it’s this: If you want to get value from your notes collection, you need to be able to easily retrieve and process information when you need it. My previous attempts, however, were nothing but Write-Only Memory.

Things are looking much better since I’ve started using Obsidian. I’m even publishing my knowledge notes in the hope that they can be of value for others, too.

I’ve adopted the method of creating “daily notes” that serve as a daily anchor and link to the other notes that were created or relevant on that day. Each daily note has sections for accomplishments, highlights, disappointments and learnings. Now, all it takes to write my weeknote is summarise my daily notes of the past week.

DrupalCon Europe

Last week, DrupalCon Europe took place, not in Barcelona but on the OnAir online platform. I had blocked my calendar from Tuesday to Thursday to watch talks, and some of them inspired me to dive deeper on their topics. I wasn’t in a mood to do smalltalk in the “virtual hallway track” but I intend to do so next time I’m attending an online conference. I’m undecided if not having to travel was a plus or a minus.

Shell games

Discovering the spaceship zsh prompt plugin (and subsequently the zplug plugin manager) allowed me to simplify my dotfiles and shell setup.

Weeknote 42/2020

Going Marie Kondo on my desk – My desk sparks joy in me. That’s because I was able to give my IKEA BEKANT a new lease on life. More than a year ago, it lost its standing desk function because suddenly the motor wouldn’t lift the top more than a centimetre before giving up. I found out that this was a common issue caused by a faulty power supply. After filing a warranty case, it took many months and repeated phone calls to get a replacement unit delivered, but a few days ago, it finally arrived. When I installed it, seeing the messy underside of my desk sent me on a cable management quest. Using cable ties, velcro and double-sided pads, I was able to tidy up the rat’s nest of power and USB cables nicely. Fixing a power bar with USB charging ports to the underside of the desk substantially reduced the number of cables going down to the floor. Not only is the desk now a joy to look at, raising it also doesn’t pull a whole power bar off the ground anymore.

Checking off tasks with TickTick – Its growing popularity brought the Ticktick app to my attention. It aims at combining the two most important productivity tools, the to-do list and the calendar. Other than HourStack and TimeHero, two similar web applications I tried in the past, TickTick is a native app for Mac and iOS. I’m still a fan of time-boxing my work, and my home-grown solution that I built in Notion falls short in calendar integration. I’ve decided to give TickTick a try for my daily focus work. For my long-term strategic direction, I’ll keep tracking goals and outcomes in Notion.

I have a new type – Just like Steven Waterman, I fell Down the ergonomic keyboard rabbit hole. His description of how he gradually switched to a more ergonomic multi-layer keyboard layout is written and illustrated hilariously. But there’s also a serious health aspect behind the gadget mania. I’ve come to very similar conclusions recently that led me to split ortholinear keyboards. I’ve also adopted the Colemak keymap. I’m going to sell most of my keyboards that have the traditional row-staggered key layout because regardless of their build quality, they just can’t compete when it comes to long-term health benefits.

Weeknote 31/2020

My second week off work is coming to an end. I’m not sad; actually yesterday I started missing work. Thanks to my business partner manning the fort, I got to really switch off and recharge my batteries. Last week, my family and I spent a few days at a Slieve Aughty, an eco-friendly equestrian and activity leisure centre near Galway. Mere minutes before leaving, my daughter broke her arm; not by falling off a horse but by jumping off a swing. She wears her cast like a badge of honour, so it’s all good.

After coming back home, I decided to get back into live coding on Twitch. Feels good. Before, Imposter Syndrome had made me question if I really should sit in front of a camera when other streamers who are completely new to software development easily reach multiples of my viewer numbers. I’m incredibly grateful that my viewers were quick to reassure me that I’m providing them with real value. So instead of stupidly comparing myself with others, I’m looking forward to my upcoming streams.

My next few streams might suffer a little in terms of speed because a change of keyboard layout is going to keep messing with my brain. When I realised that my new split ortholinear Lily58 keyboard feels so much nicer than all the traditionally configured boards I had used before even though it’s nothing fancy in terms of materials, it brought up the question if switching from the QWERTY layout to something more modern would improve my typing experience even more. For about two weeks, I’ve been trying out the Colemak layout now (in particular, its mod-DHm variant), and I’m convinced it’s much more ergonomic. And I hope that over time, I’ll also regain a somewhat decent typing speed.

Now school has started again for our kids. My daughter has an enviably soft start into secondary school with only two hours of class so far just to see the new environment. The precautions against infection the school is taking are quite okay, so we’re happy to send her there. Not quite so with our second-grader. At his age, masks aren’t mandatory and there’s also only a 1m distance rule in place. At the moment, we’re not comfortable with this level of risk management and have decided to teach him at home, similar to before the holidays. Fortunately, the school is going to support our approach at least for a few weeks with materials and regular check-ins.

Adaptation is undoubtedly the skill of the year.

Weeknote 20/2020

Back in Azeroth I will certainly not remember the current World of Warcraft expansion “Battle for Azeroth” as my favourite one. After months of frustration with its storytelling, I stopped playing in February. I didn’t expect my exodus to last only three months, but I also didn’t anticipate that I’d be stuck at home for an eternity. So this week, I converted some of my in-game gold into play time and took my Tauren druid out of cold storage. With lowered expectations.

Wait, mouse buttons are cool? I’m a keyboard person. In the last few weeks, I’ve even put in extra effort to memorise as many useful keyboard shortcuts as possible. But plugging in my gaming mouse again gave me the idea to put its 12 side buttons to use in my work applications as well. So I went and mapped the keyboard combos I use most to the available extra buttons on my mice and trackballs (between which I rotate occasionally). Instead of running multiple ugly vendor applications like Razer Synapse and Logitech Options, I’m using Steermouse which I had already licensed for my Elecom trackball. I still try to keep my hands on the keyboard as much as possible, but when I do reach for the mouse, I can now make the most of it.

Goals for direction, time boxing for pace After discovering two weeks ago that a project had dropped off my radar, I made it my main priority to finally ship it. I put the project on my short-term goals list that I reference every morning. This kept it in my crosshairs. And every day, I reserved time for it in my calendar. That made sure I made continuous progress. This week, I deployed to production and published both the documentation update and the announcement blog post. It was a great feeling of achievement. Just like the great John “Hannibal” Smith, I love it when a plan comes together.

Weeknote 13/2020

Learning JavaScript

While I’ve learned more than a dozen different programming languages in my three decades of using computers, I’ve been focusing on Ruby for the last one. At my company, we automate our hosting infrastructure with Chef, we build our websites with Rails or Jekyll, and even for more complex command line scripts, Ruby has replaced Bash for us. But lately, I’ve actually added another programming language to my roster that I wanted to learn for years: Javascript. With StimulusJS, it was really easy to add a bit of client-side logic to our hosting dashboard. There’s a lot to learn and I’m really looking forward to doing more frontend development!

Icons for everything

Talking about frontend: Iconography is an important part of every user interface nowadays. Of course, the internet offers endless supply of icons but many of these collections are of low quality, have unclear licensing policies or are of a quality that doesn’t justify their price. Discovering the Noun Project has solved this problem for me completely. I’ve started using their icons on web sites, in my talk slides and even to give my Stream Deck a more consistent look:

Stream Deck

Live stream for remote workers

With so many more people now working from home (and struggling with the change), I thought I’d share my 10 years of experience with remote work. I’ve started doing a 30-minute live stream over on my live coding channel every morning at 9:30am (10:30 on the continent) where I chat with viewers about how to make remote work… work. The stream is titled “The Daily Bootup”. How about you join me Monday morning and we start the day together? Simply click “Follow” to get a notification when we start!

Weeknote 8/2020

As I’m pretty much Epoch years old, I celebrated a special birthday this week. It’s interesting in this context that my interest in historic computer systems has never been higher. I want that PiDP11 so hard. I’ve just applied for a hobbyist OpenVMS license. And on my live stream today, I installed the ancient Unix V7 from a virtual tape.

I mentioned in my last weeknote that I was trying out Brain.fm to put focus-improving background noise into my head. During one of my uses, its selection page for choosing a style of music made me remember another familiar page: the “Music” page that Calm added to their mindfulness app last year (I think?). While I’ve been using Calm for meditation for years, I’ve been using its music feature only for falling asleep easier. But since there’s also a “Focus” section, I won’t need to add another music app to my already long list of subscriptions.

That list still did get a new entry recently, though. Despite the fact that I’m fortunate in that I don’t have to schedule many meetings and calls, my calendar is one of my most important productivity tools. Most of the entries there are appointments with myself that I schedule every morning. By time-boxing my most important tasks for the day, I make sure that I actually have the time to get them done. That’s why I’m among the first subscribers of Fantastical 3 Premium, my calendar app of choice on all my devices.

My usual table at Starbucks where I sit to plan my day in the morning has a raised platform in the middle. Because of its more ergonomic height, it’s the ideal place for my iPad. The downside: It makes touching the screen inconvenient because I have to lean in and reach out with my arm. Even though there are people who started using a mouse as soon as iPadOS 13 came out, I dismissed the iPad’s mouse support because it was “only an accessibility feature”. Now that I finally decided to try connecting a Logitech Master Anywhere mouse, I am wondering how many times my “doing it the proper way” has been getting in the way of actual improvement already. Setting up the mouse (with all its 5 buttons, no driver installation necessary) took 2 minutes and it’s working perfectly. I can tap things easily, and with just a single click, I can go back to the home screen, switch to a different app or display the control center. With the iPad, the Happy Hacking Keyboard and the new mouse, I think I’ve found my mobile work endgame.

Weeknote 4/2020

In my experience, the value of getting enough sleep can not be overstated. I feel like I got more work done on Tuesday alone than in the entire previous week. And the main difference was that I started last week already tired and didn’t get enough rest to change my state until the weekend. I highly recommend the Focused podcast on this topic. Apart from discussing sleep schedules and good tactics, it also briefly mentions taking sleep headphones on trips. I have some of these in my nightstand but it never occurred to me that they could save me from lying in a hotel bed frustrated by noise outside again.

And on the topic of focus, I’m trying out two apps that might help me maintain it: One is Freedom for making sure my Pomorodo sessions are distraction-free, and the other is Brain.fm for creating a neutral work soundtrack.

After two weeks with the HHKB Hybrid, I can report that it’s a great travel keyboard. Typing feel and sound is excellent, and its weight and plastic cover make it very portable.

My live coding stream is jugging along nicely. Having scheduled broadcasting times has put me into a steady pace of freistilbox dashboard development. Finishing at least one issue queue item each session is very satisfying. I also enjoy being a member of the burgeoning Live Coders community. It’s a small but diverse bunch of people who have visible fun sharing their expertise and helping each other. I’m looking forward to my next session this afternoon!

Weeknote 3/2020

Lack of sleep was the theme that ran through this week. For various reasons, I didn’t get into bed early enough a single night. The immediate result of not having slept enough for me is a lack of focus. Even while writing this, I’m getting distracted by watching flocks of birds in the sky through my office window. I’ve successfully established my work routine after coming back from the holidays. I’ve also started a writing routine this week. Now it’s time to get back into a sleep routine.

The writing routine I’ve just mentioned is related to a goal I’ve set myself for this year: I want to write a beginners course for Ruby programmers with an accompanying video series. Having written a Perl programming book back in the day, I know that I have the necessary skills. But I also know how much time it takes to write a whole book. Therefore, what will make or break this project is taking the time to write. By scheduling writing time every time I plan my day in the morning, I’ve accomplished a few hours of writing this week already. It’s a good start, and it’s how I’d like to continue. If you’d like to follow along, I’m going to publish preliminary versions of the book on LeanPub and I’ll post a link here.

On the keyboard building side of things, I’ve finally received the HS60 PCB I had pre-ordered in September. I was pleasantly surprised by how well it was packaged. After all, unboxing stuff that is broken because of its flimsy packaging isn’t unknown to me. Unfortunately, the PCB is defective nonetheless. A few hours after taking delivery, I received an email apologising for a manufacturing error. A diode had been soldered on the wrong way, which renders the connected key switch unresponsive. Since the email also said that it’s okay if I try to resolve the issue myself (I can get a replacement in any case), I’m going to take a stab at replacing an SMD diode the size of a pin head this weekend. It’ll be a challenge for my shaking hands and deteriorating eyesight, but I do love challenges! Mad props to Mechboards for both their careful packaging and their transparent and hobbyist-friendly issue resolution!

Weeknote 2/2020

Happy New Year! I’m back from my holiday break. We spent Christmas at home and had my brother-in-law flown over. Of course, as soon as I left the office on my last work day, a cold knocked me right out and I spent most of the time until Christmas Day in bed. The next day, we went to Germany to visit family. I’m happy to report that we had a very relaxed stay.

I’m glad to be back at work. Wednesday was my first day in the (home) office. During my two-week break, I had time to develop new ideas and I’m eager to get started implementing them. I was also excited to get back into live coding. Sadly, my first stream of the year didn’t yield too many results, but I guess I should cut myself some slack; it’ll take a bit of time to get my head back into the game. Skipping lunch wasn’t the best idea either, I guess…

Generally, I wasn’t too productive over my first three work days. I got distracted too quickly too many times. I’m going to consider this my warm-up phase. Next week, I’ll build myself a better basis for getting shit done by getting back into a routine of setting myself concrete goals. I’ve also realised that deadlines create accountability and focus. Perhaps it’s time to pull this SMART method out of the drawer!

On the hobby front, it’s all good. I’ve joined a new World of Warcraft guild a few weeks ago and did a great dungeon run with my new buddies last night. And typing this post, I’m enjoying the “good feeling of oneness with cup rubber”; in other words, I’ve added an original Happy Hacking Keyboard (the new Hybrid model) to my collection.

I hope you had a pleasant start into 2020, too!

Weeknote 50/2019

It is true what they say about growing an audience: You have to show up regularly and in a predictable manner. Only after I settled on a consistent schedule, the number of viewers of my Ruby on Rails live coding stream has been increasing steadily. What makes me especially happy is that this makes the live chat more interesting. I’ll admit that I also had fun turning my home office into a little studio with proper lighting and two cameras. Come join me on Twitch on Tuesdays, Fridays and Saturdays at 4pm Irish time, and say “Hi!”

On my stream, I was struggling with finding a good place for some authorisation logic for more than two weeks. I finally realised that it needed its own object class. How I was missing that simple option for all this time is a mystery (and a bit of a shock) to me. I can only assume that it was part lack of OOD experience and part framework tunnel vision. But hey, just another reason to keep on truckin’!

On the keyboard front, I’ve lately been using Kailh Box Pink switches in a 60% Tofu aluminium case with HHKB layout. I really like the clicky and thocky sound, and the HHKB layout (which resembles the classic Sun Type 3 keyboard) makes coding more comfortable.

For 2020, I’ve set myself the goal of learning Javascript. I’ll use the year-end break to work through Wes Bos’ “Beginner Javascript” video course.

Weeknote 46/2019

I use to say that the weather in Ireland is much better than its reputation. But this week, it’s been really, really terrible.

I had this week off and mostly did what I felt like doing. The phrase “Right. Next, I’ll have to…” is how I put pressure on myself. And, as I’ve explained in my talk about resilience at DrupalCon, pressure can slowly turn into burnout. That’s why avoiding “I have to” and not trying to accomplish anything is actually good for me.

Speaking of my resilience talk: This week, I was invited to give my presentation via Zoom to the Drupal Scotland groups in Edinburgh and Dundee. I’m really happy with the outcome and I hope I was able to inspire more people to stop and correct course towards better mental health.

I ended my holiday week somewhat early by doing a pair programming session with Markus on Friday morning. I’m pretty sure we both felt that it was time to work on something as a team again. A “want to”, not a “have to”.

My Bose QC25 headphones got a Bluetooth upgrade and it’s glorious. I’ll write a separate post just on this.

Man, these unknown unknowns. I had no idea of the capabilities my iPad Pro got with its latest upgrade until I watched Christopher Lawley’s iPadOS video.

Weeknote 45/2019

Joining the IndieWeb

After hearing and ignoring the term many times over the years, I finally got the importance of the IndieWeb movement. Which information we find on the web and how others find the information we put on it should not depend on the goodwill of mega-corporations and algorithms. Huh, that sounds quite cyberpunk; maybe it was my recently rekindled interest in Shadowrun helped the coin to drop for me. But it was Tantek Çelic’s talk “Take Back Your Web” that pushed me over. I’ve already left Facebook a while ago and (obviously) revived my own blog. Even though I now wanted to integrate it with others using modern standards like webmention.io and microformats2, I felt I’d rather spend my time writing. That’s why I decided to save time and move my blog to the micro.blog platform. I used this opportunity to give my blog the simpler domain name “geewiz.dev”. Welcome to my new digs!

Writing workflow update

I’m now using Drafts not only for short notes but also for writing posts, email and other text. Most texts start as a quick brain dump of only a few keywords. When I get to write, I flesh them out more and more. When a text has matured enough, I copy it to its final destination such as a Jekyll git repository, the micro.blog web form or my email application. After a few finishing touches, I publish the content. Simple.

Weeknote 44/2019

I haven’t written any weeknotes lately, so let’s catch up with things.

In my old office box, I found the old HP 28S calculator that I bought in 1991 and that converted me to RPN for life. It still works, despite one of the batteries I stupidly left in having leaked a bit. I wish I had more math to do at work because I’d love to use the this nice piece of hardware some more again.

The upgrade of my iPad Pro to iPadOS 13 got stuck and none of the recommended solutions worked for me. In the end, I resorted to restarting it in Recovery Mode and that got things rolling again.

I built my first two custom mechanical keyboards. That’s going to be a separate post.

At work, we’ve been using Notion as our knowledge base for a few months. However, it wasn’t until watching a recent Notion Office Hours video that I realised how powerful this platform can be. The article on the PARA method mentioned in the video inspired me to put a lot more information into Notion than just text content.

An email recently informed me that “You’ve been on Drupal.org since 10/10/2008”. Wow, it’s been a while! And I still enjoy being a member of the Drupal community.

I’ve downloaded all the videos of RailsConf 2019 to my Plex server so I can watch them at the office or, thanks to Plex Sync, anywhere I have my iPad with me. Right at the top of my list was “Programming Empathy: Emotional State Machines” by Coraline Ada Ehmke. Reflexively, I was about to skip that one because I remembered that listening to her on podcasts had made me feel uncomfortable. But I decided to challenge this reaction and I’m glad that I did. I learned a lot about empathy from her talk and recommend watching it.

Weeknote 38/2019

At the end of last week, I was feeling pretty exhausted. That’s why I’m publishing this weeknote late on the following Monday. I have to have high expectations of myself, otherwise I’ll easily fall into slacking off and looking at keyboard porn all day. But I have to stop put too much pressure on myself. That’s the best recipe for burnout because I’m setting myself up for frustration despite of all the stuff I actually get done.

Speaking of keyboards, I’m still not sure if it’s self-improvement or self-sabotage, but on top of the previous changes to my keyboard layout, I’ve now adopted also the other important improvement of the HHKB layout by swapping the Backspace and Backslash keys using Karabiner Elements; now it’s much easier for me to reach Backspace with my right pinky. I was even about to buy an actual HHKB, but faced with its hefty price, I’ve decided instead to build myself two custom keyboards (one with a plastic case for travelling, one with a heavy aluminium case for my desk) that sport the “split backspace” (Tilde and Backslash) at the top right, with Backspace below, and a “split right Shift” with a small Fn key at the right edge. Until then, I’ll retrain my muscle memory with a software-defined layout. So, in short, I’m obsessing over mechanical keyboards as a way to combat both RSI and Alzheimers (that’s what I tell myself anyway). You can find my Karabiner rulesets in my dotfiles repository, by the way.

After returning from my holidays on Ibiza, I had lost all interest in playing World of Warcraft. And it still hasn’t returned. The parts of the game that I enjoy the most require group play, and good groups are hard to come by. Especially for me with my very narrow window of disposable leisure time. And people focusing on WoW Classic didn’t help my frustration either. Last month, I canceled my WoW subscription (it’ll still run for a few months) and took the opportunity to buy the three Shadowrun RPGs on Steam when they were offered as a Humble Bundle. Being able to play at my own pace is neat but I admit that I haven’t played SR much either.

Somehow, I’m finding live coding much more appealing than playing any games. In one of my streams this week, I did for the first time answer a question that someone had posted to my Discord server. That was fun and I’d like to make this kind of live-coaching a regular thing. If my brain wasn’t more or less fried come dinner time, I’d even do a few evening sessions on top of my regular slots on Tuesday and Friday morning. My next goal in this space will be to build myself an efficient toolchain that lets me churn out screencasts that aren’t live but instead more polished.

Weeknote 36/2019

Weeknotes could be an easy way to get back into writing more regularly. Friday will now be weeknote day.

  • Karabiner-Elements is an amazing tool for remapping a Mac’s keyboard. It not only provides me with a more useful keyboard layout, it now also forces me out of bad habits. Among other things, it turns the useless Caps Lock key into an easier to reach Esc (or Ctrl if held with another key). My right Command key has been promoted to Hyper (Ctrl+Shift+Option+Command) for a whole new layer of hotkey definitions. And as of today, the left half of my alphanumeric block doesn’t work with the left Shift key anymore.
  • Speaking of keyboards: If you’re looking for me, I’m down the custom mechanical keyboards rathole. This morning, I swapped the springs and lubed the keys of the Cherry MX80-11900 I got cheaply from Ebay. Now I can finally type on it for longer than 5 minutes. Lots of soldering and waiting for group buys in my future.
  • This week (geez, that T took me three attempts), I finally got to do my personal retreat for this year. For two days, I booked myself into a hotel, disabled most notifications and roamed the Mount Usher Gardens thinking about the really important stuff. I’m very happy with the results.
  • Doing my live coding late in the day to reach more viewers was a stupid idea. The quality of the little code I was able to produce recently (when my weary brain wasn’t blanking completely) is embarassing. From next week on, I’ll be streaming right after my morning coffee.

Have a great weekend!

Weeknote #49


Over the seas in all degrees

Markus left yesterday in direction of the Pacific south east. He’ll take a few days off. Until July, actually. Taking the opportunity to get away from the usual life is a great idea in my eyes and I wish him all the relaxation and inspiration he’s hoping for. I wonder, though, how long it will take until the urge to code on some ideas kicks in. I guess I’ll find out on Twitter or his vacation blog.

Private yes, but professional?

We’re a distributed company and not all of our work is done by the owners or employees. We also hire freelancers and last week, I gave delegating some work to a VPA a try. I contacted Strandschicht and they assigned me an assistant from Romania. He speaks good German, as Strandschicht requires for all their VPAs. I have to concede, though, that his first job left me only 80% satisfied. First, he promised to do the work on Friday but when I contacted him on Saturday, he apologized that he had to do another client’s job first. He then actually got to work on my assignment on Monday. Overall, he did well. Where he left a bit to desire was where he came back to me with questions that were already answered in my instruction email. And, most annoyingly, in three of the emails I had him write to our clients, he forgot to change the salutation. Big doo-doo. I consider people’s names very important and just can’t accept that three clients got greeted with “Dear Mr./Mrs. -“. I’ll still have to decide how to proceed from here. (Please, tell me in the comments how you would!)

Office space

I’m writing this weeknote in the “S-Office”, as I lovingly call the Starbucks in the Freiburg city centre where I spend a lot of time working (Mayor, of course!). Although I have a great workplace at home, I need a bit of variety from time to time. And when Amalias’s home all day (like yesterday, to recover from a cold), there’s not much working without disturbance any more. Unfortunately, Starbucks isn’t that quiet a place sometimes, either. Every now and then, there are days when all tables are taken and patrons are bustling in and out. Even my trusty Etymotics earphones can’t provide a complete shield against the flurry then. That’s why last week, I signed a contract with a company that rents office space on an hourly basis. All I have to do is to reserve a room in advance on the online calendar. Yesterday, I used the office for the first time and really, it’s great to have a quiet space to retreat to while at home, three kids are trashing the place while their mothers are having tea.

International business

When we started DrupalCONCEPT last year, we targeted our domestic market first. Now, business gets more and more international. And it’s not only our Drupal hosting clients that are distributed over the world, our IT infrastructure is increasingly, too. A growing number of clients demands minimal website response time regardless where in the world their visitors are coming from. The standard solution for this is a Content Delivery Network (CDN), a network of globally distributed servers that deliver content to the website visitors most nearby. Most CDNs work on static content only, but we need to deliver page content locally, too. That’s why we decided to build our own infrastructure: a network of caching servers all over the world. This week, for example, we’ll deploy a caching satellite in Brazil. It’s a great example for our main business objective: Delivering top-of-the-line IT solutions.

Weeknote #44

You’re feeling as if time crawls like syrup? Get sick while having a heap of work and watch time fly by! That what I did over Christmas. I got a head cold and couldn’t get any of the tasks done that I had planned to work on during the quieter days. It was really hard for me to accept that I would have to tell clients that we still weren’t ready for their projects after two weeks of downtime. But I also knew that forcing it would result in mediocre work and maybe me getting more seriously ill, so I kept my feet still and tried to recover as fast as possible. Of course, when I finally got back in business, many tasks had transitioned from “important” to “important and urgent”. That’s why January became a month of hustling. With the most pressing projects done now, we got back in control of our workload, so I’ve got time to write another weeknote.

Action days

An article on GigaOm describing the concept of an “action day” caught my immediate interest in December. Actions days foster results-oriented working, engagement and motivation in teams by an hourly exchange about achieved results and the next tasks about to get done. Our first try at an action day went so well that Markus stated “It almost feels like we sit in an office together”. So we decided to have an action day every Wednesday.

By the way, we didn’t use a teleconferencing solution to report our results, but instead a feed created especially for this on our company site on Yammer.

Social days

Like last year, visiting conferences and, ideally, giving talks there will be one of our most important marketing efforts this year, too. In Open Source services, nothing beats personal contact and the opportunity to prove one’s competence and answer important client questions at the same time.

Friday, Markus and I will be on trains to Brussels for the Drupal Developer Days where I will give a talk about “Developer-friendly Drupal hosting”. In this talk, I’ll try to explain how DrupalCONCEPT differentiates itself from the many hosting services on the market. We’re also a Silver sponsor of the weekend. (Probably the only one not appearing on the print materials because we couldn’t procure a vector version of our logo…)

I also happily accepted the invitation to give a talk about systems automation with Chef at the Open Source Datacenter Conference in April. All of our servers (of which we got more than 40 already) are maintained from a central Chef instance which lets us reduce the time spent for repeating system administration tasks to a minimum. Without such a system, I would do system administration all day and wouldn’t have time for any of my business tasks.

Since I’m going to do some traveling this year, I really appreciate how TripIt makes it easy for me to put together a travel itinerary. I just forward my DB Online Ticket to them and they create a nice overview with all train connections and reservation information. Then I add my hotel reservation and find everything I need in one place, which is the TripIt app on my iPhone. Very handy!

Vacation days

Markus is going to go on a big trip from March to July. In February, he’ll finish his running projects so there should be no loose ends when he’s off. While he’s hopping from beach to beach, I’ll keep the stations manned, dreaming about where I’ll disappear to after he comes back.

Weeknote 35

Wow, it’s already been 35 weeks ago that I officially started my full-time business, Freistil-Consulting. Most of those weeks were so busy that I didn’t bother to write my weeknote. Let’s give it a fresh start!

DrupalCONCEPT is running smoothly, more and more clients trust us to host their Drupal websites and we’re doing our best to give them a heck of a hosting experience.

We launched Apache Solr as a search engine extension to our server clusters this week, and it was an important milestone. With its high performance and high availability features, now including search, DrupalCONCEPT really became serious competition to Drupal hosting companies worldwide. I’m so very happy about the success of this venture! And I’m also happy that I found a business partner to share that success with — as well as the work, of course. ;-) Markus Heurung joined Freistil-Consulting in November and will be in charge of Drupal Projects and IT Training.

Since the year’s almost over, the next big news will come in 2011. We’ll spend the days up to the holidays working behind the scenes, improving, tweaking and getting more clients aboard.

And of course, there’s got to be the big strategy meeting where we’ll decide on the directions Freistil-Consulting will take next year. A day I’m very much looking forward to.

Weeknote #18


Organizing

Man, I wish I could buy time. While the company bank account is quite well equipped, I just can’t find the time for everything that gets put on my plate by me or by others. Time Management my ass, it’s Getting Shit Done™ what it’s all about and that means: Differentiate the urgent stuff from the important stuff. And then do the latter.

I have to admit that I struggle to keep that in mind all the time. There are always many unplanned things that threaten to become serious distractions, be it a call from a customer in need of some hand-holding, a disrupted IT service or a sudden stroke of genius that of course should be worked out immediately. I try to be a good GTD disciple, but instead of a “mind like water”, my mind every so often resembles more a flushing toilet.

Learning

Starting a business means starting a new way of learning. I’m amazed what amount of things I’ve learned since I started planning my business in late 2009. After relearning things I had forgotten already and acquiring new knowledge about topics I had only heard about from my directs at my previous job as an IT manager, my sysadmin knowledge today is at a new height. At the moment, I’m doing heavy in-depth reading about MySQL performance and MySQL high availability concepts.

Working with clients is another great learning arena. There’s the client that first consumes a lot of support effort (“How do I create an SSH key?”, “Please help me install git on Windows!”, “Can you explain to me what the Features module is and how I use it?”) and then cancels during the test month nevertheless. There’s the customer that enjoys explaining to me how we should do our job. And there’s the client that is pure pleasure to cooperate with and pays their bills a year in advance.

Marketing

I’m happy to have closed the deal of sponsoring the Drupal-Initiative, the german equivalent of the Drupal Association. All their websites are going to be ported to a DrupalCONCEPT Drupal cluster and we in return will be mentioned as their hosting sponsor.

My next action will be an email newsletter to all my Drupal contacts. I’m unsure how successful this will be, but I’m afraid there are a lot of people that haven’t yet heard of DrupalCONCEPT and I’m definitely going to change that.

And with that, I’ll return to doing important things!

Weeknote #11

Last week, things had to go slower because Amalia got Pink Eye and we had to take care of her at home. Although being able to spontaneously carve out time for my family has been one of the core reasons to start my own business, accepting that I won't get as much work done as I had planned still is hard. So, from time to time, I have to remind myself of Gary Vaynerchuk's foremost rule of Crushing It: Family goes first.

The IT infrastructure of our Drupal hosting service is getting better every day, but we're still missing a user interface where customers can change settings for their websites. We can't use any of the existing open source hosting panels because they're built for single multi-purpose servers while our redundancy concept distributes services over separate server clusters. So, I met with a Drupal developer to do some brainstorming for the DrupalCONCEPT Dashboard. We worked out some great ideas how the dashboard can be integrated with our system integration software. Since I want to use an agile development approach, my next task will be writing user stories for the most important functions.

After receiving an RSVP for the June meeting of the Hamburg Drupal User Group, I decided to actually take the 5½ hour train ride across Germany and do a presentation about our hosting products. Being an active member of the community and directly connecting with Drupal users has already proven to be a great way of marketing our services. An since one of our first customers is based in Hamburg and totally enthusiastic about what we do, I'd be stupid to let that chance slip. Of course, I'll write how it went in my next weeknote.

Weeknote #10

Customers is what happens while you're making plans. I've been doing a lot of planning over the past months but having our first customers proved that you can't foresee everything. Hopefully, you'll have set aside some time to revise your plans and do what suddenly became necessary. I didn't, so other tasks had to be put on the back burner -- more plans to change.

Although I've learned to do project management and organize my tasks, it's hard to fulfill my many roles. I'm company owner, manager, accountant, system administrator, business developer, marketing director and support representative, each of them trying to keep a healthy schedule and family life. That's a huge challenge.

On the positive side, working from home saves me time otherwise used for commuting that I can use to balance work and family.

Over the past few weeks, I've been working a lot, but I've also started to put in a free day every so often. That proved a particular good idea because it lets me free my mind from the urgent to focus again on the important.

One of those important things is friends. Taking a break from work to meet a friend over coffee or spending an evening together around a barbecue grill is a great way of winding down. It also gives me a chance at reflecting what and how I'm doing right now.

And, as it stands right now, I'm doing okay.

Weeknote #5+6

What a ride those two recent weeks were! I feel like the rollercoaster of my business had finally climbed the first peak and now is thundering downwards, gaining more and more speed.

Drupal hosting

Last weekend, the Drupal Dev Days took place in Munich. So far, it was the biggest German Drupal conference ever. Since work on the website took much longer than expected, I decided to delay its publication a bit more and use the Drupal Dev Days as the venue to launch our Drupal hosting products labeled DrupalCONCEPT.

So, on Friday evening, I sat in my Munich hotel room, getting more and more nervous. Not because I had gotten the first time slot on the schedule for my talk "Drupal in the Cloud", but because I was becoming anxious how people would react to our business offerings. Well, in retrospect, the feedback I got there was nothing less than awesome! People came to me to ask me about details. Many were excited that we closed that gap in the Drupal services spectrum. The website design got praise, and I also got suggestions how we could make it yet more clear and informational.

And besides all the talking, I could do my first business deals, too. Already during the weekend, KontextWork announced they were partnering with us to host their DrupalWiki SaaS products. During the week, other new customers started populating their Drupal webspace on our servers.

The basic server infrastructure is running, but there are many construction sites we'll still have to deal with. No boredom in sight. :-)

Podcasting

This week really was as productive as it was busy. Additional to all the business stuff, I recorded the first episode of my new podcast Drupal Talkshow with my co-host Markus Heurung. We talked about the Drupal Dev Days, of course, and about the international DrupalCons in San Francisco and Kopenhagen. We also took a look at the Devel contrib module. It was a lot of fun and we plan on continuing the podcast on a bi-weekly basis.

Family

It's not easy to keep a healthy family life when both parents are busy working on huge projects with deadlines to meet. I'm glad that working from the home office enables me to do my fair share of household chores and spend time with our sweet little daughter. Also, Carolin and I are lucky to have great relatives and friends that support us. We very much appreciate it that we're not alone in taking care of Amalia while the creche is closed like this Thursday and Friday.

Overall satisfaction rating

:-) :-) :-) :-) :-) (on a 5-smiley scale)

Weeknote #4


Website work

I really crushed it last week to finally get the web hosting website done. And apart from minor touches, it’s done and online. I decided to keep the site under wraps, though, to ceremonially reveal it at the Drupal Developer Days that take place in Munich next weekend.

IT infrastructure

Let me tell you: It takes a lot of effort to make IT management effortless. While I still stand by my decision to automate everything from the start, it’s not always easy to accept the price of a lot more preparation work. Just whipping up some servers wouldn’t have taken me that long, but if you want to build automated processes, you have to think them through before you spend even more time implementing them. I had planned to go live with our Drupal hosting products in April, but there was just too much tech to handle.

(Warning: Sysadmin talk ahead) Last week, I decided to upgrade Chef to 0.8 because 0.7 has seemed really outdated for some time now and I experienced some confusing behaviour with our installation, too. The upgrade took almost a whole work day because one new component called RabbitMQ didn’t want to start but neither didn’t give useful error messages. I had to do some test installations on fresh servers and eventually found the cause in a discrepancy between DNS and the /etc/hosts file. Additionally, a software packaging bug in the chef-server package (a wrong symlink, as I later found out) broke the Javascript that’s essential for the Chef web interface. That wasn’t a big deal, though, because Chef 0.8 introduces a new utility called Knife that lets you manipulate configuration data from the command line. And no GUI is as good as no GUI.

Working with tools like Chef is an investment that’ll pay off eventually: With those automated processes, we’ll have to invest minimal effort into maintaining and growing our infrastructure later.

Business Development

Getting the Drupal hosting website ready was my main goal for last week, and I’m happy to have reached it. Now I’m preparing my talks for the Drupal Dev Days which will draw some traffic to the website – hopefully by many new Drupal hosting customers.

After the conference, I’ll concentrate on creating website content in the form of blog posts, knowledge base articles and podcasts.

Family life

I have to admit, starting a business while my girlfriend is writing her thesis isn’t the best timing. When both parents are busy-busy-busy with deadlines looming, even the question who does the grocery shopping can become a conflict – let alone the one who’ll spend the next hours out on the playground with our 2-year-old.

That’s where I’m grateful for Gary Vaynerchuck’s calming first rule in “Crush It!”: Family first. Always.

Weeknote #3

Last week showed that defining priorities is essential when you're starting a new business.

Traveling

When I voiced my hope to get our hosting website online this week in my previous weeknote, I didn't think of the Perl seminar that would have me out of office for four of five days this week. So I only had Monday and the travel time on Tuesday and Friday to get the most important tasks done. By the way, I still enjoy taking the train to work, especially if getting there takes me a few hours. I kept the Bahncard 100 which lets me travel by train as much as I need for a flat monthly fee. So, for last week's seminar, I just had to reserve a seat in a train that goes all the way from Freiburg to Wolfsburg to secure myself 5 hours of solid work time in each direction.

Offline Training

The seminar went fine. I had twelve participants eager to learn Perl and three days to teach them the most important basics. Which is not a comfortable time frame, because actually only explaining all the topics takes more than two days, and then the trainees haven't written a single line of code themselves. But they got to a basic understanding of the language which was my expressed goal for the seminar. Together, we hope that there'll be a second seminar where we'll be able to look at practical problems and more advanced aspects of Perl.

Spending all day in a classroom and the evening in a hotel room still isn't my preferred way of teaching, so I'll put more effort into promoting our online trainings.

Training Material

In advance of the seminar, I had to spend some time on my training material. Despite it having matured over more than 8 years now, it's still not perfect in its explanations and examples and it still contains a few typos and glitches. Additionally, for a few weeks, I've been thinking about the format I could best maintain it in the future. The LaTeX format in which I had written the book started to show real limitations, especially because I had chosen it for its printing quality but now needed a format for online presentation.

After I spent some hours on looking -- and deciding -- for a future format, I got back to my original goal of working on the training manual itself. (BTW, I chose HTML and will explain the reasons in a separate blog post.) But departing time came quickly and the seminar took up the rest of the week.

Website

In the end, I didn't have the time to do the finishing touches on the webhosting website, so I'll have to postpone the site launch for another week. There maybe would have been enough time, though, if I hadn't embarked on my journey to a better book and paper writing format.

Those tool and format discussions are dangerous because they can quickly derail a project and bring productivity to a low. Instead of working on your content, you start researching and testing different "solutions" that could replace your working one. Sometimes, "research" is just an euphemism for procrastination. If you have people that pay for your living without asking for a quick ROI, you may be able to go on Holy Grail expeditions. But in a business, you need to focus on what directly benefits your customers. With a training manual, that's its content, not the format it's written in.

The second priority is business development, for example with a website. That's why I'll measure the success of the new week by how much new business I'll have generated in its end.

Weeknote #2


Revisionism

Starting with the week after Easter, I’m now working as a full-time self-employed. And to comply with weeknote custom, I renumbered my weeknotes so the one from last week now is #1. All previous weeknotes, written during the business launch preparation phase, got negative numbers. The advantage of this change is that if (rather when) I have to compute the current weeknote number, I can use the Weeknote Calculator.

Secure Living

My application for state founding subsidies has been accepted! Yay! I’ll be granted nine months of unemployment pay with 300 € on top, no strings attached. That means I can develop my business in a sane pace without worrying about my family starving.

Online Training

The new Freistil Campus website is working great. I’m very happy to have moved from Moodle to Drupal because I can do so much more with the site now. As I’ve told before, we’re already using it for the new Perl Meisterkurs that started this month, and it’s so much fun to experience motivated participants that fill the seminar group with postings and literally beg for new course material so they can continue learning.

I’ll start working on a bunch of new training projects this week, including some free webinars about development topics like version control. My main focus will be two big online workshops I’ll call “Water” and “Ice” for now.

High Performance Webhosting

Work on our hosting system is going fine, all the base infrastructure is in place. Especially the monitoring and security systems have already proven to work great. The former by waking me up in the early morning to tell me I had forgotten to configure the resource allocation of one web server which then gradually ate up all memory and went down in flames. The latter by alerting me of of a mysterious change of a system program that, as I found out an hour of anxiety later, had been caused by a software update I had done the previous day.

I’m not happy to report that I still haven’t finished work on the hosting product website. But since everything else is running in its tracks I’m optimistic that next week will be launch week. (He said, in his child-like naïveté…)

Weeknote #1 (week 14, 2010)

Whoa, only a few weeks in and already falling off the wagon? Those things are called "weeknotes" for a purpose, my dear friend!

Well okay, I've been pretty busy lately and the holidays with their parent-visiting didn't help. So, what's going in at the Freistil front?

Passion for starting a new business is one thing, being able to support your family is another. Since I don't expect our revenue to be huge from the start, I had to look for some type of funding that lets me keep paying for rent and food. Fortunately, the German state offers subsidies for people who leave or lose their job and want to build their own business. The downside: it's the state. Think beaurocracy. So, the week before Easter, I went to the Work Agency to submit my papers. Because I try to live the dream of a paperless office, I had all forms scanned in and later printed them out for my CPA or myself to fill them in. Now, at the Agency, the clerk politely explained to me that applications have to be submitted on the original form. And sent me back home. cricket So, instead of closing the deal, I had achieved nothing and that setback destroyed my motivation for the rest of the day. Productivity ground zero. Fortunately, I got another appointment two days later and delivered the papers right before the official went on her Easter holiday. Now it's waiting with my fingers crossed.

After building some clusters on Amazon Webservices, I tried Rackspace for comparison. Rackspace doesn't offer a service landscape as a big as AWS does, they're more of a VPS-by-the-hour shop. But at that, they seem to be quite good. Since our infrastructure is highly automated, we'll be able to use inexpensive Rackspace servers without much hassle where they fit in.

Getting all the necessary infrastructure in place takes a lot of my time. Frist, there are many parts in this puzzle of high performance and availability. And second, I often have to catch up with many software solutions I may have heard about during my management days but hadn't had the opportunity to put my own hands on. Because of that, I spend many days on the command line. Which is actually fun, but keeps me from doing other important tasks like website building.

So, I'm getting used to working long hours, or, like Gary Vaynerchuck puts it, to "crushing it".

And in the same Crushing Mode, I finished the Freistil Campus website on Friday night at 3am. Campus replaces the Moodle installation I've been using for online trainings. Based on Drupal, Campus will give us more flexibility to build the features we need for a great online training platform.

For the coming week, I hope to get the new hosting website ready to launch and for a positive verdict on my subsidies.

Weeknote #-3 (week 11, 2010)


Outsourcing work

One of the four essential activities of a manager is delegation. But how should a business starter delegate when they’ve got only a few employees, surely with enough tasks on their hands, or even no employee at all? Tim Ferris’ book “The 4 hour workweek” made me aware of another possibility: the Virtual Private Assistant, in short VPA. A VPA works for many clients who outsource ancillary tasks to them. They specialize in jobs that can be done via phone or Internet, like booking flights and hotels, answering emails and researching topics.

This week, I tried this kind of delegation myself. A friend of mine was looking for additional work, and I realized that, starting my own business, I could help her start hers. So I suggested to her to try and work as a VPA — I’d be her first test client.

I started with delegating the task of extending my social network by researching XING members with “Drupal” in their profiles. While I was busy working on my business concept, she started reaching out to new contacts, taking breaks when the system throttled her request queue. Early next morning, contact confirmations began pouring in. And with them, a lot of surprisingly positive and encouraging responses like: “Sounds interesting, we could cooperate on a win-win basis!”, “Please keep me informed because you meet exactly our clients’ hosting needs.” and “I’m happy to see you fill that obviously empty niche in the market.” Happily, I immediately assigned the next task to my VPA: entering the new business contacts into our CRM system.

In conclusion, by outsourcing tasks to a VPA, I not only saved time that I needed for other important things but also gained publicity and even more motivation to start doing serious business. Thanks, Tim!

REWORK

I finished “REWORK”, the new business book by 37Signals founders Jason Fried and David Heinemeier Hansson. In REWORK, they pick up where they left off with “Getting Real”, transforming their experience of running 37Signals for over 10 years into practical tips for business starters. What they describe is what I’d like to call the “4S” approach to business: “Stay Simple, Stay Sane”. In pithy language, Fried and Heinemeier Hansson make the point that you should always keep your focus on the business and especially on its outcome:

  • Do without outside money, be frugal instead and keep complete control over your business.
  • Work hard, but not like a madman; burnout doesn’t benefit neither your business nor your health.
  • Go forward making tiny steps.
  • Hire on talents and team fit, not on resumé and formal education.
  • And if you’re not making profit after an appropriate time, it’s not business, it’s a hobby.

The book contains some things I consider common sense (but that’s hopefully from the lessons I’ve learned so far) and a few contradictions (what now, should I “pick a fight” or “ignore my competition”?). But all in all, the book’s a refreshing read and well worth the money.

Weeknote #-4 (week 10, 2010)


Business planning

Much time this week went into the business plan for Freistil-Consulting. When I tweeted about it, @jkleske promptly teased me: “business plan? haven’t you read Rework yet? ;-)” What he meant was that, according to 37Signals’ latest business book, “planning is guessing”. And the numbers I use in the business plan actually are vague projections for the next three years. But first: I do have to present a business plan with a long term financial perspective to get state subsidies. And, more important: By replacing those guesses with the actual numbers, I’ll get my first financial controlling instrument for the company. And boy, do I wish I had such a thing while running my previous businesses!

BTW, Johannes, I started reading “Rework” this morning. And I look forward to reading your very own weeknotes!

IT Infrastructure

I’m having fun playing with all those open source solutions that enable us to run an IT infrastructure business. There’s Chef for automation, GlusterFS for data replication, JailKit for securing customer access, and so much more. I really enjoy learning to use (utilize, even!) those tools for the lean operation of our IT.

Already after some hours of Chef hacking, I’m able to have a Drupal server running in under 5 minutes, from launching the EC2 instance over installing the necessary packages and configuring user access to starting all the services. Thank you, Opscode!

Weeknote #-5 (week 9, 2010)


Perl online training, open source development

At the beginning of the week, I decided to offer our “Perl Meisterkurs” online seminar from now on in regular intervals. I planned three courses for April, July and October, created their registration pages, and sent informational posts to several blogs and social networks. Training is the most intensive and time-consuming work I do currently, but it helps getting in some cash that will be needed when we have to expand our IT infrastructure.

Side note: Maybe it was organizing a Perl online training that triggered some
sleeping Perl development enzymes in me. On Tuesday, I picked up my old
project
CGI::Session::Auth,
a Perl Module I published as free software many years ago. I fixed a few bugs
and finally implemented suggestions I got back in 2008 for improving
the documentation. Because I now use Bazaar as my version control
software, I moved the project from BerliOS to
Launchpad where I’ll hopefully maintain it a
bit better now.

Website building

On Saturday, we got the finished design for our new Drupal hosting website. We’re now working on the site content to get it online ASAP.

Communication infrastructure

Now that first business contacts are forming, telephone communication becomes very important. I tested and chose Sipgate Team as our virtual PBX system. We got a set of phone numbers that we’re able to distribute among our VOIP accounts by single user or by team. Voicemail is integrated and delivers incoming messages via email; new message notifications are sent as SMS. The system is easy to configure and has a good cost structure.

Family

Carolin and Amalia will return home next Wednesday, so the days of my all-day quiet home office are coming to an end. It’s a real challenge to balance work and family life if both happen at the same place, but to me it’s a challenge worth taking on.

Weeknote #-6 (week 8, 2010)

Monday last week, I attended a founders seminar sponsored by the Work Agency. I already knew most of the seminar content, but the exchange among the participants had been interesting. I even could talk a bit about my experiences from my former shots at self-employment.

When my new tax consultant told me on Tuesday what amount of tax return I can expect for 2008 (cough), I could not help but wonder why I didn't get help with my taxes earlier.

Many hours this week went into my talk titled "Drupal in the Cloud". I held it at DrupalCamp which took place in Essen over the weekend. Judging from the questions I got from the audience, I hit an interesting topic. After the talk, I had conversations with several Drupal service providers that I had start thinking about moving their hosting to us. This and the praise I got for my presentation made the journey worthwhile. If only the storm on Sunday wouldn't have disrupted train traffic so thoroughly that I ended up at my brother's place at midnight because I just couldn't make it all the way home.

Weeknote #-7 (week 7, 2010)

Regarding my new business, the last week was quite short because I went to visit my girlfriend and my daughter at their health resort at the Baltic Sea on Wednesday.

I've decided to change our web meeting service provider. Up until now, I'd used GoToMeeting to do webinars and online trainings. It worked okay; only an audio problem that made people sound like the Chipmunks when I used an USB headset on the Mac had been annoying me for some weeks. Not until Acquia recently switched from GoToWebinar to WebEx, I realized that an important part of our customer base couldn't join our webinars in the first place: There's no Linux client for GoToMeeting. It didn't take me much more time to decide to switch to WebEx, too.

For starters, we won't incorporate. I discussed my plans with my tax consultant and she advised me not to incorporate early on but start lightweight as a sole proprietorship company.