Christian Hammond
banner
chipx86.com
Christian Hammond
@chipx86.com
Created @ReviewBoard, one of the first code review products (https://reviewboard.org) at Beanbag (https://beanbaginc.com). CEO, developer, sales, support, janitor.

COVID data reporter at @bc19.live.

Long-time open source dev.

Blog: https://chipx86.blog
My report today has information relevant to anyone in California.
🟣 Friday, September 19, 2025
#COVID report for Butte County, CA

Cases remain high, and there's breaking news on vaccine policies.
September 19, 2025 at 11:10 PM
If we're gonna get a watercooled iPhone, the least they could do is stick one of these on the back.

Actually, hold on. I have a case idea.
September 9, 2025 at 11:32 PM
Wrote a long one today. Can you tell
I tried very hard to be professional, despite circumstances?
🟣 Thursday, August 28, 2025
#COVID report for Butte County, CA

Lots to go over today, with new developments affecting public health, and I don't just mean viruses. We'll be covering:

▶︎ Two variants spreading
▶︎ Current wastewater levels
▶︎ New vaccines and restrictions
August 29, 2025 at 12:56 AM
#Python Tip: pprint.saferepr() can be used to help compare string representations of dictionaries in unit tests. Useful when asserting debug logs containing dictionary data.

chipx86.blog/2025/08/26/u...

#blog #til
Using pprint.saferepr() for string comparisons in Python
Python’s pprint.saferepr() can be a useful way of comparing string representations of dictionaries and other data types.
chipx86.blog
August 27, 2025 at 9:46 PM
We've long supported putting any kind of file in Review Board, and are working to greatly expand the types of files we can render and diff for you — including in the diff viewer!

Support for reviewing Office documents natively is coming very soon.
Did you know you can review any file in Review Board? Not just source code. Images, Markdown, text files, PDF docs. You can even diff them! Arbitrary binary files? Attach, download, leave a comment.

You can review just about anything in Review Board.

blog.beanbaginc.com/2025/08/14/a...
Attach, comment, and review any file with Review Board
Projects are more than just source code. They’re screenshots, art, documentation, data, videos. Review Board supports attaching and reviewing files of all kinds.
blog.beanbaginc.com
August 14, 2025 at 10:55 PM
Reposted by Christian Hammond
With #GitHub moving into the CoreAI division at #Microsoft, are you sticking around or planning a move?

Most all-in-one products don't focus on code review like we do. If you're planning a move, plan to give Review Board a try.

www.geekwire.com/2025/github-...
GitHub will join Microsoft’s CoreAI division with departure of CEO Thomas Dohmke
Microsoft will bring GitHub into its CoreAI division with the announcement this morning that GitHub CEO Thomas Dohmke will be stepping down as the leader of the widely used software development platfo...
www.geekwire.com
August 13, 2025 at 7:19 PM
#TIL that #vim has a built-in debugger, where you can set breakpoints, get backtraces, and more for your vim configuration and plugins.

Using this to figure out why a random plain Python string in a file I'm not even opening is breaking my tabstop width.
August 12, 2025 at 2:10 AM
I had a few things to say in today’s update, due to recent news updates and some comments I’ve received. Let the backlash commence.
😷 Saturday, August 9th, 2025
COVID report for Butte County, CA
bc19.live

Wastewater data remains in High to Very High levels, but slightly lower.

It's mask-wearing time again for those who want to avoid COVID as it again moves through our community.
Unofficial Butte County COVID-19 Dashboard
Detailed trends and information on the COVID-19 situation in Butte County.
bc19.live
August 10, 2025 at 3:25 AM
I need to figure out the elliptical curve points on a series of ephemeral ECDSA private keys I used in unit test data so I don't have to regenerate the payloads. Anyone have a 5000-qubit quantum computer I can borrow?
August 9, 2025 at 2:27 AM
If()-based conditional styling is coming to #CSS, but you can already do this today with CSS Variables.

We use it to more easily support light mode, dark mode, high-contrast mode, and component states.

Here's how it works.

chipx86.blog/2025/08/08/w...

#webdev #blog
What If()? Using Conditional CSS Variables
Using conditional CSS Variables to make it easier to style your site for light mode, dark mode, and more.
chipx86.blog
August 8, 2025 at 7:23 PM
The rumors are true. #Jujutsu support is coming to @reviewboard.org.

lobste.rs/s/foh4ch/juj...
Jujutsu support in Reviewboard
2 comments
lobste.rs
August 7, 2025 at 7:42 PM
A nice little release that brings some requested #SAML improvements. Review Board does NOT charge a SSO Tax, because security is too important for that.

We've been a bit quiet lately as we've worked toward the next major Review Board release, which we're starting to wrap up now.
August 6, 2025 at 10:12 PM
“New software releases will only take me an hour or two,” I lie to myself every time.
August 6, 2025 at 4:20 AM
Been working on a new feature for @ReviewBoard extension developers. TemplateHooks today let extensions inject arbitrary HTML into parts of the page, but now we're making this more flexible via a new Page State Injectors feature, as part of our Djblets for Django project.
August 4, 2025 at 11:18 PM
Livestream of the town nearest where the 8.8 #earthquake occurred, Petropavlovsk-Kamchatsky, #Russia. Faces West into the Bay.

webcams.windy.com/webcams/stre...
July 30, 2025 at 2:50 AM
Reposted by Christian Hammond
😷 Saturday, July 26, 2025
COVID report for Butte County, CA
bc19.live

A couple updates:

1. Wastewater data for Butte County remains in High to Very High levels.

2. The dashboard now includes wastewater data: bc19.live

I'll go over both.
Unofficial Butte County COVID-19 Dashboard
Detailed trends and information on the COVID-19 situation in Butte County.
bc19.live
July 26, 2025 at 11:08 PM
Moved my BlueSky handle to my domain (@chipx86.com).

I can confirm BlueSky reserves the old .bsky.app handle, (during registration, it claims my old handle is free, but then it later tells me it's reserved). Good :D

Old handle doesn't redirect though, which means all old links are busted. Bad D:
July 24, 2025 at 7:26 PM
As COVID begins to trend up once again in California and in Butte County, I'll be resuming my COVID reporting at:

Twitter/X: x.com/bc19live
Facebook: www.facebook.com/bc19.live
Mastodon: mastodon.online/@bc19live
July 19, 2025 at 12:09 AM
Reposted by Christian Hammond
How much do you know about #Python functions, their signatures, and their typing?

Do you know how unbound vs. bound methods differ and how to tell them apart?

Do you know how unbound methods become bound methods?

Do you know how to type-annotate all this?

chipx86.blog/2025/07/12/a...

#blog #til
A crash course on Python function signatures and typing
More than you probably ever wanted to know about Python function signatures and typing shenanigans. And it’s just the start.
chipx86.blog
July 12, 2025 at 10:31 PM
Reposted by Christian Hammond
Happy 20th birthday Django!

I'm celebrating by publishing an annotated version of the talk I gave about Django's Origins ten years ago at Django's 10th birthday party in Lawrence, Kansas

simonwillison.net/2025/Jul/13/...
Happy 20th birthday Django! Here’s my talk on Django Origins from Django’s 10th
Today is the 20th anniversary of the first commit to the public Django repository! Ten years ago we threw a multi-day 10th birthday party for Django back in its birthtown …
simonwillison.net
July 13, 2025 at 6:49 PM
How much do you know about #Python functions, their signatures, and their typing?

Do you know how unbound vs. bound methods differ and how to tell them apart?

Do you know how unbound methods become bound methods?

Do you know how to type-annotate all this?

chipx86.blog/2025/07/12/a...

#blog #til
A crash course on Python function signatures and typing
More than you probably ever wanted to know about Python function signatures and typing shenanigans. And it’s just the start.
chipx86.blog
July 12, 2025 at 10:31 PM
I'm starting to feel self-conscious about using em dashes ("—") in text. Been using them for years — I like them! — but now people associate them with AI.

Going to start using em-dashed-commas instead —, I think that'll stand out as human more. Wrong —, but human.
July 4, 2025 at 1:45 AM
I've always had a ton of respect for @simonwillison.net's blog (read it! simonwillison.net) and his TIL blog.

Been wanting to get back into writing and blogging. Spent time cleaning up my blog, working on some new posts.

Here's today's:

chipx86.blog/2025/06/29/t...

#Python #blog #til
Tip: Use keyword-only arguments in Python dataclasses – ChipLog — Christian Hammond
Python dataclasses are a really nice feature for constructing classes that primarily hold or work with data. They can be a good alternative to using dictionaries, since they allow you to add methods, ...
chipx86.blog
June 29, 2025 at 8:39 PM
Holy moly. Commodore's coming back, babyyy. And it's coming back right! Wild seeing what went into this and which people from the original Commodore company are involved.

Also, Compute! Gazette magazine! And Thomas Middleditch of Pied Piper?! What

www.youtube.com/watch?v=ke-A...
Wait… Who’s the New CEO of Commodore?! • Let's Buy Commodore Part 2
YouTube video by Retro Recipes x Commodore
www.youtube.com
June 28, 2025 at 8:52 AM
We solved browser-native spell checking in #CodeMirror 5.

Plus other native text-based features:

💬 Speech-to-text
🤖 #AI-assisted writing
📝 Text transformation

How we did it and how you can use it:

chipx86.blog/2025/06/26/c...

#javascript #webdev #projects
CodeMirror and Spell Checking: Solved – ChipLog — Christian Hammond
We solved spell checking in CodeMirror! How we did it and how you can use it.
chipx86.blog
June 27, 2025 at 1:20 AM