Sign in with Twitter


Rich Harris @Rich_Harris New York, New York

Open sourceror. I make graphics at the @nytimes

1,861 Following   31,315 Followers   19,196 Tweets

Joined Twitter 1/25/09

@FredKSchott @youyuxi @boubiyeah @ddprrt @preactjs Depends what you're bundling — if mostly coarse-grained modules…
@swyx @lihautan @sveltejs @antony 👀
@alexandrosM @TaylorLorenz 🤷‍♂️A decade ago, two boys captivated me with their reflections on their dad’s deployment to Afghanistan. Then…
Retweeted by Rich Harris @alexandrosM @TaylorLorenz How should I address them instead? Misogynistic douchebags that work in tech? Doesn't ro… bros — you really *should* read @TaylorLorenz! she's a brilliant reporter! and she understands the dynamic… @helen8297 @mrbenbot @sveltejs 🙌 have you installed the VS Code extension? it should fix the syntax highlighting! don’t think this photo will ever not make me laugh out loud
Retweeted by Rich Harris
@sourcerer_io can you follow me so i can DM you? would like to report something privatelyMy hottest take (which isn’t true but isn’t fully wrong) remains that the death of Google Reader made a space for t…
Retweeted by Rich Harris🚨 The @Coding_Career Handbook is here! 🚨 It comes in 3 flavors. The Handbook: 450+ pages of everything I have le…
Retweeted by Rich Harris
@AdamRackis @BenLesh @SachaGreif Yep. Protest the meat industry by becoming vegetarian, not by yelling at people who work at the hog farm @BenLesh @SachaGreif Yeah. I read their open letter, it's barely coherent and infuriatingly glib. If using React is… @SachaGreif an activist account thought it would endear people to their cause if they CC'd several hundred people w… @CommunityReact @ReactAdvanced @ReactEurope @ReactFest @ReactHooks @ReactJSLadies @ReactJSgirls @ReactLondon_ @0xca0a @DavidKPiano in other words they *are* framework-agnostic — you could easily build a hook to consume them:… @0xca0a @DavidKPiano instead of hooks, we have spring/tween stores, which can be used to drive DOM, native views, G… @0xca0a @DavidKPiano that'd be nice, but you have to pick the right building block. our users would revolt if we ma… @0xca0a @DavidKPiano ya, we're not going to adopt a construct we dislike for the sake of an 'ecosystem' when the fr… We put the most popular build tools through their paces to find out what they're good at,…
Retweeted by Rich Harris
@exclipy @DavidKondrad self-preservation: watched dozens of fellow reporters get laid off within months of starting…"I can't breathe." The words are so powerful because we naturally recoil at the idea of ignoring another human be…
Retweeted by Rich Harris @exclipy @DavidKondrad Yeah, the flavour of the month thing is the bit that concerns me! Different flavour next mon… @UgurVolkanGul @sveltejs @SvelteSociety this is rad! thank you for sharing itHere is a small IMDb movie comparison game where you can challenge your friends! inspired by @Rich_Harris 's cameop…
Retweeted by Rich Harris @mrsauravsahu @sveltejs Better late than never :) thank you for the fix! @seaofarrows good for you
@fabiosantosart Definitely a solid case against it, yeah. I guess for Hey it's part of the whole 'no unread counts'… @slightlylate you absolute crouton. you complete pasty. you total flapjack. you feckless bap. you superfluous bagel…’ve started a new evening ritual: I leave all my technology inside except my Walkman, and I get into the hammock i…
Retweeted by Rich Harris @ccverak @aboodman @dvassallo @dhh Not saying we can deal with it client side, whatever that would mean, just that… @aboodman @dvassallo @dhh Lot of truth there. Corollary: since the growth of serverless compute/data means that *no…
@qoouep It's very easy indeed! In fact it's the default! You literally just need to not @ them @yawaramin @Micharch54 I think that'd be surprising for users — a URL shouldn't behave one way in minute 29 and a different way in minute 31 @FeifanZ `map` has been in the language since 2009! And implemented everywhere for ages (and easily polyfilled befo… @Micharch54 @yawaramin Browser cache can't help with any content that was added dynamically @FeifanZ Maybe there are better examples of method chaining, but to me the JS reads more cleanly: s = "my dog has… @Micharch54 @yawaramin In an SPA, navigation happens within a stateful context. In a traditional app, where the ent… @yawaramin @Micharch54 it's *possible*, sure, I'm just saying it's not good UX. I don't think it makes sense to hav… @FeifanZ Am a bit of a monoglot so will have to take you at your word re stdlib — FWIW i feel quite productive with… @yawaramin @Micharch54 but how do you do it for your own feed in a way that doesn't render page numbers completely… @FeifanZ Perhaps. I have faith! @FeifanZ For sure. Though I personally think that's happenstance, not something intrinsic to the language (or if it… @FeifanZ I think it'll happen eventually! <prays to the WASM gods> @DanShappir @TonyWhomever Yeah, they'll definitely be a valuable addition to the platform. I'm just sceptical that… @yawaramin @Micharch54 what do page numbers even correspond to when you have an infinite river of content? are we s… @FeifanZ huh? not sure i follow. the whole thing about hey is that is *wasn't* developed in JS, except for a few sprinkles @FeifanZ It's not the scroll position that makes this hard, so much — it's that you need to load 120 (say) emails o… @stefanmaric_ Ah, my apologies — I totally misunderstood! My bad @stefanmaric_ Bit rude, honestly — I gave it a week, and have been thinking about this topic for years. I'm not try… @DanShappir @TonyWhomever I'm a portal sceptic — it solves one fairly narrow problem, but doesn't fundamentally alt… @maranomynet @dabernathy89 Good thing I didn't use that word in my original tweet then? But 'snitch tagging' is a w… @dino_k_29 @IslamAttrash It depends on client-side rendering, which is the opposite of their approach @maranomynet @dabernathy89 Because the motives don't matter; the outcome matters. The whole point of 'don't do this… @dabernathy89 it's bizarre. i guess people don't think of it as snitching at the time? (i deliberately avoided usin… @TonyWhomever it's a hard problem for sure. i guess my point is that it's better to use tech that makes it *possibl… @kodlamadan it would just be me doing this the whole time @IslamAttrash Yeah, keep the list of loaded emails in memory and restore scroll upon client-side navigation. The fi… you want to rope him into an argument of some kind? He has better things to do. Did you want me to persuade him…'t tag someone into a thread unless you know what you're doing. I deliberately left DHH out of my thread last ni… @Micharch54 after my hot take last night i have to scroll that far just to see all my notifications 🙈 @Seamless can you please stop calling event.preventDefault() on click events on <a> elements if the user is cmd-cli… @brianleroux @adamwathan @spikebrehm @linear_app The bulk of my productivity time is spent on desktop. Most of my p… @brianleroux @JonasKuske It's true that we don't have that many great examples, because we spent the last few years… @brianleroux @JonasKuske If your app • starts up instantly • is progressively enhanced • has instant client-side n… @brianleroux @adamwathan @spikebrehm @linear_app You said 'daily driver' which implies desktop app — I don't use th… @brianleroux @JonasKuske Looks that way! @brianleroux @JonasKuske That's interesting — I personally find it rather slow to navigate around, and I frequently… @adamwathan @brianleroux @spikebrehm @linear_app Do electron apps count? I spend most of my day in VSCode @derFBeste they're coming later this year apparently @brianleroux @spikebrehm Not moving goalposts. The goal of a productivity app is productivity — the initial load is… @brianleroux @JonasKuske great SSR-SPA examples out there, and that's exactly why I work on Svelte/Sapper — I also… @brianleroux @JonasKuske Right, but try building it as a Rails app. Not just being snarky because they already did… @brianleroux @spikebrehm Odd! For me, Gmail is a much snappier experience than Hey, once it's eventually done loading @RReverser @frontsideair 🤔 @alexlouden yeah, if you're using webpack's loader you have more options i guess. but i expect more and more sites… @Dieulot @alexlouden @Emir_Ozdemirr @wongmjane @heyhey I'm actually wondering if that's true — I *think* that `import('./foo… @boubiyeah @tyleralove @dhh Right — a lot of times when we judge tech stacks by exemplar apps, we're really judging… @frontsideair Would you paginate Twitter? 😉 @negcx @boubiyeah Agree that SPA tooling isn't where it needs to be. I think that's the big project for the next co… @jaredcwhite Ok I'll bite — how would you solve the problem I described? @JonasKuske @jaredcwhite Using cookies to store transient state is a world of hurt, I think. And a query param does… @exclipy @DavidKondrad Definitely! I think the hard part is settling on a data layer that makes sense for everyone @boramacz Good point! @nicktencate @marbiano3 @adamwathan A hybrid SSR/SPA app can work just as well offline! @Micharch54 I think infinite loading is great UX. Would you paginate Twitter? The HEY team agrees that navigating b… @Martin_Adams @pHzBox @garreh right — 'front-end' doesn't mean 'client-side', that's a common misconception. Your E… @SteveALee @jaredcwhite yeah, i think localstorage is underused. but it doesn't help with SSR unfortunately — the b… @spion yeah, this is one reason i don't tend to use installed Chrome Apps even though they're a neat idea — if I op… @deadwisdom @tyleralove @dhh He's right about almost everything! I strongly align with his values and philosophy, and I'm a hug… @Emir_Ozdemirr @wongmjane @heyhey I'd actually argue that this is a case of it *working* — it failed to load some C… @arvindamirtaa @wongmjane Yeah, I think server-first is important — I dislike client-only SPAs @ceskavich I paid my $99 at about the same time as I was writing this thread last night. I wish the UX was better,… @ZFLloyd Agree, for a certain class of apps (I'd be wary of using it for anything with any kind of animation that w… @deadwisdom Your LitElement site doesn't work without JavaScript. That's another drawback @garreh Have you tried frameworks like Next, Nuxt, Sapper? It's pretty seamless, and you don't need to write the lo… @PierB gets hairy pretty quickly. the SW's job is to serve a given URL, and that's something that really needs to b… @lukeed05 @boubiyeah yeah, and it'll frequently refresh the page if you switch back to the tab after a while, which…