Update #12 New year resolutions for 2023

Happy 2023 everybody!

Well, you can see that it has been quiet on the blog, as it has been quiet on my road to Java greatness. From right after the holidays last year, it has been very hectic at work. I could not find enough energy and drive in the evenings and weekends to continue with the Java learning.

Did I disband my Java learning completely? Well, to be honest I don’t know yet. I am spending part of my 2 weeks end-of-year holiday thinking about my work goals for 2023. I am doing my current role at my company (Release Train Engineer / Lead Scrum master) now for about 5 years, of which 2 years at my current department. To me that means time to start thinking about next steps. Working at a large company like major airline AirFrance-KLM, gives the opportunity to find new challenges within the company, for example in another domains (e.g. Flight, Commercial, Cargo, Engineering & Maintenance, Ground etc…). And another domain brings other people, other work culture, other technology.

So I set a goal for myself to figure out my next step in this year. And I am having an open mind for either a new work environment or a change in role or function. I am still very much interested in technology, which I cannot do much with in my current role. Therefore I am also looking into options where technology is more in the picture.

To come back on Java (as for now this is my Java Blog), I expect to still finish some chapters in the current Java course, but with less ambition. Time will tell if I will be able to use to knowledge in the coming year(s)

Update #8 Worst code ever :-)

I am finishing the chapter on packages, scope and access. Not the most sexy topic, but I am happy to do it. It was itching already for some time when to use public, private, static, final etc… It was used before (of course), but not really explained. Now it is. Again, not something you will need to know in detail in daily practice, but I sorta think this is fundamental knowledge that is good to have.

As part of this chapter, there was a fun challenge to illustrate scope. The assignment: a program that prints primary school “times” list for a value. E.g. for value 3 : 1 * 3 = 3, 2 * 3 = 6, 3 *3 = 9 etc….

One specific condition: all variables, members, methods and classes have to be called x (or X for the class)!! It results in completely unreadable code, but due to scoping in Java, it can be done. See if you can follow the code 🙂

Read More

Update #6 Old fashioned bash scripting

Due to holidays (a week in the sun & the snow!) and busy return at work, my study progress has been disappointing. But I was able to work on another technical topic that had some urgency: updating the software on my NUC that runs this blog. For the technical nurds some more information on my setup:

  1. An intel NUC with 16G memory and a fast 500GB SSD
  2. The NUC runs Proxmox virtualization software
  3. In Proxmox I have a so called LXC container running, which you could compare with a virtual machine
  4. The LXC container runs Nginx as reverse proxy for my domains and docker to run my containers
  5. On the LXC container, 4 docker containers are running:
  • 1 WordPress container for this blog
  • 1 WordPress container for my band: https://thomandthejerrys.nl
  • 1 MySQL container for WordPress
  • 1 Portainer container, to have a nice frontend for the containers

Portainer is great: you visually see the status of your containers and you can stop, start or rebuild them from the GUI. You can even go directly into a container terminal from Portainer. But there is one problem, you cannot update portainer from within portainer. It is not too difficult to do this from the command line, but I always forget the exact commands. The solution: A bash script that took me almost a day to make.

Continue if you are curious…

Read More