Jim Nielsen, a web developer, writes about HTML, URL design, web components, and the craft of building websites.
HN commenters hold his site up as a clean, minimal design and share his essay on deadlines as technology.
Developer here. I super appreciate the support. Some context:
- I'm a big fan of RSS and there is a thriving community behind. Just check out this list: https://github.com/AboutRSS/ALL-about-RSS
- I'm also a firm believer of web as a platform, a distributed document database, and an open library of knowledge, as opposed to a "compile target" for cryptic JavaScript apps that take control and freedom away from users. Jim Nielsen has a timely critique: https://blog.jim-nielsen.com/2021/web-languages-as-compile-targets/
- The bigger picture behind the osmos project is to create an IDE for personal knowledge management. On the surface:
1. I read my rss with osmos::feed.
2. I capture reference links from the feed with osmos::memo.
3. I digest the knowledge and connect them into notes with osmos::note.
- All of them are done with plaintext (some sprinkle of markdown), remote hosted on GitHub, so they are easy to run NLP and ML against. Potentially with GitHub actions, or locally with some bot, with a cloned repo.
- In the long term, I was hoping to create a "positive feedback loop". Use ML to extract patterns from my notes, make connections for me, and recommend interesting reading in the osmos::feed. On the other end, osmos::feed can use NLP to detect how each article in the feed might connect to ideas from osmos::note and make note-taking even easier.
- The parent project (https://osmoscraft.org) is still in super early stage. Would love to let the community give it a…
Thanks very much for a thoughtful reply and link to your article. I look forward to reading it.
As it turns out, I shared that very same article in the Datastar discord the other day! Here's some other good ones that I found while digging into the topic, for anyone who cares.
* https://warpspire.com/posts/url-design/
* https://blog.jim-nielsen.com/2023/examples-of-great-urls/
* https://www.w3.org/Provider/Style/URI
* https://www.hanselman.com/blog/urls-are-ui
I strongly agree that good urls are very important. But I don't see how D* prevents correct urls/history at all... You can click anchor links just fine for pages that are genuinely separate pages. If its just a sub page, filter etc, then i think in many cases it should only swap into the dom without updating the history.
Moreover, am I wrong to think that if you use hx-boost to swap in fragments, then the URL that gets updated/saved in history wouldn't actually load the same page if you loaded it from a bookmark? That wouldn't happen with non-boosted anchor links.
Anyway, I'm not the best person to take up this argument. If you are interested at all in some respectful debate on the topic, it would be great if you came by the datastar discord where there's definitely people who would be better able to engage with it. I'd be eager to observe from the sidelines
Hey, I do this too, and I absolutely love receiving thoughtful e-letters, the few times a year they happen!
Here are my reasons, copied from my site's "Standing Invitation" [0].
> Email me just because (not just for work). Whatever feeds your curiosity; silly, fun, nerdy, serious.
> Why?
> 1. Do unto me what I have done unto others. I habitually cold-email anyone who moves me in some way (joy, insight, utility, mind shift…). I also love to receive such email!
> 2. There is too little unsolicited positive feedback in much of most of our lives. At some point in the fuzzy past, I decided enough was enough. At least someone somewhere ought to feel good sometime for no reason whatsoever. Since that realisation, I have cold-emailed people willy-nilly. See also: Saying Thank You [1], and Days Are Easily Made [2].
> 3. It's always been a delight; no regrets. You should try it too!
> So, let serendipity reign; write away!
[0] https://www.evalapply.org/about.html#standing-invitation
[1] https://blog.jim-nielsen.com/2022/saying-thank-you/
[2] https://www.autodidacts.io/how-to-make-someones-day/
It may have actually started with Web Components Community Group report itself: https://w3c.github.io/webcomponents-cg/2022.html
--- start quote ---
It's worth noting that many of these pain points are directly related to Shadow DOM's encapsulation. While there are many benefits to some types of widely shared components to strong encapsulation, the friction of strong encapsulation has prevented most developers from adopting Shadow DOM, to the point of there being alternate proposals for style scoping that don't use Shadow DOM. We urge browser vendors to recognize these barriers and work to make Shadow DOM more usable by more developers.
--- end quote ---
And probably continued in HTML Web Components https://blog.jim-nielsen.com/2023/html-web-components/
A more technical and measured take on Shadow DOM is here: https://nolanlawson.com/2023/12/30/shadow-dom-and-the-problem-of-encapsulation/
There are a whole lot of front-end UIs for Hackernews but I never wanted to litter my primary browser with extras unless in dire need. I usually browse Hackernews in my Primary Browser on a rather large monitor.
So, the first problem is that Hackernews is too spread out for comfort and I have a custom styles that forces the max-width within 960px (I know, OldSkool habit).
If this is something you are comfortable with, I just set the text to be a little darker than the default light gray.
FYI, `table#hnmain` where everything happens in HN. And one of the best articles to help you with this is at https://blog.jim-nielsen.com/2021/custom-style-sheet-in-safari/
To set the text to a darker color;
:root
{
/* besides the other variables */
--color-700: #374151;
}
table.fatitem .toptext
{
color: var(--color-700) !important;
}
No, this is one of those bizarre “wait, really, they put that in the default stylesheet” problems.
There is a lot of weirdness lurking in the default user agent stylesheet…especially in Safari: https://blog.jim-nielsen.com/2021/things-i-learned-reading-webkits-ua-stylesheet/
Browser vendors put a lot of surprising, and very poorly documented, defaults into user agent stylesheets, and they can trip you up at the most basic level, and the styling is poorly exposed in most web inspector tooling.
I ran into a nasty one with Safari’s date picker—had to go down a lot of rabbit holes to figure out I needed to finesse the `::-webkit-date-and-time-value` CSS to get an input field styled correctly.