Devlog: Nov 2, 2022

Spent some time making my Blot blog look more like my current blog. I think it turned out nicely. I couldn’t get the Blot local environment running, and seems that others have the same issue right now. Also couldn’t get local theme to sync, so I did everything on the online editor. It was a bit of a pain, but I managed.


Got back into Lightbulbs, my WIP iOS app for collecting ideas. Was having a crash when adding a collection. I’m converting a FetchedResults to an Array as the data source for the view causing the issue. The issue was that the new collection was not in that array at the time a onChange was called. So I added another onChange to check for when the array changes and run the logic to set the variable again with the new values. A little weird. The closure gets passed the new value as expected, but the variable in the view is still the previous value. But I don’t think that’s how it’s supposed to work. The docs mention capturing the previous value:

.onChange(of: playState) { [playState] newState in
    model.playStateDidChange(from: playState, to: newState)
}

It seems that this is a result of passing the state into another View:

struct ContentView: View {
    @State private var value = 1
    
    var body: some View {
        MyLabel(value: value)
        Button("Increment value") {
            value += 1
        }
    }
}

struct MyLabel: View {
    let value: Int
    
    var body: some View {
        Text(value.formatted())
            .onChange(of: value) { newValue in
                print(value, newValue)
            }
    }
}

Maybe there’s a better way to do this. Need to look into state management again. But at least in this situation, it seems to be the case that when onChange gets called in MyLabel, value is always the old value.

Projects Lightbulbs devlog

Finding What Sticks

I think one of the most common posts on my blog is about switching to a new blog system. Ghost to Jekyll and GitHub pages to Nuxt on Netlify to 11ty on Netlify to adding a micropub integration to be able to post from iA Writer. I’m probably missing a few. It’s kinda exhausting.

As I’m getting older, I’m finding myself having less patience for fiddling around with my website stack. That’s why I’m pretty excited about Blot. I used to love messing with the build process of my blog and getting it just right, owning the whole thing. Now I kinda feel like paying someone else to do that for me. Blot is great because I don’t even have to remember to push a post to my git repo. As soon as it’s saved to Dropbox, Blot updates within seconds. Pretty much as simple as it gets. My homegrown system was sort of simple—once you subtract all the dev work and maintenance—but certainly not this simple. And simplicity seems pretty key to making something sticky.

Moving over to something like Blot honestly feels more liberating than I was expecting. I didn’t spend a ton of time thinking about my blog infrastructure, but I also didn’t spend zero time thinking about it. There was always some bug to be fixed, some improvement to be made, some dependency to update. Giving that work to someone else frees up a few more cycles in my brain. Which I appreciate.

I still like fiddling around with stuff. Pretty sure it’s in my genes. But I’ve been finding myself looking for ways to offload some of that work, which gives me time to tinker with the projects I really enjoy. I do enjoy changing up my processes, but I also like it end I can find something that sticks—one less thing to worry about, at least until the next hot thing pops up. Right now, Blot feels like something that will stick. Time will tell, but I’ve got a good feeling about this one.

Devlog: Nov 1, 2022

Taking a little break from dev work. Should get back to it tomorrow though.

Today, I decided to take a look at Blot. My current website is pretty much held together with baling wire. I’ve got my own weird micropub integration so I can post from iA Writer which adds files to my git repo on GitHub. The older I get, the less I want to deal with stuff like that. I also want an easier blogging experience. So far, Blot seems to give me that. I’m trying out Dropbox for syncing, and I can still use iA Writer. So far so good. Copied all my posts from my repo and moved them to my Blot site. Gonna give it a whirl a bit more before switching over, but things look promising. Still need to try making a custom theme.

Projects Blog devlog

Some Thoughts on Editors

I’ve been messing around with my workflow and trying different code editors. I know IntelliJ kinda has a bad rap and often feels slow compared the everything else out there, but it has 2 features that I think are under appreciated.

  1. Language Injection. You can sort of do this in VSCode, but you have to add an html tag to your string. IntelliJ just automatically figures it out, highlights it properly, and even Emmet works. Magic.
  2. Running tests with the click of a button in the gutter1. In IntelliJ, it’s very convenient, and I don’t think I even had to set anything up to make it work. It just configured itself like magic. I haven’t found running individual tests (let alone debugging them) a pleasant experience in any other editor.

I’m currently trying out Vim full-time, but IntelliJ has a lot going for it. Most editors have way too much going on, especially IntelliJ. That’s what I like about Vim, I can keep it light and add just what I need.

But I’m always looking at others and seeing what fits me best. I own and like Nova, but it still feels immature and doesn’t have a thriving extensions ecosystem. Fleet looks interesting, but have to wait to actually try it. VSCode has good extensions and is pretty fast. But I just don’t like how it looks 🤷🏻‍♂️. Xcode is necessary when working on iOS or macOS apps, but it works well for what it does, and I’ve been quite impressed with the Xcode 14 betas.

So TL;DR, IntelliJ is kinda slow and doesn’t look great, but has great features. Seems to be that the faster something is, the more fiddly it is. For the most part, IntelliJ just works out of the box.


  1. Xcode has this too, but in my day job, I mainly work with JavaScript.↩︎

Giving up on Notes Apps

Over the years, I think I’ve tried pretty much every note taking app there is. I’ve tried using Apple Notes, Evernote, GoodNotes, Notability, Bear, Drafts, Agenda, OneNote, Notion, Nebo, Craft, Obsidian, and many others. They all have one thing in common—they don’t stick with me. Putting notes into an app felt like throwing them away. The other day, it hit me why.

The past month or so, I’ve switched back to taking notes on paper. The other day, I needed to find a note again. I didn’t know exactly what I was looking for, but I knew where I had written it. So I quickly flipped through my papers and found it. That’s when I realized what the disconnect between me and digital notes is—space.

I don’t know the proper terminology, but my brain works in a very spacial way. I’m not good at memorizing facts and figures, but I’m pretty good at remembering where I read those facts and figures. When I was a kid, my family would play this game where they would start reading a Calvin & Hobbes comic and see how long it take me to know what the rest of the strip was. I usually knew which one they were reading before they finished the first panel. I could do this because I could visualize where the comic was on the page, and then remember the drawings, and then the dialog.

When I write notes by hand, rather than remembering what I wrote, my brain seems to store x, y, z coordinates of the information instead. And this is what breaks for me when using note taking apps. Apps change size, causing information to reflow and change position. And, a big one for me, apps do not have physical depth. A book or notebook has depth to it. When I write something down in a notebook, that note is not going to move on me1. I can remember it’s position relative to other things pretty well.

Just use search you say. Yeah. I probably should. But most of the time, I just don’t know the specifics of what I’m looking for, or my notes are too inconsistent to make search that useful. I just kinda have a hard time searching for specific things. I’m much better at searching by browsing, if that makes any sense. Hard for me to explain, but feels like my brain works more in vague concepts than concrete ones, which makes it hard to know what to search for. But, those vague concepts are connected to those x, y, z coordinates, and that’s how I find things. Like I don’t know that I’m looking for a note about ice cream” but am looking for food that tastes good.” Clear as mud?

Anyway, I get more value from having my notes in physical books than having them on my computer’s filesystem. For the most part, I’m giving up on note taking apps. I’m done with trying to dump everything into them, linking, backlinking, organizing, and all that. I think these apps still have their place, and now that I think I know what’s going on and how my brain works, I’m excited to explore more how these apps can fit into my life. But for the foreseeable future, most of my notes are going into my notebooks.


  1. Yes, you can move sheets of paper around. This also breaks my brain a bit. I prefer notebooks that don’t have removable pages.↩︎

Re: Demo to Demo Loop

I really enjoyed this post from Dave Rupert.

I like what Dave said:

Demos improve meetings. I’ve found Demo First” meetings are life-giving because they start with something tangible, as opposed to discussing some hypothetical future scenario until time runs out and you have to schedule more meetings. Start meetings by showing progress. Better yet, a demo doesn’t always need to be a call or a meeting; thirty second screencasts are as good as gold.

When I’m working with our designer, I love to make quick little screen recordings and send them their way to make sure I’m on the right track. It’s a good way to get out of the hypothetical” realm.

But, not all my tasks work so closely with our designer. I need to be better at demoing what I’m working on as I go instead of putting my head down for a week or 2 and throwing it over to QA, hoping it’s okay. Demos are great. They always spark conversation and ideas.

Picture of Sam Warnick

As my daughter says, I'm just a tired dad, with a tired name, Sam Warnick. I'm a software developer in Beaufort, SC.

Some things I do