cost of child care

I'd wondered why child care is so expensive yet pays the workers so little. I spent part of yesterday reading articles and watching videos; the answer seems pretty simple.

Average US fees are like $10,000 per kid. So say a worker is caring for 3 kids. That's $30,000, to pay for everything. Even if overhead is very low, so that 80% goes to compensation, that's just $24,000 to pay salary and payroll tax and (ha ha) benefits. If labor gets just 60% (still high compared to most other retail business), we're down to $18,000.

If there are 5 kids, those numbers become $50,000 gross, $40,000 at 80% labor, $30,000 at 60%. But quality of care is thought to drop, and many states require 3-4 kids per carer.

Mississippi allows 5 to 1, though it seems workers get paid the same low rate; instead parents only have to pay $5000 for child care. (Source) Of course rents matter for overhead -- Massachusetts requires 3 to 1, and the average fee is more like $16,000. (Though some quick searches claim pay is more like $30-35k, of course that has to pay MA, largely Boston, rents as well.)

Do the numbers check out? MS: 5x$5000 = $25,000. Searches claim $17,000, $22,000, $25,000 -- latter may be *teacher*, vs. an aide; one video suggested 40 kids might have 3 teachers and 6 aides. MA: 3*$15,000 = $48,000, allowing $28-38,000 in labor.

Going the other way: if a worker makes $30,000/year ($15/hour minimum wage, we'll ignore what daycare hours are actually like), and has 4 kids, and overhead is 25%, fees have to be 30/0.75/4 = $10,000/year. Except I forgot payroll taxes, so probably more like $11,000.

So yeah. it's pretty intrinsically expensive. How do other countries offer free child care? It's possible they skimp on the ratios, but mostly it must be because the government spreads the cost over all taxpayers. Instead of a family paying $10,000 for a few years, everyone's paying like $1000 (*very* averaged) every year.

(If a kid needs care for 5 years, $50,000 total, and pays taxes for 40 years, as an adult they pay $1250/year of paying taxes.) See the comment count unavailable DW comments at

random observations

North Oakland has become rather aggressive about traffic calming on residential streets. Lots of circular planters in intersections, like a micro-rotary, to slow cars down; that's been around for a while. But new was lots of barriers: say you're allowed to enter a street, then you probably passed a barrier blocking exit in the opposite direction. And when you reach the end of the block, you'll be facing a barrier across the intersection, so that you'll have to turn left or right rather than go straight. (Legally, anyway -- I saw a few drivers cheat.) So the streets are internally two-way, but a maze of limited accesses to prevent traffic from running through.

Lots of bicyclists without bike helmets in Montreal. I'd guess helmets are like 50%, though I haven't really counted. Common, unlike Osaka or Amsterdam, but not as ubiquitous as I recall from the US. Some of that is people on Bixi bikeshare, but I've seen road bikers in traffic without a helmet. There did seem to be more helmets yesterday on the canal shared path, but that's the sort of thing that probably attracts faster biking (apart from having to share with the pedestrians.)

More bikers than I was used to in LA, not sure about Boston or Oakland. I see a lot on Maisonneuve but it has a physically protected bike path.

Montreal forbids biking on the sidewalk, unlike LA. The one sidewalker I recall seeing was laboring uphill toward Mont Royal. Can't say as I'd be happy to bike on the major streets here. See the comment count unavailable DW comments at

comparative speed limits

As far as I can casually tell, the default urban speed limit in the US, insofar as we have such a thing, is 30 MPH (50 kph). Major/arterial streets might be 35-50 MPH (56-80 kph). Georgia state law caps allowable residential speed limit as high as 45 MPH (72 kph). School zones might be 25 MPH (40 kph), maybe lower.

Some cities such as Boston and Seattle have been lowering that a lot. Seattle seems to be moving to 25 MPH (40 kph) everywhere. Boston has lowered the default from 30 to 25 MPH (50 to 40 kph), likewise Somerville MA. Cambridge MA has reduced from 30 MPH to 20 MPH (32 kph) on local streets and 25 (40) on arterials.

OTOH Japan is 30 kph (18 MPH) for residential (often one-lane, one-way, no sidewalk, there's also an option for 20 kph (12 MPH)), 40 (25) for urban 2-lane roads, 50 (30) for 4-lane roads, or no more than 60 (36 MPH) on divided 4-lane roads with low pedestrian activity. Nothing with at-grade intersections, or with pedestrians and cyclist access, can be faster than 60 KPH.

So Japan residential streets are slower than typical US school zones. Most major streets are no faster than typical US residential streets.

Wiki says the Dutch urban default is 50 kph, but 30 kph residential is common, and "home zones" may be as low as 15 kph (9 MPH), but some 4-lane arterials are posted at 70 kph (44 MPH)

Makes a big difference in crash safety, but also in car noise: slower cars are quieter, and probably fewer in number.

Canada defaults to 50 KPH, but Montreal lowered its streets to 30 residential, 40 arterial.

Australia seems similar to the US, though with pushes to 40 kph in central business areas.

This road in Osaka, an six lane (or here, eight) divided road with barriers to discourage pedestrians (and prevent them from jaywalking)... is 50 KPH (30 MPH). It comes out of giant intersection, which has a 40 kph (25 MPH) sign posted. See the comment count unavailable DW comments at

travel update

Been a while.

In the long ago golden age of "early June", it was possible to believe the world was going back to normal, and I reserved a really cheap Airbnb in San Francisco for July. Took Amtrak, meaning "bus to Bakersfield, train to Emeryville, bus to SF." Alas when I got to my intended home, a guest was still in occupancy, I don't know why, and with the host incommunicado, Airbnb gave me a full refund and a free week and cut me loose. Of course, everything else in the area was twice the price, which was why I went to SF in the first place... I sucked it up, mostly in Oakland, seeing some friends and enjoying the weather, Zachary's pizza, and a "Rice Triangles" shop making fresh big onigiri.

I stayed the longest in an old Oakland house, with a couple of nostalgia points: old locks on bedroom doors, like we had when I was a kid, except this place had the keys, which my host called "skeleton keys" for them. Also my room had a rainbow-and-unicorn decal stuck to the window, I'd swear identical to one I grew up with. Perhaps some friend in Berkeley sent it to my parents?

Right when I was thinking it was high time to flee the western US on account of wildfire smoke, Canada finally opened up to the US, despite having lower covid rates than us, and I slipped into Montreal, where I plan to be until it snows. I'm downtown-ish -- tall buildings, anyway -- near Guy and Sherbrooke. There's only one French-style bakery nearby, though it's practically around the corner, and I've been having morning croissants and baguettes. The baguette rustique is softer, and stays softer longer than,the baguette blanche. There's also a baguette levain -- sourdough -- for twice the price. A bit further is an Arab bakery, with spinach pies and za'atar stuff. On Saint-Catherine are a whole slew of things, including dim sum places, and a Japanese food shop staffed by actual Japanese people, or at least Asian people who know Japanese. I made the mistake of saying 'konbanwa' (good evening) and got "do you want a bag" in Japanese -- or so I infer from context, as I sure didn't understand them. But I got out with karaage, cold ramen, and chashu. There's also frozen beef at CAN$150/lb, I assume wagyu. Surprisingly, not locked up. I did not get any of that.

Indoor masking has been good if not perfect. There's supposed to be some new QR/vaccine passport system, though I wasn't dining in any restaurants anyway, just takeout. I would like to go to the gardens or Biodome, might be relevant then, hopefully someone will take my US evidence.

Los Angeles masking was deteriorating; my subway ride to Union Station had 50% masking and two people smoking. SF Muni seemed very good, I didn't see any noses. BART, decent rate, but I found myself on a car with three unmasked men, one emitting random sounds, and fled to another car.

My first Saturday in Montreal, I thought I heard some local cultural parade coming up the street, which police had blocked off, but it turned out to be a protest against vaccine passports. Someone was waving a TRUMP 2020 sign.

My T-Mobile roaming worked great until two days ago, when I stopped being able to make calls or texts. Oddly, data still works. I called, they got it fixed, then it broke again. I happened to have a second phone and a Canadian SIM from the airport, but *that* isn't giving me data despite doing the APN hoops.

Montreal does in fact have cheddar cheese. I'm not really surprised, but I hadn't noticed any on my 2018 visit, compared to a wide variety of brie. See the comment count unavailable DW comments at
still life

python JSON datetime at last

content warning: geeky computer stuff

At work I have a common flow of Python code querying MySQL and dumping results into JSON. This works great except our tables tend to have columns for create and modify dates. And Python's json library won't convert datetime types to string, so dumping the result of "SELECT * FROM" errors. And I've had bits of ad hoc code to remote datetime values, then a little function for it, but it was still a pain. Especially today, when for stupid VPC reasons I'm writing a simple generic SQL service.

In annoyance I tried searching again and found, buried in the middle of a stackoverflow with answers about subclassing and shit:

json.dumps(thing, default=str)

Bam, done. The function passed to 'default' gets invoked on anything that errors at first. And in Python 'str' works on pretty much anything.

If I cared about the exact format I could write a function that inspected type and converted dates (or just assume datetime is the only cause of errors so just invoke a method when triggered), but str is fine for now.

Soooo simple. Thanks, python, and stackoverflow person who gave the simplest answer. See the comment count unavailable DW comments at
CrashMouse, food

pan fried chicken times

I was on the phone with friend A-chan (yes! phone calls!) and describing my dinner in process; she was surprised that I said pan-fried chicken took 35 minutes. That's what I learned from my parents and what usually works well, resulting in cooked but juicy chicken. Sometimes I go longer if the drumsticks (I only do drumsticks) are extra thick. Not that I've experimented much.

I wondered, so looked up fried chicken recipes, and think I see the difference. Most of them talk about filling the pan 1/3 inch to 1 inch deep in oil. So yeah, they might say as little as 15 minutes, or maybe 10 a side, but I imagine it's like deep frying your chicken by parts.

Whereas the oil my family uses is a "don't stick" amount. Probably a couple millimeters at most, if that. So the cooking is partially a dry heat process, pan to chicken. (In fact sometimes my father would brown/sear battered chicken in skillets in batches, then pile them all up in a Dutch oven to finish via baking. I've done that with regular ovens, maybe more often if I'm doing a lot to free friends, but mostly I just do a skillet or sometimes two.)

A side effect of doing that is ending up with a pan rich in seasoned chicken fat, not much diluted by the cooking oil I started with. In my old egg and batter days, I would mix left over seasoned flour with leftover egg, and fry the most amazingly flavorful hockey puck of dough in the pan. These days I just mop up the skillet with bread.

I think I have a strong aversion to filling a pan with oil. Like it seems wasteful of oil or dangerous or messy, or all three. Not really an issue most of the time, but might be why I have trouble cooking corn tortillas; I don't remember my father's process well, and after various failed attempts I suspect it involved pouring more oil than usual, which goes against my "don't stick" habits.

Anyway. These Canadian drumsticks were smaller than is common in the US, so maybe they didn't need 35 minutes. Came out tasty and juicy anyway. See the comment count unavailable DW comments at
angry sky

Is school safe for my kid?

CDC post:

My summary:

Q: Can my kids get covid easily?
A: Yes, just as easily as adults. The belief otherwise didn't control for kids having fewer exposures to potential infections.

Q: So is school safe?
A: It can be! If there's universal masking, good ventilation, and cohorting (small groups of kids sticking together, I guess to limit spread if one of them is infectious.) Also weekly testing, especially if you're failing at one of those primary measures. Distancing seems less important except at mealtime -- after all, if you're in a room with someone for an hour without masks or fresh air, distancing really isn't going to help you as you marinate in aerosols.

Q: What does safety actually mean?
A: A good question. As safe as generally being a kid in the community, or even safer (not sure how that works.) Outbreaks still happen, so if you work from home and can have your kid learn at home, that's still safer. But school openings with good measures weren't catastrophic, statistically speaking.

Q: But all those studies are from months ago, before the super infectious Delta; what about now?
A: Who the fuck knows. But I can guarantee that you'll have to be doing *at least* as much as was done in those cases. Universal masking, great ventilation, vaccinate everyone who can get a shot. You don't respond to a more infectious virus by doing less.

Q: But I'm *tired* of masks. I want to go back to *normal*.
A: Are you the parent or the child? Look, imagine that your house had burned down, and you're staying in a motel, and your kid whines about just wanting to go home. Tell yourself what you'd tell them. Assume we're in this long term, indefinitely, then you can be pleasantly surprised if it ever stops for good. See the comment count unavailable DW comments at

sample walkable neighborhood densities

Followup to my old urban densities. All numbers from city-data unless otherwise noted. Units are people per square kilometer. I believe walkability starts being practical around 6000/km2, though that also depends on people actually opening businesses.

Neighborhoods are selected mostly because I've personally experienced them, with a few exceptions.

Albany Park Chicago, 9186
Logan Square Chicago, 8944

Castro SF, 9914
Central Richmond SF, 11867
Chinatown SF, 19657
Chinatown SF, 29,000 (lost source)
Chinatown SF, 100,000 (wikipedia math)
Inner Richmond SF, 12351
Mission SF, 11610
Nob Hill, 22631
Outer Richmond SF, 6272
Outer Sunset SF, 6050
Telegraph Hill SF, 15474
Tenderloin, 16340

Agassiz (south of Porter Square) Cambridge, 6770
Riverside Cambridge, 13601 (not that good an area)
North Cambridge, 6396

Davis Square Somerville 18757 (but 4000 people)
Powderhouse Somerville, 10422 (not that good an area)

Georgetown DC, 4031 (that's it???)

Waterfront/North End Boston, 13164
Chinatown Boston 15090
North End Boston, 10688 (wikipedia)

Paris 11th arrondisement, 41,000 (wikipedia?)

Greenwich Village, 29539
Chinatown NYC, 34749
Upper West Side NYC 42,000
Harlem, 32670

Fishtown Philly 9887 See the comment count unavailable DW comments at

induced demand and transit

So, there's induced demand, the observation since the 1930s that widening a congested road to fix congestion never works. It does do something: it increases bandwidth, allowing more drivers to crawl through congestion. But it doesn't increase speed. Because when demand is high, congestion is the only 'price' that discourages drivers from using the road. Lower the price, and more of them show up until it's high again.

People who learn of this sometimes ask how transit factors in, and I've always said, pessimistically, that it's the same: expanding transit allows more people to bypass congestion -- which is good! -- but won't solve the congestion. Any drivers who take the train will be replaced by more drivers. So the only way to reduce congestion is with actual congestion charges, charging people money to use the road and charging more until you have the levels you want.

But, despite my enthusiasms, I'm an American with American experiences, and I now think I was wrong. At least some of the time. You can watch this Not Just Bikes video or read Wikipedia about the Downs-Thomson paradox or read on:

Imagine that we start with congested roads, and add a subway system that is on average *faster* door to door than driving. As the video says, most people aren't mode bigots (I am! I hate being in cars) and will do whatever is faster (or some mix of faster and cheaper). So if driving is 40 minutes and transit is 25 minutes, lots of people will take the subway. And a good subway system doesn't slow down when heavily used, so it'll keep being 25 minutes even if unpleasantly crowded. Drivers leave the road... and *don't* get replaced, until congestion comes down so much that driving takes less than 25 minutes.

That's the "paradox": "the equilibrium speed of car traffic on a road network is determined by the average door-to-door speed of equivalent journeys taken by public transport." Or by other alternatives, such as bicycling in Amsterdam. If biking were faster than driving, and safe, would you drive most of the time? Probably not. Certainly the Dutch don't. The video guy has said elsewhere that Amsterdam traffic is fairly decent, and this would be why: driving is competing with good bicycling and transit systems, and there's no point to driving to the point that it takes more time than those.

So if you provide good, high-capacity, alternatives to drive, you can reduce congestion!

Now, is this practical? Downs says it's valid in

"regions in which the vast majority of peak-hour commuting is done on rapid transit systems with separate rights of way. Central London is an example, since in 2001 around 85 percent of all morning peak-period commuters into that area used public transport (including 77 percent on separate rights of way) and only 11 percent used private cars. When peak-hour travel equilibrium has been reached between the subway system and the major commuting roads, then the travel time required for any given trip is roughly equal on both modes."

Even for this American, it's hard to imagine such a fast and high capacity transit network. (I was not paying attention to what rush hour driving is like in Osaka.) And it's not like NYC or pre-congestion charge London traffic are/were good, though since NYC transit speeds aren't that high, that might not be a refutation. And of course there are complications: taxis, trucks, and through traffic might contribute traffic that isn't divertible by the alternatives. Conversely, high parking or gas costs could drive people to transit even when slower: what we'd really expect is that people would take the mode that has the lowest cost to them, where the travel cost is a function of time, money, aggravation (overcrowding, weather exposure, being stuck behind a wheel), need to carry things, and maybe more. And as an application of the Law of One Price, people should shuffle between the various modes until the modes have the same average cost.

And this is the problem being an American: we've gone in for cars so much, and scanted the alternative so much, that even with multi-hour rush hours, driving is typically still the fastest and lowest 'cost' mode of getting to work, or anything else. Especially when buses or bicycles get stuck in, or endangered by, cars -- no matter how bad things get, the car is still least bad. This is what killed off streetcars. Subways and bus lanes bypass traffic, as do Dutch (bike paths) or Japanese (wide sidewalks) bicycles.

But as a practical thing... taking a lane of road for bus lanes might actually improve congestion for the cars as well as the buses, by diverting drivers into the buses. If you run enough buses to absorb demand, then the driving speed should come to match the bus rapid transit speed. See the comment count unavailable DW comments at