MRW Halowe'en decorations are already up at the supermarket.
2026-09-07T13:48:15.772289
MRW Halowe'en decorations are already up at the supermarket.
2026-09-07T13:48:15.772289
2026-09-05T16:26:44.289412
Rejoice, for I have updated the scored phrase and word lists at https://lahosken.san-francisco.ca.us/frivolity/prog/phraser/, a.k.a. the Phraser project. I fed in recent data from Wikipedia, IMDB, the puzzles wiki, the Spread the Word crossword list, etc so it now knows of recent phenomena, e.g. that the odyssey is a thing. Oh, I guess it already knew about that one? But you get the idea; it has newer, fresher data.
It also has some old data that I couldn't get my hands on for a long time: the administrators of the Grand Theft Auto game fandom wiki exported data after several years of not doing that. Thus this version of the phrase list knows about character franklin clinton. I guess he's kind of a big deal in the game's story? I dunno, I don't play those games, and thus I rely on this phrase list if I want to fill in the blanks for f _ _ _ _ _ _ _ c _ _ _ _ _ _ (football coaches, Filipino cuisine, flathead catfish, Fanshawe College, Franklin Clinton).
2026-09-04T17:16:44.736247
Saw some new-to-me Eclair Bandersnatch #SanFrancisco #StreetArt on #PageSlowStreet at Lyon (except the one on a yellow background was on Baker St). There's more to see here, but my blessedly clever phone switched over to "night" mode without me noticing, d'oh. Uh, sry, I'm not going to try to write alt text for these; summary: lots of cool stencil art.
2026-09-02T16:51:36.063314
It's a history of The Citizen Lab, a team of academics and hackers at U. of Toronto who investigate when bad guys hack the phones of journalists, activists, and the like. It's also a history of the rise of hack-for-hire mercenary groups.
I'd read about about a lot of this in individual articles over the years. But this book put it all together and pointed out some long-term trends.
When the Lab started out, they didn't think they'd be tangling with hack-for-hire groups. They thought they'd be detecting when governments blocked off access to parts of the internet. I guess that's back when China's Great Firewall was in the news. If China was blocking net access to some some sites, maybe other countries would do the same?
Maybe there was some of that going on. But when Lab folks actually went and talked to journalists, activisits, etc—net access wasn't their urgent tech problem. Activists' phones were acting funny; their friends were getting arrested. Activists wanted to know: were they being surveilled by their phones?
The Lab thought they were going to look for network interference, so they applied those techniques. They looked at how an activist's phone used the network. Weeeird, the phone was sending a lot of data to someplace on the net at strange times; turns out, it was sending the activist's theoretically-private data to someplace bad. The Lab knew networks, so they again applied that knowledge: they queried DNS servers and checked timing data to figure out where else in the world activists' phones were sending data to someplace bad. If you're looking at a Guatemalan reporter's phone that's been hacked to surveil them, you kinda expect other Guatemalans' phones to be hacked. And some were. But strangely, they saw that phones in other countries were also sending data to the same someplace-bad.
They published reports on what they found. They talked to reporters, helped to spread the word. They got kind of famous. They attracted some new recruits, and thus got more knowledge about phone hacking, not just internet-networking smarts.
They were up against mercenary hack-for-hire groups; the archetype of these is NSO Group. These groups figured out how to hack for several countries each. Kinda like how SalesForce provides customer databases for many companies; or Google provides spreadsheets for many companies; these hacker groups set up systems to hack phones and store stolen data in such a way that several countries could use them.
NSO group claimed they only sold their services to governments with good human rights records. But that turned out to be a lie; they did secret deals with dictators; they abetted murder, harassment, theft, etc. (While I was reading the book, some articles were coming out figuring out how the deals were done thanks to records newly made public.) It took years of Citizen Lab, Access Now,+Amnesty International finding NSO Group software spying on various activists, associates of activists, etc to drive home that these weren't one-off mistakes, but business as usual.
2026-09-02T15:55:34.550257
New Kal Zakzouk sidewalk chalk art at 20th and Irving in #SanFrancisco: an enlightened rainbow being orbited by some demon 🎭️masks🎭️ that look frowny/smiley depending on whether you view them right-side-up or upside-down. Because I don't know how to talk about image-y things, only wordplay things, I want to call those masks semordnilaps, but I bet there's a better word for them.
2026-08-31T18:20:55.592034
My parents told me about a library for dogs on 6th Avenue between Cabrillo and Fulton (I think?): a box of tennis balls. Take a ball, leave a ball. That seemed like a better idea than the library for dogs I was familiar with on Waller near Del Mar. It was clearly labeled for sticks. But good-sized sticks kinda sprawl out of the box. This morning, I went back to the Waller St. library and saw: In addition to a couple of stubby sticks, people were putting tennis balls in this library, too. Even though the label clearly read "sticks." Welcome to Waller Street; some documentation may be out of date.
Nearby at Downey: A couple of DraINvader Space Invader drain covers.
2026-08-31T19:32:05.466485
I wrote a little helper script for working with phraser and crossword lists. Phraser wants spaces; some people who maintain crossword lists don't bother to use spacesandjustruneverythingtogether. guess_spc.py guesses where to add spaces.
Having written this handy script, I thought I'd copy it over to where I share the phraser source code. That should be pretty easy, right? oh whoopsie nope
I'd heard that Github was having a lot of outages since they started using AI-generated code. I shrugged and thought "Gee, I only use Github once every few months. Surely they'll get their act together by the time I try to use it next. Of course I won't be stymied while trying to copy over a such a simple change."
Alas.
I'd already created a user account over at codeberg so I could report an important (ahem) issue in the word list of a daily puzzle game. Today, I got my act together and copied my code over to https://codeberg.org/lahosken/misc . Here's hoping I can go back to not thinking very hard about where to share code.
2026-08-28T21:13:36.070257
I continue to check my little dashboard of #SanFrancisco COVID numbers each morning to decide whether to get coffee at an indoor coffee shop or a pushchart. You might remember that I track three stats. I blog about it when some stat crosses from a pretty-safe value to a not-so-safe value or vice-versa. A couple of weeks back, I blogged to point out that two out of those three stats were annoyingly wriggling above-and-below the "pretty-safe" line. Today I blog with good news and bad news. Good news: they stopped wriggling above-and-below. Bad news: they're both staying above the line; and when some slow wastewater data finally showed up, it turns out that the COVID-in-wastewater stat never actually dipped into the "pretty-safe" zone.
It's weird that the test positivity number has gone up so much at the same time that the COVID-in-wastewater has gone down. It's weird that SF's COVID-in-wastewater went down at the same time that the overall San Francisco Bay Area's number has gone up. What does it all mean? Your guess is as good as mine.
Anyhow, I'm still going places: a couple of stats are kinda-high but one stat is still low. When I multiply them together, overall things still seem low. I'm not so happy that the two reliable indicators are bad while the not-so-reliable indicator is good. I made this little dashboard so I could quickly glance at it and know what to do. That one out-of-step stat has me second-guessing things. This morning, I did my grocery shopping in person (not swapping air with many people doing my grocery shopping before 7am), but didn't drop in to the Beanery for coffee on the way home (lots of customers at the Beanery, even around 7am).
Note to self: Before today, I just multiplied these numbers together. But today, I was looking askance at the New Cases number. I changed my multiplying formula to give more "weight" to the COVID-in-wastewater and test positive% numbers.
Anyhow, keep an eye out for each other. Don't be surprised if your neighbor who makes their decisions solely based on recent test-postitive% numbers has been keeping to themselves lately.
2026-08-25T18:13:05.505701
Some things I saw on my exercise walk in #SanFrancisco this morning:
Not seen: new Kal Zakzouk art. The chalk art at 20th/Irving has been the same design for nearly a month. I hope there's a benign reason for that.
2026-08-22T18:16:57.897702
Archives:
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026