HNHacker News
TopNewBestAskShowJobs

maxwellg

601 karma · joined September 28, 2018

Software Engineer and OAuth guy at https://stytch.com/

blog - https://maxgerber.com

email - max at stytch dot com

submissionscomments
maxwellg··on The Prophet of Parking: A eulogy for the great Donald Shoup
Shoup wrote a LOT about how charging too little for parking leads to everyone using it, which makes parking worse for everyone involved. San Francisco charges about $50c a day for residential street parking in areas that have a parking permit zone - which is decided on a block by block basis. Most street parking in SF is completely free.

Raise prices even slightly, and people's behaviors will adjust accordingly. I have a friend who street parked two cars until he moved to a different neighborhood and had to start paying for permits. Now he just keeps his commuter and leaves his overlander in the suburbs.

maxwellg··on The Prophet of Parking: A eulogy for the great Donald Shoup
The High Cost of Free Parking is a wonderful book and I would recommend it to anyone. Parking - and car-centric development - shapes our day to day lives in tremendously powerful ways.
maxwellg··on The Age of Agent Experience
I think OAuth can complement computer use. Imagine if an agent went through an OAuth flow to get an access token, and was able to use that access token to interact with the same UI that a human interacted with. You'd get a few benefits:

- The human wouldn't need to share their password information with the agent

- Services would be able to block or ask for approval when agents take sensitive actions. Maybe an e-commerce site is happy to let an agent browse and add items to a cart, but wants a human in the loop for checkout.

- Services would be able to attribute any actions taken to the agent on behalf of the user. Did Joe approve this expense report, or did Joe's agent approve this expense report?

maxwellg··on The Age of Agent Experience
This is why I'm so bullish on OAuth for sites with logins - you get a strong real user identity to tie the agent's behavior back to. This means you have (some) proof that the agent is helping your end users consume more of your site, and you can also revoke access to agents that misbehave.
maxwellg··on Ask HN: What is interviewing like now with everyone using AI?
You've never had to debug code that someone else wrote?
maxwellg··on Climbers using xenon gas to climb Everest
What does the additional .09% of purity get you - if the xenon or nitrous is mixed with air at inhalation time anyway? For example, divers and pilots use ABO oxygen which is only 99.5% pure.

https://www.aopa.org/news-and-media/all-news/2023/december/p...

maxwellg··on Climbers using xenon gas to climb Everest
Hypoxic altitude tents have always interested me as a runner living in sea-level San Francisco. You're supposed to sleep in them for a few weeks in order to simulate being at higher elevation. However, they're apparently pretty terrible to use - the vacuum is loud enough to disrupt sleep, the inside of the tent is supposed to get hot and sticky, and you need to spend 12+ hours a day to get real benefits. If you're mountaineering, the suffering might be worth it, but if you're a hobby jogger the sleep disruptions alone negate the performance impact of the EPO boost. Supposedly.

But Xenon?

> Furtenbach, whose training rides and runs have been 10 percent faster for days after xenon-fuelled climbs...

Something to muse about.

maxwellg··on If You Ever See This Speed Sign, You're Probably Going to Die
Who would be willing to take the risk to do road maintenance in a radiation zone? Hitting a pothole at 120 mph would be devastating.
maxwellg··on Datadog acquires Quickwit
> Mezmo recently put in production Quickwit to serve thousands of customers and petabytes of logs, drastically reducing infrastructure cost and complexity while delivering the same user experience.

I can't imagine they feel great about Quickwit getting bought by a competitor after that.

maxwellg··on Meta's memo to employees rolling back DEI programs
Does anyone have any concrete proof of this actually happening? I find it extremely doubtful.
maxwellg··on Mistakes engineers make in large established codebases
I never really understood putting consistency on a pedestal. It's certainly nice when everything operates exactly the same way - but consistency for consistency's sake is awful to work in too. If a team realizes that logging library B is better than library A, and but NEVER switches from A to B because of consistency concerns, then in two years they'll still all be using inferior tools and writing worse code. Similarly, if a team DOES decide to switch from A to B, they probably shouldn't spend months rewriting all previous code to use the new tool. It's ok for multiple established patterns to live in the same codebase, so long as everyone has an understanding of what the "correct" pattern should be for all new code.
maxwellg··on The Rise of the French Fry Cartel
Tons of companies use shared 3rd party data providers like Pave to set comp bands for employees too. Your compensation is very likely determined algorithmically as well. I know mine is. I wonder how long it will last.
maxwellg··on NYC Congestion Pricing Tracker
- Stops moved to be after the light, so bus isn't stuck waiting after people board

- Stops moving after the light mean Transit Signal Priority works better. GPS on the bus can "hold" the green light for longer - https://www.sfmta.com/blog/green-lights-muni

- Red painted lanes decrease private car use in bus lane, so bus can go faster

- Speeding fell by 80%, so fewer accidents mean transit is more reliable

There have been a few different projects on different sections of Geary over the years. The bus now runs 10-20% faster depending on direction and variability decreased by 25-40%.

Check out pages 15-19 of https://www.sfmta.com/sites/default/files/reports-and-docume...

maxwellg··on NYC Congestion Pricing Tracker
I provided a list of the biggest ticket items from the past few years. If you want to only look at projects that increase transit availability, reliability, or speed within SF County, check out the Muni Forward projects. Usually half a dozen lines are prioritized each year. https://www.sfmta.com/projects/muni-forward

I live in the Richmond, so I've been positively affected by the improvements to the 38/38R (although I still would strongly prefer a BRT system) and the new-ish-but-not-really 1X. In the next year I can expect transit improvements to the 1 and the 5/5R. Pretty much every bus I take on a weekly basis has seen transit improvements since I've first moved here.

maxwellg··on NYC Congestion Pricing Tracker
> All we do in SF is make car driving worse, we almost never make public transit better.

In the last half decade we've seen the opening of the Salesforce transit center, the Chinatown subway station, the Van Ness BRT, the Caltrain Electrification Project, BART expansion to Berryessa, 800 new BART cars, and hundreds of smaller projects.

You can see a full list of SFMTA projects at https://www.sfmta.com/sfmta-projects

maxwellg··on NYC Congestion Pricing Tracker
For a concrete example of carrot and stick - check out ridership numbers for the 49 after the Van Ness BRT project finished. 49 ridership is more than completely recovered at 140% of pre-pandemic numbers. In comparison, the 38 and 38R didn't get their dedicated bus lane out in the Richmond and ridership numbers are still nowhere near pre-pandemic. Make the bus fast and frequent and people will take it.

https://www.sfmta.com/reports/average-daily-muni-boardings-r...

maxwellg··on NYC Congestion Pricing Tracker
I'm incredibly hopeful that NYC congestion pricing pays off in a big way - and that we start to see it in other cities across America. I really, really want congestion pricing in downtown SF. During rush hour, cars block the box and slow down busses, with cascading effects.
maxwellg··on Ads chew through half of mobile data
I finally took the time this weekend to get the family switched over to using NextDNS. I use uBlock Origin on my laptop but it's nice to have something for mobile too. I've been getting heated when my partner hands me her phone to show me a recipe and it's completely covered in ads.
maxwellg··on Handling cookies is a minefield
And the worst is that you need to exactly match the domain and path semantics in order to delete the cookie! Domain is easy enough because there are only two options - available to subdomain and not available to subdomain. But if you have a cookie with the `/path` set and you don't know what value was used, you literally cannot delete that cookie from JS or the backend. You need to either pop open devtools and look at the path or ask the end user to clear all cookies.
maxwellg··on How do cars do in out-of-sample crash testing?
Does any country or government enshrine "Right to Drive" in their constitution?
maxwellg··on Handling cookies is a minefield
Cookies are filled with weird gotchas and uncomfortable behavior that works 99.95% of the time. My favorite cookie minefield is cookie shadowing - if you set cookies with the same name but different key properties (domain, path, etc.) you can get multiple near-identical cookies set at once - with no ability for the backend or JS to tell which is which.

Try going to https://example.com/somepath and entering the following into the browser console:

  document.cookie = "foo=a"; 
  document.cookie = "foo=b; domain=.example.com";
  document.cookie = "foo=c; path=/somepath";
  document.cookie
I get

  'foo=c; foo=a; foo=b'
maxwellg··on How good are American roads?
You personally may pay lots of property taxes but California's Prop 13 means that people who have been here for a long time and kept property within the family are paying significantly less. Our average tax rate is 35th in the nation - https://taxfoundation.org/data/all/state/high-state-property.... I grew up in New Jersey originally so I have an admittedly warped view of property taxes, though.
maxwellg··on Jaywalking legalized in New York City
You're right - here's a better source https://www.iihs.org/topics/bibliography/ref/2249 and commentary https://www.autotrader.ca/editorial/20220510/large-forward-b...
maxwellg··on Jaywalking legalized in New York City
Does anyone know if beg button presses get tracked? I often wonder if pressing it increases some great counter in the sky that future city planners can use to design an intersection better.
maxwellg··on Jaywalking legalized in New York City
A-pillars are the pillars of a car that support the windshield and the front of the roof. They've gotten bigger in recent years - which reduces the visibility of pedestrians, cyclists, and other cars. Drivers can't see through pillars. Big pillars are safer for the driver in case of a collision or a rollover, but paradoxically also makes that car more dangerous for everyone else on the road. I don't think they make crosswalks obsolete, but crossing the road is more dangerous today than it was 50 years ago.

https://chi.streetsblog.org/2022/06/08/pickups-suvs-are-driv....

maxwellg··on Welcome to the Era of the $20k Family Car Insurance Bill
Be kind. Don't be snarky. Converse curiously; don't cross-examine. Edit out swipes.

Comments should get more thoughtful and substantive, not less, as a topic gets more divisive.

maxwellg··on First-in-Nation Bill Requiring Cars to Warn Speeding Drivers Goes to CA Governor
Speed bumps are a type of traffic calming, but traffic calming can include a variety of other techniques that can have other benefits. For example, extending sidewalks in residential areas or adding protective bollards to bike lanes - both encourage drivers to slow down by reducing the size of the lane.
maxwellg··on Context Control in Go
Yep - (my understanding is) the Go HTTP stdlib module predates the concept of context in Golang, so the implementation was bolted on to ensure backwards compatibility. NewRequestWithContext was only added in Go 1.13 [1]. Previously, requests were cancelled manually with CancelReqest [2]. This is an unfortunate wart of the language - it means it's very easy to accidentally spin up a new Request which doesn't inherit the parent context by calling NewRequest instead. And adding the context via the builder pattern means it's possible to introduce the storage bugs described in the article. My preferred way to consume a context would be to take it in when the work is actually about to be performed - e.g. client.Do(ctx, reqest)

1 - https://pkg.go.dev/net/http#NewRequestWithContext 2 - https://pkg.go.dev/net/http#Transport.CancelRequest

maxwellg··on Cyclist hit by driverless Waymo car in San Francisco, police say
Cyclists act like cyclists, and are more or less predictable when treated as such. Cyclists are not vehicles, and it doesn't make sense to insist they behave like vehicles. The theory of vehicular cycling was one of the worst things to happen to the development of a safe cycling community in America.

https://www.strongtowns.org/journal/2020/4/28/why-john-fores...

maxwellg··on Cyclist hit by driverless Waymo car in San Francisco, police say
Insisting that a bicycle needs to follow the same procedures as a 3000lb internal combustion engine driven vehicle is madness. The vast majority of car laws are completely inappropriate for bicycles. Bicycles are much smaller, go much slower, can stop much faster, etc.
← PreviousPage 3 of 5Next →