Weekend topic: Music

It’s weekend time, so I thought I’d write about a lighter theme, so why not music.

This week I’ve been listening to the following albums.

As you can tell, it’s still vacation (last week) so not much coding music, but music that requires a bit more attention. Still, I enjoy them all.

This post is a part of my 100 days to offload effort.

The What, How and Why

I’ve thought a bit about learning a skill. How to progress. What the next steps are. This is probably because I’ve moved away from what I thought I used to be, career wise, to something else, and now I’m trying to determine what I will do when I grow up.

The only way to learn a skill is to actually perform the task. To do it. This ranges from the very basics – crawling, walking, running, cleaning your room, and so on. You can get inspired from a million YouTube videos and blog posts, but to learn to do something yourself, you need to do it yourself.

If we look at programming. This is something I’ve done since I was ~12. I know how to code. I can tell when other people know how to code. They get it. Then it is not as much about what language or framework to use. Instead they understand the concept of code. How to solve problems using code.

There is a tangent here about tools and frameworks and how the volatility of this side of the trade ruins my conception about knowing how to code, but let’s save that for later.

My issue with coding is that it quickly becomes “pick another ticket”. What intrigues me is the what to do, which leads to two very interesting questions – why? and how?

The why is interesting because it moves from the art of implementing code to the mysteries of figuring out what the customer whats. This quickly leads to business and how can we have a sustainable customer relationship. Something that is even more interesting when it comes to open source, as the customer is more empowered and in many ways acts as a partner instead of a customer.

The how is also interesting. Especially when you look at the question through the lens of a large project that will take time to build, or through a corporate lens. This is where methodology comes into play. I hate to say agile, because it means so many things, but there are supports that can be used to support both agile and less agile ways of working. I’m thinking of automation. Automated builds, automated tests, automated deployments, infrastructure as code (i.e. some sense automation of the automation). There is a mountain of non-recurring engineering that each software organization must climb to be productive.

For me, these stages came as a linear progression. First I did, then I thought about what to do, when why and how, but they are interconnected. There are various feedback loops hidden, which both limits and drives the progression of the product and team.

Looping back to the original question – what do I want to do when I grow up – I’ve started to circle in towards building teams. I’m still to fully define this, but this would be to help drive the why, how and what to provide purpose and a nice work place for a development team. The question I’m asking myself right now is towards whom to define the why, how and what. It very interesting to do it directly to the end customer, but in a corporate setting, that is rarely the case. Then, instead, this must be defined in relation to the surrounding organization, and how to do this in a good way is still something where I’m in the do stage.

Do you want me to dive deeper in any particular direction, or have thoughts of your own? Reach out to me in the comments or at Mastodon.

This post is a part of my 100 days to offload effort.

A summer of catching up

The feeling of this summer is one of catching up. Last summer was intense due to changes in the family followed by decease and death, leaving with me as a full time single parent. To my great joy, I’ve met someone who is special to me, so this summer has been about getting our families to work as one. It has been fun, but also very intense.

This means that my focus on engagements that I used to do has been very focused on deadlines and what must be done, rather than what I take pleasure in doing. That means economic reporting for foss-north and such. I pushed hard to make foss-north possible this year, and am very happy that it did. However, I’m still catching up in the post event activities.

This means editing videos and such now, rather than in May, and trying to get them on-line during the fall. All speakers have been very understanding in this, so I’m sure it will be good eventually.

This also means that I’ve actively taken a step back from gbgcpp (and swedencpp), as well as not attending fosdem, nor any Stockholm meetups (tdbi, swedencpp, etc). It also means that there has been no gbgcpp activity for a very long time. Let’s see how (if?) I can reactivate that community at some point in time. Don’t hesitate to reach out to me if you want to help.

This post is a part of my 100 days to offload effort.

100 Days to Offload – take off

So, I’ve been procrastinating instead of jumping into the 100 Days To Offload bandwagon. This is something I’ve contemplated for a long time, so it is a bit ironic that I failed to get started. The idea is to just write, and that is what I intend to do from now on.

Hopefully the 100 posts during a year means that I finally get into a habit of blogging. It’s been a very on and off thing for me, but I want it to be a part of my routine.

As a part of this, I’ll probably expand a bit on what I cover in this blog. The title is Life of a Developer, and my life has been quite dramatic over the past couple of years, so I’ll try share a bit about that.

On the other hand, that does not mean that I’ll stop writing about events I’m arranging or taking part in, nor about technology that gets me excited. Perhaps this can even motivate me to do some more coding just to get contents. Let’s see.

I’ll link to my posts and use the #100daystooffload hash tag over at my Mastodon account. Feel free to follow me there, or via the good old RSS flow.

Either way, this is a first post of at least a hundred. See you on the other side!

foss-north – Just one month left

As I blogged about earlier, life has been challenging the past months, but now things are getting back to normal. This means that some things are late, but also that I really want to do some things. foss-north is among these things.

In one month, April 23-25, foss-north 2023 will take place at Chalmers Conference Centre, in Gothenburg, Sweden. This will be the first in-person event since 2019 and I know it will be great. The speaker line-up has been set and it will be great. We’ve got a bunch of great sponsors helping out to make this possible. What we need are projects for the community day and visitors – this is where you come in to the picture!

So, to encourage you to get yourself a ticket. Tell your friends. And if you want to do a hackaton, workshop or just hang out with fellow hackers, reach out to me to get your project to join the community day!

Getting back to speed

The end of 2022 and beginning of 2023 has not been much to cheer about, but life goes on and it is time to do some fun stuff, and I’ve got some lined up that just might involve you.

First of all, foss-north is back as a physical event. The 2023 event will be the 8th (9th if you consider that we had two events back in 2020 in hope of COVID to be over after the summer) and it will be the 5th physical event. Last time around, in 2019, we peaked the number of speakers, community projects and visitors, so I hope that we can continue that trend and make it even bigger this year.

If you want to participate as a speaker the Call for Paper is still open for another week, so feel free to join in. We’re also looking for projects for the community day as well as sponsors and visitors. Tickets will be made available during March.

In addition to this, me and a couple of friends are getting back to podcasting. The topic is anything open source and we’ve setup a github project for you to contribute your ideas. Feel free to drop in your suggestions.

The Next Step

I recently blogged about my departure from MBition after a four year stint helping to build a software department within Mercedes Benz. Having contemplated various possible paths, I decided to leave my comfort zone and move away from automotive on-board software, which has been my life for the past 11 years.

Instead, I will help Autoliv Research’s ML/AI team to help them build awesome detection tools to help save more lives. This means working with a group of very smart people ranging from domain experts on things such as psychology, bio-mechanics, machine learning, embedded systems, mechatronics and more. I’m really really excited about this – so much fun to learn.

It is still early days and I still have a lot to learn, so I don’t know the details yet. I’ve been meeting people from all around the world for the past week and a half, and will continue to do so until Christmas, but the real fun starts in 2022.

The team is growing, so if you are interested in joining me in a quest to save lives and learning about real life applications of ML/AI in small embedded systems, don’t hesitate to reach out.

Moving on

In the autumn of 2017, me and my family moved down to Berlin for a month to start the infotainment software part of MBition. We were a handful of people at Mindspace in Mitte. I’ve never done so many interviews in my life – and I’ve never had the opportunity to get to know so many great people.

Fast forward to today, and we have grown to over 400 people in the project and are about to deliver an amazing product. The architecture team has grown from a one man team consisting of me, into one of the best groups of engineers I’ve ever worked with.

We wanted to change the world. We could not change everything, but I feel that we are bringing improvements to the project, as well as building a better foundation for future work at Mercedes Benz. I very much want to buy the first car with the MBient platform in it, as I know it will be an amazing product.

This has been a fantastic journey and one of the most challenging, but also rewarding, parts in my career. However, all things must come to an end. I’m sad to leave, but I’m also happy to say that I’m staying with the project as a part of the MBition Advisory Council. I’m happy not to go to Berlin twice a month, but I’m already missing the city, so I’m glad that I know that I will come back.

There are so many I’d like to thank and mention so I cannot begin to try to list you all – I’ll just forget someone. You know who you are! Keep up the great work and let’s meet the next time I’m in town!

Intense weeks

End of October turns out to be one of the highs when it comes to workload this year. Everything happens at once – there are two public events that I’d like to tell you about.

The first one is running lights. This is an annual running competition organized by AIF Friidrott, the sports club my kids are active in. This year, this means organized by me and postponed due to COVID-19, but the virtual races started this weekend and the arena race will take place on the 24th.

If anyone of you are in the Alingsås area and enjoy I highly recommend you to join. The weather looks nice, and we will light up the arena with live fire, so it will be a great evening.

The second one is the foss-north 2020 take II event. This spring, we decided to try to organize a physical foss-north event this fall, as obviously the pandemic must be over by November. This seems to not be the case. :-)

Instead we are running a single day event on November 1 with six handpicked speakers. The event is virtual and free for all.

I would like to tell you about the speakers one by one, because I’m very excited about each and everyone of them.

Andrew 'bunnie' Huang

In the morning we welcome Bunnie Huang who will talk about the precursor project. Precursor is an open hardware platform for secure, mobile communications and computations. The focus is on security aiming to create a trustable platform.

Simon Ser

Next up is Simon Ser. He will talk about how to get pixels onto the screen in a modern Linux stack. This means a deep dive in the Kernel Mode Setting (KMS) interface. How it exposes hardware blocks and how to use it to get images shown on the screen.

Ramón Soto Mathiesen

The morning session then ends with Ramón Soto Mathiesen taking us into the land of Domain Driven Design (DDD) using Algebraic Data Types (ADT). Ramón has a background in functional programming languages and brings this knowledge into the world of multi-paradigm languages such as C#, Rust, and Swift.

Carol Chen

The afternoon session starts with Carol Chen from Red Hat Ansible. She works as a community manager for Ansible. She will be talking about how they move have moved from collections to contributions to conferences.

Lars Brinkhoff

We then continue with Lars Brinkhoff who will talk about the Incompatible Timesharing System (ITS). Lars works with restoring ITS and recreating the history from these early days of computing. ITS is of particular interest at foss-north at is the platform where tools such as Lisp, Logo, Scheme, Emacs and Zork where developed. This is where the foundations for the free software movement where born – quite literally.

Tor-logo by Stanchenko on DeviantArt

The day then ends with Alexander and Georg who will talk about Tor, the anonymity network. They will discuss why diversity is essential for reaching security and anonymity.

So, the next days will be crazy hectic, but it is all for something good. First a cosy evening of running on an arena lit by live fire, and then a day of talks about various FOSS projects.

I hope to see you there!

Adventures in (Dyn)DNS

So, I made the silly move to rely on my hardware supplier to provide me with a dynamic DNS service. Naturally, this offer expired, and I could no longer reach my home server. Because of Murphy, this naturally took place when I was away from home with no access to anything.

So – how does one find the way back home?

Luckily, I have a VPS that I log in to now and then. After a quick duck-ing (duckduckgo is my friend), I found the last command which was the first piece of the puzzle. Now I had a list of potential IPs.

Did I mention that I travel a lot?

There were quite a few IPs there. Pre-COVID-19, it would have been worse. Still, I found a few likely candidates based on frequency of use. Then I found this handy list of IP blocks in Sweden. Now I could tell my mobile data provider (Telenor) from my fibre data provider (Bahnhof).

Quickly adding my home domain and the suspected IP to /etc/hosts on my laptop allowed me to confirm my suspicions. Once in, I could setup duckdns for dynamic DNS, change the CNAME record of my domain, and now all is operational again.

I learned two things from this:

  1. Don’t rely on the time limited offers of hardware vendors for even the most trivial service. They are all trying to convert you into a as-a-Service deal and make you pay an annual fee. (i.e. read the fine print).
  2. I was really happy to use a CNAME record to redirect a subdomain of mine to my home server, so even when using a dynamic DNS service, I could switch to another dynamic DNS service. (this was pure luck – no foresight from my side was involved).

Also, while on the the topics of experiences. If you have the possibility, you should use bahnhof as your ISP. They have a track record of opposing surveilance laws and work to protect the privacy of their customers. Also – I’ve had zero issues with them since switching some 15 years ago, so I can recommend them from that perspective as well ;-)