Frank Noirot
@franknoirot.bsky.social
160 followers 230 following 380 posts
BK & 💻 & 🛹 Design engineer, writing at franknoirot.co.
Posts Media Videos Starter Packs
franknoirot.bsky.social
Woohoo yup! The zod generics work just fine when you RTFM:

```ts
type ExplicitZodChildren = z.ZodArray<z.ZodDiscriminatedUnion<[typeof SimpleSchema, typeof SplitSchema, typeof TabSchema, typeof PaneSchema]>>
```
franknoirot.bsky.social
This would be so pretty if it worked

```ts
const LayoutSchema = z.discriminatedUnion('type', [
SimpleSchema,
SplitSchema.extend({ get children() { return z.array(LayoutSchema) } }),
PaneSchema.extend({ get children() { return z.array(LayoutSchema) } }),
])
```
franknoirot.bsky.social
Damn, zod was *this close* to being everything I was looking for, but it really doesn't like my need for a discriminated union on recursive types.

The docs really just shrug here zod.dev/api?id=circu...
franknoirot.bsky.social
LA has arguably the best weather in the world and yet it’s somehow weird to walk the one (1) mile from LAX to our HQ. I mean I’ve done it but everything about the built environment told me I was doing a Bad.

How is more normalized to take a bus to the LAXit parking lot to catch a $20 Uber?
franknoirot.bsky.social
I’m at our annual company on-site for Zoo in LA this week, our third one! So cool to get together with everyone
franknoirot.bsky.social
Rebuilding this layout system is hitting me like drugs
Reposted by Frank Noirot
neorsd.org
I’m a sewage system. I also have a great personality.
Elizabeth Jacobs, PhD
@elizabethjacobs.bsky.social
I'm an epidemiologist. Sewage systems are sexy.

Dosco Jones @doscojones.bsky.social
I'm an engineer. Sewage systems are sexy.
franknoirot.bsky.social
Oh I get it, the administration’s waiting until after the mayoral election to come to my town in force.

Never forget that NYC was doing pretty well crime-wise before. Not that “dangerous cities” are more constitutional to fight a “war from within” with than safe cities.
Screenshot of The Intercept’s reporting on the recent military meeting:

Trump used his address to take aim at cities he claimed "are run by the radical left Democrats," including San Francisco, Chicago, New York and Los Angeles.
"We're going to straighten them out one by one. And this is going to be a major part for some of the people in this room," he said. "That's a war too. It's a war from within." He continued, "We should use some of these dangerous cities as training grounds for our military."

"We will be a fighting and winning machine," Trump said during a stream-of-consciousness address that meandered from sleepy word salads to tirades about tariffs, President Barack Obama's ability to quickly descend stairs, President Joe Biden and the autopen, the press, his own supposed…
franknoirot.bsky.social
Damn man I did not know we don’t collect data on door zone bicycle crashes. I wonder how we would even gather that, oof.
franknoirot.bsky.social
Man, heartbreaking. Paint is not protection.
franknoirot.bsky.social
One of the few places in my life where I regularly feel the “riot meter” of the crowd approach full
franknoirot.bsky.social
I’m not mad at the AirTrain, I’m mad how it’s forced to tiptoe around so much free car infrastructure, and how it’s so disinvested in that it makes NY/NJ car traffic appealing.

Like we all know a train could go from Manhattan *directly to the terminals*, right? Right??
franknoirot.bsky.social
Headways longer than the busiest NJT train, approach speeds slower than the slowest MTA line, jerkiness greater than the worst cab driver. AirTrain: technically a vehicle.
franknoirot.bsky.social
Newark Airpot should really be ashamed of themselves, it’s crazy.
franknoirot.bsky.social
Me IRL posting through the pain. Terminal A flight so we get to walk even more after this 🥰
Absolutely packed train car with me derping in the selfie cam. No joke the doors closed and we are still waiting for it to move 5 minutes later.
franknoirot.bsky.social
Headways longer than the busiest NJT train, approach speeds slower than the slowest MTA line, jerkiness greater than the worst cab driver. AirTrain: technically a vehicle.
franknoirot.bsky.social
The fact that it stops at a parking garage on its crawl from the train station, slowing an already excruciating commute for folks *really * trying to vote against PMVs, is a cruel joke.
franknoirot.bsky.social
I think people who continue to use the AirTrain in spite of of its flabbergasting incompetence should get $5 every ride. Free is too expensive
franknoirot.bsky.social
Follow-up: I was able to register the day of the meeting and attend virtually last night. Thanks @transalt.org, exciting to be in a room full of people eager to make the city safe and fun to move around in!
franknoirot.bsky.social
@transalt.org I've struggled to find how to join the monthly BK meetings, am I missing something? I have the alert set up in my phone but I'd love like a standing link to the video call too.
Screenshot of the TA Brooklyn Monthly Meeting event page through mobilize.us that has a banner saying "This event is no longer available. Take a look at the feed below to find other opportunities!" Screenshot of the TA events page that says the Brooklyn events are supposed to be the Fourth Thursday of the month at 6:30pm.
franknoirot.bsky.social
This came on while I was working and I had to remind myself it's from a yet-to-be-released album; it's already a classic to me. But then again, most Saintseneca tracks are like that.

Don't sleep on this Columbus, OH band: saintseneca.bandcamp.com/track/infini...
Infinity Leaf Clover, by Saintseneca
from the album Highwalllow & Supermoon Songs
saintseneca.bandcamp.com
franknoirot.bsky.social
It’s all linkable too yayyyy
franknoirot.bsky.social
Oh really? I’ve really enjoyed the noise cancellation quality but it had been a minute since I’ve worn some. TBF I don’t hate the glass thing, even if I don’t think it’s making my phone experience like materially better.
franknoirot.bsky.social
iOS 26 preserves a bane of my existence bug: if you set always-on text sounds for a contact, like I do for my gf, and you’re wearing AirPods, every time you unlock your phone with unread messages it will play that sound AT MAX VOLUME for every message.
franknoirot.bsky.social
@transalt.org I've struggled to find how to join the monthly BK meetings, am I missing something? I have the alert set up in my phone but I'd love like a standing link to the video call too.
Screenshot of the TA Brooklyn Monthly Meeting event page through mobilize.us that has a banner saying "This event is no longer available. Take a look at the feed below to find other opportunities!" Screenshot of the TA events page that says the Brooklyn events are supposed to be the Fourth Thursday of the month at 6:30pm.