Sign in

Joseph Hale

@thehale.dev
435 followers 119 following 103 posts

Software Engineer, Musician, Speedcuber | @37signals | ¡Hablo Español!

PostsRepliesMedia
Joseph Hale @thehale.dev · 14/06/2026
Celebrating the 2026 FIFA World Cup by solving a Rubik's Cube in front of the giant soccer ball at Pier 39 in San Francisco.
000
Joseph Hale @thehale.dev · 02/06/2026
Hash.extract! is my latest fun discovery in Rails' collection of Ruby extensions. It returns a new hash of the keys you name, while simultaneously removing those keys from the original hash. It's also safe to use when the named key doesn't appear in the original hash.
110
Joseph Hale @thehale.dev · 14/04/2026
My latest delightful discovery is #Ruby's `retry` keyword. Use it in an exception handler to re-run the entire begin clause *chef's kiss* Docs: docs.ruby-lang.org/en/master/la...
031
Joseph Hale @thehale.dev · 19/01/2026
Happy #Epochalypse Day! It's T minus 12 years until the world faces new set of Y2K-type issues. Why?
110
Joseph Hale @thehale.dev · 01/12/2025
Looks like #Python 3.15 will include a built-in, immutable `frozendict` type. "Using an immutable mapping as a function parameter’s default value avoids the problem of mutable default values." There are other benefits too (e.g. `frozendict`s are hashable).
Two Python code snippets demonstrating the value of the new `frozendict` immutable type coming in version 3.15

Typically, you should avoid using a `dict` as a default argument in a function because it's mutable. When 3.15 is released, you can safely use a `frozendict` instead.
120
Joseph Hale @thehale.dev · 29/10/2025
If you're at #GitHubUniverse, I just wrote a custom filesystem app for the hackable badges!
110
Joseph Hale @thehale.dev · 14/10/2025
#atproto app idea: Sharing personal context between AI model providers...
[LinkedIn Post by Ben Bradford]

Every time I switch AI tools, I start from zero. I'm starting to think that I can't be the only one feeling this frustration.

Here's a small example...I recently used an AI tool to build a presentation and the AI kept structuring slides in ways that didn't match how I actually present. It was text heavy, wrong flow, missing my voice. It had no idea how I work because it had no context about my previous presentations. I stopped and built the slides manually.

My problem is that my context is locked up somewhere else. I've spent hours with Claude, ChatGPT and Gemini and none of that travels with me when I jump into a different tool.

And this is happening everywhere now. Most of the SaaS apps I use daily are adding AI powered features by the same foundational models. But when I use those features, they start from zero. They don't know anything about how I work or what I need.

What I actually want is control over my own context, locally. Build it once, keep it with me, and selectively share pieces with whatever tool I'm using. When a new model comes out that's better for my specific task, I want to test it without rebuilding my entire workflow from scratch. When I open an app with AI built in, I want to drip in just enough context to make it useful without explaining myself all over again.

Right now it works backwards. The tools own my memory. I'm stuck rebuilding context in every new app, every new conversation, every new project. And when the AI doesn't have that context, it's not useful to me at all.

I've been researching tools like Mem0 and SuperMemory but they feel more like tools an engineer would use to build an app. I know folks like Dharmesh Shah of HubSpot have written about this and he seems optimistic about where the solutions are headed. 

Has anyone found a better way to manage context across multiple AI tools?
230
Joseph Hale @thehale.dev · 20/09/2025
My "Habit Sync for @todoist.com" app is about to get a significant update, so here are some "behind the scenes" of what it took. - 9 major version upgrades of #ReactNative - Writing my own component library - Translating #Java to #Kotlin @github.com #ZeroToMergedContest
143
Joseph Hale @thehale.dev · 15/09/2025
"It felt a bit like the opening of 'A Hitchhiker’s Guide to the Galaxy' ..." #RailsWorld 2025
100
Joseph Hale @thehale.dev · 14/09/2025
"The message was clearly that individuals, like you and me, have the power to build things to improve the world – we don’t have to wait for someone else" #RailsWorld 2025
100
Joseph Hale @thehale.dev · 08/09/2025
@thehale/react-native-keep-awake is now in the #ReactNative Directory!
10 lines of sample code showing how to use @thehale/react-native-keep-awake to prevent a phone screen from going to sleep.
121
Joseph Hale @thehale.dev · 08/09/2025
"Thank you for existing", "I'm 11 years old and ... your library made it possible" It's amazing how far a single kind gesture can go.
110
Joseph Hale @thehale.dev · 06/09/2025
This thread reminds me of Excel's formula evaluator, which lifts the values of each expression into the current context. It's so helpful for the debugging to come to me, where I retain full context. Picture Source: stackoverflow.com/q/6470263/14...
A screenshot of Excel's formula evaluator, showing a variable being resolved in-place as part of a step in the evaluation.
010
Joseph Hale @thehale.dev · 02/04/2025
Explore an interactive report of who wrote each line of code in a #git repository! Git Authorship now supports .𝚖𝚊𝚒𝚕𝚖𝚊𝚙 and .𝚐𝚒𝚝-𝚋𝚕𝚊𝚖𝚎-𝚒𝚐𝚗𝚘𝚛𝚎-𝚛𝚎𝚟𝚜 files to provide even cleaner and more organized reports.
100
Joseph Hale @thehale.dev · 22/03/2025
New type of post for me... New type of music for my friend @DHeusta... I had a blast recording the intense Latin chorus! If you've ever felt constrained by others' expectations, Against the Grain is for you! #AgainstTheGrainSong #DHeusta #BillboardTop100 <-- coming soon 😜
110