I love a good look at modern practices around semantic versioning and dependency management (Rick Hickey’s talk “Spec-ulation” is the canonical one I think of). Niki recently wrote a good ‘un at tonsky.me called “We shouldn’t have needed lockfiles”. What struck me was this point about how package manifests allow version ranges like ^1.2.3 which essentially declare support for future versions of software that haven’t yet been written: Instead of saying “libpupa 1.2.3 depends ...| Jim Nielsen’s Blog
There was a time when I could ask, “Did you see the latest NPM attack?” And your answer would be either “Yes” or “No”. But now if I ask, “Did you see the latest NPM attack?” You’ll probably answer with a question of your own: “Which one?” In this post, I’m talking about the Qix incident: Prolific maintainer Qix was phished. Qix is a co-maintainer on many packages with Sindre Sorhus, the most popular maintainer on NPM (by download count). Attackers pushed malicious code...| Jim Nielsen’s Blog
I was reading Chase McCoy’s article “Antibuildings” where he cites Wikipedia’s entry on the term “Antilibrary” which points to another entry about the Japanese concept of Tsundoku, all of which deal with this idea of things we do with intention but that never make it to fruition. Antilibraries are the books we buy but never read. Antibuildings the architect’s version of sketches and plans drafted but buildings never made. It got me thinking about the stuff I’ve started with in...| Jim Nielsen’s Blog
Richard MacManus just posted “Chrome Switches on AI: The Future of Browsing Begins Now” where he points out that what we think of today as “browsers” is undergoing a radical change. Here’s the lay of the land: Microsoft launched “Copilot Mode” on Edge and promotes it as an “AI-powered browser.” Mozilla is baking AI into Firefox Atlassian is into browsers now with their acquisition of The Browser Company and its AI browser Dia (my computer autocorrected that to “Die” and ...| Jim Nielsen’s Blog
The same reason you would bake a batch of cookies: because you enjoy it — the process itself, but also the result. And perhaps, if you like, you share the result with others. Who is out there asking, “Should I bake a batch of cookies? How well can that act be monetized? Should I do something else instead?” Do it for the fun of the thing itself. It doesn’t have to be anymore than that. It can be — Dave talks about that — but it doesn’t have to be. Bake cookies because you like to...| Jim Nielsen’s Blog
Writing about the big beautiful mess that is making things for the world wide web.| blog.jim-nielsen.com
I really enjoyed watching Python: The Documentary (from CultRepo, formerly Honeypot, same makers as the TypeScript documentary). Personally, I don’t write much Python and am not involved in the broader Python community. That said, I love how this documentary covers a lot of the human problems in tech and not just the technical history of Python as language. For example: How do you handle succession from a pivotal creator? How do you deal with poor representation? How do you fund and steer o...| Jim Nielsen’s Blog
Writing about the big beautiful mess that is making things for the world wide web.| blog.jim-nielsen.com
Dismissing an idea because it doesn’t work in your head is doing a disservice to the idea. (Same for dismissing someone else’s idea because it doesn’t work in your head.) The only way to truly know if an idea works is to test it. The gap between an idea and reality is the work. You can’t dismiss something as “not working” without doing the work. When collaborating with others, different ideas can be put forward which end up in competition with each other. We debate which is best, ...| Jim Nielsen’s Blog
I refreshed the little thing that let’s you navigate consistently between my inconsistent subdomains (video recording). Here’s the tl;dr on the update: I had to remove some features on each site to make this feel right.Takeaway: adding stuff is easy, removing stuff is hard. The element is a web component and not even under source control (🤫). I serve it directly from my cdn. If I want to make an update, I tweak the file on disk and re-deploy.Takeaway: cowboy codin’, yee-haw! Live fre...| Jim Nielsen’s Blog
Writing about the big beautiful mess that is making things for the world wide web.| blog.jim-nielsen.com
Writing about the big beautiful mess that is making things for the world wide web.| blog.jim-nielsen.com
Writing about the big beautiful mess that is making things for the world wide web.| blog.jim-nielsen.com
Writing about the big beautiful mess that is making things for the world wide web.| blog.jim-nielsen.com
Writing about the big beautiful mess that is making things for the world wide web.| blog.jim-nielsen.com
Writing about the big beautiful mess that is making things for the world wide web.| blog.jim-nielsen.com
Writing about the big beautiful mess that is making things for the world wide web.| blog.jim-nielsen.com
Writing about the big beautiful mess that is making things for the world wide web.| blog.jim-nielsen.com
Writing about the big beautiful mess that is making things for the world wide web.| blog.jim-nielsen.com
Writing about the big beautiful mess that is making things for the world wide web.| blog.jim-nielsen.com
Writing about the big beautiful mess that is making things for the world wide web.| blog.jim-nielsen.com
Writing about the big beautiful mess that is making things for the world wide web.| blog.jim-nielsen.com
Writing about the big beautiful mess that is making things for the world wide web.| blog.jim-nielsen.com
Writing about the big beautiful mess that is making things for the world wide web.| blog.jim-nielsen.com
Writing about the big beautiful mess that is making things for the world wide web.| blog.jim-nielsen.com
Writing about the big beautiful mess that is making things for the world wide web.| blog.jim-nielsen.com
Writing about the big beautiful mess that is making things for the world wide web.| blog.jim-nielsen.com
Writing about the big beautiful mess that is making things for the world wide web.| blog.jim-nielsen.com
Writing about the big beautiful mess that is making things for the world wide web.| blog.jim-nielsen.com
Writing about the big beautiful mess that is making things for the world wide web.| blog.jim-nielsen.com
Writing about the big beautiful mess that is making things for the world wide web.| blog.jim-nielsen.com
Writing about the big beautiful mess that is making things for the world wide web.| blog.jim-nielsen.com
Writing about the big beautiful mess that is making things for the world wide web.| blog.jim-nielsen.com
Writing about the big beautiful mess that is making things for the world wide web.| blog.jim-nielsen.com
Writing about the big beautiful mess that is making things for the world wide web.| blog.jim-nielsen.com
Writing about the big beautiful mess that is making things for the world wide web.| blog.jim-nielsen.com