Thomas Lextrait

Sr. iOS Developer at Google
Founder at LycheeApps

Read this first

WindCheck 2.4

Since my last post talking about the revival of the WindCheck EFB, WindCheck has come a long way.

WindCheck-Postcard.jpg

The app now displays airport runways, airport diagrams, instrument procedure charts, a map, NOTAMs, TFRs, and much more.

IMG_05F12E1EDC9F-1.jpg

WindCheck makes available for free some features that are traditionally premium such as interactive 3D runway previews. WindCheck packs lots of cool features, for example pilots can zoom into the map all the way down to the taxiways.

7888D792-792F-4012-AB00-C3D29687C81D_1_105_c.jpeg

There’s a lot more coming for WindCheck. We have been focusing on performance and reliability lately before introducing more features. WindCheck is still missing some key features that everyone needs to plan their trip and pilots should expect those to be available soon.

As we develop WindCheck please contact us via the support link within the app to request features and report issues.

Find WindCheck EFB on the AppStore and follow...

Continue reading →


The Earth Squeezed Into a Wire

If the Earth were squeezed into a wire the thickness of a human hair, how long would it be? A lot longer than it seems!

There are multiple ways to calculate this and below I’ll just go with the simplest and most obvious.

However keep in mind: different materials expand and compress differently depending on temperature and pressure, so here we’re just assuming standard conditions so it’s obviously a little naive but that’s okay this still gives us a good order of magnitude.

The Earth Volume Method

So how thick is a human hair? 70 microns in diameter.

The section of a human hair has an area of π × r² = π × (70/2)² = 3,848µm².

The volume of 1km of human hair is π × r² × h = 3,848 × 1,000,000,000 = 3,848,000,000,000µm³. Lets convert this to cubic kilometers, that yields 3.848 × 10-15 km³.

The Earth is about 1 trillion cubic kilometers.

So how many kilometers of human hair does the...

Continue reading →


Three reasons for the lack of aliens - My take on the Fermi Paradox

The Fermi Paradox is a discrepancy where statistically we think the universe should be buzzing and crawling full of aliens, however we really can’t find any evidence that we aren’t alone.

To be specific, we’re talking about advanced aliens who could travel through space, ie. that we could observe today from Earth.

There are a lot of theories around why that is. Some of the top theories are:

  • We lack the technology to detect aliens.
  • Aliens are hiding from us.
  • We don’t know what to look for and alien life could be very different from what we expect.
  • Aliens self destruct before they reach too much advancement.
  • We’re truly alone in the universe.

I strongly believe that some of the most likely theories haven’t been explored, at least not that I’ve ever seen online.

1. The odds of advanced civilization developing are much much smaller than we thought

This one is pretty evident I think...

Continue reading →


After 9 years, WindCheck is back on iOS

WindCheck 2013-2022.png

WindCheck was the first iOS app I developed, which may be quite evident from the screenshot above. After nearly 9 years without updates, it is now back with a big refresh and plans to help general aviation (GA) pilots in their decision making.

The longer software goes unmaintained, the harder it is to go back and update it. That’s pretty much why 9 years went by, but that’s a topic left for another post!

Aviation Apps

Historically aviation apps have focused on gathering data from many sources, and making it all available in a convenient place. This ranges from real time weather, to airport and runway data, weather forecasts, charts, maps, and more.

The innovation really was to digitize what was on paper, and to combine what was spread across many places. Keep in mind that aviation data tends to change quite frequently, hence the disruptive nature of digitizing it all and making it...

Continue reading →


3D Printing & Electronics

As a hobby I print things using my 3D printer. I have an Anycubic Photon M3 Max, which uses resin as a printing material.

Something I’m especially interested in is building electronics. We’ve arrived at a point where planets are aligning when it comes to manufacturing prototyping.

On one side 3D printing tech has become really affordable, yet high quality (my printer has a 10 micron precision). Printing materials have become affordable as well, hovering around $30 per liter of resin or $30 per kilogram of filament.

On the other side, electronics have also become extremely cheap, open platforms such as Arduino and Raspberry Pi (among others) have democratized and lowered the barrier of entry into custom electronics. The very latest Arduino is really small, really powerful, and really cheap. Check out the RP2040, which is priced at $30 and comes with a dual core CPU, Bluetooth, and...

Continue reading →


Early Words - iOS App

Screen Shot 2020-01-20 at 1.25.07 PM.png

I’ve just released Early Words to the iOS AppStore. You can find the app right here. This is the first commercially viable mobile app I’ve built entirely on my own from A to Z, for my own business (LycheeApps Inc.), and without external funding.

Early Words took me quite some time to build. I actually wrote the first line of code in 2018. I took a few breaks in between where I did some consulting and non-programming projects. The idea first came from my daughter Camelia. She is 2.5 years old now and she spent quite some time with flashcards learning new words. One challenge for us is we want her to learn multiple languages because our families speak English, Vietnamese, and French. It’s not that easy for all of us to teach her all of these languages. With Early Words I wanted to build an app where I could easily add new “flash cards” and have recorded voice in multiple languages.

Came

...

Continue reading →


View Containment in Swift

I’m always looking for this code snippet around and for some reason it doesn’t pop on Google that easily so I thought I’d post the 4 lines of code necessary for achieving view containment in Swift (this is Swift 4 by the way):

override func viewDidLoad() {
    super.viewDidLoad()

    // View containment
    addChild(childViewController)
    childViewController.view.frame = view.bounds
    view.addSubview(childViewController.view)
    childViewController.didMove(toParent: self)
}

What’s view containment you ask? it’s when you replace the view of a view / view controller with the view of another view controller. It’s incredibly useful for many use cases. One use case is: you want to build a view controller that can serve as a router and display one of multiple view controllers based on some logic. Another use case is if you want to overlay something on top of a view controller without...

Continue reading →


Working Remote From Nha Trang, Vietnam

Recently I went to Vietnam to visit some family and stayed in Nha Trang for a little over 2 weeks. Very luckily Square is flexible on work schedules and work locations. Additionally my manager allowed me to work from Vietnam, and I did for most of my stay!

I had always wondered what it would be like to freelance while backpacking through Asia and this gave me a little sense of it (minus the backpacking), which I’ll share in this post.

Nha Trang

Where I stayed

My parents in-law own a small hotel in Nha Trang called Modern Sky Hotel, and that’s where I stayed for a little over 2 weeks. Nha Trang is a little beach town somewhere in the middle of Vietnam, see below:

Vietnam Map.png

Nha Trang is a very popular destination for both Vietnamese and international tourists. It has plenty of major hotel names such as Intercontinental and Sheraton. The most expensive hotels are on the beach ($100+/night) and...

Continue reading →


Deleting Old iOS Simulators

I’ve been developing iOS apps for some time now and after a few iOS versions, my list of simulators starts looking like this:

Screen Shot 2018-11-27 at 1.48.17 PM.png

Each simulator takes from 100MB to 1GB of space, so this can eat up your disk space really quick! The trick is to simply delete the simulators you don’t need.

In the menu bar simply go into “Window” and click “Devices and Simulators”. The shortcut for this is ⌘+⇧+2 (Command+Shift+2).

Screen Shot 2018-11-27 at 1.48.30 PM.png

Then go into the “Simulators” tab and hit the delete key on all the simulators you no longer want!

Screen Shot 2018-11-27 at 1.48.37 PM.png

You can also rename your simulators:

Screen Shot 2018-11-27 at 2.10.28 PM.png

Continue reading →


A Few Xcode Tips

In this post I just want to share a few super useful tips & tricks I’ve learned over time with Xcode.

Shortcuts

⌘+⇧+O

cmdshifto.png

If you don’t know ⌘+⇧+O (Command+Shift+O) then I’m really sorry because life must be hard. This is definitely the very most important shortcut in Xcode. Try it out, ⌘+⇧+O is a magical “open anything” shortcut. It summons a search bar, a little bit like CMD+Space does on Finder and allows you fuzzy-search anything in your codebase. It can find text, symbols, class names, methods, and more. Given it does fuzzy search, if you want to find a class named MySuperCrazyLongNamedViewController you can type something like MSuCrNa and it will find it.

Mash+U

“Mash” is common language for ⌘+⌥+⌃ (Command+Option+Control). So hitting ⌘+⌥+⌃+U will run all the unit tests in the file current open.

Mash+G

⌘+⌥+⌃+G will run again whichever was the very last unit test you ran.

⌘+⇧+?

...

Continue reading →