Joseph Hale's Avatar

Joseph Hale

@jhale.dev

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

360
Followers
109
Following
92
Posts
22.11.2023
Joined
Posts Following

Latest posts by Joseph Hale @jhale.dev

Just wait until you start getting all the free ebooks too :P

Gotta love the spammers putting your email in every open form that will accept it.

16.02.2026 06:38 👍 0 🔁 0 💬 0 📌 0

`frozendict` has officially been accepted as part of #Python 3.15!

discuss.python.org/t/pep-814-ad...

11.02.2026 20:18 👍 1 🔁 0 💬 0 📌 0

Wow! This is excellent!

I think the alignment also gives a visual anchor point for each column. That lets me read down each column along a straight line instead of a jagged edge. My eyes feel much more relaxed as I scan the information.

The spans for equal values and subtle bars are amazing too!

30.01.2026 08:14 👍 2 🔁 0 💬 0 📌 1

Excellent choices of stats for the comparison!

One nit... The center alignment makes it harder to visually compare the sizes.

29.01.2026 16:02 👍 3 🔁 0 💬 1 📌 0

DRY code is pretty good. DRY teams, not so much.

Open source is just as much about the people it builds up as it is about the projects/code those people then build and share.

27.01.2026 19:06 👍 1 🔁 0 💬 1 📌 0

Fortunately, computers are already being updated to use 64-bit integers, which will delay the Epochalypse for approximately 292 billion years 🎉.

#NerdyHolidays

19.01.2026 18:42 👍 2 🔁 0 💬 0 📌 0

Many computers track time by counting the number of seconds since January 1, 1970 (the "Epoch"). They count with a signed 32-bit integer, which will last until January 19, 2038 at 03:14:07 UTC. Then, the value will "overflow" and computers will think it is December 13, 1901. 😧

19.01.2026 18:42 👍 1 🔁 0 💬 1 📌 0
Video thumbnail

Happy #Epochalypse Day! It's T minus 12 years until the world faces new set of Y2K-type issues.

Why?

19.01.2026 18:42 👍 1 🔁 0 💬 1 📌 0

jhale.dev/feed.xml

08.01.2026 14:45 👍 0 🔁 0 💬 0 📌 0
ActiveRecord::FinderMethods Returns true if a record exists in the table that matches the id or conditions given, or false otherwise. The argument can take six forms:

It's fun when framework/library APIs make me smile. Check out `ActiveRecord.forty_two`

api.rubyonrails.org/classes/Acti...

17.12.2025 00:18 👍 2 🔁 0 💬 0 📌 0
Preview
PEP 814 – Add frozendict built-in type | peps.python.org A new public immutable type frozendict is added to the builtins module.

Full details in PEP 814: peps.python.org/pep-0814/

01.12.2025 18:51 👍 1 🔁 0 💬 0 📌 0
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.

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.

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

01.12.2025 18:51 👍 2 🔁 0 💬 1 📌 1

And it's now part of Mona OS, the badge's operating system!

github.com/badger/home/...

03.11.2025 19:18 👍 0 🔁 0 💬 0 📌 0

Some legit-ish reasons I've heard:

(1) First time OSS contributors learning about contribution flows, without creating new (pointless) issues/PRs.

(2) Attempts at helping to triage PRs, e.g. unblock/"upvote" a desired patch.

31.10.2025 03:04 👍 0 🔁 0 💬 0 📌 0

Some of the Hack Club students were working on this during the conference!

30.10.2025 15:16 👍 1 🔁 0 💬 0 📌 0

github.com/thehale/badg...

29.10.2025 18:38 👍 0 🔁 0 💬 0 📌 0
Post image

If you're at #GitHubUniverse, I just wrote a custom filesystem app for the hackable badges!

29.10.2025 18:38 👍 1 🔁 0 💬 1 📌 1

So exciting! Congrats!

19.10.2025 15:02 👍 1 🔁 0 💬 0 📌 0

Hilos como este son fantásticos :D

Y u-te-efe ocho :)

16.10.2025 05:30 👍 1 🔁 0 💬 0 📌 0
[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?

[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?

#atproto app idea: Sharing personal context between AI model providers...

14.10.2025 17:22 👍 3 🔁 0 💬 2 📌 0

I got the same email. I read it more as a product announcement/advertising about their vision for what's to come in the future.

29.09.2025 19:48 👍 0 🔁 0 💬 0 📌 0
Preview
GitHub - thehale/HabitSync-for-Todoist: Sync completed tasks from Todoist to Loop Habit Tracker. Keeping track of your habits has never been easier! Sync completed tasks from Todoist to Loop Habit Tracker. Keeping track of your habits has never been easier! - thehale/HabitSync-for-Todoist

And/or check out the code (it's open source)!

github.com/thehale/Habi...

20.09.2025 07:13 👍 2 🔁 0 💬 0 📌 0
Preview
Habit Sync for Todoist - Apps on Google Play Keeping track of your habits has never been easier!

Try out the app!

play.google.com/store/apps/d...

20.09.2025 07:13 👍 1 🔁 0 💬 1 📌 0
Video thumbnail

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

20.09.2025 07:13 👍 4 🔁 3 💬 1 📌 0
Preview
My experience at Rails World 2025 Last week I had the privilege of attending Rails World 2025 in Amsterdam. I learned a ton! and I met lots of amazing people! Here’s my story…

jhale.dev/posts/rails-...

15.09.2025 14:43 👍 0 🔁 0 💬 0 📌 0
Post image

"It felt a bit like the opening of 'A Hitchhiker’s Guide to the Galaxy' ..." #RailsWorld 2025

15.09.2025 14:43 👍 0 🔁 0 💬 1 📌 0
Preview
My experience at Rails World 2025 Last week I had the privilege of attending Rails World 2025 in Amsterdam. I learned a ton! and I met lots of amazing people! Here’s my story…

jhale.dev/posts/rails-...

13.09.2025 23:10 👍 0 🔁 0 💬 0 📌 0
Post image

"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

13.09.2025 23:10 👍 0 🔁 0 💬 1 📌 0
Preview
Simple Time Tracker - Apps on Google Play Track how much time you spend on different activities during the day.

That's really neat! It reminds me of one of my favorite Android apps, Simple Time Tracker...: play.google.com/store/apps/d...

...which is also open-source: github.com/Razeeman/And...

12.09.2025 15:27 👍 1 🔁 0 💬 0 📌 0
@thehale/react-native-keep-awake Prevent the phone screen from going to sleep.

reactnative.directory?search=keep-...

08.09.2025 21:33 👍 0 🔁 0 💬 0 📌 0