Writing and things

TIL 2025.4.18

Today I learned

  • More confidence. No really! The more I work on projects, the better I feel about building things!
    Now, I can hear you saying: “Justin. That’s the point of practicing.” Yes yes yes. I get this…like as a concept but my wild brain just doesn’t believe it until I do it a lot.
  • I was (gasp) overthinking my JSON conversion project. I was thinking I had to have two different models. One was the existing/incoming data, and the other was the new/outgoing data. Nope. I read and re-read the Codable Protocol documentationand a few other helpful things. I learned that I just had to write the correct logic to decode (in this case it the init(from: Decoder)) and then what ever custom encoding method (the encode(to:) method).
    • The last bit I’m fussing with is taking the flat incoming JSON, making a check to see if one of the object is a parent object. If it’s not, I want to make it into a child object that is contained in an array of the parent.

TIL 2025.4.15

Today I learned

  • That I was messing things up with a tool called Macup. I was using it to back up my preferences for a few applications to my iCloud folder. Yeah, that’s a small to medium sized “don’t do that” for you.
    • It sounds like a good idea, but it’s also redundant since I use Carbon Copy Cloner to back up my full hard drive to a local SSD.
    • The unexpected results include: Applications not seeing registrations. Applications showing the “What’s New” dialog at every launch.
    • It also messed up my git configuration.
  • So that’s a fun mess to untangle.
  • Also fun? It was causing my Obsidian tool problems with publishing my notes. SO one tool caused a LOT of issues!
Posted in til Tagged

TIL 2025.4.9

Today I learned

  • That sometimes, you can spend a lot of time spinning your debugging wheels only to find that you should delete your app from the Simulator since something got frelled up on the ModelContext or something.
    • I just kept getting a crash when I was trying to run my app. It was telling me I was passing a nil value to a non-optional thing. So I went back like three fixes and was still having issues. Took a swing to delete the app on the Simulator. Boop. Works, loads, no crash.
  • Error reporting on Xcode is kind of a stupid beast.
  • My Obsidian publishing tool is failing. Just returns a Status 500 when I try to post. So that’s annoying.

Other thoughts

  • I’m using SwiftData for this very simple app, and after the hardish part of set-up, I feel like I’m more up and running on this.
  • I got side-tracked on using Comparable protocol for an “`enum“` that didn’t have associated types or values. I had to back up and rethink what I was trying to accomplish. I might have overworked what I’m doing, but ‍‍♂️. It works!
  • From here, I want to add a little more complexity to my Model (this will take some research), and make the UI a little less clunky looking.

TIL 2025.4.7

### Today I Learned
– That it’s okay to just work for 10 minutes on a thing. Then I can do this check:
“`swift
if brainIsWorking {
doMoreWork(on: Project)
}
“`
Notice how the doMoreWork(on:) doesn’t have a time limit parameter? Yah, that tends to be the issue after I get going. But recently brainIsWorking has been returning false after check. Or this check hasn’t actually been called since it’s in the workOnTheThing(thing:) method.

– Sorry not sorry for using this comparison for how my I’ve been operating recently. ‍♂️ It’s just kinda how I’m doing these days.
– This is also a reminder that recovery from any kind of burnout is *not* linear. We will always have rough/hard/bad days/months/(or even a)year. And it’s important to be gentle with yourself. It’s OKAY!

Posted in til Tagged