A class in the clouds – homeschooling with Flight Simulator ✈☁️

This pandemic is running for too long. In our home we all feel a growing desire to move, travel, see places, learn new things…. and adding this to this dad’s passion for airplanes…. well, we got ourselves an idea for a different kind of class! We decided to do a virtual flying tour! Our eldest daughter, Lara, who is 5-and-a-half, was really up to it as well.

So I spent a couple of days brainstorming and planning a few things and eventually settled in a trip to learn about the Azores archipelago, one of two archipelagos of Portugal.
In this first visit I picked the central group of islands, which is the one where the islands are more close together, which is great since we don’t want the trip to take too long (2hrs max).

But don’t be fooled, the plane ride is really a platform to learn about history, geography and so many things about these islands and our world. 🙂

On the eve of our trip I tried to print a map of the islands and the itinerary to follow. But as you might expect, a true printer will never print when you actually need. So forget the printer! We picked up our coloring pencils and made a map ourselves!

Lara chose the sequence we would fly: departure from Terceira, follow north to Graciosa, go down to São Jorge, Pico and finish in Faial

Finally the day came! During the morning the conversations were mostly around the trip we would be doing in the afternoon. So at this point I thought we need to make this even more fun and do some role-play as well!
I made some paper tickets so that this felt like a real trip. I hid one walkie-talkie in the living room, and once in a while I hid somewhere and made some radio announcements regarding boarding times 😂 I don’t even know who is having more fun, me or the kids? ah!

My wife played along and improvised some clothes to look like airport staff and checked the tickets during boarding. Now we are a real airline!

After we all boarded, we set up our equipment, maps and, of course, Lara’s compass! Yes a compass, because this trip won’t have any modern GPS or other navigation aids, we will do it in the old fashioned way following a map and a compass, especially because Lara likes numbers and has been learning about angles lately.
Next to our main screen we have a secondary screen with wikipedia (and other websites) which will provide us with information and knowledge about the places we go to. Oh, and Lara’s globe lamp is also here so we can have a really broad view of where we are flying in planet earth 😃

In case you don’t know, the weather in Azores is really unpredictable and unstable. We were expecting a sunny day but we faced some clouds and lots of wind. But even that was good. Here at home we have been trying to build a paper kite, and one of these days I said we need to build a windsock to help us fly. Windsock? What is it? How does it work? Luckily, airports have plenty of windsocks, so we go and check it out before starting the plane’s engines. A windy day is a good demonstration for a windsock! Now we have a better understanding of what we need to build as well!

As we spend some time talking about the country, the Azores, the island of Terceira, the weather also improved and we got a clearer sky for the rest of the journey. After we took off, Lara learnt what are marinas and ports, what are they used for, and why there are so many in the Azores.

After a shourt tour on the island, we need to get moving because our journey is a long one. Next stop: Graciosa island. For that, we now put the compass to work in order to figure what the heading to follow. Let’s hope we don’t make a mistake or we will end up lost in the middle of the atlantic.

About 10 minutes in we have visual contact with the island of Graciosa. I guess the compass did work and our navigation was correct!

Here we read about lighthouses, something that Lara has heard about but doesn’t remember quite well what it is or what it is for, so we explore a bit more on that topic.

As we approach the airport where we should land, Lara identifies the runway.

Quick enough we are back to our map and compass, checking how to go south towards the island of São Jorge. While we fly amongst the clouds, we read and watch a few interesting things about this island. We ended up with a very cool youtube video that shows a lot of beatiful parts of the nature in São Jorge.

Check it out as well:
We also read that the north side of the island is characterized by a tall mountain range near the shore. And it is indeed! As we approached we were faced with the tall vertical wall that we struggled to climb, so we thought it would be better to turn east and go around it.

After we went around and started flying towards the airport, Lara noticed something interesting up there in the mountains! What is it?

Oh, those are wind generators, just like we have here near our mountains. They are one of the main sources of energy in Azores.
Not a coincidence, we also learnt about many old fashioned windmills still standing in the islands. I guess its the ancient way of harvesting wind-energy, electricity free!

But Lara wanted to check it out closer, so we looked around for a place to land, and managed to take a really good look at it. While we stopped we got to talk a bit about how a wind generator works.

Back in the air, and with the wind generator park far behind us, we get to experience how long and narrow this island is (it is the longest island in azores!).

Finally we landed and made a quick stop to refuel. Looking to the south of the island, we can already see one of the main attractions of this trip across the sea.

Ready for take-off towards Pico island. With this nice weather we can see it from afar!

We live near the highest mountain range in Portugal, but actually it is not the highest if we consider the islands. Pico, which was a volcano is THE highest mountain in the whole of Portugal. And the fact that it is a volcano makes it far more interesting to learn about 🌋 We took this opportunity to check a comparison chart of the highest mountains in Portugal

We barely made it, but fortunately our plane was strong enough to make a good climb so we could take a peek at the top and learn that volcanoes also extinguish and then “close” when the lava melts.

After going around and checking the volcano, we landed in Pico airport to rest and have a snack! (Yes, because this airline is so cool that offers free snacks!). And we snack with a new view to the mountain 😃

We took off towards our last island: Faial! Because it is so close to Pico the trip was very fast. We got into the island coming from the East, right above the main city of Horta (which gives the airport it’s name). One of the most important cities in Azores, also with a big port and marina.

Here we got to know that Faial island also has its own volcano, with a very beautiful scenery inside it. So of course we had to check it out and take a picture with two volcanoes at the same time 😎

This visit to the second volcano messed up our navigation plans, so we had to go back to Horta, turn-around and get aligned again with the runway. But because our trip was coming to a close, Lara wanted to see the ground once again and so we found a nice empty field with the famous lush-green grass of azores 🐄

And finally, we approach the final airport: Horta.

And so ended our journey, after around 1h30m, plus boarding time 🧳😁

After this we brainstormed so many ideas of places we could visit and learn about, but unfortunately my laptop is too old to be able to visit them. I’m already quite lucky that it can even run this game at all 😅

How I helped a client cut down 90% of server costs with MySQL

First of all, I hope the title isn’t too catchy or misleading. There are no magic secrets here, actually, it’s all pretty common stuff for anyone that has some experience with any DBMS. But that is, in itself, part of point of this article: that sometimes the basic stuff can be overlooked.

(Editorial note: For privacy reasons I changed the names of several things in order to keep the client identity and industry as less-evident as possible)

I won a contract to build a platform for a client. This was to be used internally but also as a way for the client’s clients to access and analyze data. They had a pretty old platform in place that was aging quite fast and lacked useful features. So they hired a company to get them a more modern platform with a flashy UI. Unfortunately, this company didn’t build anything new, rather they used something they already had and made lots of tweaks here and there to try and fit a round peg in a square hole. The end product was interesting at first, but in a short period of time it began to show its weaknesses. So again the need came to actually get something built from the ground up that met the needs of the present and was ready for the future. This is when I come in.


(not sure if this is even a valid word, but let’s go with it for now)

I recently concluded my 3rd JoMO (Joy of Missing Out) week. More and more I’m finding that spending less time on the smartphone and social media is bringing tremendous value and quality of life (nothing new here, tons of people talking about it).

One small tip I read a while ago was that making our smartphones less interesting was a way to help in the effort. And one interesting way to do that, was to remove the colors from the screen (or greatly reduce saturation). So I went full on and used the Android Developer Mode settings to change the display to monochromatic display.

I absolutely LOVE it for the minimalist and e-book like style. Not sure if there’s a real impact in terms of being less attracted to browse, but it makes me look at the smartphone has a simpler tool than a pretty screen to waste time on.

One other change I did was to use the “easy UI” as a launcher, which is a kind of dumbed down samsung home screen with big icons and no widgets.

I’ve been considering going back to a feature phone, perhaps one of the recent Nokias that also include google maps and calendar sync (two things that I would surely miss), like the 2720 or the 800 Tough. But I also have my eyes on upcoming “minimalist” phones, even though the price point is a bit high for me. Check out The Light Phone and the Mudita Pure.

This is also part of my De-googlifying process… will write about it soon 🙂

A review of several “free” head-tracking alternatives to use with Flight Simulator

My favorite way to play Flight Simulator(s) is by doing sightseeing, VFR trips. I’m not an airliner person. So Flight Simulator 2020 is perfect because there’s loads of detail and everything looks great!
I’m loving the bush trips, and hope more will come soon!

The downside of it, especially when using tail draggers, is that its really heard to do a flight purely by VFR when you’re limited to a relatively small screen. It gets boring really fast if you constantly need to use the mouse to look around.

Enter head-tracking. I finally thought it would be a good time to try it. Of course everyone knows TrackIR, which uses a special camera and gear to detect head movements with great precision regardless of lighting conditions.
But I was not prepared to spend 200$+ on one, especially considering I never tried it before.

So I spent the last week just trying out different alternatives and decided to write a short blog post to summarize my findings, in case they are useful for people who might want to try this as well.

I installed and used:

  • ViewTracker
  • FaceTrackNoIR
  • OpenTrack
  • AITrack
  • FacePoseApp

Most of these options allow you to use different input sources. So let’s see one by one

How to play MS Flight Simulator 2020 on low-end laptops

I used to think my laptop was fairly okay-ish. That was until I started reading the rigs that people have to play FS2020. I’m not into gaming so that explains my total lack of awareness of what is a decent gaming laptop these days 🙂

Anyway, as a fan of flying since the great Flight Unlimited and the old versions of MS FS, I couldn’t skip FS2020. Been playing Xplane for a year or so, but I dislike airliners. My thin is VFR and sightseeing, so MSFS is a clear must due to the amazing world available!

I was greatly disappointed when MS released the official game requirements and saw that my graphics card(GTX 1050m) was not up to the task. I’m really thankful for the fact that we can get this game via XBox Game Pass, which means you don’t have to risk spending 60$ and then not be able to play it.

This is my short summary on how I set up the game to be able to play in an enjoyable manner. Please note that YMMV. Each system is different and there are many factors that impact performance besides cpu, gpu and memory.

For reference, my laptop is a MSI GL62M, with an i7 7700HQ, GTX 1050m and 16gb ram. I installed in the game in the SSD for improving performance as well.

I’ll skip the basics

Needless to say but

  • update windows
  • update to the latest graphics drivers
  • close all programs when you play FS (including the background ones) – you want all the CPU cycles and memory that you can get!
  • can you overclock safely? If yes, consider doing it. Even a tiny bit can help.
  • if you are on a laptop like me, make sure your cooling is up to task. My CPU sits at 95-96ºC pretty much the whole game, and this is with the MSI cooler booster turned on

Take all recommendations with a grain of salt

I’ve read quite a few articles and forum posts on how to optimize the settings to achieve maximum fps. Most important: try it for yourself! I’ve seen guys stating things like “turn off this setting and you’ll gain 10fps!!”. No, just no.

How to prepare to optimize the game

First, turn on the developer mode. From the developer menu bar, switch on the FPS counter.

We are not using this just to show fps (plenty of tools can do that), but to understand where is the bottleneck in your system. Below the big fps counter you’ll see “Limited by GPU” or “Limited by MainThread”. This means the bottleneck is your GPU or your CPU, respectively.

This is one of the most important things to do and be aware of. No point in optimizing a bunch of settings that have no impact in the bottleneck you are experiencing.

As far as my research can tell, and it seems to be in line with what others experienced, these are the settings that impact the MainThread (CPU)

  • Terrain level of detail
  • Objects level of detail
  • Online settings
  • Real-time/AI Traffic
  • Traffic density

Everything else will relate to the work of the GPU.

I try to get the frame times of the MainThread to be the same as the GPU. If your CPU is your bottleneck, tune the graphics up so you can enjoy the game. Otherwise, work on the graphics but push the above settings up to have a better experience.

Every flight is a new experience

Most people will set up their game to what they find acceptable and then run with it. If you are on a low-end machine like me, forget that. Every single flight I do, I spend the first 5min optimizing my settings. Why?

Because when you are away from dense cities, you can push the graphics up without severely impacting performance. And when I’m flying close to cities, I do the opposite. I mostly fly for bush trips and natural areas so I tend to have my graphic settings mostly in medium and still play at 25-30fps. I have even played a few times with water and clouds on high without any issues. Just remember to adapt the settings to the places where you are.

Optimizing the graphic settings

From my experience (and again, YMMV), these were the settings that had a greater impact on performance.

  • Render scaling (usually I have it 80, you can reduce more to increase fps)
  • Texture quality (medium, because I dont like it low, but it causes a considerable hit in performance)
  • Buildings (usually medium, but if close to cities, low)
  • Anisotropic filtering (4x, because off makes runways look bad)
  • Texture supersampling (off)
  • Shadow maps (1024 – 1536)
  • Terrain shadows (256 – 512)

Everything else is pretty much on medium. Depth of Field, Lens correction and flare are Off just because I dont like it.

Trees are medium because I think they really make a difference to the scenery. Grass medium as well.

I’m playing at 1080p which is my native resolution and with vsync off (vsync on gives me worst framerates).

How to test

Whenever you make any changes, whether is graphics or data/traffic, after pressing apply and going back to the game, don’t start right away. You’ll see that frametimes will spike. I always wait 10seconds or so. This is the time it takes to apply those settings and load things again. After 10 seconds you’ll notice things will stabilize and fps counter will go up. This is the time you can start playing.

Overclocking and conclusion

All in all, it will depend on the sacrifices you are willing to make. I’m fine playing this game at 20-25fps with an occasional drop in some areas. If you really aim for 30, you might need to tune things down a bit.

I used the MSI Afterburner app to add an extra +200Mhz to the gpu clock, which gives me 2-4 extra fps. Not much but at this level, all frames count 🙂

Recommend reading: https://respawnfirst.com/microsoft-flight-simulator-pc-tweaks/

A review of my JoMo week

I started my JoMo week on the 25th of June, and as I wrote on my initial post, I was planning to write on the blog my experience throughout the week. Well, no posts were made since then and now its the 20th of July. I guess that can say a lot about how it went 🙂

I was hoping to be feeling a lot of “things” in the first few days, but perhaps due to the fact that I am not THAT addicted, it went just fine. Also, considering the fact that my free time is scarce, I didn’t really had a problem to deal with boredom.

During the week, it did happen just once or twice that I felt the urge to pull the phone and browse… but it was empty of any “browsing” apps… or so I thought, until I opened my local classifieds apps (facepalm).

All in all, I got to the end of the week just fine and didn’t really miss anything at all. I also used my time better and more productively.

On the first day after the JoMo week I was happy to visit a few couple sites and read whatever messages people might have left me… which were very few actually (terrible social life, I know!).

Since then, I decided not to install twitter or instagram on my phone, nor to enable any shortcuts on my browser to news sites. So now I only check twitter/instagram when I’m on my computer, and I don’t really feel the need to do it at all.

All in all, I really feel some sort of “detox” has been accomplished as I stopped visiting and wasting time in many sites I used to before. Of course that, like in any detox, nothing lasts forever so I’ll be aware of how my tech-dependency goes and will do more of these every X months (X to be defined later).

10/10 would recommend 🙂

A Guide on re-creating Hey’s features

Following up on my last post “Why I loved Hey but it isn’t for me” here’s a short guide on bringing some of Hey’s features back into my email service.

I’ll be demo-ing this using Fastmail because it’s my main email, so you will need to adapt somethings to your own app/service. Make sure to check the manual/help pages in order to figure out how to do it. (in some cases it might not be possible at all).

Just for fun, I’ll be re-creating as much as possible of Hey, but keep in mind I don’t actually use my email like that 🙂 Take what you like and leave the rest.

Overall preferences

Let’s start by going to Settings -> Customize -> Preferences

Under Remote images make sure to select Always ask before showing remote images (or the other option that allows remote images from your contacts).

Under Mail, select Hide reading pane, to have a more focused view of each message.

Still in Mail , choose to organize by Folders instead of Labels. This makes it easier (and honestly I just prefer folders to labels).

Head to the Notifications page. If you want notifications, turn it now, but select from My VIP Contacts. VIP Contacts is a Fastmail group, which can be used here to restrict important messages that are notification worthy.

As shown in the picture below, in case you have filters, you can also specify other folders where notifications should be used.

Folder Structure

Let’s add a few folders now. In the Folders settings, add the following folders

  • Screener
  • The Feed
  • Paper Trail
  • Reply Later

I moved the Screener to the top, as it is a kind of an Inbox, really. Feel free to give them other colors to help distinguish them.I’ve also used some of Fastmail’s advanced folder settings to customize the behavior of some of these folders.

The Feed gets newsletters and other non-important stuff. So you can hide it if there are no unread items (or if empty). I’ve also enabled the option to delete messages after 31 days.

Saved Searches

We can use advanced search criteria and then save those searches as folders to quickly access them again. Think of it as “virtual folders”. I’ll be using 3 of them. Docs, PDFs and Set Aside. Docs and PDFs are just a quick way to see emails with these kind of attachments. YMMV, so make them as you see useful for you. Set Aside will use the “pinned” state of messages. Of course that, if you prefer, you could also just create a folder with this same name, and move the messages in and out of the folder. But I prefer to keep them organized in folders.

So here are the details for each:

  • Docs: filetype:spreadsheet OR filetype:document
  • PDFs: filetype:pdf
  • Set Aside: is:pinned

Rules: where the magic happens

Now lets see how to create rules (aka filters) to put new messages in their proper places

Fastmail rules’ system processes rules in order, so it matters which rule comes first. Here we want the screener to be the top priority because nothing should go to any other folder before being screened first.

The Screener rule is the most simple one. We will rely on a contact being or not part of our contact list. But I’ll explain the workings later.

For the Feed and Paper Trail I think we can make something even better than Hey’s. I think Hey relies on manual filters. You decide which email address goes to the feed or paper trail, and then it applies the same rule all the time. This may not be ideal. So here’s how I did it: if we find that there is a list-id in the email header and the word “unsubscribe” in the contents, we can be pretty sure this is a newsletter.

You can obviously still create other ways. For  instance, a good method would be to create a contact group for newsletters and then filter by the group. You can then just add contacts to that group the first time you receive an email. So far, I didn’t feel the need for this.

For the Paper Trail, again I think my system is better as it avoids me doing decisions one-by-one. I tried to create a smart filter that works not only in english but on my own native language as well. Just add more words as you see fit

Putting it all together

Here’s a short walk-through on how to work with all of this.

My Inbox is my priority, but sometimes things will end up in the Screener (especially in the beginning when you need to “approve” your contacts). When you feel like it/have time, open the messages in the Screener and decide

Open an email and ask yourself, do I want to completely block this sender? To do so, click the More button and select Block sender. (you can undo this later in the Filters sections of the settings). Then delete the message.

If you do want to receive more emails from this contact, click it’s name in the header and then Add to contacts. This will bypass the screener filter next time. You can now move this message to your Inbox, archive, delete…

As for Reply Later, it’s as simple as dragging any email from your Inbox(or other folder) to that one. It’s a convenient way to sort out emails that need a reply.

If you want to Set Aside some emails (for reference, etc). Just pin them and our smart search folder will do the rest.


I hope this was useful! I actually think Hey’s way to organize emails is not the best, but its definitely a step up (or several!) from the usual chaotic way people have their inboxes, so kudos to them.

I’d love if Fastmail could improve and add a few simple features that would make a ton of difference to better use folders like

  • showing the unread OR total count by each folder – this would allow folders/labels to be used as lists (I dont care if its unread or not, just tell me how many emails are there)
  • better organization of saved searches. I would love to be able to bring them up in the list, especially the “pinned” one.

Did I miss some creative way to do something even better? Do you know how to expand this? I’d love to hear more ideas 🙂

thanks for reading!

Just one more thing

You can check the advanced preferences of the Settings for this useful option

Assuming that if you are writing means you don’t want to block him/her, this will save you the trouble of having to screen the email later 😉

From FOMO to JOMO – an experimental week

I read Christina’s Crook book “The Joy of Missing Out: Finding Balance in a Wired World” some years back. Since then I did a couple of unplugged days/weekends. More recently I’ve been finding myself too stuck in the never ending loop of checking news(the good ones) and social media (even though I don’t use Facebook, twitter and IG still pull me a lot).

I found myself brushing my teeth in the morning and checking twitter at the same time. Mind you, I’m not even a very active user and don’t really care for follower counts or likes. But it’s a habit… a bad one.

And there’s really no point in arguing your way out of bad habits… our body and mind needs harsh training to get discipline.

At the same time, I’m at a point in life where I really need to make a better use of all the time I can, and even though I don’t keep track of it, I’m suspicious of wasting quite a good chunk in social media and news.

So I’ve decided that this time I’ll do something a bit more extensive. One full week without twitter, Instagram, reddit, tech news. I’ll keep my email due to work going on, but that’s about it.

I’ll probably want to journal the experience to register what I felt during the week, so I’ll be using this blog for that. I love mental experiments!

In order to avoid breaking my own rules, I’m going to cut all possible shortcuts to open said apps and websites. That includes:

  • uninstalling apps on the phone
  • removing shortcuts from firefox mobile
  • removing shortcuts from firefox desktop (those in the new tab page)
  • turning off all notifications (I have 90% of them off since years ago, but just to make sure I’ll turn everything off)

Very excited for this!


Loved Hey, but it’s not for me

Hey is full of refreshing ideas. I really enjoyed its launch especially because it got people talking about email again. I was really excited once my invite arrived and gave a good test to the web and mobile app.

Hey brings to email what Ruby on Rails brought to webapp development: convention over configuration.

See, most people nowadays have really bad email practices. Mostly because they either lack the knowledge on how to create a good workflow with email, how to properly organize that medium and/or organization in general (both in and out of email).

Hey is great for these people, because it protects them from chaos. By designing good workflows, the Hey team made it such so that even if you are terrible with email, you will by far have a better experience with Hey than with any other email service.

I don’t consider myself to be in that target audience. Being a productivity freak and a lover of email, I value control and flexibility over any convention or automation of where my emails should go.

I tried to adapt my workflows to Hey, but then its shortcomings become evident soon enough. Either you use it like they plan you would, or you are in for a frustrating experience.

The price tag is a bit steep if you are not in a “first-world country”, but not as bad as some people say it is. The price per month is in the range of other paid email services.

What significantly made it a no-go for me was the lack of integration with a calendar. I’m in the process of abandoning Google. That means I need to have my email, contacts and calendar hosted elsewhere.

For a fraction of the price, Fastmail gives me all of that and more (files and notes), plus everything is supported by standards such as CalDav and WebDav, which I love!

Still, I really enjoyed some ideas Hey introduced and, just for fun, I tried to replicate a few of them in my Fastmail account. It wasn’t hard:

Of course, YMMV depending on your email service. Fastmail has an absolutely amazing filter system and level of customization. (disclaimer: I’m not associated with fastmail nor is this a paid promotion ;))

I’m actually in the processing of writing a short tutorial on how you can re-create some of Hey’s workflows into your current email app. Stay tuned or leave a comment if you want to be notified.

Many new things about Hey are not reproducible because they are tightly tied to their own app, not part of any email protocol. Things such as email notes and snippets.

One funny thing is to see people so happy for having such a great, clean email. But all of them probably said the same when Gmail launched 16 years ago. It’s only after some months and thousands of emails later that you can really test if it works like you think it does 🙂

All in all, if it wasn’t for the price (a bit high for my country) I would recommend it to lots of people, and get one for my wife as well.

Always eat your own dog-food!

So a few days ago I decided to open registrations for my (still alpha/beta) service www.MyDaily.email in order to get feedback and better guide future features.

This is a service inspired in Google Calendar’s 5am daily agenda, but instead of limiting it to send you a summary of events for the day/week, it lets you include all sorts of stuff that matters to you.

In my case, I’m receiving events from different sources, plus a couple of RSS feeds, a daily quote, summary of my Stripe transactions for the past 24hrs, nasa’s astronomy picture of the day, and even the state of my solar batteries at home.

3 days in, I woke up and my 5am email was missing! I logged in to my account and clicked “preview” which builds the content exactly in the same way as when the email is about to be sent. So an error flashed, I found a bug! (ok, I confess to not properly do unit testing!)

Turned out that NASA’s astronomy picture of the day was to blame! On that day they didn’t send a picture but a link to an youtube video, and the json format was not as I expected it to be. A small glitch in my code made the whole content-building process fail and the email was not sent.

So even though I was sad that I couldn’t get any users to help me try it, I got happier due to the fact that at least I got more time to fix nasty bugs!

In the meantime I found a second bug, also because I’m using my own product daily, as a user.

Always eat your own dog food 🙂