Post Java 8 upgrade; ignoring the module

Java 9 introduced a major change in the way Java programs are written, because of the Java Platform Module System (JPMS). And that is not something you can ‘skip’ by moving to a higher Java version; upgrading your software to any version after Java 8 means you have to deal with JPMS.

That is the reason a lot of companies are still stuck at Java 8, but at some point in the future they and everyone else will need to upgrade. Java 11 is the first Long Term Support (LTS) version of Java, and that seems to be the version of choice for a lot of migrations.

Upgrading my open source project, JFXtras, to Java 9 a few years back was a breeze. I have had more problems with the build tool (Gradle) than with the modularization of the code. But that is because the code is fairly new and already modularized using Gradle (Maven) artifacts. But in the last weeks I’ve tried to upgrade a 15+ years old custom made ERP system to Java 11… That turned out not to be a breeze.

Continue reading “Post Java 8 upgrade; ignoring the module”

Advertisements

Going electric; Maxem

The ‘going electric’ will be different blogs from my usual beat. Not only because they will not be related (directly) to software development, but also because they are opinionated and personal reports; editorials about switching over to an electric car. They will list my personal joys and annoyances about the switch, but I’ll try to be fair and balanced.

Charging at home

The whole topic about charging at home is confusing when you do not own an electric car, and to be honest I still don’t get it 100%. You can charge from any 220 volt socket, but that does not charge very fast, because that power group may be shared with other appliances. So at least it would be wise to dedicate a single 16 amps power group to charging your car. A single dedicated group should put about 40 km of range per hour in your battery pack. Some simplified math then tells us that a 400 km pack will take about a full night’s to charge (I know it’s not linear, but let’s keep this simple). And even though that will suffice for 99% of the use cases, 10 hours for a full charge is quite some time…

Continue reading “Going electric; Maxem”

Going electric; AP1 vs AP2

The ‘going electric’ will be different blogs from my usual beat. Not only because they will not be related (directly) to software development, but also because they are opinionated and personal reports; editorials about switching over to an electric car. They will list my personal joys and annoyances about the switch, but I’ll try to be fair and balanced.

Loaner Model S

My own model S is in the shop for some adjustments and I got a four to five years old (I guess) Model S P90D as a loaner. The car has AP1, as I noticed the missing camera’s in the way the environment was shown in the binnacle.

AP1 vs AP2

After having driven over 300 km (200 miles) with it, I found some noticeable differences between AP1 and AP2. Most noticeable is the “follow the car” behaviour; which is visualized on screen by a car turning blue. AP1 seems to prefer following a car over sticking between the lines. When a car is followed, the line markings are often removed from the screen.

This morning I was behind a car and it decided to change lanes, and my Tesla initially attempted to follow him. Very weird, and immediately manually intervened. Don’t know if it would have followed through.

This whole follow-the-car (nothing ever turns blue) is not present in AP2. Good call changing that Tesla.

However, from a responsiveness AP1 seems to be quicker. When I indicate that I want to switch lanes, AP1 does this immediately, where AP2 seems to hesitate and feels sluggish in responding. Maybe that is why Elon wants a new AI chip. Although I figure the system has a constant awareness of all surrounding cars and lanes, so asking to switch should not need a complex analysis, the system should know at any time what its options are; I can move left, I can move right, I can brake, I can accelerate, etc. Otherwise it can never properly and quickly respond to unexpected situations (which is what Tesla is aiming for). So asking it to move over, should be instantaneous.

Going electric, the model 3

The ‘going electric’ will be different blogs from my usual beat. Not only because they will not be related (directly) to software development, but also because they are opinionated and personal reports; editorials about switching over to an electric car. They will list my personal joys and annoyances about the switch, but I’ll try to be fair and balanced.

Unexpected encounter

So my model S needed to go to the workshop; it seems my headlights were set a bit high (got a lot of flashes and my g/f complained when I was driving behind her), and there is a faint torquing noise coming from the right A-pillar when I drive on uneven roads. First world problems.

But while waiting on the intake on my S, I was asked if I wanted to take a peek at the Model 3. It has been on tour through Europe lately, but I missed the opportunity when it was at my local Tesla shop. So I was quite pleased with his suggestion and eagerly said yes.

Continue reading “Going electric, the model 3”

Going electric, winter is coming

The ‘going electric’ will be different blogs from my usual beat. Not only because they will not be related (directly) to software development, but also because they are opinionated and personal reports; editorials about switching over to an electric car. They will list my personal joys and annoyances about the switch, but I’ll try to be fair and balanced.

Real life range in the fall

The weather is getting colder, it is now around freezing in the morning, and I already start to notice serious differences in predicted and actual range. Charged to 85% my Model S75D has a predicted range of 341 km. But after I drove to work this morning, which is a distance of 92 km, the remaining range was 217 km.

googleMapHomeToWork2018a

Continue reading “Going electric, winter is coming”

Please use Maven!

Before 2004 the defacto standard build tool for Java applications was ANT. It was a step up from the make-based way of building Java software; it featured standard tasks, like compile and jar, that you needed in most projects. It was a first attempt to make building java applications more declarative.

But as time moved on, and projects become ever more complex, so did the ANT scripts. You ended up with scripts calling scripts, calling scripts, calling scripts, … And soon building an application was just as complex as the average nuclear fission paper. Not even mentioning trying to assemble the right versions of all the dependencies into the libs folder.

Continue reading “Please use Maven!”

Going electric; scheduling the AC on a Tesla

The last few blogs had a “not my usual content” text here, but this one is about software development. As it turns out Tesla is missing a -for me- very critical piece of functionality; being able to start the airconditioning (AC) system at a certain time. It is possible to turn on the AC immediately via the app using the fan icon (see the image below), but not automatically at 06:00, while I’m still counting sheep in my bed.

TeslaAppFirstScreen

But to my amazement, every Tesla car is accessible via the internet through a REST API. This API is what the Tesla app uses to access the vehicle. Using this API is not officially supported, but Tesla does not seem to mind people accessing it.

Okay! That is interesting! I’m a software engineer, I can handle a REST API…

Continue reading “Going electric; scheduling the AC on a Tesla”

Going electric, a closer look

The ‘going electric’ will be different blogs from my usual beat. Not only because they will not be related (directly) to software development, but also because they are opinionated and personal reports; editorials about switching over to an electric car. They will list my personal joys and annoyances about the switch, but I’ll try to be fair and balanced.

Charging

After arriving home, in one piece I may add, it was time to inspect the car closer. But first replenish that battery. I had a Tesla wall connector installed, and a friend of mine suggested to me to also install a Maxem load balancer. I’ll do a separate post on that. The point I want to make is that on all the video’s you see a sleek US style connector being inserted smoothly. So when I inserted mine, it did not go in as smoothly; the connector we have is more bulky and it does not do that smooth insert.

tesla-us-to-eu-charging-connector

But the car clicked, so okay! But then there was an error message in the car saying that it was charging, but not optimally. So I started calling both Maxem and Tesla, something was not putting enough juice in the car. 30 confusing minutes later it turned out I need to push harder against the connector, so it was in all the way. Ahm. Sorry!

Continue reading “Going electric, a closer look”

Going electric, first drive

The ‘going electric’ will be different blogs from my usual beat. Not only because they will not be related (directly) to software development, but also because they are opinionated and personal reports; editorials about switching over to an electric car. They will list my personal joys and annoyances about the switch, but I’ll try to be fair and balanced.

Delivery

The delivery is fun with the unveiling process, where they remove an actual veil from the car. You get a quick run through of the basics, but since you also are a bit overwhelmed by the fact that you’re buying a new car, you follow suit. In retrospect, I would have liked a bit of time alone with the car, so I could inspect it, run my finger over all the gaps and see if they are ok. But they are definitely trying to get you on your way. “You really like to get going, don’t you?”… Hm, no, not really.

TeslaDelivery

But after listening to YouTube for 2.5 years I have a pretty good idea on how to drive the car; looky there… that right pedal makes it move. And next to it is the stop thingy. I’ll be fine. But it actually is that simple. There is no need to light a fire anywhere, so no start button to press. But also no reassuring vrooooommm that the system works and is ready, and that is somewhat eerie; sit, press brake, push down the drive direction selector, press the pedal and off you go.

Continue reading “Going electric, first drive”

Going electric, prelude

The ‘going electric’ will be different blogs from my usual beat. Not only because they will not be related (directly) to software development, but also because they are opinionated and personal reports; editorials about switching over to an electric car. They will list my personal joys and annoyances about the switch, but I’ll try to be fair and balanced. Oh, and this first one will be longer, so I’ll include chapters and pictures. 🙂

Pre-prelude

I’m a nerd, always have been. In primary school I was ridiculed because my fantasy sometimes got the better of me. Luckily nowadays nerds are cool, because people need nerds to make their gadgets work, so the world became a better place for me. But that could become a whole separate post. What matters is that technology always had my interest; I like spaceships, watch science fiction, and dreamt of flying on the Enterprise. But also more down to earth tech like cars and trains always had an appeal. Not in a way that I had posters of them on the wall, but those big American trains… As an adult, whenever I found a nice image, it was included in my set of rotating desktop wallpapers.

Besides beautiful images on my desktop, I read a weekly car magazine to know more about cars. Because, you know, supercars have a tendency to be totally unpractical. One of my favourite brands is Aston Martin, because they look good and actually are usable.

AstonMartin

Continue reading “Going electric, prelude”