Some reflections after a few days as a musician

I’ve had the great opportunity to do some extra work in a very different environment this week; I’ve been a musician in a professional orchestra - the awesome Östgöta Blåsarsymfoniker.

It was quite a treat to work in this group and get to play my instrument on a high level. Also, as an amateur, getting paid to play my instrument is … mindboggling.

Being part of this group for a few days made me notice a few rituals and practices that I think we can learn from. I wanted to share a few thoughts on them here.

Below I will list a few practices and rituals that we did. First I had an idea of writing something about how to translate this into practices for my “home” industry, IT. But I decided against that. Because I wanted to give you the opportunity to find ways.

Warming...

Read More

What I learned when installing 33 developer computers in 5 hours

Yesterday I had a very interesting task for a client. I work as (brace yourselves for a cool title) “Head of curriculum” for School of Applied Technology. They create and run bootcamps and the first one we are running is “Fullstack JavaScript developer with React and Express”. That title means that I’ve been creating the content of the course together with the person (Jakob) teaching it.

Ok, to the point of this post. Part of this work means that we need 33 students to get up and running with their developer computers super fast. We want code to be written after a few hours.

Said and done - I created a set of dotfiles which will configure their computers properly with all the tools and (my opinionated) settings they will need.

Yesterday 33 MacBook Pros came to the Aptitud office and 5 hours later I had installed, configured...

Read More

Integrate JIRA search results in Google Sheets for fun and profit

As an agile coach working in bigger companies you are sound exposed to JIRA. JIRA - a tool that started out as a good idea and then grew into … a not as good idea.

But hey - we got to live with it, I suppose.

</rant>

In this post I wanted to show you how to easily import data from a JIRA query to Google Sheets (or Excel I presume). That is, in all honesty, not that complicated so I will share a few other tips around this whole process.

In short:

Tweaking export of JIRA data for fun and profit

Creating a filter

JIRA has a really powerful tool in searching for issues, through it’s query langauge JQL. If you head on to the search feature (Issues -> Search for issues) we can try something out:

Read More

Keeping copies of charts from Google Sheets updated automatically

At my current gig, we are using Google Apps (Docs, Slides, Sheets etc) a lot. I’m getting quite fond of it.

My favourite part is the sharing between the apps. I create a nice diagram in Google Sheets and then I can easily copy it to Slides to present easier.

In this short post, I wanted to walk you through how I’ve made a very small hack to keep those slides updated automatically. This is really handy if you’re doing a dashboard, or presentation that is running in a kiosk of sorts.

Copy the chart

The first thing to notice that there are two ways to copy/paste a chart; as a picture and as a link. For this use case, you want to use a link. Here’s how:

  1. Open the spreadsheet that contains the diagram you want to copy
  2. Click on the diagram and then...
Read More

Testing a Koa application with supertest using async/await

I’ve been playing around with refactoring a Koa application to use modern JavaScript constructs like async, await => and do away with generators etc.

In doing so I had an epic battle with mocha, monk and supertest to use async / await etc. I finally found a good structure for this purpose that I wanted to share.

The case

This will be small but not too contrived. The test will store an object in a MongoDb database, then will call an HTTP-endpoint (/user/:id) that simply returns that object for us again.

To do this we will have to await the call to mongo using monk, then do the request using supertest and finally use supertests own asseration features to ensure that we get back what we expected.

I started with a simple setTimeout...

Read More

Refactoring a Koa app (part V) - refactoring the root app

This is the fifth and last post in a series where I refactor an old (4 years) code base (an API written in Koa) to modern Javascript and tools.

Here are all the posts in the series

The last post ended with us finishing refactoring the individual part applications. The time has come to the orchestration app on top. If you remember from the very first post I had done this to show a feature of...

Read More

Refactoring a Koa app (part IV) - update the production code

This is the fourth post in a series where I refactor an old (4 years) code base (an API written in Koa) to modern Javascript and tools.

Here are all the posts in the series

In the last post we made significant progress and now have some very modern and neat looking tests. That run and pass. Time to turn our attention to the system under test and give that an overhaul too.

Keep the test...

Read More

Refactoring a Koa app (part III) - async tests

This is the third post in a series where I refactor an old (4 years) code base (an API written in Koa) to modern Javascript and tools.

Here are all the posts in the series

We have done some progress cleaning up and linting our code.

Moving to async over generators - tests

This is pretty good, but not there yet. There’s a major thing bugging me and here is where we need to start...

Read More

Refactoring a Koa app (part II) - refactoring the tests

This is the second post in a series where I refactor an old (4 years) code base (an API written in Koa) to modern Javascript and tools.

Here are all the posts in the series

In the last post we just go the test to run. So now we can start to do some:

Simple refactoring and lint

Perfect! With passing tests I feel much more confident to make changes. And I want to. This...

Read More

Refactoring a Koa app - or how I learned a lot about modern JavaScript while refactoring an old app

I have learned so much by following the Koa Js community and framework over the years. My first post on the topic was written in March 2014, when Koa was just a little tiny bird trying out its wings (look up that reference…).

From that point I’ve written many posts, done a few screencasts for fun and other for profit.

4 years (MY GOD!) is a long period but in the JavaScript world it’s eons of time. I noticed that the other day when I refactored one of my later Koa applications into something more modern. I learned so much about the topics that I ran into, while upgrading my code and the resulting code was much more elegant, functional and understandable.

So… I thought I’d do it again. This time you can tag along. This post will be long, but hopefully worth it.

Read More