Jim Nielsen

RSS: https://blog.jim-nielsen.com/feed.xml
Jim Nielsen 关于设计、技术与 Web 的博客。

用于我的图标库的 VLM 增强元数据

作者 Jim Nielsen 在 icon gallery 项目中尝试用视觉模型(CLIP、DINOv2、SigLIP2、Moondream VLM)做图标相似检索和自动打标。他先让 CLIP 对全量图标做 embedding,发现只有视觉特征很鲜明时匹配才靠谱;再试 DINOv2/SigLIP2,结果互有胜负,没有质变;随后用本地 Moondream 给每张图标写 caption 并抽关键词,做成 tag-overlap 搜索,关键词点击匹配比 CLIP 的 related 功能更精准,但 CLIP 做"看图找相似图"效果更好。 他最终停在"要不要把 VLM 变成项目长期依赖、时间成本如何"这一步,没有真正落地。对做本地小数据集检索、想用开源视觉模型给静态资源打语义索引的读者有实操参考价值。
评论点赞收藏16 小时前

人本界面

作者 Jim Nielsen 读《Unsung》时引用 Jef Raskin 的话:“如果界面回应人的需求、体谅人的弱点,它就是人本(humane)的。”由此展开一个清晰判断:当代增长型 UI/UX 设计本质上是利用人的弱点(冲动、成瘾、强制),而非体谅它们。 真正人本的技术不靠冲动、成瘾或强制存活,而是靠用户的自由意志——你选择使用它,是因为你有不使用的自由。短小但观点锋利,直接挑战“growth tactics”这一行业主流话语,对关注产品伦理、设计价值观的 HN 读者有很强共鸣和讨论入口。
评论点赞收藏2 天前

使用 LLM 自动化归档新 macOS 应用图标的流程

<p>每当macOS新版本发布时,我都会把新应用图标归档.</p><p>过去,做这件事的工作有点繁琐。</p><p>首先,我会在“应用程序”文件夹(或Mac的其他地方)找到应用,右键点击并选择“获取信息”:</p><figure><img src="https://cdn.jim-nielsen.com/blog/2026/app-icon-automation-finder-get-info.png" alt="Finder showing the App Store selected with the context menu open and “Get Info” highlighted."> </figure><p>在获取信息面板中右键点击应用图标,选择“复制”:</p><figure><img src="https://cdn.jim-nielsen.com/blog/2026/app-icon-automation-get-info-copy.png" alt="Finder’s Get Info window for the App Store with the app icon selected and the Edit menu open to the Copy command."> </figure><p>打开预览应用,选择“从剪贴板新文件&gt;”:</p><figure><img src="https://cdn.jim-nielsen.com/blog/2026/app-icon-automation-preview.png" alt="Preview showing the App Store icon copied from Finder, with multiple available icon sizes listed in the sidebar."> </figure><p>这样我就能得到一个带有多种大小的应用图标文件(我想要的是1024像素版本)。接下来,我选择“File -&gt; 导出......”,选择“PNG”,并将文件命名为应用名,小写,连字符——比如“app-store.png”(我这样做是为了自动化,这里不相关)。</p><p>对操作系统中每个苹果提供的应用都这样做会让人感到疲惫。通常图标数超过75+。</p><p>“这似乎是LLM的完美任务,”我心想。于是我匆忙写了一个提示,看看它是否能做到。</p><p>而且确实发生了——算是,经过一点指导。</p><p>第一次尝试时,它找到了一个应用的<code>.icns</code>文件,拿了256×256版本,升频到1024×1024,并保存了下来。</p><p>所以我训斥它,“不,不。绝对不要放大图像。一定要找到最大的那张。我自己能从'获取信息'面板拿到1024版本,你肯定能找到那个尺寸的。”</p><p>它按时回来,找到了合适的形象,并表示永远不会再升级。</p><p>确认它能实现我想要的功能后,我开始列出所有我想归档的应用。然后我把这个列表交给了大语言模型,说:“随你便。”</p><p>而且真的成功了!感觉挺棒的。帮我省了不少时间。</p><figure><img src="https://cdn.jim-nielsen.com/blog/2026/app-icon-automation-list.png" alt="Finder column view of a number of Mac application icons, each one a 1024x1024 pixel version of the artwork (as shown by the preview for the “app-store.png” file preview being shown in Finder)."> </figure><p>76个应用图…</p>
评论点赞收藏4 天前

为了赚更多钱来做更多网站

Jim Nielsen 听 Off Protocol 播客中 John Gruber 谈论 Walt Disney 的名言"我们不是靠赚钱来拍电影,而是靠拍电影来赚钱",进而展开讨论:当公司同时面临"做伟大产品"和"赚钱"两种价值观冲突时,选择优先哪一方,公司本质上就变成不同的公司。 Gruber 认为 Apple 多数时候优先用户,但 App Store 抽佣等场景暴露了"赚钱优先"的倾向,这也是用户最不满的地方。文章最后反思当下科技行业越来越多地问"做什么能让我赚很多钱",而非"先做我们热爱的事,顺便看看能不能赚到钱继续做下去"。 核心观点清晰,带有个人立场,适合 HN 读者讨论产品公司与商业化的价值排序。
评论点赞收藏6 天前

一个捕捉2026年网络生活精髓的小故事

<p>我做了但布莱恩·坎特里尔写道关于一位前人类组织员工,他认为人工智能在未来十年内杀死人类的概率为&gt;10%。</p><p>这篇文章写得很好,你应该读一读,但我想在这里捕捉的是他谈到自己在帖子中对这句话感到多么自豪:<strong>“这些阴森的指控公然袭击壁炉......”</strong>.</p><p>他注意到有人在网上评论过这个词,说听起来像是经典文学和一句话的混合<em>辛普森一家</em>.</p><p>坎特里尔觉得这句台词完全是他自己想出来的,所以他知道这不是经典文学的引用,也不是经典文学中的一句<em>辛普森一家</em>.</p><p>但为了确认,他谷歌了一下:“这些阴森的指控公然袭击壁炉”,最后还加上了《辛普森一家》。</p><p>令他惊讶的是,谷歌的人工智能告诉他,这句话实际上是来自<em>辛普森一家</em>.以下是谷歌的回应(据Cantrill报道):</p><blockquote>在第六频道的斯普林菲尔德市长辩论中,《杂耍鲍勃》戏剧性地说出“这些阴森的指控公然袭击斯普林菲尔德的炉火”,同时将辩论转向市长乔·奎姆比。鲍勃没有否认自己的犯罪记录,而是利用奎姆比的记录,大胆告诉观众他们暗自渴望一个冷酷无情的共和党人像国王一样统治他们。</blockquote><p>(这是我自制的图示,方便说明。)</p><figure><img src="https://cdn.jim-nielsen.com/blog/2026/sideshow-bob-cantrill.jpg" alt="Screenshot of Sideshow Bob at the Mayoral Debate with the text “These ghoulish claims strike brazenly at the hearth of Springfield” superimposed."> </figure><p>坎特里尔感到震惊。由于对这一集的了解不足以判断这是否属实,他有点惊慌失措:</p><blockquote>如果我有我认为是原创的想法,实际上只是<em>辛普森一家</em>30年前的台词重复,这很令人担忧。我怎么还不是LLM?</blockquote><p>于是他开始寻找真相。他找到了看着它,却没听到台词。</p><p>但如果他看的那集是剪辑…</p>
评论点赞收藏8 天前

iPhone 机型名人堂

博主 Jim Nielsen 列出自己的 iPhone 名人堂:初代 iPhone、iPhone 4、iPhone X、iPhone 12 Mini,并额外加上了 iPod Touch。他解释每个选择:初代 iPhone 必须排第一,iPhone 4 是巅峰美学,X 在形态上最优秀,Mini 系列证明商业成功不等于伟大。 他还提到 3GS 的弧形后盖握感很好,并回忆自己 2007 年在大学时买不起 iPhone,iPod Touch 是自己"第一次尝到 iPhone 的味道"的入口设备。 文章风格轻松,带有个人怀旧色彩,结尾邀请读者分享自己的名人堂名单。
评论点赞收藏9 天前

你更喜欢"人工"的吗?

Jim Nielsen 用日常“人工替代品”类比 AI:人造雪、人造草、人造花、人造香精各有适用场景,但多数情况下是权衡取舍而非真正替代,AI 也是如此——“nothing like the real thing”。 文章篇幅短但观点清晰,结尾还抛了个段子建议 AI 实验室抄 Mastercard 旧口号:“有些智能是钱买不到的,其他的,找 Claude。”对关注 AI 定位和伦理讨论的科技读者来说,是个轻松但有讨论入口的角度。
评论点赞收藏11 天前

求求了,别再拿 uptime 百分比糊弄我们了

<p>我在读杰森·戈尔曼的文章他说:</p><blockquote>从90%到99%的可靠性和达到90%的过程一样艰难。从99%到99.9%同样难。</blockquote><p>这点很明显,因为我每天工作中越来越多地经历了“停机”。GitHub瘫痪了。CI瘫痪了。AI瘫痪了。Slack瘫痪了。停机时间正在变得主流!<br><br>我发现自己越来越频繁地访问服务 ,我会看到一堵颜色和数字的墙,像这样:</p><p>100%?99.72%?99.09%?98.98%?这些看起来都不一样,也不算太差吧?我是说,这些小学都是A。</p><p>然后我得提醒自己Jason的观点,重新解读这些数字,这更像是在阅读.6.2和7.8之间的差距看起来不大,但却是巨大的差距。正常运行率也有类似问题:99.9%和99.99%看起来差不多,但后者少了10×!</p><p>基础设施人员明白这一点。他们甚至有简写:两个九,三个九,四个九。他们直觉上能理解差异,因为他们每天都在这些数字中游动。</p><p>但状态页的受众已经不仅仅是下层人群了。而且越来越多<em>大家</em>.</p><p>我知道数学很简单。百分比的正常运行时间对行业内的人来说是个不错的指标。但对于那些不关心如何以标准化、可靠、合规的方式衡量基础设施可靠性的人来说,这个界面很糟糕。</p><p>状态页面是理解服务可靠性的公开界面。我只是想知道,“伙计,你最近到底跌了多少?看起来挺多的......”</p><p>那么,我就直接抛出这个,而不是:</p><p>GitHub Actions:98.31%的正常运行时间。…</p>
评论点赞收藏13 天前

瓶颈一直被误解了

作者 Jim Nielsen 用"瓶口"做类比:瓶口不是限制流动的敌人,而是匹配人类实际消费能力的必要约束。把带宽无限做大,未必带来效率,反而可能让下游(人、身体、系统)不堪重负。 真正的问题不是"怎么消除瓶颈",而是"我为什么需要这么大的带宽"。这篇短随笔没有给工程公式或数据,核心是一个反直觉的视角切换:瓶颈常是解法而非问题,适合在讨论性能优化、系统容量规划、甚至个人 productivity 工具过载时引用一句。
评论点赞收藏14 天前

把 Netlify 分析数据保留超过 30 天

<p>我已经为我的几个网站开启了Netlify Analytics。</p><p>我用它当有人链接到我的文章时,无论是某个人给我推荐几条,一份通讯给我几百条,还是Hacker News给我发了几千条,这都会提醒我。</p><p>但有时候我想知道的不仅仅是“过去24小时内交通情况怎么样了?”</p><p>有时候我想知道,“上个月流量发生了什么?”我可以登录Netlify来回答这个问题。</p><p>有时候我想知道,“过去六个月的流量发生了什么?”Netlify对此没有答案,因为他们只存储过去三十天的流量数据。</p><p>我多年来一直知道这个限制,一直想,“我真的应该开始为自己保存这些数据了。”</p><p>但你知道,懒惰。我到底有多渴望?答案似乎是“我只想要它_简单_的时候”。</p><p><em>进来.</em></p><p>Val Town让这类任务变得简单。每个“Val”都是专门用于此类任务的小型计算原语:</p><ul> <li>代码(运行一个获取数据的脚本)</li> <li>秘密(安全存储我的Netlify访问令牌)</li> <li>存储(我自己的小型SQLite数据库,用于持久化数据)</li> <li>自动化(每30天运行一次此任务)</li> </ul><p>对于像我这样单一脚本的任务来说,这些可能看起来有些过头了。但我喜欢这样。这些基元的范围性使得组合变得简单,不用像我和其他小任务共处时那样纠缠不清。</p><p>我不想为这个任务和六个月后想到的其他任务考虑共享模式。我不想为开发架构和维护一个由零散无关任务组成的代码库而思考。Vals 非常适合这个。</p><p>所以我的设置是:运行<code>.ts</code>每30天…</p>
评论点赞收藏16 天前

致链接:URL是技术,但链接是文化

Jim Nielsen写了一篇关于链接的文化随笔,认为URL是技术构造,而link是文化概念——它承载邀请、引用、馈赠、捷径和连接。文章罗列了我们日常与"link"相关的所有动词,从"Drop me a link"到"Link in bio",展现语言如何反映人类对超链接的深层依赖。
评论点赞收藏19 天前

别让任何人拿走你的大线盒

Tyler Gaw 在 Bluesky 上发帖说,他从自己的“大电缆箱”箱底翻出两根搁置了十多年的线缆,正好派上用场——“什么时候才会用到这些?”答案就是今天,所以永远别让任何人拿走你的大电缆箱。 Jim Nielsen 看到后深受触动,把这条帖子截图、用他那台 Brother 打印机黑白打印出来,剪好后用透明胶带贴在了自家电缆箱上——那个箱子被妻子贴心地标为“FAMILY TECHNO BOX”。 这样每次往箱子里再放一根新线缆时,他看到的不再是“我为什么留着这箱子”的疑问,而是坚持下去的理由;这张纸条也顺便警告家里任何想把它扔掉的人。 他希望将来孩子们在阁楼翻到这个箱子时,也能听从这句贴在箱外的“ timeless 忠告”。
评论点赞收藏20 天前

界面重构的"推土机效应"

<p>Marcin Wichary 写了一篇精彩的文章,题为 。如果你对界面设计的细节感兴趣,这篇文章绝对值得一读。<br><br>它完美地说明了,将两个界面以静态图片并排比较是多么不切实际。</p><p>界面的关键在于它的运作方式,也就是你与它交互的方式。</p><p>而当你推倒重来、重新构建一个界面时,把新旧版本并排放在一起,试图确保“没有遗漏任何东西”,其实是一种自欺欺人。因为那些动态的交互部分在静态图片中根本看不出来,而这些恰恰才是最重要的——毕竟功能的真正价值就在于其交互方式!</p><p>最近我经常发现这种情况:许多经过多年精心打磨、并基于真实用例反复推敲的细微之处,在一次大规模重构中被彻底抹去。(这一切都得益于人工智能那无所不知的强大能力。)</p><p>很少有人注意到这些变化,因为很少有人能意识到究竟失去了什么。</p><hr><p>回复方式:邮件 · · </p>
评论点赞收藏21 天前

别再用 uptime 百分比展示服务状态了

状态页用 uptime 百分比展示服务可用性,对普通用户不直观。 Jim Nielsen 提出用实际宕机时长替代百分比,例如"过去30天受影响12小时"。99.9%和99.99%看起来差不多,但实际宕机时间差10倍,类似地震6.2级和7.8级的量级差异。 基础设施团队习惯用"两个九""三个九"来理解,但状态页的受众已扩大到所有人。
评论点赞收藏26 天前

没人相信,但人人都在做

我们明知某些系统有缺陷,却集体继续用它。Flash片头、隐私换折扣、KPI仪表盘、绩效考核、标准化考试、服务条款——每个都是个人体验与集体行为的错位。 方便规模化收集的东西,成了个体真实经验的替代品。
评论点赞收藏28 天前

我的体验有 nuance,你的只是数据点

产品反馈按钮(点赞/评分)本质上是粗糙的,但团队常把聚合数据当成客观事实来决策。文章指出我们对自己点击行为背后的真实意图心知肚明——误触、追烂剧、 rage click——却在专业场景里把"14万用户点赞"当作不可质疑的结论,跳过价值观、语境和长期愿景的讨论。
评论点赞收藏29 天前

为博客打造日历视图

Jim Nielsen 为自己 14 年 807 篇博客文章做了一个日历视图,用圆点标记发文日期,Hacker News 热门文章用橙色方块标注。这是一个个人项目,主要目的是可视化发文规律,而非优化内容浏览体验。
评论点赞收藏33 天前

CSS Custom Highlights API 实现语法高亮:microlighter 实践

Jim Nielsen 用 CSS Custom Highlights API 替换了博客的 highlight.js,实现了 microlighter 语法高亮方案。核心思路是把语法高亮当作样式问题而非内容转换,无需 DOM 操作,代码在网页和 DOM 中保持一致。 他提到 Dave Rupert 的设计动机——厌倦了 prism、highlight.js、shiki 反复出问题的折腾,想找一个更轻量的方式。
评论点赞收藏35 天前

让LLM帮我做一个给图标补全颜色标签的工具

作者用LLM生成了一个独立HTML工具,通过HSV色相直方图自动为2000+图标补全颜色标签。工具按颜色分列展示已标注和待确认图标,可调阈值滑块,人工勾选后把ID粘贴回LLM完成写入。 核心体会:LLM擅长写一次性代码,不需要生产级质量,HTML+CSS+内联JS就能跑,无需构建和服务器。
评论点赞收藏37 天前

粗糙的界面设计是一种安全漏洞

界面粗糙会让产品更容易被仿冒钓鱼。AI能轻易复制低质量UI,而精细的微交互、加载动效、边缘case处理等细节难以低成本仿制。Feross Aboukhadijeh在Axios npm被钓鱼事件后提出,界面打磨本身就是一种安全防御——攻击者会优先选择容易复制的粗糙产品作为仿冒目标。
评论点赞收藏40 天前

LLM时代:电脑开始"读心",意外后果谁来负责

<p>戈登·布兰德:</p><blockquote>计算机的特点是,只要你详细说明你的愿望,它们就能做任何你想做的事。然而,大型语言模型(LLM)缓解了这一限制。LLM可以从几个词中大致推断出你的意思。所以现在电脑也能做氛围了。</blockquote><p>过去,计算机只能完全按照你的指令去做,不能多做。</p><p>如果他们做了意外(也就是bug),那是因为你没能1)预见到可能发生,或者2)没有更详细地说明不应该发生。</p><p>但在这个新世界里,计算机可以推断你的意图。</p><p>LLMS可以像填补空白的机器一样,帮你减轻.</p><p>以后会有更多“哎呀,我不是故意的”。</p><p>就是这样<em>应该</em>成为区分专业从业者与业余爱好者的关键。</p><p>一位优秀的从业者会认识到,利用一定的前瞻性是工作的一部分,以减轻意外后果。</p><p>与此同时,业余爱好者甚至没有能力或经验去理解LLM的假定意图,直到为时已晚,用户才受到影响。</p><p>我们每天使用的软件,是我们生活中许多方面日益依赖的软件,需要的意外后果会更少。少了“哎呀,早该想到这个”的感觉。</p><p>回复方式:电子邮件·· </p>
评论点赞收藏44 天前

原来不止我一个人这样

<p>我一生都觉得自己视力很好(而且现在依然如此)。</p><p>但最近,我开始察觉到一种仿佛……在悄然滑落的感觉。</p><p>没什么大不了的。只是早上醒来时那种感觉:当我的大脑和身体苏醒过来时,我的视力也该随之苏醒。</p><p>前几天,当我上网浏览时,偶然看到了“”这个奇怪又新奇的现象——</p><blockquote>你有没有过这样的经历:到了四十多岁,视力竟然直线下降,简直糟透了!</blockquote><p>当时我心想:</p><figure><img src="https://cdn.jim-nielsen.com/blog/2026/get-me.jpg" alt="Leonardo DiCaprio Pointing Meme where he’s sitting on the couch pointing past the camera as if he is identifying and connecting with something. Caption says “Yes! It me!”"> </figure><p>随后,更多人也在克里斯的帖子下留言说:“嘿,我也有这种感觉!”</p><p>这也正是我热爱互联网的原因。每当我上网时,总能感受到一种奇妙的共鸣:“哦,嘿,原来不只是我一个人有这样的感受!”无论是在个人层面,还是在职业层面,我都这样觉得。</p><p>为此,我心怀感激。</p><p>我喜欢以一种让我感到不那么孤单、也不那么怪异的方式,与他人建立联系,分享自己的人生体验。</p><p>在这个高度两极分化的数字世界里,我们更应该记住:网络依然能够将我们拉近,而不是把我们推向远方。</p><p>我们有着许多共同之处。</p><p>回复方式:电子邮件 · · </p>
评论点赞收藏46 天前

登录芦苇

登录后关注作者、收藏内容和参与讨论。