Jake Lazaroff
@jakelazaroff.com
2.7K followers 450 following 1.4K posts
nyc-based programmer and designer. alum @recursecenter.bsky.social. public transit enjoyer. thoughts on local-first software, javascript frameworks, web components, css and other web minutiae. 🌐 https://jakelazaroff.com
Posts Media Videos Starter Packs
Pinned
jakelazaroff.com
hi new friends! i’m jake, a programmer & designer based in NYC. i talk a lot about local-first apps & the web.

if you followed me from a starter pack & don’t know who i am, here are some (imo) cool things i’ve done/written. these are all on my website which you can follow via RSS:

jakelazaroff.com
jakelazaroff.com
Just a programmer trying to make a home for myself on the WWW.
jakelazaroff.com
jakelazaroff.com
thanks! will watch when i get a free moment
jakelazaroff.com
where can i read about it? i saw your thread before but couldn't find any official resources
jakelazaroff.com
95% of the time the default order is fine. i've been doing some 3D CSS art for a landing page that would absolutely not be possible (or at least it'd be waaaay harder) if i couldn't choose the order of transforms or do the same transform more than once
jakelazaroff.com
i do not like OAuth or SAML
jakelazaroff.com
oh for sure, just wanted to keep the example simple

once CSS attr() for arbitrary attributes has good baseline support we'll be able to do this, which is prettier AND more powerful 😄

<div class="foo" x={x} y={y}></div>
<style>
.foo {
transform: translate(attr(x px), attr(y px));
}
</style>
CSS attr() gets an upgrade  |  Blog  |  Chrome for Developers
You can now use attr() with any CSS property–including custom properties–and it can parse values into data types other than strings.
developer.chrome.com
jakelazaroff.com
why would i have read the guide? you came into my mentions unsolicited, it's your job to sell me on it.

btw the reason the whole irreverent meme-y persona works for carson is that he exudes positivity. you just seem like an asshole and all this convo has done is ensure i'll never use your library.
jakelazaroff.com
this is really an apples-to-oranges comparison since you could have svelte render the data-* attributes for datastar, they're not mutually exclusive
jakelazaroff.com
yes, and re: your other post about performance you can get *better* performance from a local-first SPA since the network isn't in the critical path of an interaction

if you're going to show a loading spinner every time you click a button then i agree you'd be better off without a JS framework
jakelazaroff.com
look, i like hypermedia-focused libraries but you're being way too reductive. if you ask me, the real issue with web dev is the pervasive client-server architecture, so i'm skeptical that datastar solves the right problems for the apps i'm interested in building
jakelazaroff.com
yeah answering this with "no" would've saved a lot of back-and-forth lol
jakelazaroff.com
i guess i don't understand what you mean? are we still talking about interpolating expressions in HTML attributes?
Reposted by Jake Lazaroff
rschristian.dev
[rebase]
autoStash = true

This has changed my life, how did I not know it was an option?! I've spent a silly amount of time over the years bouncing off rebase attempts, stashing, then trying to rebase again & having to remember to pop the stash afterwards, but no more!
jakelazaroff.com
as best i can tell from the docs, i'd do something like this:

<div data-style-transform="`translate(${$x}px, ${$y}px)`"></div>

which seems less readable to me than even the JSX version? what am i missing here
jakelazaroff.com
okay let's make this concrete. something i do not infrequently is make an element follow the cursor or some other set of coordinates. in svelte for example i would put something like this in the template:

<div style="transform: translate({x}px, {y}px)"></div>

what's the datastar equivalent?
jakelazaroff.com
i am saying that i prefer svelte's syntactic sugar to standard JS template literals inside JSX attributes
jakelazaroff.com
doesn't appear to 😔 i already have all the 3D element backfaces set to hidden
jakelazaroff.com
any CSS experts here that know how to debug a 3D transformed element that randomly disappears and reappears as it rotates? this is a safari-specific bug (surprise!) but i really have no idea how to figure it out other than just trying different transform values and hoping it magically starts working
jakelazaroff.com
i truly mean no offense here, this is a constructive critique, but you are not doing a good job of selling me on this. the closest thing i can find on the datastar website doesn't show how i would do what i'm talking about here
Attributes Reference
data-star.dev
Reposted by Jake Lazaroff
firefoxdevtools.bsky.social
As an experiment, we (the Firefox team) wanted to try a new way to get feedback on which Interop proposals matter most.

So, here's a web app where you can rank the proposals you care about, giving us data we can use when reviewing which ones to champion.

interop-rank.jakearchibald.com
Interop Feature Ranking
Rank the web platform features you care most about
interop-rank.jakearchibald.com
jakelazaroff.com
i guess i don't understand what you mean? are we still talking about interpolating expressions in HTML attributes?
jakelazaroff.com
how do you do it in datastar
jakelazaroff.com
the internet archive was instrumental for restoring old lost websites when i was building jake.museum. truly a gift.
jakelazaroff.com
i am not exaggerating when i say that the lastfm/spotify integration is the number one reason i haven't switched to apple music
jakelazaroff.com
JSX has always supported it! `className` vs `class` is specifically a react idiosyncrasy.
jakelazaroff.com
welcoming the callous daoboys to my 1000 scrobble club
30. Envy on the Coast — 1049
31. The Receiving End of Sirens — 1043
32. Just Surrender — 1028
33. The Callous Daoboys — 1000
34. Counterparts — 970
35. The Dangerous Summer — 941