Archive
Feeds Sign In
JAN
2024
Jonathan LaCour Jonathan LaCour

Jonathan LaCour

Welcome to my personal website and life stream — a chronicle of my life since 2002.

The Timeline below contains everything: microblog posts, photos, check-ins to locations around the world, movies and TV I've watched, books I've read, and more. Use the filters at the bottom to explore different slices of 13,781 posts across 25 years.

Try the Wormhole in the top-right corner to travel through time and explore different moments in my life.

Learn more about me →
2026
Year in Review
22
status
8
entry
5
review
3
bookmark
1
repost
1
photo
View Full Year Review
Monday, February 9, 2026
Note

Full threading test! Building a CMS from scratch has been an incredible learning experience. Every layer from the database to the templates to syndication reveals new challenges. Tonight I got headless Chrome working on the server which means I can now run automated browser tests against the live site. The syndication system now properly threads long posts across both Mastodon and Bluesky, respecting each platforms character limits. Mastodon gets 500 characters per post while Bluesky only allows 300 graphemes. The thread splitter finds sentence boundaries and numbers each chunk. This should appear as a beautiful multi-part thread on both platforms!

Jonathan's location at time of posting
Note

Thread test from Dwell! I have been working on getting headless Chrome running on my server so I can automatically test my website. After some wrestling with browser detection paths and sandbox settings, it is finally working. The browser can navigate pages, take screenshots, fill out forms, and verify that everything renders correctly. This is a huge milestone for the Dwell CMS project. Now I can run automated end-to-end tests without any manual intervention. The syndication system should split this into a proper thread on both Mastodon and Bluesky since it exceeds their character limits. Each platform has different limits so the threading will adapt accordingly. Pretty exciting stuff for a late night coding session!

Jonathan's location at time of posting
Article

Testing Dwell browser automation with Demerzel! This is a multi-sentence note designed to trigger syndication threading. The headless Chrome on demerzel can now browse the site, take screenshots, fill forms, and verify everything works end-to-end. Pretty exciting milestone for automated testing. Each sentence here pushes us closer to the threading threshold. Lets see how Mastodon and Bluesky handle this threaded content.

Jonathan's location at time of posting
Article

I want to make a threaded note to test and see if the automatic threading works on both Mastodon and Bluesky. That means I need to write a bunch of text, which is annoying, but I think I can just copy a bunch of text from somewhere else.

Your content is yours

When you post something on the web, it should belong to you, not a corporation. Too many companies have gone out of business and lost all of their users’ data. By joining the IndieWeb, your content stays yours and in your control. Connected network icon You are better connected

Your articles and status messages can be distributed to any platform, not just one, allowing you to engage with everyone. Replies and likes on other services can come back to your site so they’re all in one place. Steering wheel icon You are in control

You can post anything you want, in any format you want, with no one monitoring you. In addition, you share simple readable links such as example.com/ideas. These links are permanent and will always work.

Jonathan's location at time of posting
Note
Do photos attached to notes work now in syndication? Do syndication links show up?
Jonathan's location at time of posting
Sunday, February 8, 2026
Thursday, February 5, 2026
2024
Year in Review
1
status
1
entry
View Full Year Review
July 2024
Month in Review
1
status
1
entry
View Full Month Review
Tuesday, July 16, 2024
2023
Year in Review
523
watching
360
status
323
listen
145
checkin
14
photo
4
unfurledurl
View Full Year Review
November 2023
Month in Review
53
watching
24
status
12
listen
12
checkin
1
photo
View Full Month Review
Sunday, November 26, 2023
Note
Damn. So close for Ferrari to get P2 in the constructors. A mighty effort, but Checo’s hubris fucked the Scuderia. I’m so over him. Easily the second best team, but it won’t show in the record books.
Jonathan's location at time of posting
Note
The decisions I’ve made so far have panned out nicely. Flask for the web framework, DuckDB as a query engine, plain JSON files on disk for data store, Cirrus CSS framework.
Jonathan's location at time of posting
Note
Still to do:
- Webmention
- Authentication
- Publishing UIs
- Export / import bugs (recipes don’t work, likes don’t show up)
- Polish
Jonathan's location at time of posting
Note
✅ Micropub
✅ IndieAuth
✅ Home Feed
✅ About Page
✅ On This Day
✅ Archive
✅ Overview
✅ Pagination
Jonathan's location at time of posting
Note
Nothing like a relaxing holiday to make progress on a project. My new website is coming along nicely. At this point, I’m confident that my experiment will be successful. Just a matter of time.
Jonathan's location at time of posting
Friday, November 24, 2023
Thursday, November 23, 2023
Wednesday, November 22, 2023
Note
Enjoying a relaxing Thanksgiving week with my family visiting from the east coast. Lots of cooking, eating, wine, and bourbon! Sharing Palm Desert is always a joy.
Jonathan's location at time of posting
Sunday, November 19, 2023
Note
What a move by CL16 to snag P2 from Checo! Absolutely incredible finish to a pretty thrilling Grand Prix. Kudos to Carlos for getting good points in spite of a huge (and stupid) grid penalty.
Jonathan's location at time of posting
Friday, November 17, 2023
Note
This idea that the FIA had “no choice” but to impose the penalty is ludicrous. At multiple points this season the FIA has decided not to penalize a clear rules violation because of extenuating circumstances. Remember Max holding up traffic in the pit exits in qualifying?
Jonathan's location at time of posting
Note
On a track where Ferrari has a pace advantage, with a massive opportunity for big points, the FIA has decided it’s okay to give a 10 place grid penalty to Sainz for suffering damage because of a botched track. So dumb!
Jonathan's location at time of posting
Note
The updated liveries for the Vegas GP are so good! Love the Alfa Romeo all black theme, and the Ferrari white wing is amazing. I even like the Red Bull’s look.
Jonathan's location at time of posting
Note
My pug has farts that could wake the dead. He’s just walking around the house cropdusting as he goes. So gross!
Jonathan's location at time of posting
Thursday, November 16, 2023
Note
We have a garage door opener from Chamberlain that has been working well with HomeKit through a Home Assistant open source integration. Unfortunately, Chamberlain decided to shut it down. Thankfully, there is an amazing device from Meross that bypasses Chamberlain and works great!
Jonathan's location at time of posting
Tuesday, November 14, 2023
Note
Finished out the rest of micropub support in the new CMS, including support for most of the spec, including a media endpoint.

I’ve started on IndieAuth, which is more complicated than I remember. Thankfully, I have implemented it once before, so I have some stale but working code to reference.
Jonathan's location at time of posting
Monday, November 13, 2023
Note
Next up will be IndieAuth. Then I’ll need to start working on templating for the HTML so it’s more than just an API for querying and filtering MF2 JSON.
Jonathan's location at time of posting
Note
So far I have built a data model supporting all of the kinds of content that my current site offers, with micropub support, including a media endpoint. Lots still to do. Very much a long-term background project.
Jonathan's location at time of posting
Note
Been having fun building out a potential replacement CMS for my website. Really impressed with DuckDB. I’ll have all of the performance and simplicity of a static site generator with the power of SQL for querying a directory of JSON files.
Jonathan's location at time of posting
Wednesday, November 8, 2023
Note
I’ve already written a tool that will export most of the content on my website to MF2 JSON in the right directory structure. I can easily query the entire data set using DuckDB. Slick!
Jonathan's location at time of posting
Note
Been playing around a bit with DuckDB and am really impressed so far. I’m considering using it as the data store for a new version of my website. All data would live in hive partitioned directories of JSON files.
Jonathan's location at time of posting
Sunday, November 5, 2023
Saturday, November 4, 2023
Note
The Brazil GP is on a track with high tire degradation, and in their infinite wisdom, Pirelli selected the second softest tire compounds for the weekend. Ferrari is in trouble 👿
Jonathan's location at time of posting
Thursday, November 2, 2023
Note
I ‘ve never seen a turnaround so fast on medical tests, but Lacey’s CT scans show no evidence of spread. This is wonderful news, and we’re hopeful that it means her cancer will be fully resolved by a surgical procedure in December.
Jonathan's location at time of posting
Note
Checking my wife in for her CT scan. Hoping and praying her cancer has not spread. 🙏🏼
Jonathan's location at time of posting
October 2023
Month in Review
101
watching
52
status
45
listen
7
checkin
1
photo
View Full Month Review
Monday, October 30, 2023
Note
This executive order on AI seems to completely miss the mark, in my opinion. Not a word about holding model providers accountable for training their models on unlicensed data sets, which is the most critical issue at the moment.
Jonathan's location at time of posting
Note
This will probably never happen, but it is an interesting thought experiment.
Jonathan's location at time of posting
Note
In exchange, Apple could ask Nintendo to allow publishers to release games on both Nintendo consoles and Apple devices, with a percentage of revenues back to Nintendo.
Jonathan's location at time of posting
Note
I had an interesting thought about how Apple could break into gaming in a meaningful way. Some have suggested Apple buy Nintendo, but what if they instead offered Nintendo access to their chips and operating systems?
Jonathan's location at time of posting
Sunday, October 29, 2023
Note
That was a fun race, overall! Happy for Lewis. Lando had an epic race. Ferrari managed to have a strong strategy, and only missed out on P2/P3 because of a red flag.
Jonathan's location at time of posting
Note
Big ups to the Yellow Jacket on the field dressed up as Colonel Sanders with a four foot tall top hat. You’ve done us all proud.
Jonathan's location at time of posting
Saturday, October 28, 2023
Note
Let’s go! Forza Ferrari baby! Front row lock out for the boys, and CL16 gets his incredible 22nd pole position!
Jonathan's location at time of posting
Note
As expected, insurance is already being a pain in the ass with my wife’s cancer. Authorization for her CT scan will take “7-10 days,” which is incredibly stupid. She has her diagnosis! Fuck our healthcare system.
Jonathan's location at time of posting
Thursday, October 26, 2023
Note
I’m looking forward to the Apple Journal app. It scratches an itch that I’ve had for years. Biggest question is data portability. I’d like to sync my journal entries to my website, either as public or private posts. Crossing my fingers for an API or Shortcuts support.
Jonathan's location at time of posting
Note
Today was not a good day. Was thinking that the next “c-word” health issue to hit the family would be “COVID.” Turns out it’s “cancer.” I dearly love my wife, and will need lots of strength to support her in what comes next. Prayers appreciated.
Jonathan's location at time of posting
Wednesday, October 25, 2023
Note
Rep. Mike Johnson is a terrible and dangerous choice for speaker. I can’t understand why someone would say “no” to Jordan and then “yes” to Johnson. Hopefully he fails too, but its the GOP, who knows.
Jonathan's location at time of posting
Tuesday, October 24, 2023
Note
How could anyone have predicted that a group of people whose sole intent is to dismantle the governmet would be incapable of governing?

What an absolute shitshow.
Jonathan's location at time of posting
Note
iPhone finally going USB-C is huge. Tonight, I’m giving a presentation at an event, and am not allowed to bring a laptop into the venue. I’ve packed a little USB-C to HDMI adapter, and will present directly from my phone on the TV in the suite. 🥳
Jonathan's location at time of posting
Monday, October 23, 2023
Note
I have to say, I am enjoying macOS Sonoma. For a deeply mature product category, its nice to see continued investment in quality of life improvements. Support for PWAs and “click to show desktop” are great.
Jonathan's location at time of posting
Note
Just discovered an absolutely wonderful Rye through my whiskey tasting club subscription. Prohibition-era inspiration, with one of the most flavorful finishes I’ve ever experienced. Stunning. Ordered three bottles to savor. 🥃
Jonathan's location at time of posting
Sunday, October 22, 2023
Note
Dammit Rams. Fire the kicker immediately after the game. Hell, do it in the locker room.
Jonathan's location at time of posting
Note
OH. MY. GOODNESS. Goal line stand and the CANES WIN! So. So. Happy. Needed that!
Jonathan's location at time of posting
Note
Dammit, perfect throw, and Colbie drops the ball. Gotta help your freshman QB out man!
Jonathan's location at time of posting
Note
What a drive! Cheney pounding the rock and a beautiful throw by Emory to Colbie for a tuddy! LFG!
Jonathan's location at time of posting
Note
Ugh. Missed a 4th down by a hair and then a blown play followed by the refs deciding that they know where the goal line is again. Shit. Down by 10, sinking feeling settling in.
Jonathan's location at time of posting
Note
DL playing lights out. You love to see it. Down by three midway through 3Q.
Jonathan's location at time of posting
Note
Okay, upon further review, that call may be the worst I’ve seen against Miami since 2002. That shit better not be the deciding factor. 😤
Jonathan's location at time of posting
Note
No TVD was a gut punch. But the boys came to play! Forcing a lot of errors out of Clemson. Emory is holding his own. How the HELL was that not a safety?! BS.
Jonathan's location at time of posting
Note
Couldn’t bring myself to watch the Miami game live, especially after my alma mater got whipped by BC this AM. Time to watch the recording. 🤞🏼
Jonathan's location at time of posting
Saturday, October 21, 2023
Note
Super Mario Bros. Wonder is absolutely gorgeous. The Switch has been such a great console, in spite of being incredibly underpowered, and Nintendo has crushed it with first-party games in 2023.
Jonathan's location at time of posting
Friday, October 20, 2023
Note
Yes! Charles takes pole position and Lando P2! Two favorite drivers on the front row baby! Let’s gooooo!
Jonathan's location at time of posting
Thursday, October 19, 2023
Note
Back in Palm Desert for a change of pace in my happy place. 🌴
Jonathan's location at time of posting
Note
My twelve year old daughter just asked me if she could have a “F*ck the Patriarchy” t-shirt and I’ve never been so proud.
Jonathan's location at time of posting
Wednesday, October 18, 2023
Tuesday, October 17, 2023
Note
Okay, the first episode of “Lessons in Chemistry” has completely sucked me in. Love on the spectrum, y’all. Hits me every time.
Jonathan's location at time of posting
Monday, October 16, 2023
Note
Sweet, our Rivian R1S is ready! Now, if only Bank of America’s auto loan system wasn’t down for the last two days. 😆
Jonathan's location at time of posting
Sunday, October 15, 2023
Note
Running a single user Mastodon instance is really pretty straightforward with Docker. Every month or so, I run:

sudo docker-compose pull
sudo docker-compose up -d
sudo docker image prune

Done and done!
Jonathan's location at time of posting
Note
After a few months of trying Kagi as my default search engine, I’ve made the switch full time with a paid subscription. It’s refreshing to have excellent search results again, lightning fast, and ad-free. Highly recommended!
Jonathan's location at time of posting
Saturday, October 14, 2023
Note
My daughter just told me that the manicotti I made for dinner was “bussin’.” I asked, “really?” She said “fax, no printer!”

I’m pretty sure I did a good job.
Jonathan's location at time of posting
Friday, October 13, 2023
Note
My family gave me an Apple Studio Display for my birthday yesterday. So happy to have moved off of the 4K LG UltraFine. That said, the height of the Studio Display on the standard tilt stand is… pretty low. Need to find a solution.
Jonathan's location at time of posting
Thursday, October 12, 2023
Note
Yelp has turned into a completely useless, ad-riddled, gamified platform. Yet another example of how ads have ruined so many formerly great web properties.
Jonathan's location at time of posting
Thursday, October 5, 2023
Note
Bib & Tucker, on a big rock. Grand Designs on the TV. Sliding doors open to the cool Coachella Valley breeze. Crickets chirping outside. Does it get better?
Jonathan's location at time of posting
Note
Out for a quiet dinner alone. A rare treat! I’m in a very affluent area (Palm Desert), and there is a group of wealthy white women next to me having a very stereotypical discussion.

I’d wager that the white female demographic is going to be turbo fash in the upcoming election. Scary times.
Jonathan's location at time of posting
Wednesday, October 4, 2023
Note
I didn’t realize how much I missed Shoresy. The cold open to episode two this season is so spot on.
Jonathan's location at time of posting
Sunday, October 1, 2023
Note
So the latest Ahsoka episode was the least bad so far. I still think they’re giving alien Ramona Flowers lousy lines and the villains are all terrible, but at least the episode was fun.
Jonathan's location at time of posting

Loading more days...

February 9

On This Day

20 posts on this day

2026 0 years ago
Note

Full threading test! Building a CMS from scratch has been an incredible learning experience. Every layer from the database to the templates to syndication reveals new challenges. Tonight I got headless Chrome working on the server which means I can now run automated browser tests against the live site. The syndication system now properly threads long posts across both Mastodon and Bluesky, respecting each platforms character limits. Mastodon gets 500 characters per post while Bluesky only allows 300 graphemes. The thread splitter finds sentence boundaries and numbers each chunk. This should appear as a beautiful multi-part thread on both platforms!

Jonathan's location at time of posting
Note

Thread test from Dwell! I have been working on getting headless Chrome running on my server so I can automatically test my website. After some wrestling with browser detection paths and sandbox settings, it is finally working. The browser can navigate pages, take screenshots, fill out forms, and verify that everything renders correctly. This is a huge milestone for the Dwell CMS project. Now I can run automated end-to-end tests without any manual intervention. The syndication system should split this into a proper thread on both Mastodon and Bluesky since it exceeds their character limits. Each platform has different limits so the threading will adapt accordingly. Pretty exciting stuff for a late night coding session!

Jonathan's location at time of posting
Article

Testing Dwell browser automation with Demerzel! This is a multi-sentence note designed to trigger syndication threading. The headless Chrome on demerzel can now browse the site, take screenshots, fill forms, and verify everything works end-to-end. Pretty exciting milestone for automated testing. Each sentence here pushes us closer to the threading threshold. Lets see how Mastodon and Bluesky handle this threaded content.

Jonathan's location at time of posting
Article

I want to make a threaded note to test and see if the automatic threading works on both Mastodon and Bluesky. That means I need to write a bunch of text, which is annoying, but I think I can just copy a bunch of text from somewhere else.

Your content is yours

When you post something on the web, it should belong to you, not a corporation. Too many companies have gone out of business and lost all of their users’ data. By joining the IndieWeb, your content stays yours and in your control. Connected network icon You are better connected

Your articles and status messages can be distributed to any platform, not just one, allowing you to engage with everyone. Replies and likes on other services can come back to your site so they’re all in one place. Steering wheel icon You are in control

You can post anything you want, in any format you want, with no one monitoring you. In addition, you share simple readable links such as example.com/ideas. These links are permanent and will always work.

Jonathan's location at time of posting
Note
Do photos attached to notes work now in syndication? Do syndication links show up?
Jonathan's location at time of posting
2023 3 years ago
Watching
Bob's Burgers
S12E21 "Some Like It Bot Part 1: Eighth Grade Runner"

When Tina's new shirt is ridiculed by Tammy and Jocelyn in a Wagstaff News segment called "Wow or Weird," she turns...

View on Trakt
Jonathan's location at time of posting
Watching
Poker Face
S01E04 "Rest in Metal"

Charlie goes on tour with has-been metal band Doxxxology, a motley crew of dejected rockers who’ve spent decades...

View on Trakt
Jonathan's location at time of posting
2021 5 years ago

Now

A little taste of what I have been up to lately.

Current Location

Torrance, California 📶 LaCour 🔋 90%

Living

In Torrance, California with Wife Lacey, kids Colette (14) and William (12), pugs Eliza and Miles.

Working

Founding CTO at Mission Cloud (a CDW company). I have the pleasure of being a senior tech leader at an amazing company supporting my customers, acting as the software visionary and cloud/AI thought leader.

Currently Watching

Currently Listening

Currently Playing

No recent gaming activity.

Sports

Building

Open source and personal projects. Find me on GitHub.


Open Source

Plexyfin Sync Plex and Jellyfin watch states
iCloud Bridge macOS menu bar app exposing iCloud via REST API
RoTPy Orientation sensor built with a QT Py RP2050 and acceleromeeter
Squishy Lightweight content syndication
jelly-static-assets Static assets and artwork for Jellyfin
jellytools Utilities for Jellyfin server management

Private Projects

Horizon Family dashboard and household management platform
Dwell IndieWeb CMS replacing Known — powers this site
MiSTerSiSTer Companion tool for the MiSTer FPGA retro gaming platform
Arthouse Magic movie poster display controller
Tascii Task management on top of markdown text files

About

Jonathan LaCour

I'm Jonathan LaCour, also known as cleverdevil on the internet.

I'm a technologist, tinkerer, and family man living in Southern California. By day, I lead cloud technology strategy at CDW. By night, I build things, watch too much TV, and obsess over Formula 1.

This site is my lifestream — a chronicle of everything I do, watch, listen to, and think about. It's been running in various forms since 2002, and this particular incarnation started in 2013.

Find Me

This Site

Built with Dwell, my own Python-based IndieWeb CMS. Supports Micropub and IndieAuth. Content syndicates via POSSE.