• It’s about the AI Say I

    Apple may not have formally said it, but they did have a “one more thing yesterday.” They pulled Siri from up their sleeves, which many technology pundits had predicted (kudos to 9to5mac.com on the original scoop). What is surprising to me is that a lot of people appear to be under the impression that Siri…

    Read More

  • Prioritize Priorities

    As Merlin Mann would say: if you have 27 priorities because then you don’t have any priorities. With schoolwork and work-work catching up to me I have very little time for my own coding. It’s important for me to make sure I get done what I need to get done. Midterms, homework, deadlines and life…

    Read More

  • Why My App Sucked And Why I Won’t Make The Same Mistakes Again

    When you’re learning, it’s important to make mistakes, that’s how you learn. When you spend 10 hours looking for what is wrong, and it turns out you wrote if(x=1) when you meant if(x==1), I can guarantee you the next time you look for why a piece of code is magically broken, that will be the…

    Read More

  • Teachers Need To Teach

    Educators have a goal, to teach children. These days in America our goal seems to be concerned with how to trick, or worse, force a kid into learning. Instead what they really should be focusing on is how to relate the information to the child. That is how you get a child excited to learn.…

    Read More

  • Security Chase

    Go to your Chase account and enter your password. Now log out, and enter your password with a different pattern of capitalization. So if your password was Password, now try pASSWORD. I bet you it worked and Chase still let you into your account. I’ll preface the coming diatribe with a statement about my expertise.…

    Read More

  • ScrollView phase changes on iOS 18

    In addition to scroll related view modifiers covered in the previous blog post, there is another one for detecting scroll view phases aka the state of the scrolling. The new view modifier is called onScrollPhaseChange(_:) and has three arguments in the change closure: old phase, new phase and a context. ScrollPhase is an enum with…

    Read More

  • Referencing itself in a struct in Swift

    It took a long time, I mean years, but it finally happened. I stumbled on a struct which had a property of the same type. This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden…

    Read More

  • Cancellable withObservationTracking in Swift

    Observation framework came out along with iOS 17 in 2023. Using this framework, we can make objects observable very easily. Please refer to @Observable macro in SwiftUI for quick recap if needed. It also has a function withObservationTracking(_:onChange:) what can be used for cases where we would want to manually get a callback when a tracked…

    Read More

  • Dark Augmented Code theme for Xcode

    After a couple of years, I tend to get tired of looking at the same colour scheme in Xcode. Then I spend quite a bit of time looking for a new theme and then coming back with empty hands. Material default has served me for a while, but it never felt like a perfect colour…

    Read More

  • Wrapping async-await with a completion handler in Swift

    It is not often when we need to wrap an async function with a completion handler. Typically, the reverse is what happens. This need can happen in codebases where the public interface can’t change just right now, but internally it is moving towards async-await functions. Let’s jump in and see how to wrap an async…

    Read More