Journaling for the AI future

I was listening to a Lenny podcast on my run today. Lenny is an optimistic and prolific PM-centric podcaster that always has engaging guests that give me something to gnaw on regarding product building and delivery. While the guest I was listening to today was fantastic, there were moments when I found myself already saturated with the content, and not what I was optimally geared towards listening to or learning in that moment. Not that the time wasn't well spent, it absolutely was and I had a few good takeaways, but in an attention economy where i likely only allocate 1-2 hours of podcasts a week, I felt like i could do better.

So then I thought, if LLMs had perfect knowledge of me and I was looking to maximize my education hours, could I ask them to pre-screen a handful of podcasts based on the transcripts, and ask which of the podcasts I would likely find most valuable from a learning perspective?

A current solution for this approach is querying LLMs that have memories. ChatGPT can be configured to store and summarize your converstaion history over time and draw on it as needed. Here is an excerpt from mine:

This is all well and good for right now, but has two big drawbacks, it's spotty and locked in. I like using the best tool for the task, whether that's ChatGPT, Claude, Cursor, v0, etc.., and many times the queries are contextual (Project A vs Project B, and obviously would like to avoid problems akin to when your spotify wrapped indicates your most loved album is the Frozen soundtrack, yes i'm looking at your other parents).

The solution for this is one of my favorite principles of the past few years that I've mentioned before, File Over App.

Applying this, and given the data isn't quite free enough and we're not at AGI quite yet, I've decided to amp up my journaling intentions heavily this year. Mundane or poignant details, otherwise not captured or externalized, will be externalized into markdown and tags, all in Obsidian, for probably not that distant future consumption. Until we have Neurallink, this is the next best way to ensure I can get truly personal outcomes, and own the data.

For instance, here is an excerpt from today;

> Listened to Lenny podcast today, with the guy from Gong. It was generally good and the guy knew his stuff. Talked about his pod approach, and how they work with design partners. Other than the design partner bit, i found the "pod" approach being spoken as though it was a brand new innovation, yet it's really just a rejig/shaping of stream aligned teams, and then from scrum and agile. He did mention Marty Kagan books of which i've read zero, but didn't tie anything together. It irks me when people talk about things as being the first and brand new, but don't pay at least a bit of homage to systems of before. Maybe i missed it, still irked tho. ...

And if that was paired with another entry about how I really enjoyed something about some cool Data Science topic, or a delightful episode of Sharp Tech where I reacted more emphatically, and also paired with trends of learning and my interests, I bet it would have recommended a different podcast.

And in the off chance this makes sense; I'd like to think of my journal as a really large .cursorrules file to help with personal decision making when LLMs can perform tasks I clearly cannot (like looking ahead to tell me what I'll likely vibe with the most). A .liferules file if you will.

What other outcomes might there be? I obviously don't know yet! But i do know i'd prefer to have this data in a file, outside my brain, not locked in to any one vendor or model, ready for ingestion, summarization, and then personalization with "AI Next" at a scale that will really help me optimize my time, and life.

I'll be ready for you, GPT-X, AGI-mini, or whatever is coming next.

---

This may be turning into a micro series, definite similarities with another piece that was focused on technical documentation.

Today Apple is slow

Today Apple is slow

I historically have proudly identified as an Apple fanboy. Love the design, love the products, and love being a part of the developer ecosystem.

However, I feel my fanboyism waning.

As a developer

From a developer perspective, in March 2024 — damn… they feel slow. Having been building almost exclusively on VSCode for the past ~9 months, my workflow has transformed significantly to be humbly reliant on copilots for help along the way. Building products for Apple devices typically requires you to build/test/ship in Apple’s Xcode, which has no native AI Copilot available.

Since my fanboyism began, Apple has had a traditional yearly release and update cycle of hardware and software. This includes its annual developer conference WWDC in early June, primarily a software release vehicle that includes beta releases of the new Xcode and OSs get released. I feel this coming June is a rather pregnant moment for Apple, and am certain Xcode will release with integrated copilots; or perhaps they’ll have some creative sidecar solution to enable devs to be as productive on other products as they are building products for Apple. Or maybe they’ll have prompt-to-SwiftUI using no-code tools. I just… can’t. see. it. not. happening. And likely, they will have to make some beachhead moves to have more rapid releases in the future.

When I step into Apple development tasks now, I often pull up VSCode alongside to make use of AI… but whether it’s the training or the lack of flow, it feels damn clunky. I have tried a 3rd party Xcode plugin and found it clunky and jarring. I really like Xcode as an IDE, I derive a lot of comfort and nostalgia from it. But it sure feels like the dark ages right now, and makes you question the efforts of your keystrokes.

As a mouth breather

Oh, and then there is Siri. Talk about missed opportunities! Can you believe Siri is a teenager, at almost 13 years old. A blazing poster child for the innovator's dilemma, it will be super interesting to see the changes coming to Siri in June as well. Again; can’t. see. it. not. happening.

Will they announce a similar “chat and walk” mode like ChatGPT has? From a productivity, learning, and passing the time perspective, there is so much capability available. Kids the age of Siri can pretty simply wire up via no-code tools to LLMs to achieve the same functionality — not to say doing it at Apple scale is a trivial problem, but it’s Apple, _that’s_ what they do.

Then there is of course the ankle biting competition of tools like Rabbit, Humane AI Pin, and the super interesting Open Interpreter. For Apple to release something that isn’t profoundly more incredible than many/most existing offerings would be a huge about face for them. But at this rate I believe they would see this and would partner with a big fish (like Gemini) to ensure they capture the market demand while building out there own service offering (as is their pattern).

So what?

Fanboy or otherwise, I’m not sad about any of this, big tech doesn’t need my tears and I’m so bullish on all the new great things that are coming, Apple or otherwise. But I do love a nice integrated ecosystem, I love my iPhone, and the integration it provides has been a great benefit to my life. Fragmentation threatens that, and if they can’t get their act together… changes will need to occur! And it will all be fine, just different.

Anyways, super keen to see what happens.

Drobo FS Time Machine restore postmortem

For the second time in the last 7 or so years i've done a restore from a time machine backup stored on Drobo FS to a new macbook. Here are my very foggy notes for posterity in case i need to do it again.

Both times it has been painful, i've nearly given up - but perseverance and a multitude of internet breadcrumbs kept me poking and prodding.

I actually had started to pull my important data off of backblaze (yes, this is a #humblebrag about my multiple backup redundancy prowess, not to mention all source is also in a private github!), but the annoyance of setting up apps and thigns "just so" kept me hopeful and was going to give it a go for a few more days.

How this started - water spillage when using a computer in a not so computer friendly restaurant. Shame on me. Genius folks said much of the innards are fried. A nice guy on Kijiji that does something called reflowing (??) is going to give me $225 and hopefully sell it for 6-800$ i imagine. Good for him. I've since got a new graphite macbook pro and its ready to be prolific!

Anywhew, my Drobo FS was in bad shape when i went to restore from it. It had been a bit neglegted and i couldn't find it to connect to it. Installing Drobo Dashboard on a different system showed I had a drive failure...  how long had THAT been there for!? Doh.

But Drobo's are amazing right? My data should still be accessible even though it strongly warned about not being able to properly protect data...  

In a nutshell, this article here gives the high level primer on how it SHOULD work to restore from a Drobo FS using migration assistant:

https://supportportal.drobo.com/retrieve/s3/knowledge/AA/AA-01431.html

A few things that are tricky about this:

- you need to know where your Drobo is by IP. A good reason to give it a static IP.

- you need to know the credentials to access it.

- you need to know the name of the share. Thats one key reason i needed to install the dashboard on another computer.

Hence, my connection string that i used:

afp://tmuser:tmuserpassword@192.167.1.XXX/tm_mbp13_feb2018/

I had all that info, but when i went through the steps i got the dreaded "some backups could not be opened" message, as well described here:

https://apple.stackexchange.com/questions/309337/trouble-repairing-a-corrupt-time-machine-sparsebundle-on-synology-nas

That article didn't contain the info i needed to solve the issue, but i felt i was on a decent track. Something is likely corrupt, and if could fix it, it might mount.

Anyways, given the fact one of the drives was out, i figured part of the reason for the not mounting could have been that. So a trip to the local store for a new 6TB WD Red drive, popped it in, and waited...  2+ DAYS for the yellow lights to stop blinking on my drobo, a few reboots, and finally it was back and connetable (it went totally offline 30 minutes after plopping the new drive in).

I went back and did all the steps...  same thing :(. 

Anyways, i now had at least rules out the drives or the drobo in and of itself being bad, and set to try to repair the sparse bundle. Pretty much this:

https://www.garth.org/archives/2011,08,27,169,fix-time-machine-sparsebundle-nas-based-backup-errors.html

I hacked and slashed through many of these commands, never getting a "repaired successfully" message. However, some of the messages did seem to indicate some kind of success.

After this (which may or may not have had much an impact) i realized i was able to do the proper "hdiutil attach" for the volume from the command line - restarting migration assistant, waiting a good few minutes - the mounted TM volume showed up, and restore was possible!!!

Over wifi - about 26 hours. But its allllllll good now. Perseverance.

SMB vs AFP to my Drobo FS

The recent Mavericks update broke an automator script i had that would simply "Connect to Servers". It seems if the servers had already been connected, the script would fail...  i couldn't find a quick workaround. So I decided to write a bash script to do the same thing.

In doing so I decided to do some benchmarks to see if SMB or AFP was faster. In a quick test here is what i found:

  • Finder access was noticeably snappier to list the files when the drive was mounted via SMB
  • Copying from my Drobo to my MBP over wifi, faster for AFP. A 367MB file copied in:
    • SMB: 37.75s, 34.58s, ~10MB/s
    • AFP: 25.93s, 21.88s, ~15MB/s

Still seems pretty slow, but I can live with it.

Here is the bash script for any interested:

#!/bin/bash
#
# Script used to mount B and MP3 from mediasrv so we can access them for torrent copying
# or for itunes
#

PROTOCOL=afp

mountShare () {
        # check if the dir exists and has files - if it does, we're done
        FC=`ls -l $2 2> /dev/null | wc -l`
        if [ "$FC" -eq 0 ]
        then    
                mkdir $2
                mount -t $PROTOCOL $1 $2
        fi
        return 0
}

mountShare "afp://user:pass@mediasrv/B" "/Volumes/B"
mountShare "afp://user:pass@mediasrv/MP3" "/Volumes/MP3"
If anyone has comments regarding if I should just automount these drives, let me know!