Robocode and others

As expressed in a previous post, I prefer to spend my free time with my kids than with technology (for technology I already have my job). However, when there is an exception to that, I do like to do some sort of smaller projects, like “porting” stuff to Flatpak.

I did my share of Debian and RPM packaging in the past, and honestly I have never enjoyed it (for a number of reasons not really interesting for this post). But “flatpaking” stuff is completely different to me. Maybe it’s my early involvement with it, or maybe it’s my admiration for how its designed, but the feeling when making a Flatpak is of reward, rather than a chore.

Robocode

Around 15 (fifteen!) years ago, while at University, my colleagues and I enjoyed this quirky little program called Robocode: a game where you load multiple tanks coded (hopefully by you and your friends) using a small Java API, and let them fight each other until one stands. At the time, my parents still didn’t have broadband at home, so when I visited them, I spent some time coding “the best” tank (it was more fun and less sad than it sounds…)!

Thus, roughly 5500 days later, I thought it’d be cool to have Robocode in the easy to install/run way that Flatpak and Flathub give us, and I finally made this into a small Christmas project a couple of months ago.

Small detour into other tanks

A couple of years ago, in a brainstorm with my Endless’ colleagues at the time, I mentioned my nostalgic fascination for Robocode, and how it could inspire a mode for an Endless’ game we were testing called Tank Warriors.

Matt liked the idea so I wrote a draft of this game mode for the game developers to follow, and got to test a couple of early versions once it was built. Thus, if you are interested in a more modern approach to Robocode (and using Javascript rather than Java), check out the Tank Warriors on Flathub.

Get it while it’s hot warm

Robocode has been available on Flathub since early January, but only now I found the time to blog about it…
In any case, if you’re getting into programming now, I really hope you enjoy Robocode and that it inspires you to keep learning!

Get Robocode for Flatpak now!

Other oldies

As mentioned, I enjoy porting software on Flatpak in general, but in particular I like porting old stuff. It’s a chance to have often forgotten projects in a way that’s expected to just run. So I am taking this chance to mention a couple of other games I ported a couple of years ago but didn’t blog about.
Those are rRootage and noiz2sa, two psycadelic shooters created by the Japanese game developer Kenta Cho, and they’re among the first games I played on Linux. If you’re into minimalist and psychadelic graphics, be sure to check them out.

I wonder what other cool old software should be made available as Flatpak.

Wrapping Up 2019

It’s the last night of the year and the decade, and here is the mandatory End of Year’s post.

Family

This year was without a doubt the most difficult in my (still young) life. Things were setting up to be a great year at the beginning, there were big plans for the Hack project I was working on at Endless with my colleagues, and my wife Helena was going to start an illustration course after our son finally started at the kindergarten (in Germany it’s common for kids to enter it when they’re already 2 years old…), besides other personal projects we were preparing.
However, in a visit to the dentist by my wife in order to check something bothering her, she ended up being disagnosed with mouth cancer.
As would happen with anyone, the news really shook us and made us go through all the common wonderings of why would such thing happen to someone who has no family history of such sicknesses, doesn’t drink, doesn’t smoke, etc.

Still this is a positive post! Everything moved very quickly and neatly on the doctors side after the diagnostic. The tests and surgery happened as fast as they could possibly be done, and since apparently it was disagnosed at a very early stage, Helena “only” needed two surgeries and no aggressive treatments.
In the end, we are very thankful to all the doctors, nurses, and staff. It couldn’t have been better, from the great quality of the services, to the friendliness of the people involved. A big and honest thank you again to the great people who dealt with us at Berlin’s Unfallkrankenhaus.

We are extremely lucky to have universal healthcare coverage. Besides the normal (and public) insurance we have, we only had to pay very little extra costs that are even neglegible. I cannot imagine having to worry with the sickness and also with the costs of treatments.

Being away from our family when this happened also made it more difficult as we had to juggle the hospital trips with taking care of our son (who was not yet in the kindergarten when this started) and my work. On the work side, I need to thank Cosimo and Endless, who made it clear I’d have all the time I needed to organize things on my side; that was extremely important. And we also need to thank our neighbor Ilka, who took care of our son a few times while we both were away. Of course, many more people offered their support, and we had Helena’s mother over for a couple of weeks in the second surgery. All the support and nice words was important and we’re grateful to have such great people in our lives.

One last thing to end this subject. I really need to emphasize Helena’s attitude towards her situation. We have been together for a long time, and I knew she was a positive person, but her positive attitude in the face of such a serious case was mind-blowing even for the doctors (one even said “Do you know what this means? …. Yes? Okay, this is weird, I had never had anyone behaving like this after the news…”). I feel like the drama was all mine and she had to recomfort me, even though she was the one who had to endure the initial uncertainty, the surgeries, the recovery…
After so much time together and so many experiences we shared, this problem made me admire even more the person I love. I wish our kids get that attitude to life and not my traditional-and-very-Portuguese fatality ๐Ÿ™‚

Work

On the work side things also had a twist. At about the same time Helena was having her second surgery, my work at Endless was about to change too, and I joined Kinvolk for a temporary position, as explained in this post, since I wasn’t sure about mixing friendship and work.
Well, it turns out that I liked the work, the people, and the possibilities at Kinvolk so much that (in November) I accepted the proposal to make it permanent!

Technically, coming from the Linux desktop world, it felt “foreign” to take over a Go + React project like Nebraska, but I already feel very comfortable with this “ecosystem”.

I am genuinely excited about what is coming from Kinvolk, and I will keep working on the company’s existing and new products. We are also looking for great people to help deliver great & 100% Open Source solutions, so check out our open positions.

Community

About GNOME/community work. It’s difficult to find the time and energy to do anything tech-related outside of work, so I cannot realistically think I will be an active contributor in my spare time.
Still, I keep my eye and interest in the GNOME and flatpak communities. Last year (2018) I “flatpaked” two old games (noiz2sa and rRootage) and added them to Flathub, and now I am in the process of getting Robocode into flathub (more on that soon).

That’s it!

And that’s all for this year’s wrap-up! Despite a very difficult situation, we end the decade feeling very happy and fortunate. I wish everybody a great new decade! Love.

Ready for 2019

This blog has not had many posts in 2018 but the “new year’s post” is almost mandatory, so here it goes.

Family

December was similar to last year,ย spending most of the time in Portugal with the family and coming back to Berlin right before the New Year’s eve.
After 3 years in Berlin, I think I am finally reconciled with the oddities/particularities of the city, my German is improving, and I do enjoy living in here more than last year. We do miss our friends in Geneva and other places, and of course it’s ever more and more difficult to leave our family in Portugal after seeing how much our son and our daughter enjoy being with the grandparents and cousins.

A picture of Lagos in Portugal, showing a landscape with big rocks and a cliff by the sea.
Lagos, Portugal, where I spent part of my vacation

Still on the personal side, the biggest event this year has been my daughter’s surgery. She needed a throat surgery to remove part of her tonsils, in order to breath and sleep better, among other things that would improve as a result (having more energy, eating and growing more, etc.). It was a “simple” throat surgery, but not without risks (we spent 5 days in the hospital for the post-surgery recovery and observation). I tried to explain it to her as if it were a special sleep-over at the hospital where the folks there would help her breath and sleep better, so much that she was disappointed when we had to reschedule the surgery 3 times (2 times because she was sick, 1 time because the hospital organization is not the best and they lost our appointment!). She faced the event like the brave girl she is and she was always patient too. In the end, the results were amazing and could be seen almost immediately: she now has much more energy, sleeps well, eats and speaks better… like night and day!
I hope my son doesn’t have the same condition, but judging on how much energy, strength, and overall physical agility he has, I’d say he’s fine ๐Ÿ™‚

I cannot emphasize enough though, that even if the surgery scheduling was a mess, the surgery and post-surgery care could not have been better. From the doctors, to the nurses, and other assistants, everybody was really nice, patient, and professional. Having any surgery on your child is always something very delicate and challenging to deal with, and the staff did make me feel like my daughter was in the best hands possible. Of course, this care was the same anyone would get with a normal/public coverage in Germany, and thus it’s even more remarkable. Even though in the EU we sometimes take Universal Health Coverage for granted, it’s good to remind ourselves how precious it is.

Work

2018 also meant some changes in my daily work at Endless as I joined a new team to help deliver a new project with a different type of users. This project is called Hack, and aims to deliver a desktop computer experience that integrates elements to teach programming and computing concepts to users from age 8 and up. This also meant that I traveled twice to work with the rest of the team from the San Francisco office, and it’s always nice to hang out with my colleagues directly.
We have already shipped the first computers around Christmas in a great effort from everyone involved (in this team and others), and I am proud of what we’ve achieved! There is still a lot of work to be done, so be sure to follow the news about the project.

With this new project and being a father of two means I didn’t really have much more time/energy left for side projects but I still managed to give a presentation about ostree and Flatpak at CERN, and at the Linux Technologies Berlin meetup, which I really enjoyed and hope to have the opportunity of giving more presentations this new year too.

I guess that’s already a good enough summary for the small attention span we all have in this decade, so I will leave it here.

Have a great 2019, everyone!