Yeah, I've wondered printed books too! I frequently re-read lines by accident in books, I wonder if that would happen less often if they all switched to left-align!
Posts by Luke LaValva
WCAG actually recommends against justification because it makes text more difficult to scan, especially for people with low vision
I used to _always_ use `text-align: justify` but I've learned to love uneven lines
I was already falling in love with atproto but after reading this I'm committed
"Product creep" is my new favorite term in standards development
That makes sense! I'm optimistic, and crossing my fingers for the day when bsky.app uses a variety of lexicons as part of its core experience
I'm definitely not advocating for a single source of truth! Just trying to reason about whether it makes sense for apps to own their lexicons
My gut says there can be more innovation in the tweet space if bluesky forfeits full control, and same for any other app that created its own standard
lexicon.community is super cool.
Am I wrong in thinking we should deprecate most app-driven lexicons (even `app.bsky`) in favor of separately governed efforts like this?
bsky.app/profile/lava...
Yeah, I think my worry is that if you're using another app's lexicon you will always and forever feel like the "other" app.
Twitter-style apps on this network are sort of locked into being labeled as bluesky alternatives, while long form content apps are all on the same standard.site playing field
This is exactly what I was looking for
Also: if I'm making a new atproto app, should I also have a separate lexicon for that promises open governance? Using the app's domain might implicitly push people away from making alternatives, since there will always be a bias toward my app
`standard.site` is a _great_ example, since it doesn't have its own app. Are there any app-driven schemas that cross-pollinate, or is stuff like this the direction we're going?
Are there any atproto apps that use records from competitors?
This ecosystem won't feel open to me until @bsky.app uses something from outside the `app.bsky` namespace as part of its core experience
I agree, `useWebHaptics()` is silly
Actually, I changed my mind. The API this library provided is way more generic than just for `<button>`. A `<haptic-button>` web component could be cool maybe
That's a cool idea, but not what the other framework components or JS API do in the docs. It is cleaner than doing it manually for most cases though, I'm a fan.
What would this look like as a custom element? The primary functionality is a JS `trigger()` function...
I like the idea that AI writes "maximally literal" code. Pushes the problem onto language/API designers, which is probably a good thing
npmx is the friends we made along the way
At the end of the day I still think the best strategy if your goal is to reach a wide audience is to just make the best stuff you can. Iโve seen no compelling evidence to suggest that futzing with algorithms, timing, keywords, etc. outperforms that in the long run.
This supports my growing suspicion that best practices for AI are all the same as best practices for people
Ah, `position: sticky` is the trick! That's much better than `fixed`, thanks for the tip @colinhowells.com!
I'm sure I'm missing something obvious, but isn't this still just for anchor links? With `scroll-padding` alone the top of the page is still hidden behind a fixed header for me
`scroll-padding` and `scroll-margin` are one of those little details that help make a good site great, but I thought they were only for anchor links. You still need to use them alongside regular padding/margin for the top of the page right?
Is the header a dynamic size? There's always the tried & true `position: fixed` header with a top margin on the body
markojs.com/playground#d...
The MacOS night shift settings. Since there is no "always on" option, I set it on a schedule that starts at 4:00 am and ends at 3:59 am
night shift: always
`px` is dead, long live the `rem`
The Marko and UnoCSS logos, some Marko mascots, and a button HTML element with a HUGE list of classnames that goes off the page
Marko ๐ค UnoCSS
@unocss.dev now reads `.marko` files by default!
You can even access the HTML elements as members of `e.target`! Type safety isn't quite there, but it's helpful for focus management
```
e.target.name.focus();
```
svelte.dev/playground/f...
I built the same app 10 times: evaluating frameworks for mobile performance
New post!
www.lorenstew.art/blog/10-kanb...
The most egregious examples I've seen aren't really because of Lit but because of people who don't understand web.
I worked on an app once that managed routing with a Lit component, so JS to render every page on the site was sent on every request