Josh
@nxjosh.bsky.social
5 years in tech. Like traveling and cool people. I build stuff like http://typefire.dev (magic TypeScript thingamajigs) and DBs and whatchamacallits
Been using Claude code for web with their $1k ‘free’ credits thing and learning some things
November 8, 2025 at 9:20 PM
Been using Claude code for web with their $1k ‘free’ credits thing and learning some things
I love when you brand, and you hit that name and copy that feels right… and is completely unlike everyone else in the space
My goal is to make people smile when they use my products, and it’s always a lot of fun to get creative towards that end
My goal is to make people smile when they use my products, and it’s always a lot of fun to get creative towards that end
November 8, 2025 at 5:39 PM
I love when you brand, and you hit that name and copy that feels right… and is completely unlike everyone else in the space
My goal is to make people smile when they use my products, and it’s always a lot of fun to get creative towards that end
My goal is to make people smile when they use my products, and it’s always a lot of fun to get creative towards that end
There is no greater condemnation of me slacking off on fitness than when my Apple Watch gives me some lowball challenge like this
Dear god, if 1.84 mi is a “challenge”, I’ve fallen off hard
Dear god, if 1.84 mi is a “challenge”, I’ve fallen off hard
November 7, 2025 at 2:24 PM
There is no greater condemnation of me slacking off on fitness than when my Apple Watch gives me some lowball challenge like this
Dear god, if 1.84 mi is a “challenge”, I’ve fallen off hard
Dear god, if 1.84 mi is a “challenge”, I’ve fallen off hard
Funny what counts as legacy now
Reading a report and one of the big issues was a 'legacy' framework... from 2018 (JS, ofc). Still supported.
Legacy used to mean 80s/90s systems where you had to reinvent half the stack to keep it alive.
We’ve gotten soft, tbh. Legacy=boring
Reading a report and one of the big issues was a 'legacy' framework... from 2018 (JS, ofc). Still supported.
Legacy used to mean 80s/90s systems where you had to reinvent half the stack to keep it alive.
We’ve gotten soft, tbh. Legacy=boring
November 4, 2025 at 5:19 PM
Funny what counts as legacy now
Reading a report and one of the big issues was a 'legacy' framework... from 2018 (JS, ofc). Still supported.
Legacy used to mean 80s/90s systems where you had to reinvent half the stack to keep it alive.
We’ve gotten soft, tbh. Legacy=boring
Reading a report and one of the big issues was a 'legacy' framework... from 2018 (JS, ofc). Still supported.
Legacy used to mean 80s/90s systems where you had to reinvent half the stack to keep it alive.
We’ve gotten soft, tbh. Legacy=boring
Okay, I'll optimize more later. But down to ~0.6ms (warm) on my default test for address/poi search. Good enough
Ended up using binaryfuse filters (first time for me), implemented a custom SIMD (avx2 & neon) implementation in rust for batch filtering of shards
Fun project
Ended up using binaryfuse filters (first time for me), implemented a custom SIMD (avx2 & neon) implementation in rust for batch filtering of shards
Fun project
October 24, 2025 at 9:19 PM
Okay, I'll optimize more later. But down to ~0.6ms (warm) on my default test for address/poi search. Good enough
Ended up using binaryfuse filters (first time for me), implemented a custom SIMD (avx2 & neon) implementation in rust for batch filtering of shards
Fun project
Ended up using binaryfuse filters (first time for me), implemented a custom SIMD (avx2 & neon) implementation in rust for batch filtering of shards
Fun project
I've had to manually change this 3 times so far
For some reason AI imagines that multi-threaded = faster even though I've told it not to. Removing drops ~350µs to ~120µs
Latest gen LLMs (eg. gtp5-codex, sonnet 4.5) seem more likely to override intent for their own 'thinking'
For some reason AI imagines that multi-threaded = faster even though I've told it not to. Removing drops ~350µs to ~120µs
Latest gen LLMs (eg. gtp5-codex, sonnet 4.5) seem more likely to override intent for their own 'thinking'
October 24, 2025 at 8:26 PM
I've had to manually change this 3 times so far
For some reason AI imagines that multi-threaded = faster even though I've told it not to. Removing drops ~350µs to ~120µs
Latest gen LLMs (eg. gtp5-codex, sonnet 4.5) seem more likely to override intent for their own 'thinking'
For some reason AI imagines that multi-threaded = faster even though I've told it not to. Removing drops ~350µs to ~120µs
Latest gen LLMs (eg. gtp5-codex, sonnet 4.5) seem more likely to override intent for their own 'thinking'
I'm excited.
Still rough, but decided to try to train a variant of my model on multiple encodings.
1st is email and 2nd phone in base64. And augmenting to inject byte corruption and zero-width spaces, etc.
Goal is detection of PII/PHI even in when bytes are mangled
Still rough, but decided to try to train a variant of my model on multiple encodings.
1st is email and 2nd phone in base64. And augmenting to inject byte corruption and zero-width spaces, etc.
Goal is detection of PII/PHI even in when bytes are mangled
October 24, 2025 at 1:12 AM
I'm excited.
Still rough, but decided to try to train a variant of my model on multiple encodings.
1st is email and 2nd phone in base64. And augmenting to inject byte corruption and zero-width spaces, etc.
Goal is detection of PII/PHI even in when bytes are mangled
Still rough, but decided to try to train a variant of my model on multiple encodings.
1st is email and 2nd phone in base64. And augmenting to inject byte corruption and zero-width spaces, etc.
Goal is detection of PII/PHI even in when bytes are mangled
Pre-modern LMs couldn’t handle sarcasm...
Now they still cheat with "simplified approaches" and "TODO: …" in code, but at least modern ones know "I want a knife in my eye" isn’t a feature request.
Thank god.
Now they still cheat with "simplified approaches" and "TODO: …" in code, but at least modern ones know "I want a knife in my eye" isn’t a feature request.
Thank god.
October 23, 2025 at 12:55 AM
Pre-modern LMs couldn’t handle sarcasm...
Now they still cheat with "simplified approaches" and "TODO: …" in code, but at least modern ones know "I want a knife in my eye" isn’t a feature request.
Thank god.
Now they still cheat with "simplified approaches" and "TODO: …" in code, but at least modern ones know "I want a knife in my eye" isn’t a feature request.
Thank god.
Finally got my address/POI search <1ms including fuzzy search
Still refining, but it's fun to try to optimize. Because the index is static, my thinking is we can actually compile optimizations directly into the binary... but for now it's lots of shards, blooms and ngrams
Still refining, but it's fun to try to optimize. Because the index is static, my thinking is we can actually compile optimizations directly into the binary... but for now it's lots of shards, blooms and ngrams
October 22, 2025 at 5:30 PM
Finally got my address/POI search <1ms including fuzzy search
Still refining, but it's fun to try to optimize. Because the index is static, my thinking is we can actually compile optimizations directly into the binary... but for now it's lots of shards, blooms and ngrams
Still refining, but it's fun to try to optimize. Because the index is static, my thinking is we can actually compile optimizations directly into the binary... but for now it's lots of shards, blooms and ngrams
Idk why I find this so funny, but if you search 'google maps' on Google Maps, it can't find it.
I'll make sure to add it to my search as an easter egg
I'll make sure to add it to my search as an easter egg
October 22, 2025 at 4:50 AM
Idk why I find this so funny, but if you search 'google maps' on Google Maps, it can't find it.
I'll make sure to add it to my search as an easter egg
I'll make sure to add it to my search as an easter egg
The current execution chart for my speculative-execution web framework… I guess.
Anyway, pretty cool. I’ve got hard dependencies on slow third-party APIs (>1.5 s per req), but this setup makes things like infinite scroll feel seamless without hitting API throttling
Anyway, pretty cool. I’ve got hard dependencies on slow third-party APIs (>1.5 s per req), but this setup makes things like infinite scroll feel seamless without hitting API throttling
October 20, 2025 at 9:45 PM
The current execution chart for my speculative-execution web framework… I guess.
Anyway, pretty cool. I’ve got hard dependencies on slow third-party APIs (>1.5 s per req), but this setup makes things like infinite scroll feel seamless without hitting API throttling
Anyway, pretty cool. I’ve got hard dependencies on slow third-party APIs (>1.5 s per req), but this setup makes things like infinite scroll feel seamless without hitting API throttling
Genuinely think there needs to be a supervisor model on agentic tasks, one that is specifically trained to audit reasoning
Claude code confidently said our CMS has false negatives, so we need to expand N to "be safe".
Only problem: count min sketches don't have false negs...
Claude code confidently said our CMS has false negatives, so we need to expand N to "be safe".
Only problem: count min sketches don't have false negs...
October 20, 2025 at 8:22 PM
Genuinely think there needs to be a supervisor model on agentic tasks, one that is specifically trained to audit reasoning
Claude code confidently said our CMS has false negatives, so we need to expand N to "be safe".
Only problem: count min sketches don't have false negs...
Claude code confidently said our CMS has false negatives, so we need to expand N to "be safe".
Only problem: count min sketches don't have false negs...
Working on a city/feature/address lookup server. It's a lot of data, and serious thought to make it fast + good, i.e. lots of fun
But makes me really impressed by the google maps/places autocomplete, just how good and fast it is
Trying to do clever things, but par is a high bar
But makes me really impressed by the google maps/places autocomplete, just how good and fast it is
Trying to do clever things, but par is a high bar
October 20, 2025 at 3:37 PM
Working on a city/feature/address lookup server. It's a lot of data, and serious thought to make it fast + good, i.e. lots of fun
But makes me really impressed by the google maps/places autocomplete, just how good and fast it is
Trying to do clever things, but par is a high bar
But makes me really impressed by the google maps/places autocomplete, just how good and fast it is
Trying to do clever things, but par is a high bar
Well, FML.
Working on a new sparse model (20x input size) for NER (named entity recognition) to expand on my dense model.
Anyways... total collapse.
Just terrible, basically thinks everything is an entity and labels it every label
Time to look at the decoder and loss...
Working on a new sparse model (20x input size) for NER (named entity recognition) to expand on my dense model.
Anyways... total collapse.
Just terrible, basically thinks everything is an entity and labels it every label
Time to look at the decoder and loss...
October 20, 2025 at 6:01 AM
Well, FML.
Working on a new sparse model (20x input size) for NER (named entity recognition) to expand on my dense model.
Anyways... total collapse.
Just terrible, basically thinks everything is an entity and labels it every label
Time to look at the decoder and loss...
Working on a new sparse model (20x input size) for NER (named entity recognition) to expand on my dense model.
Anyways... total collapse.
Just terrible, basically thinks everything is an entity and labels it every label
Time to look at the decoder and loss...
Definitely noisy logs, but got speculative execution running for web framework.
Basically, when a user does X action, the server will automatically schedule likely next tasks for that user. If the server has capacity, it runs it and pushes the result to client.
I.e. no loading
Basically, when a user does X action, the server will automatically schedule likely next tasks for that user. If the server has capacity, it runs it and pushes the result to client.
I.e. no loading
October 20, 2025 at 5:18 AM
Definitely noisy logs, but got speculative execution running for web framework.
Basically, when a user does X action, the server will automatically schedule likely next tasks for that user. If the server has capacity, it runs it and pushes the result to client.
I.e. no loading
Basically, when a user does X action, the server will automatically schedule likely next tasks for that user. If the server has capacity, it runs it and pushes the result to client.
I.e. no loading
Sometimes the AI coder (claude in this case) comes up with features that don't exist that maybe should.
Like defining class-scoped interfaces in TypeScript. I kinda don't mind it...
I'm super curious what an LLM generated language would look like
Like defining class-scoped interfaces in TypeScript. I kinda don't mind it...
I'm super curious what an LLM generated language would look like
October 19, 2025 at 3:31 PM
Sometimes the AI coder (claude in this case) comes up with features that don't exist that maybe should.
Like defining class-scoped interfaces in TypeScript. I kinda don't mind it...
I'm super curious what an LLM generated language would look like
Like defining class-scoped interfaces in TypeScript. I kinda don't mind it...
I'm super curious what an LLM generated language would look like
Giant blister after only going 8 miles yesterday, but think it’s due to faster pace and this bald spot on my xero shoes
Assume this grips the asphalt harder than it should, like wearing slicks, causing friction with my foot
My favorite shoes, sad to see
Assume this grips the asphalt harder than it should, like wearing slicks, causing friction with my foot
My favorite shoes, sad to see
October 18, 2025 at 4:38 PM
Giant blister after only going 8 miles yesterday, but think it’s due to faster pace and this bald spot on my xero shoes
Assume this grips the asphalt harder than it should, like wearing slicks, causing friction with my foot
My favorite shoes, sad to see
Assume this grips the asphalt harder than it should, like wearing slicks, causing friction with my foot
My favorite shoes, sad to see
One damn request (2 single line writes, 1 read) using opus in claude code on the $200/mo plan.
WTF is anthropic doing? How is this even usable anymore? Feel like I get more out of codex using a $20/mo plan
Was totally fine paying before, but value/$ is falling fast
WTF is anthropic doing? How is this even usable anymore? Feel like I get more out of codex using a $20/mo plan
Was totally fine paying before, but value/$ is falling fast
October 17, 2025 at 7:46 PM
One damn request (2 single line writes, 1 read) using opus in claude code on the $200/mo plan.
WTF is anthropic doing? How is this even usable anymore? Feel like I get more out of codex using a $20/mo plan
Was totally fine paying before, but value/$ is falling fast
WTF is anthropic doing? How is this even usable anymore? Feel like I get more out of codex using a $20/mo plan
Was totally fine paying before, but value/$ is falling fast
WOAH! My 29M param model just broke <3.0 perplexity in mixed MLM pretraining on a diverse multi-lingual corpus. Way more than I need for NER downstream, but for a byte model this size, feeling pretty good
On the flip, the 9M model is struggling a bit.. not surprising, but oh well:
On the flip, the 9M model is struggling a bit.. not surprising, but oh well:
October 16, 2025 at 3:00 PM
WOAH! My 29M param model just broke <3.0 perplexity in mixed MLM pretraining on a diverse multi-lingual corpus. Way more than I need for NER downstream, but for a byte model this size, feeling pretty good
On the flip, the 9M model is struggling a bit.. not surprising, but oh well:
On the flip, the 9M model is struggling a bit.. not surprising, but oh well:
My god I forgot how fun real engineering is.
Brutal constraints, impossible specs, and the joy of hacking your way until something works. Clever ideas always come from working within those bounds
Brutal constraints, impossible specs, and the joy of hacking your way until something works. Clever ideas always come from working within those bounds
October 15, 2025 at 6:01 PM
My god I forgot how fun real engineering is.
Brutal constraints, impossible specs, and the joy of hacking your way until something works. Clever ideas always come from working within those bounds
Brutal constraints, impossible specs, and the joy of hacking your way until something works. Clever ideas always come from working within those bounds
Claude is finally getting it.
Took it a while, but I'm happy it's down to clown all around town now.
Synthetic data generation for PHI has been a fun journey
Took it a while, but I'm happy it's down to clown all around town now.
Synthetic data generation for PHI has been a fun journey
October 14, 2025 at 11:33 PM
Claude is finally getting it.
Took it a while, but I'm happy it's down to clown all around town now.
Synthetic data generation for PHI has been a fun journey
Took it a while, but I'm happy it's down to clown all around town now.
Synthetic data generation for PHI has been a fun journey
Trying to do cool stuff in react has got me lamenting what we might have had with class components...
Would love an API like this sometimes, wiring it up 'the proper' way can be gnarly
Would love an API like this sometimes, wiring it up 'the proper' way can be gnarly
October 14, 2025 at 7:18 PM
Trying to do cool stuff in react has got me lamenting what we might have had with class components...
Would love an API like this sometimes, wiring it up 'the proper' way can be gnarly
Would love an API like this sometimes, wiring it up 'the proper' way can be gnarly
iykyk, but this feels good.
Perplexity at ~3.1 for this checkpoint... which feels really good for this particular model, punching far above its weight(s) 😂
Perplexity at ~3.1 for this checkpoint... which feels really good for this particular model, punching far above its weight(s) 😂
October 14, 2025 at 6:09 AM
iykyk, but this feels good.
Perplexity at ~3.1 for this checkpoint... which feels really good for this particular model, punching far above its weight(s) 😂
Perplexity at ~3.1 for this checkpoint... which feels really good for this particular model, punching far above its weight(s) 😂
Claude being stingy on tokens. I'm willing to burn them, should be a setting.
But wonder if they trained this behavior
But wonder if they trained this behavior
October 14, 2025 at 12:52 AM
Claude being stingy on tokens. I'm willing to burn them, should be a setting.
But wonder if they trained this behavior
But wonder if they trained this behavior
lol, just nuked a 42-hour pretraining run. feels great.
not a ton of money or time lost, but still stings.
not a ton of money or time lost, but still stings.
October 13, 2025 at 7:54 PM
lol, just nuked a 42-hour pretraining run. feels great.
not a ton of money or time lost, but still stings.
not a ton of money or time lost, but still stings.