Harlan Haskins
@harlanhaskins.com
1.7K followers 230 following 160 posts
Eng. lead at https://typo.inc • Prev: visionOS at Apple
Posts Media Videos Starter Packs
harlanhaskins.com
Worst case, they do a bunch of deeply incredibly unpopular things with their base
harlanhaskins.com
and obviously why not call their bluff?
harlanhaskins.com
the swift forum today has me saying "swift 7" like a Gen Alpha kid
harlanhaskins.com
pallet/palette/palate has gotta be the most insidious homophone group
harlanhaskins.com
I would maybe loosen that guidance to primarily just avoid escaping values out of a GeometryReader update closure
harlanhaskins.com
Try adding a .geometryGroup() around the whole body of the card so it all slides together in one layer
harlanhaskins.com
if your p(doom) is predicated on The Singularity happening, we don’t need to take you seriously. the doom comes from what humans do to each other
harlanhaskins.com
I’m quite excited today. Why? Because I got to delete 3500 lines of custom navigation (like 5 different navigation bars) and replace them all with system navigation. Good riddance!
harlanhaskins.com
My friend and I used to make a YouTube video series that gained a cult following back in ~2008-2012 and has a TV Tropes page. I used the money from YouTube partner revenue to buy my first Mac, which started my career.
youngdeuces.bsky.social
Share a piece of lore about yourself

Yes I stole this from musky folks site…I feel like we’ll get better answers here lol
harlanhaskins.com
I guess I find vibe coding difficult because the fun part about making stuff is the making, not the stuff.
harlanhaskins.com
why does Linear have like 8 different ways to look at a subset of bugs, where each of them have different views and requirements and structure
harlanhaskins.com
owning a cat means strategically leaving soft blankets in sunspots every day
harlanhaskins.com
Currently on a plane post update, seems to be okay!
harlanhaskins.com
starting a cover band called creedence graywater revival
harlanhaskins.com
I love that my Deep Dish talk got sherlocked by my former team in visionOS 26 developer.apple.com/videos/play/...
harlanhaskins.com
For sure if I intended for this to be a proper service with many accounts and such, and I felt like I was going to need to run many migrations over time without just blowing out the database and creating a new one, I would have picked Vapor and Fluent and probably used Postgres instead
harlanhaskins.com
Mainly seemed like it was a smaller surface -- I didn't want to bring in the whole fluent stack for a tiny service. SQLite.swift is gonna be all I'll ever need for this side project.
harlanhaskins.com
I don't think 69ºC counts as "nice" weather!
harlanhaskins.com
I'll put the app on TestFlight soon. You can sign up as long as you're okay with me having your location 😬. I also of course have account deletion that fully wipes everything associated with you.
harlanhaskins.com
Mainly an exercise to brush up on server-side Swift and make sure I can still do things like make an authentication system and deploy an SSL-protected server at home. I also vibe coded a simple web app and web push support so my roommate can use it.
harlanhaskins.com
Working on a little side project for myself and some friends: an app that tracks my location and sends me a push notification when it's 69º github.com/harlanhaskin...
GitHub - harlanhaskins/Nice: 😎
😎. Contribute to harlanhaskins/Nice development by creating an account on GitHub.
github.com
harlanhaskins.com
There are many design/engineering concessions I am willing to make. Corner radius concentricity is not one of them.
harlanhaskins.com
I wonder how many times I have written this line
A screenshot of Swift code. One line: super dot init with nib name nil and bundle nil
harlanhaskins.com
Rochester is pronounced “rooster”
harlanhaskins.com
Thanks! I wanted to leverage SwiftUI layout as much as possible and doing it this way means I can mostly specify sizes in points.