Staying Pragmatic

2 minute read

I'm on a journey and the path is curly.

I’ll never stop learning new things. A while back I built my first Garmin watch app. This involved using:

  • A new-to-me language called Monkey C and its special compiler
  • A device simulator
  • Garmin’s Connect IQ SDK

Most developers are doing this on Windows, using either Eclipse or VSCode. VSCode is very nice software but I try to avoid Microsoft. If I must use Windows I boot up a virtual machine, hold my nose and get the job done. But I prefer to use Linux.

Arguments about Microsoft and their effect on the world tend to get long and boring, so I’ll just say I don’t like them myself and personally avoid their products insofar as it’s practical. No this doesn’t mean I like other megacorps like Google or Apple instead.

Regardless, pragmatism means I have to use things from some of these companies some of the time. To exclude all megacorp-related products I’d have to avoid everything to do with computing. However, in life we have a finite number conscious moments. It’s not possible for every one of those moments to be spent perfectly, but the more I can move towards spending more of them in places I like, supporting things I believe in, and away from places I don’t like and things I don’t believe in, the better.

Anyway when you’re learning new computer stuff, you’d best be using the same environment as the majority. Otherwise, you’re going to have lots of extra problems outside the normal expected beginner problems in that space. I don’t always mind this, I believe that doing things the hard way is rarely a waste of time as you have to solve problems which is, if nothing else, a useful exercise that keeps you sharp. Sometimes I can’t afford to take the hard way because of real time constraints or because I’m working on somebody else’s time. But not always.

So if you want to learn how to develop for Garmin devices, or Android apps in Flutter, and you want to use Linux, the easiest way is to use the most popular/mainstream distro, Ubuntu. Instructions will usually be aimed at Ubuntu users, and the differences between Ubuntu and other distros aren’t always easy to work out.