Sign up

Jim Nielsen’s Blog

Not verified No WebSub updates No webmention support Valid

Public lists
davewiner/hackerNewsStars
Fetched

Jim Nielsen’s Blog Valid
Text

Podcast Notes: Vlad Prelovac on “The Talk Show”

Vlad Prelovac is the CEO of Kagi: a search engine you have to pay for. He’s on episode 416 of John Gruber’s The Talk Show to discuss why he thinks we should be paying for search. Hearing his point of view is compelling. I quite enjoyed the entire podcast. So much, in fact, t...

Jim Nielsen’s Blog Valid
Text

Christmas Day

It’s Christmas circa 2004. My teenage brothers, sisters, and I have all finished opening presents and we’re more than content to have absolutely nothing to do — it’s Christmas day after all! But not Dad. He’s in the bathroom laying tile. Again, this is Christmas day and Dad ...

Jim Nielsen’s Blog Valid
Text

Making o(m)g:image, Part IV: URLs

This is part four of my series of posts describing how I made my quiz game o(m)g:image. Project Announcement Pt. I: Design Iterations Pt. II: As Little JS As Possible Pt. III: The HTML Pt. IV: URLs The design of the game is simple: Each page has one question with four po...

Jim Nielsen’s Blog Valid
Text

Making o(m)g:image, Part III: The HTML

This is part three of my series of posts describing how I made my quiz game o(m)g:image. Project Announcement Pt. I: Design Iterations Pt. II: As Little JS As Possible Pt. III: The HTML o(m)g:image is presented like a quiz: You get one question at a time When you choose...

Jim Nielsen’s Blog Valid
Text

Making o(m)g:image, Part II: As Little JS As Possible

This is part two of my series of posts describing how I made my quiz game o(m)g:image. Project Announcement Pt. I: Design Iterations Pt. II: As Little JS As Possible One of my goals when making this project was to use as little JavaScript as possible. In retrospect, I ha...

Jim Nielsen’s Blog Valid
Text

Making o(m)g:image Part I: Design Iterations

I blogged about my recent project omgimg.jim-nielsen.com and I figured I’d write more details about my process behind making it. When the idea first struck, I jumped into Figma and started working out the idea. I had a pretty good idea of what I wanted: a quiz-like website ...

Jim Nielsen’s Blog Valid
Text

Introducing o(m)g:image

I was popping off on Mastodon with an idea for a physical board game then decided to just make a digital version. It’s called “o(m)g:image” and you can play it now: omgimg.jim-nielsen.com Here’s the idea: You have a bunch images Each image is a real-life og:image pulled fro...

Jim Nielsen’s Blog Valid
Text

Contrast Is Clarifying

Which is best? Generalist or specialist? Native or web? Web site or web app? JavaScript or Typescript? Framework or library? Server side or client side? Photoshop or Sketch or Figma? Designing in a tool or design in the browser? Skueomorphic or flat? Mac or PC or Linux? Th...

Jim Nielsen’s Blog Valid
Text

Nothing is Something

There’s a post on htmx.org about why htmx wasn’t the right fit for a particular project (which is dope, we need more websites that admit their thing might not be the right thing all the time). The bit on AI being unfamiliar with their tool choice piqued my interest: It’s wo...

Jim Nielsen’s Blog Valid
Text

Nabbing macOS Icon Artwork

I keep a personal collection of beautiful macOS app icons, which might make you ask: “How does he get those icons?” Apps in the App Store For apps in the Mac App Store, I have my ways. I don’t necessarily want to write about them because I’m semi-afraid Apple would frown on ...

Jim Nielsen’s Blog Valid
Text

Captchas Turned Notification Exploits

When my site analytics reported a large number of inbound traffic from Hacker News clones, I got curious and started clicking links.[1] I like to visit links. I am connoisseur of it. I love the feeling of landing on something you didn’t expect — which is precisely what happe...

Jim Nielsen’s Blog Valid
Text

Named Blogs

I think it’s endearing when people name their blog. I’m not talking about branding, like people do with professional blogs or newsletters. I’m talking about personal blogs that people name out of care and idiosyncrasy. It’s endearing, because you brand things you own, you na...

Jim Nielsen’s Blog Valid
Text

Reading and Writing as Human Expression & Connection

Why do we write? We write, in part, because our own reading was given as a gift to us and we want to extend that same magic we received to others. Here’s Mandy Brown (and my notes) in a recent article: The more compelling and interesting reason that most writers seek out re...

Jim Nielsen’s Blog Valid
Text

The Beauty of Building

Jan Miksovsky has an absolutely tremendous article about how he cobbled together some disparate pieces of hardware and software in order to help improve the quality of life of his mother who has amnesia. Everything about this article illustrates what got me into making websi...

Jim Nielsen’s Blog Valid
Text

Navigations on the Web

When trying to define the difference between a link (<a>) and a button (<button>), a general rule of thumb is: links are for navigation, buttons are not. That can take you pretty far. However, like most things, there’s nuance and that mental model can fall apart ...

Jim Nielsen’s Blog Valid
Text

Persisting State to localStorage in Recoil Across Browser Tabs

I was working on a project using Recoil for state management in React. I needed to persist some state to localStorage, and there’s some info on how to do it in Recoil’s docs. That works; however it doesn’t respond to state changes from other instances of your app in multipl...

Jim Nielsen’s Blog Valid
Text

Job Screening Blog Post

Take a look at these two animated gifs. First: Second: Can you tell the difference between them? Do you care? If not, we might not be a good fit. #designEngineering Reply via: Email :: Mastodon :: Twitter Tagged in: #designEngineer

Jim Nielsen’s Blog Valid
Text

Hacker News Clones

Every once in a while, I’ll have a post gain traction over on ye ole’ orange site (Hacker News). I find out about it because my analytics digest will get a yuge uptick in page views. What’s interesting is all the referral sources that show up in my analytics. The Hacker New...

Jim Nielsen’s Blog Valid
Text

Quality Means The Flexibility to Change

Here’s Ben Nadal quoting Dave Farley: I've come to the belief that the only definition of quality in code that makes any sense is our ability to change the code. If it's easy to change, it's high quality; if it's hard to change, it's not. Then Ben comments: I'm sure that ...

Jim Nielsen’s Blog Valid
Text

For Sale: Used Domain (**Clean Title**)

Bryan Braun has an interesting post about his experience with what he calls a “haunted domain”: He buys a domain that seems fine on the surface. When he begins using it, he notices some things aren’t right (organic search traffic, for example, is dead). After some investiga...

Jim Nielsen’s Blog Valid
Text

We’re All Content Creators for Machines

Nicholas Carr, one of my favorite technology writers, has been blogging over on Rough Type since [checks archives] 2005. As of late his writing has gone quiet, but he’s got a new book due out early next year and I think he’s starting up blogging again to help drum up interes...

Jim Nielsen’s Blog Valid
Text

The Lowest Common Denominator: www

Native apps are all about control. Don’t like thing X? You can dive in and, with enough elbow grease and persistence, finally get what you want. Write your own C library. Do some assembly code. Even make your own hardware if you have to. But on the web you give up that contr...

Jim Nielsen’s Blog Valid
Text

Tech’s Epithet: “Enabled By Default”

I joked on Mastodon: If anyone endeavors to write a book about what went wrong with tech, I have a great suggestion for the title: “Enabled by Default” It seems there really are two hard problems in tech: Naming things Setting good defaults Keeping to scope Anyhow, a lit...

Jim Nielsen’s Blog Valid
Text

Prompting the Wrong Question

So there I am, working on a bug exclusive to Safari (we’ve all been there). I can’t figure it out so I ask AI, “Hey, this piece of code is not working in Safari, what’s wrong?” The issue might be related to how Safari handles keyboard events, especially for certain keys… I...

Jim Nielsen’s Blog Valid
Text

Prototyping Magic Tricks and Software

In Penn & Teller’s Masterclass (no. 12 “Principles of Performing”) they explain how one of their favorite ways to design a magic trick is to come up with an idea and then act it out as if they already know how to do it. Here’s Penn: We still start with an idea for a tri...

Jim Nielsen’s Blog Valid
Text

Grateful: Colors in console.log()

So there I am, having an issue where my UI state isn’t updating correctly. What do I do? What every developer does: turn to console.log() and troubleshoot by logging values. I have a named color (e.g. blue) and a corresponding HSL color string for that named color (e.g. 100 ...

Jim Nielsen’s Blog Valid
Text

Ryan Dahl Talks Deno on The Changelog

Ryan Dahl was on The Changelog to talk about Deno 2 specifically and his work on JavaScript more broadly. What follows are a few things that stood out to me. His Regrets From Node Are Now in Deno I think it’s interesting that Ryan’s famous talk 10 Things I Regret About Node....

Jim Nielsen’s Blog Valid
Text

“Easier and More Convenient” They Said…

The other day in our morning rush before school my wife asked for help figuring out how to put lunch money on our kids’ school accounts. For some time she’s been doing it “the hard way”: talk to the people in the front office of the school every few months and swipe a credi...

Jim Nielsen’s Blog Valid
Text

Putting the “Person” in “Personal Website”

The other day I saw a meme that went something like this: Isn’t it crappy how basic human activities like singing, dancing, and making art have been turned into skills instead of being recognized as behaviors? The point of doing these things has become to get good at them. B...

Jim Nielsen’s Blog Valid
Text

Randomness, Serendipity, and an “I Wouldn’t Recommend This” Algorithm

Sean Voisen has a great post about 1) how we as humans think of randomness, 2) how computers simulate randomness, and the difference between the two. He puts forth an intriguing thought: in a world increasingly driven by computation, how does that affect randomness in our l...