dev notes

software development craftsmanship

[ / home / blog / vim / git / work experience / about ]


My name is Jan Frederik Hake. I am a software developer from Paderborn / Germany. This is my view of how software development craftsmanship should be.

As this is a living document, it will grow and shrink with time.


Let's start with the result first. This is a list of software, which you can actually run either online, or on your machine.


When the Covid19 pandemy started, we went to homeoffice. As I am working for a small company, there was no huge step to work from home. The vpn was in place before, and it has been working quite well.

When it comes to the scrum process, we tried different solutions for our retrospective. All of them required a kind of login and had a lot of feature, where we needed only a fraction of this. So I give it a try and try to build something for my own.


It was quiet a lot of fun, and I have a new playground for angular and elixir. There is no need for a personalized login. Every retro session is only kept within memory.

Memory UI


How are thoughts linked?

I first started with the brain project. I placed every memory within a markdown file. Every file contains a header with metadata and some text. Every memory can have a link to an other memory. All memories and all links represents a knowlede graph, presented by an adjacency list. I collected some memories over time.

To get a first impression for usefullness, I created a static client.

You can play around if you like.

the rest

If the projects are the result of my doing, the next parts shows the road to it.


Every project starts with an idea. I use my blog for thinking out loud. Some of the ideas ends up with an article series, others may leed to new projects.

I startet my blog on (sources). New content will be added only here.

continue reading


When my dev universe would have a center, it would be vim.

When I started developing software, I used Visual Studio for writing C# code, and Eclipse for Java. I thought, no one is writing code with a simple editor.

Visual Studio is a mighty tool, with a lot of features, which helps you getting speed up your development skills. It was completely ok at this time. When you are working with languages, using a kind of project files like a *.csproj or *.sln, IDEs are very helpfull. Goto definition, find references, refactor files and many other features I've used for years.

But you also get thinks like vendor lock in and black magic.

Moving away from .net and the JVM make things easier. Other langages/frameworks like elixir, erlang, python, haskell, typescript, react or angular are less IDE agnostic.

So the question is: How does a editor based dev environment look like?

continue reading


I mostly use plain Git instead of tools like Git Kraken or something. For a large part of the work this works well, but some actions I don't do that often.

This is a short but growing list.

continue reading

work experience

I am working as a professional developer since 2008. During the last years, I got in touch with a lot of different technolgies.

You can take a look at my recent projects, I was working on.

continue reading