Working thoughts

Ideas, thoughts... mainly about programming & co.

All About BFF

A while ago I wrote a ThoughtWorks insights post about the Backends for frontends pattern and the story behind its adaption at SoundCloud. It generated interesting discussions and resulted also in some further content and I thought it would be good to have a place with links to all this resources for the future reference.

Pace: Testing an Express App

After we managed to set up our basic web application, let’s get our hands dirty writing some code. And as we want to do it in a test-driven manner (TDD), we need a proper test setup. This piece is all about our initial test pyramid. Test, what? Yes, pyramid:

At the base of the test automation pyramid is unit testing. Unit testing should
be the foundation of a solid test automation strategy and as such represents
the largest part of the pyramid. (...) Automated user interface testing is
placed at the top of the test automation pyramid because we want to do as
little of it as possible. (...) Testing through the user interface like this is
expensive and should be minimized. Although there are many test cases that need
to be invoked, not all need to be run through the user interface. And this is
where the service layer of the test automation pyramid comes in.

Depending on your personal style (look at this post by Martin Fowler for more details around different flavours of unit testing) and probably also the task at hand, you will either be starting with a unit test or acceptance/functional test. The rest of this post will show you how to set up each kind of test and give you a brief description of what we mean by saying unit, integration and functional test. I will also describe our gulp setup.

Pace: Starting With Node & Express

Together with few friends we started building pace - a web application for organizing and managing running events & competitions. We are a colorful bunch of people with different backgrounds, therefore we wanted to choose an approachable tech stack, as some of us wants also to learn one or two things about JavaScript, web applications or programming in general.

And then, somebody suggested to write one thing or two, about our technology decisions and accompany it with some HowTo information. So here we are.

Burstah, a Build Monitor

During my last four projects or so, the teams I worked with were always using GO.CD as the CD tool of their choosing. Although the pipeline state visualisation GO.CD comes with is quite nice, it still doesn’t cut it as a proper, obvious build monitor enabling everybody in the team to quickly recognize what is the pipeline status.

Therefore first cidar, a simple sinatra based build monitor, has been born. I quickly discovered that sinatra and especially the nokogiri dependency, doesn’t make it easy to use e.g. a Raspberry Pi as the monitor hardware. So, having the liberty, I decided to re-implement everything in JavaScript using node.js & express. Burstah , my second attempt at the ultimative build monitor, has been born bowtie

Scoopcamp Hackathon

Last Thursday I was a part of the Scoopcamp hackathon and it was so great that I just couldn’t resist to write down some of my thoughts about it. Our team ThoughtWorks and friends a colorful mix of journalists, students and developers had a rough idea for a modern - more agile - journalism, where the journalist reporting about an ongoing event writes the background story and live updates from his perspective, but can also incorporate content written by the readers who create their own streams representing their own take on the particular event. Being able to see which stream/entry is getting most likes (=feedback), he/she can quickly react and focus on the currently favorite perspective. During a quick brainstorming we came up with the name: LiquidPub (for liquid publishing) and started defining the first user stories.

GWT: Part I

Back in 2009 I became the job to design and start realizing a quite large web application for a health care research project. I took some time, sat down and thought about the technology stack, I would like to use to build it. As we wanted to have an RIA and I already had some experience with GWT, we quickly decided to use it. Since then four years have passed and we are about to release the 2.0 version of our system. During this time, the whole team learned a lot about GWT, its advantages and also some disadvantages, and I thought it would be useful to write some of them up. This part is about the status quo, in the second part I will try to write about a GWT setup I would go for, when starting the project today - so if you have any hints in this regard, please feel free to leave a comment, I would definitely appreciate it!

Setting Up...

There’s nothing like this moment, when you have a big smile on your face, because you’re just stunned how well things are working and how simple the set-up process was. Octopress is just amazing. Period. If you haven’t heard about it and you’re thinking to start a blog or migrate one, then you should definitely check it out. To put it simple:

Octopress is a framework designed by Brandon Mathis for Jekyll, the blog aware static site generator powering Github Pages. To start blogging with Jekyll, you have to write your own HTML templates, CSS, Javascripts and set up your configuration. But with Octopress All of that is already taken care of. Simply clone or fork Octopress, install dependencies and the theme, and you're set.

It took me just few hours from having the idea: Today is the day to start my own blog to actually having it hosted on github. And the experience itself (checking out the octopress repo, configuring, building and deploying to github) was really simple. Thumbs up for the good documentation!

My setup

  1. octopress is publishing directly to my github user page. Therefore the access is fairly simple and I can use my blog to link to other stuff, I have on github or somewhere else like e.g. slides to my talks.
  2. I decided against using the default theme and went with a clean and responsive one called the whitespace. There are many, many others so everyone should be able to find something suiting own needs. A list with some of the themes available: 3rd-Party-Octopress-Themes

Hello World

I had this idea to create my own blog since like forever but always convinced myself that it will be either too time consuming or all the topics I would like to write about, are already well described, so what’s the point…

But then, I had also too many moments, when I thought - wait, you already had this problem/issue/idea… What was the solution? Where did you find it?

So today, I finally decided to create my own blog - mainly as a reference for future me. I will write about the technology, I’m currently working with or interested in and from time to time maybe about some general stuff, I would like to talk about.

As I have no experience whatsoever in this domain (blog writing), I will try to push myself and write one post per month. Fingers crossed, that I’ll find the time for it…