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.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

TIL 2025.3.17

Today I learned

  • Maybe not so much as learned but remembered: Break things down.
    • I tend to over complicate things by getting into the details (a plus/minus of being so highly monotropic), but when that just results in errors I can remind myself to break it down into silly small steps.
  • Don’t forget the print tool.
    print(foo)

    • It’s such a simple little thing, and yet I (again) over-think problem solving. The print command is one of those things you can learn as a beginning coder and then just fly right past when you feel more intermediate (note I say feel here).

This reminds me of a Zen parable:

Nan-in, a Japanese master during the Meiji era, received a university professor who came to inquire about Zen.
Nan-in served tea. He poured his visitor’s cup full, and then kept on pouring. The professor watched the overflow until he no longer could restrain himself. “It is overfull. No more will go in!”
“Like this cup,” Nan-in said, “you are full of your own opinions and speculations. How can I show you Zen unless you first empty your cup?”

  • Using LLM tools are a good starting point for building better things.

TIL 2025.3.10

Today I learned

  • That I know enough about making API posts that I created one!
    • I’m working on a tool to update my Habitica To Do list with information generated by another tool.
    • I made a test POST call today! It worked!
  • Next I need to figure out how to do the harder part (maybe not that hard) of taking the data (in the form of a JSON object) and updating the info to match Habitica’s POST requirements. Maybe not so hard. That’s for tomorrow.
  • I hope this stuff is informational? I enjoy writing about it actually. This is more interesting than I though it would be!
    #todayIlearned

TIL 2025.3.7

Today I learned

  • Motivation when trouble shooting is crap.
    • Seeing the same error over and over when you try new fixes is exhausting.
    • Seeing the same error is actually good too. At least there aren’t new errors.
  • My desk step up is not very comfortable for long term projects. Time to move some stuff around and make room.
  • Short note today. I spent a lot of time the last few days getting my silly bash script to run on a schedule. Like way too much time.
    #todayIlearned

TIL 2025.3.3

Today I learned

  • That I can actually understand documentation when I read slowly.
    • I’ve had problems understanding what Apple Documentation is trying to say. It’s not that it’s written poorly, I just don’t understand exactly what it means.
    • Today I read through SwiftData docs and actually had an "OH! I know what that means" moment. AND (this feels big) was able to understand what the error messages were telling me in context!!
    • But wait there’s more: I resolved the errors! WHAT?! Yah. WITHOUT GOOGLING OR RELYING ON A TUTORIAL.
  • I also learned when working with @Model you have to initialize the object. I mean, yes, that sounds simple and Xcode will give you a warning. But not being a CS major, and understanding that still sometimes feels like a major milestone.
  • It helps to go back an relearn what a lot of CS majors might think of as "basic" information. I also have to remember that this, to a CS major, is the same as what makes up a scale to me (I was a music major in college).
    • It’s very easy for me to remember the anatomy of a major scale (whole, whole, half…ect). I started playing violin in the 3rd grade.
    • Remembering the difference between an object and the Class (in this case the model) is still a new fact that takes time to be solid.
  • I’m pretty conflicted about using LLMs and their clients still. But, I listened to a recent podcast about using tools to help make my own accommodations. Some of these tools were tools that had a LLM wrapper of some kind. So I felt less ikky about using a tool to ask it how to write a bash script to automate a task. Since bash scripting has a bit of a steep learning curve and I don’t have the energy to learn that (on top of everything else).
    • Nice bit here is I didn’t feel lost following the directions it gave.
      So that’s a LOT today. I want to publish this kind of "TIL" post, and I may restructure my blog to put these in a slightly different page. That’s for another day.

KEEP LEARNING MY FRIENDS!

#automation #todayIlearned #til