tail -f thoughts.txt

Jacob Windle

Update on Me

I’ve been doing a lot, and lately it’s felt like I can’t catch my breath. Between work at a FAANG company, a side project that I really believe in, and being a dad I don’t have much time for myself. Things that I need to be doing fall by the wayside while I re-evaluate priorities daily. Projects have been started and dropped. I’ve had habits get created and die. Lately I’ve been working on a major rules-engine in Java at work for processing images.

Chore Feed Project Plan

Problem I constantly see things that I need to fix around the house, then go on about my day and forget to fix those things. I won’t even write them down! I will do things that I am constantly reminded about. I’ve found some success with Ryder Caroll’s Bullet Journal method, but still then I have to remember to write in the bullet journal. How can I be constantly reminded about the things that I need to do around the house, and additionally increase engagement with household chores for my wife and I who both forget?

Flutter - Dependency Hell

With the recent move to Dart 3, many applications out there are upgrading to take advantage of null safety. Null safety IS awesome, but what isn’t awesome is the plethora of packages out there in Pub that don’t yet support these breaking changes. Why is this an issue? Because most Flutter apps built out there (particularly ones built by low-code tools) have tons of dependencies. Odds are one of these will break when performing a major upgrade like this.

Using UseEffect with Firebase Realtime Database

In my current project I’m working on, I’m building up a React application. This app will replace an existing desktop, Windows-only Python 2 app that a client has had for around 8 years. The client uses Firebase Realtime database for their existing data, and rather than try to solve their data problems, I’ll fit this data into the application using useEffect and the Firebase SDK: https://github.com/firebase/firebase-js-sdk. Modern React + Hooks It’s been many years since I’ve written a React application, and since then Hooks have taken over by storm.

Some Julia Tidbits from FIT.jl: Enums, and my FIT.jl progress update.

Some things that I learned about from my most recent session: Julia Enums Julia has an @enum macro that allows one to define an enum type. Working at Amazon, I’ve had to deal a lot with Enums as an easy way to represent categories of things. Especially in the Java world. Having come from Python though, I didn’t use the concept of enums very much. Here are Julia’s excellent docs for enums: https://docs.

Hacky way to get bit at index: Julia

This is quite hacky, but it definitely unblocked me while working on FIT.jl. In Garmin FIT files, each record has a byte header used to identify the message type. At position 6 in the byte header, we find the bit used to identify whether a message is a data message or a definition. I know there are ways to isolate this bit using bitwise operators, but I settled on the below approach (knowing that this software at the moment is purely for myself).

What's Next: FIT.jl and Running Data Analysis

What I’ve been working on I’ve been working lately on a new Flutter app for mom-and-pop fast casual restaurants. The idea was brought to me when I was too early for a Bible study in the morning and the manager spoke with me about his app idea. Once he found out I was a software engineer, he could not resist the temptation to tell me about his app idea, but he’s only human!

DAO + Riverpod, Flutter Repository Pattern

Flutter Repository Pattern The Repository pattern is a simple one, you use a Repository to abstract away the implementation details of how to store and retrieve data. With Flutter, it can be complicated (especially when using Firestore) to implement the Repository pattern in a repeatable, testable way. I have heard from friends and other budding Flutter developers that testing with Firebase is a problem. Not so if you follow some well-known design patterns out there.