Driving Electric

As promised, here comes a post about living with my first fully electric car. In March I received my MG5.

So, let’s get the range question out of the way. My last car was a fairly lean diesel (a BMW E61 with the 2.0L diesel) and my personal record was 1350km on one tank of diesel, but I could do 1000km easily. The MG claims to do 380km. On a nice spring day on the smaller roads (so doing ~70-80kph) I can do 400km without too much effort. On a day with heavy rain trying to do 100kph, I’m happy if I can do 300km. It will be interesting to see how this car fares in winter conditions (cold + thick slush covering the road).

Given that the charging speed is a variable thing, it took a couple of weeks getting used to it, but now I do longer trips quite comfortably.

I consume ~16-17kWh/100km. If I want to do highway speeds (in Sweden that means 100 – 135kph) I need to calculate ~25kWh/100km. The battery pack carries 61kWh of charge. You do the math.

To refill the 61kWh, there are a range of options, but the three categories are:

  • single phase charging from a normal power outlet, ~2kW, so 10km/h
  • three phase charging from a public charging station (soon at home too), ~11kW, so 50km/h
  • DC charging from a public charging station, ~95kW, so 475km/h

The interesting part here is the variability of the prices. At home I can charge for ~1SEK/kWh. Public stations in my home town vary between 3-4SEK/kWh – but I’ve seen stations as low as 2SEK/kWh and as high as 8SEK/kWh when travelling. For DC charging, the price seems to hover around the 9-10SEK/kWh point. The exception to this is Skövde where all public charging stations costs 2.5SEK/kWh regardless of power output last time I checked.

Another thing to factor in is the ridiculous number of apps needed to charge. I need two for my, rather small, home town, and have 12 in total at the moment. It would had been nice if the outlet could negotiate the price and payment with the car, so that I just approved the price and could get on with my life.

For my needs, I’ve been able to survive on the 2kW charger since March, but sometimes had to use a public 11kW charger to fill it up before longer trips. But for my summer house trips (200km, one way, only single phase charger there), as well as my semi-daily commute (~50km, one way, charging at home) it just works.

The longest trips I’ve done this far is ~600km, and it has worked out. Once I got stuck in a charging queue due to Easter and a game being played at the local arena. That made me ~2h late, but apart from that, it has just worked.

There are other factors to take in as well. The air conditioning system of the MG is the worst I’ve ever encountered. It fogs up if there is rain in a 100km radius from the car, and the fans always blow a lot of air, despite the temperature being ok in the car.

When it comes to infotainment I’m a damaged human being, but it will have to be a separate post. If anyone from MG/SAIC wants my input – reach out – I’m here to help :-)

Otherwise the car does what the box says. It delivers the range. It comfortably drives five people. It fits a bit of luggage.

For the next car I’ll definitely go electric again. All I want is a 6 or 7 seater that does not cost an arm and a leg. Let’s see what’s on the market in a few years time.

First Week of Work and School

As the first week of work and school comes to an end, I realized that this 100 days to offload is harder than predicted. I partly blame that I got the traditional going-back-to-work cold, but I guess I also have less time to spend on fun stuff like writing.

This week has been about cleaning up.

I’ve started to clean-up my backlog of foss-north video recordings. I’ve got some 12GB of videos rendered, and I’m not even halfway. For next year we really need to do something about the audio recording situation, but it is what it is and it will have to do.

I’ve also contacted a lawyer to help me clean up some personal stuff that I need to complete, given my new family situation. It is not hard, I just find myself procrastinating instead of doing the paperwork. By paying someone (a lot) I guess I will be more focused at completing the task.

Finally, I’m cleaning out stuff from my office and garage. The office simply needed cleaning. If I intend to keep a collection of keyboards, I probably need to make sure they fit somewhere. But it is getting there. I need to reorder the stuff in my shelves to make for a nicer video call background though :-)

I’m cleaning the garage to make room for the electrician who will come and install a charging box for my new, all electric, car. More about this in another post – but it will be nice to be able to do three phase charging at home instead of just 2kW.

All in all – a productive week!

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!

tosemu and gen.ttp

This being a long weekend in Sweden, I decided to see if I could make some progress with the tosemu project.

First a quick recap. Tosemu is what Wine is for Windows, but for TOS from the Atari ST series of computers. I.e. not an emulator, but rather, a translation layer re-implementing the OS APIs. There is of course a bit of emulation going on, as the binaries are made for the glorius Motorola 680×0 series of CPUs, but I digress.

So, I decided to take the let’s make something work approach, so pulled out good old DevPac 3.1 and tried the command line interface to the assembler called gen.ttp. After having implemented Keytbl, Cconrs, Crawcin and Crawio, I got this far:

e8johan@xps13iv:~/projects/atari/tosemu$ make && ./bin/tosemu ../inst/devpac31/bin/gen.ttp
make: Nothing to be done for 'all'.
Enter command line:
demo

Gen Macro Assembler Copyright � HiSoft 1985-93
All Rights Reserved - version 3.10

Error: invalid pre-assembled file in assembly options

1 error found
65535 lines assembled into 0 bytes, Atari executable position-independent code
42 bytes used out of 16273361, took 0.0 seconds

This is where it turns interesting. I did a small fix to the Fseek function, treating the offset as a signed 32 bit integer instead of an unsigned one, but that didn’t get me much further. This is where the work becomes interesting, as the next step is to start following the machine code of the program being run, to figure out what is going wrong. Let’s see when I dare to dive down that rabbit hole.

foss-north – two weeks left

It is under two weeks left until foss-north, so make sure that you have your tickets at hand.

The event takes place from Sunday April 23, with a Community Day. We have a couple of workshops lined up and a social event, but there is still room for more if you want to arrange something.

Then follows two days of conference on April 24-25 where we have a whole range of awesome speakers lined up. The conference is recorded, but not live streamed. As you know – it is only live once – so make sure to secure your tickets.

First face-to-face conference since COVID, so I’m psyched and nervous. Let’s make this a great one!

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!