Open Sourcing my Journal Analysis

In case we haven’t talked about it I’ve been doing my daily journal for almost 10 years now. The entry is done at the end of the day and it’s been pretty consistent. Sometimes entries are small, sometimes they’re huge. But it’s been a useful tool for me to write down my thoughts at the end of the day. I mostly keep my journal as two things: A source of what happened that day. A medium to write about my day or thoughts Code is available here Tools to help The other thing that I haven’t talked about as much though is that I’ve also analyzed the hell out of my entries. At first it was mostly just silly things like tracking names across time periods to see who is mentioned a lot. I just used a white list of names of people who I wanted to track though. Then ...(Read More)

Known Knowns

I was talking recently about the future and dealing with the unknown unknowns involving buying real estate and realized that Mel didn’t know about the concept. So I decided to write a little blog post about it since I thought it might be fun (also NYE resolution on writing). This is a concept I’ve used in tech when covering specifications about projects and estimating times. I give buffer for things that I don’t know about but I imagine it can be generalized for most types of projects. So let’s explain the basics. You have three basic tenets: Known Knowns – Things you know that you should look out for Known Unknowns – Things you know about, but aren’t sure about the impact of them Unknown Unknowns – Things that you don’t know about and thus aren’t sure about the impact of them It’s possibly to have an Unknown Known but ...(Read More)

Date Formatting

Date and Time Formatting are an annoyingly cumbersome topic for most engineers and designers. There’s various combinations of date and time that we can show to people and honestly I’ve found there’s a few things that we can do to avoid confusion. This blog post covers the standard Gregorian calendar involving formatting. When talking about other systems like the Japanese imperial system or the Buddhist calendar then we’ve got a more complicated system in place. Don’t ever do MM/DD/YYYY (or DD/MM/YYYY) If we ever plan on internationalizing the format where we show something like 02/04/03 (or 2003) is incredibly confusing. This is the 2nd of April in a more European style, this is 4th of February in the United States. The ISO format of YYYY-MM-DD where things are descending in units of magnitude is the best format for international audiences. I would love if we could all just move to ...(Read More)

Working too hard

What I’ve been up to If you haven’t seen me in the past few months there’s been a reason. I got invested into the idea of a promotion at work. I’m currently a “Senior Software Engineer” which is considered a “terminal” level for Software Engineers. It means you’re smart, effective, and can build things. Many people will never make it past this in their career. The next level is “Staff Engineer”. It could be a completely separate blog post about what the difference is but let’s just say I was curious and decided to work hard for it. I talked about this in 2018 resolutions, I was curious about how to level up as a software engineer. So I worked hard and I built a lot. I put projects on my team’s roadmap even if they didn’t work. I helped other teams launch massive revamps inside the Lyft app. This ...(Read More)

Implementing Scroll to Bottom Event iOS

Scroll to the End Event – iOS Say you want to determine if somebody has scrolled to the bottom of your TableView. How would you go about doing that? Basics The complicated part of registering the event is actually determining when someday has scrolled to the end BUT not including events that include the bounce. The second thing we need to know is that a UITableView is subclass of UIScrollView, so it has common delegate methods and common methods. The things that matter to us are contentSize – the actual size of the content inside our tableView / scrollView. If you have 10 cells with a height of 100 each, that means you contentSize height will be 1,000. contentOffset – the offset from the origin of the inner bounds of the content inside the scrollView. If you scroll to that 4th cell, that means you are contentOffset {0, 400} contentInsets ...(Read More)