Sign in

Jake Lazaroff

@jakelazaroff.com
3.7K followers 670 following 2.7K posts

nyc-based programmer and designer. eng @phaze.app, alum @recurse.com. azzajew. public transit enjoyer. thoughts on local-first software, atproto, javascript frameworks, web components, css and other web minutiae. 🌐 jakelazaroff.com

PostsRepliesMedia
Jake Lazaroff @jakelazaroff.com · 20/09/2026
paramore joined my 1000 scrobble club would probably have happened way back in like 2006 if i'd had last.fm at the time
#34 counterparts — 1012
#35 the dangerous summer — 1009
#35 paramore — 1000
#37 underoath — 953
2121
Jake Lazaroff @jakelazaroff.com · 14/09/2026
the whole interview is great! i don't think i fully agree with his point about the computer being a conservative force in society but i find it super interesting
A: I think the computer has from the beginning been a fundamentally conservative force. It has made possible the saving of institutions pretty much as they were, which otherwise might have had to be changed. For example, banking. Superficially, it looks as if banking has been revolutionized by the computer. But only very superficially. Consider that, say 20, 25 years ago, the banks were faced with the fact that the population was growing at a very rapid rate, many more checks would be written than before, and so on. Their response was to bring in the computer. By the way, I helped design the first computer banking system in the United States, for the Bank of America 25 years ago.

Now if it had not been for the computer, if the computer had not been invented, what would the banks have had to do? They might have had to decentralize, or they might have had to regionalize in some way. In other words, it might have been necessary to introduce a social invention, as opposed to the technical invention.

What the coming of the computer did, "just in time," was to make it unnecessary to create social inventions, to change the system in any way. So in that sense, the computer has acted as fundamentally a conservative force, a force which kept power or even solidified power where is already existed.
110
Jake Lazaroff @jakelazaroff.com · 14/09/2026
that sort of technological solutionism always reminds of this interview with joseph weizenbaum — creator of ELIZA, the first chatbot! — on the role of computers in education ebiquity.umbc.edu/paper/html/i...
Q: What, if anything, do you think should be the role of the computer in education?

I'll tell you my reaction to that question without answering it directly. There's a Russian joke that goes something like this: Two people are standing in a very large breadline in Moscow, and they're talking about the fact that the harvest failed once more and that's why there's a shortage of bread, and one of them says to the other, "You know, it's all the fault of the Jews and the bicyclists." The other one says, "Why the bicyclists?" and the first one answers, "Why the Jews?"

You might have said "What is the role of computers and bicycles in education?" Then I would have said, "Why the bicycles?" and you "Why the computer?"

A: Yours is an often-asked question. In a sense, it is upside-down. You start with the instrument; the question makes the assumption that of course the computer is good for something in education, that it is the solution to some educational problem. Specifically, [your] question is, what is it good for?People come to MIT and to other places, people from all sorts of establishments - the medical establishment, the legal establishment, the education establishment, and in effect they say, "You have there a very wonderful instrument which solves a lot of problems. Surely there must be problems in my establishment - in this case, the educational establishment, for which your wonderful instrument is a solution. Please tell me for what problems your wonderful instrument is a solution.

The questioning should start the other way - it should perhaps start with the question of what education is supposed to accomplish in the first place.Then perhaps [one should] state some priorities - it should accomplish this, it should do that, it should do the other thing. Then one might ask, in terms of what it's supposed to do, what are the priorities? What are the most urgent problems? And once one has identified the urgent problems, then one can perhaps say, "Here is a problem for which the computer seems to be well-suited." I think that's the way it has to begin.
2228
Jake Lazaroff @jakelazaroff.com · 07/09/2026
the image from the "society if X happens" meme: a cityscape with futuristic buildings and flying cars
050
Jake Lazaroff @jakelazaroff.com · 27/08/2026
holy shit this would be a game changer
Summary
Persistent widgets are embedded browsing contexts, like iframes, but they can persist across same-origin navigations without reloading. Persistent widgets can be used via the <persistentwidget> HTML element. The <persistentwidget> HTML element takes a src attribute, like an iframe. In order to make the <persistentwidget> survive a navigation, all of these conditions must be met: 1. The navigation must be to a same-origin document. 2. The <persistentwidget> element must have the same src and id HTML attributes in both documents. 3. The <persistentwidget> element must be attached to the new document before its first render.
55813
Jake Lazaroff @jakelazaroff.com · 23/08/2026
also
"They're Only Chasing Safety" by Underøath
131
Jake Lazaroff @jakelazaroff.com · 23/08/2026
Post a perfect album from the 2000s:
"Dream to Make Believe" by Armor for Sleep
170
Jake Lazaroff @jakelazaroff.com · 18/08/2026
amazing! typeshit!
AI overview answer of google search query "tweet like bsky user jakelazaroff.com":

i spent the last three days writing a custom web component that turns an <input> into a local-first transit map.

- it’s 4kb
- it uses zero frameworks
- it breaks immediately if you resize the window past 800px

amazing! typeshit!
1140
Jake Lazaroff @jakelazaroff.com · 17/08/2026
this inspired me to relisten to something real and i went to songmeanings.com to see what people thought of the more cryptic lyrics and dear lord seeing these timestamps was JARRING
the comment section on songmeanings.com for "roses" by meg & dia. the relative date on all the comments is 20Y
100
Jake Lazaroff @jakelazaroff.com · 14/08/2026
apparently google already does this??
The company also compared its link-out fees to those on Google Play, which charges 20% link-out rates for standard apps, 15% for apps in special programs, and 10% for subscription renewals, noting that Epic Games had agreed to these rates.
130
Jake Lazaroff @jakelazaroff.com · 14/08/2026
191
Jake Lazaroff @jakelazaroff.com · 13/08/2026
i think the lesson here is to just make them keywords 😅
lucille bluth from arrested development: it's two keywords, michael. what could it cost, ten thousand lines of code?
020
Jake Lazaroff @jakelazaroff.com · 13/08/2026
"you know how true and false are reserved words… can you imagine the havoc you could wreak on a project if you were able to redefine the words themselves to alter the fundamental nature of true and false? it would be absurd for javascript to allow this, and indeed it does not…" go allows it 🫠
go program:

package main

import "fmt"

func main() {
	true := false
	fmt.Printf("%t\n", true == false)
}

output:

true

Program exited.
9617
Jake Lazaroff @jakelazaroff.com · 13/08/2026
when exactly are you supposed to declare bankruptcy? 😅
the fastmail ios icon with a badge 16878
020
Jake Lazaroff @jakelazaroff.com · 09/08/2026
nah it's super simple. here's a snippet of a signals library i wrote myself. one generic and the setter/getter can even be inferred!
/** @template [T=any] */
class Signal extends GraphNode {
  /** @type {T} */ #value;

  /** @param {T} value */
  constructor(value) {
    super();
    this.#value = value;
  }

  get value() {
    running?._subscribe(this);
    return this.#value;
  }

  set value(value) {
    if (this.#value === value) return;

    context.capture(this, this.#value);

    this.#value = value;
    this._notify();

    context.flush();
  }
}
100
Jake Lazaroff @jakelazaroff.com · 09/08/2026
Tweet by Coolee Bravo @BravoCoolee:

Twitter the only place where well articulated sentences still get misinterpreted.

You can say "I like pancakes" and somebody will say "So you hate waffles?"

No bitch. Dats a whole new sentence.
Wtf is you talkin about.
110
Jake Lazaroff @jakelazaroff.com · 06/08/2026
i mean why stop *there*? what if i only want a little smidge of dark mode?
a fieldset labeled "random" with a slider at 13% labeled "amount of dark elements"
0120
Jake Lazaroff @jakelazaroff.com · 04/08/2026
i said nothing in this guy's post was true. then he said i was AI so i replied with a video of my local-first conf talk. then he said that was a body double and that toni and jay are *also* both portrayed by body doubles so i told him to join us back in reality and that's when he blocked me
post from @craigbrittain.com:

He doesn't want people at all in the long term. @toni.bsky.team wants to replace us with Al. All of us.
They're already following the Elon Musk model of adding tons of fake profiles to pad what is a website that would be growing much faster - but less profitably - if they listened to users.
3112
Jake Lazaroff @jakelazaroff.com · 01/08/2026
did anyone spot spongebob and patrick hiding out on my slides
a drawing of a phone with the bluesky app open. one of the posts has an image of spongebob and patrick
1180
Jake Lazaroff @jakelazaroff.com · 29/07/2026
tired: using fewer em dashes to not sound like AI wired: using fewer em dashes because you felt called out by this meme
the "distracted boyfriend" meme, with a man labeled "me" conspicuously leering at a woman labeled "—" walking with his insulted girlfriend labeled ", ; : ."
2171
Jake Lazaroff @jakelazaroff.com · 27/07/2026
ta-nehisi coates on MSNBC widening his eyes and saying "wow, that was really racist"
0770
Jake Lazaroff @jakelazaroff.com · 21/07/2026
looks like the maintainer anticipated that question!
Commit on Sep 12, 2025: "Clarify why this package is still useful"
110
Jake Lazaroff @jakelazaroff.com · 17/07/2026
oh i wasn't talking about "deportations"
paragraph from DHH's blog post: "Because the sacred cow here is not just that mass migration must stop going forward. It's also that millions who are already in Europe must go. Remigration has gone from a fringe concept to the mainstream discourse in record time on account of that realization. The Overton window is swinging wide open, but the cow is still there."screenshot from Wikipedia: "Remigration is a far-right concept referring to the ethnic cleansing via mass deportation of non-white minority populations, especially immigrants and sometimes including native-born citizens, to their place of racial ancestry."
140
Jake Lazaroff @jakelazaroff.com · 17/07/2026
one nice lil upgrade for bluesky's standard.site embed cards would be to look up the relevant site.standard.graph.subscription record when displaying the embed card e.g. the card still prompts me to subscribe to @dholms.at's leaflets even though i already am
a bluesky post containing an embedded standard.site card for "daniel's leaflets" by @dholms.at with a "subscribe on leaflet" button"daniel's leaflets" publication with a "subscribed" toggle
081
Jake Lazaroff @jakelazaroff.com · 17/07/2026
some out-of-context sneak peeks from my local-first conf talk (obviously i have Opinions about each of these)
a slide showing:
1. a phone running bluesky labeled "client" with arrows pointing to and from
2. a group of databases with faces by them labeled "PDSes", with arrows pointing from each to
3. a satellite dish labeled "relay", with an arrow pointing to
4. a black computer tower labeled "appview", with an arrow pointing back to the phonea slide showing:
1. a phone running bluesky labeled "client" with a double-ended arrow pointing to and from
2. a black computer tower labeled "appview", with a double-ended arrow pointing to a database and a dashed line encircling both of them. arrows point to and from
3. a group of databases with faces by them labeled "PDSes", with arrows pointing from each to
4. a satellite dish labeled "relay", with an arrow pointing back to the AppViewa slide showing:
1. a phone running bluesky labeled "client" with arrows pointing to and from
2. a group of databases with faces by them labeled "PDSes", with arrows pointing from each to
3. a satellite dish labeled "relay", with an arrow pointing back to the client
2111
Jake Lazaroff @jakelazaroff.com · 15/07/2026
definitions abound but i like this sort of anti-definition from @martin.kleppmann.com
WHAT ISN'T LOCAL-FIRST

If it's local-only, it's not local-first.
(Local-first implies multiplayer, or at least multi-device among a user's devices)

If it doesn't work with the wifi off, it's not local-first.
(Local-first implies offline support)

If it doesn't work if the app developer goes out of business and shuts down their servers, it's not local-first.
1141
Jake Lazaroff @jakelazaroff.com · 03/06/2026
turns out it's significantly less than the level of financial stability required to buy a new toyota camry
screenshot of the website BoatTrader: 1985 Island Packet 31 sailboat for sale for $19,000screenshot of the toyota website showing a 2026 camry starting msrp is $29,300
000
Jake Lazaroff @jakelazaroff.com · 03/06/2026
sometimes i think about this quora answer on the downsides of being rich www.quora.com/Is-getting-r...
Being rich does come with some downsides, though. The first thing you are thinking reading that, is, "cry me a river". That is one of the downsides. You are not allowed to complain about anything, ever. Since most people imagine being rich as nirvana, you are no longer allowed to have any human needs or frustrations in the public eye. Yet, you are still a human being, but most people don't treat you like one.
130
Jake Lazaroff @jakelazaroff.com · 01/06/2026
meanwhile, napster on june 1st 2026:
the current napster.com with the original cat wearing headphones logo, and the headline "AI agents you can, talk to, and create with."
5206
Jake Lazaroff @jakelazaroff.com · 01/06/2026
if you only integrated your blog with @standard.site to get the link cards on bluesky, try signing into one of the atmosphere blogging apps here we have… 1. @leaflet.pub automagically discovering my blog and all my posts 2. @pckt.blog letting you subscribe and showing my posts in its in-app feed
jakelazaroff.com blog posts on leaflet.puba jakelazaroff.com blog post "building more resilient local-first software with atproto" in the subs feed on pckt.blog
2412
Jake Lazaroff @jakelazaroff.com · 28/05/2026
for one, bluesky just added these special embeds for pages linked to such a record
a screenshot of a post by @j4ck.xyz showing the new standard.site embeds in bluesky. below the link is an icon, a tile "jack's blog", a "by @j4ck.xyz" byline and a big red "view publication" button
020
Jake Lazaroff @jakelazaroff.com · 27/05/2026
are you sure you don't mean google 2fa
Screenshot from Google AI mode:

is google at 2 pe

No, Alphabet Inc. (Google) is not trading at a 2 P/E ratio; its actual valuation is roughly 15 times higher than that. 
As of May 2026, the current trailing Price-to-Earnings (P/E) ratio for Google (GOOG / GOOGL) sits at approximately 29.3x, while its forward P/E ratio is estimated at around 27.2x. A P/E ratio of 2 is practically unheard of for mega-cap technology companies and typically only occurs in companies facing imminent bankruptcy or severe systemic distress. Screenshot from Google AI mode:

Explaining the "2 P/E" Confusion
If you read or heard that Google was at a "2 P/E," it was likely a misunderstanding or miscommunication of one of the following scenarios:

    Two-Step Verification (2SV): In tech contexts, "Google 2FA" or "Google 2SV" refers to Google Two-Step Verification, a security feature rather than a financial metric.
190
Jake Lazaroff @jakelazaroff.com · 27/05/2026
it all makes sense if you check the source link
google search for "how many ps are in google"

AI overview:

There are 2 "p"s in the word Google. (source: a Reddit thread on r/investing titled "Comparing the P/E of Alphabet(google) and every other ...)
1140
Jake Lazaroff @jakelazaroff.com · 27/05/2026
cleaning out my node_modules like
2462
Jake Lazaroff @jakelazaroff.com · 23/05/2026
bruh
InaneDragon @inanedragon.bsky.social posting

Actually, we thought that *you* were explicitly referring to HAL, Skynet, etc. That's why we reference them as refutations to your argument in the context of "you're just not thinking about it, bruv"

quoting

Jake Lazaroff @jakelazaroff.com • 1h
echoing scalzi's quote of me, i see that when i said "pinocchio-esque fantasy" people thought *i* was not referring to HAL, skynet, etc
020
Jake Lazaroff @jakelazaroff.com · 19/05/2026
Some potential future additions that are under consideration include:

Client side includes. For example, <template for="footer" patchsrc="/partials/footer.html">charlie brown running to kick a football held by lucy
230
Jake Lazaroff @jakelazaroff.com · 14/05/2026
currently building a follow-up version designed by an agency so i figured i'd post about this one while it's still live also the 404 page is fun
a 404 page featuring a low-poly laptop showing a windows blue screen of death
150
Jake Lazaroff @jakelazaroff.com · 14/05/2026
pretty proud of this homepage i threw together for my company. i tried to come up with something very obviously not designed by AI and came up with this low-poly 3D aesthetic inspired by @jhey.dev and @anatudor.bsky.social. 100% CSS, no javascript at all! phaze.app
4500
Jake Lazaroff @jakelazaroff.com · 13/05/2026
yup it's literally the contrapoints meme
natalie wynn while putting on makeup: "they don't want victory, they don't want power, they want to endlessly 'critique' power."
040
Jake Lazaroff @jakelazaroff.com · 13/05/2026
my mouth actually fell open reading this
highlighted text from the article: 31% of gen Z men agree that "a wife should always obey her husband"
1111
Jake Lazaroff @jakelazaroff.com · 12/05/2026
@tangled.org heads up repo creation failing for me
a screenshot of the @tangled.org repo creation flow with the error message "failed to reach knot server."
100
Jake Lazaroff @jakelazaroff.com · 11/05/2026
only 71 now
zoomed in picture of bottle of "barbasol 72 in 1" with extensive usage list (shaving cream, shampoo, conditioner, engine oil, green audi R8, pikachu, lotion, etc) with "the queen of england" circled
110
Jake Lazaroff @jakelazaroff.com · 03/05/2026
two upcoming javascript proposals i'm really excited about: - module declarations will let you define multiple javascript modules inline within a single file (github.com/tc39/proposa...) - module expressions will let you create workers without requiring a separate file (github.com/tc39/proposa...)
// module-declarations.js

module countModule {
  let i = 0;

  export function count() {
    i++;
    return i;
  }
}

export module uppercaseModule {
  export function uppercase(string) {
    return string.toUpperCase();
  }
}

import { count } from countModule;
import { uppercase } from uppercaseModule;

console.log(count()); // 1
console.log(uppercase("jake")); // "JAKE"// module-expressions.js

let workerModule = module {
  onmessage = async function({data}) {
    let mod = await import(data);
    postMessage(mod.default());
  }
};

let worker = new Worker({type: "module"});
worker.addModule(workerModule);
worker.onmessage = ({data}) => alert(data);
worker.postMessage(module {
  export default function() { return "hello!" }
});
511418
Jake Lazaroff @jakelazaroff.com · 27/04/2026
looking forward to these upcoming recental commits lol
a screenshot of a white box called `tangled.org-core` with two list items
- Recental commits (rr tangl... 2 days ago
- Issues to descuss nond ta... 1 dow ago
150
Jake Lazaroff @jakelazaroff.com · 26/04/2026
🤷🏻‍♂️
bluesky post by George Pearkes @peark.es:

Which urbanists are doing the best work thinking about how autonomous vehicles create space to de-center vehicles and the infrastructure to support them?

1:21PM • Apr 26, 2026 Some people can reply
100
Jake Lazaroff @jakelazaroff.com · 21/04/2026
the only depressing thing here is a nine year old using a tool whose primary function is to replace their imagination
screenshot of a bluesky post with the handle cropped out:

"extremely depressing, just snuffing out wholesome and productive intellectual curiosity in a kid"

with a screenshot from reddit:

"r/antiai
u/LiminalLost • 2h
I caught my child using Al

I just caught my 9 year old using Google Al. She had only been using it off and on for about a week.

She talked to it about how to get along better with her little sisters, how to improve her swimming times after a swim meet, and then she used it to help her write fan fiction plotlines for her favorite book series.

I just had a long conversation with her about it, and she's devastated. She didn't know it had environmental impacts and she now fully understands how sycophantic and insidious it is. She's not in trouble, but she's aware we are not to use that again because we don't want her to lose her creativity."
1100
Jake Lazaroff @jakelazaroff.com · 19/04/2026
except their reply to me conflates that with the more recent outage
pookleblinky.bsky.social:

"What I had missed is that we deployed a new internal service last week that sent less than three GetPostRecord requests per second, but it did sometimes send batches of 15-20 thousand URIs at a time. Typically, we'd probably be doing between 1-50 post lookups per request."

And then a DDOS happened
100
Jake Lazaroff @jakelazaroff.com · 18/04/2026
don't forget the original
bright green slimy-looking bubble letters that read "twttr"
1200
Jake Lazaroff @jakelazaroff.com · 15/04/2026
everything old is new again
2017 headline: Iced tea company rebrands as "Long Blockchain" and stock price triples
0102
Jake Lazaroff @jakelazaroff.com · 13/04/2026
and also on the browser side 😬
A screenshot of MDN showing that Federated Credential Management (FedCM) API is not Baseline because it only works in Chrome and Edge, not Firefox and Safari
120