1. Show HN: I recreated Windows XP as my portfolio (mitchivin.com)
Visual Designer Portfolio
41 篇热帖
Visual Designer Portfolio
Stories you never want to feel on your own skin
Long-term exposure accelerates the development of Lewy body dementia and Parkinson’s disease with dementia in people who are predisposed to the conditions. Long-term exposure accelerates the development of Lewy body dementia and Parkinson’s disease with dementia in people who are predisposed to the conditions.
Master Japanese with KanaDojo - a fun, aesthetic, minimalist platform for learning Hiragana, Katakana, Kanji, and Vocabulary. Practice with interactive games, track progress, and customize your learning experience with 100+ themes.
A rare and revealing breach attributed to a North Korean-affiliated actor, known only as “Kim” as named by the hackers who dumped the data, has delivered a new insight into Kimsuky (APT43) tactics, techniques, and infrastructure. This actor's operational profile showcases credential-focused intrusions targeting South Korean and Taiwanese networks, with a blending of Chinese-language tooling, infrastructure, and possible logistical support. The “Kim” dump, which includes bash histories, phishing domains, OCR workflows, compiled stagers, and rootkit evidence, reflects a hybrid operation situated between DPRK attribution and Chinese resource utilization.
The Microdot web framework is quite small, as its name would imply; it supports both standard C [...]
While famously rainswept, climate crisis, population growth and profligacy<em><strong> </strong></em>mean the once unthinkable could be possible
This post introduces Optique, a new library created to address the pervasive problem of repetitive and often messy validation code in CLI tools. The author was motivated by the observation that nearly every CLI tool reinvents the wheel with similar validation patterns for dependent options, mutually exclusive options, and environment-specific requirements. Optique leverages parser combinators and TypeScript's type inference to ensure that CLI arguments are parsed directly into valid configurations, eliminating the need for manual validation. By describing the desired CLI configuration with Optique, TypeScript automatically infers the types and constraints, catching potential bugs at compile time. The author shares their experience of deleting large chunks of validation code and simplifying refactoring tasks. Optique aims to provide a more robust and maintainable approach to CLI argument parsing, potentially saving developers from writing the same validation logic repeatedly.
ck (seek) 是一个基于语义理解的代码搜索工具,能够根据代码的“含义”而非单纯的关键词进行检索。它兼容传统 grep 的语法,同时通过本地嵌入模型理解查询的意图,从而找到相关代码。
语义搜索
try/catch 块、错误返回等。-full-section 选项,返回匹配到的整个函数或类。--scores 参数可显示相关性分数。兼容与混合模式
-i, -n, -R 等)。--hybrid 混合搜索模式,结合关键词精确匹配与语义理解,使用倒数排名融合算法(RRF)排序结果。AI 代理集成
ck --serve 启动,无缝集成到 Claude Desktop、Cursor 等支持 MCP 的 AI 客户端。semantic_search、regex_search、hybrid_search 等工具,支持分页和结果控制。交互式终端界面 (TUI)
ck --tui 启动,提供实时搜索结果预览。智能索引与缓存
.ck/ 目录中,可安全删除以重建。文件过滤与排除
.gitignore,并额外支持 .ckignore 文件。.ckignore 使用与 .gitignore 相同的语法,用于排除配置文件、二进制文件等不适合语义搜索的内容,以减少噪音并提升索引速度。bge-small,也支持其他本地模型如 mxbai-xsmall、nomic-v1.5 和 jina-code,可通过 --model 参数切换。cargo install ck-search 从 crates.io 安装,也可从源码编译。# 语义搜索
ck --sem "数据库连接池" src/
# 传统正则搜索
ck -n "TODO" *.rs
# 混合搜索
ck --hybrid "连接超时" src/
# 启动 MCP 服务器
ck --serve
# 启动交互式界面
ck --tui
RFC 3339 与 ISO 8601 日期格式对比
RFC 3339 和 ISO 8601 都是用于表示日期和时间的标准格式,但它们在规范和应用上存在关键区别。
1. 标准定义
2. 关键区别
| 特性 | RFC 3339 | ISO 8601 |
|---|---|---|
| 日期与时间分隔符 | 必须使用大写字母 T。 |
可以使用 T 或空格。 |
| 时区表示 | 必须指明时区。唯一接受的格式是 UTC 时间 Z,或带 ± 符号的 HH:MM 偏移量(例如 +08:00)。 |
更加灵活。除了 Z 和 ±HH:MM 外,还允许使用 ±HH、±HHMM 等格式,甚至在某些上下文中允许省略时区信息(但标准本身强烈建议指明)。 |
| 格式完整性 | 规定必须包含日期和时间,并精确到秒(秒可以是小数)。 | 允许仅表示日期(如 2023-10-27)或仅表示时间(如 15:30),并且支持更广的时间精度(如仅到分钟)。 |
| 语义明确性 | 其主要目标是提供单一、明确、可机器解析的时间戳格式,减少歧义。 | 作为一个庞大的标准体系,旨在涵盖所有可能的日期时间相关表示场景,因此在某些情况下可能需要更多上下文来确定具体格式。 |
3. 实际应用
总结:可以将 RFC 3339 视为 ISO 8601 一个特别严格、面向互联网应用的简化子集。当需要在网络通信和数据交换中表示一个完整、明确、带时区的时间点时,RFC 3339 是首选且推荐的标准。
项目名称与地点
Cape Station(开普站)位于美国犹他州,未来将建设一座增强型地热发电厂(EGS)。
技术特点
增强型地热系统(EGS)通过人工方式创建或增强地热储层,利用深层地热资源发电,突破了传统地热依赖天然热储的限制,扩大了地热能源的可开发范围。
项目意义
该项目旨在利用犹他州丰富的地热资源,推动可再生能源发展,助力能源转型。EGS技术若成功应用,将为全球提供可复制的清洁能源解决方案。
“Don’t use chatbots as search engines” was great advice for several years... until it wasn’t. I wrote about how good OpenAI’s o3 was at using its Bing-backed search tool back …
The Consumer Council keens to be the trusted voice of consumers in striving to build in the market an environment of safe, fair and sustainable consumption.
curl 命令直接从标准输入管道执行镜像。bake 用于构建微虚拟机。The noted Diné (Navajo) weaver Marilou Schultz recently completed an intricate weaving composed of thick white lines on a black background, ...
Lightweight tool for managing linux virtual machines - 0xchasercat/flint
Check the current Azure health status and view past incidents.
The Intel 285K CPU in my high-end 2025 Linux PC died again! 😡 Notably, this was the replacement CPU for the original 285K that died in March, and after reading through the reviews of Intel CPUs on my electronics store of choice, many of which (!) mention CPU replacements, I am getting the impression that Intel’s current CPUs just are not stable 😞. Therefore, I am giving up on Intel for the coming years and have bought an AMD Ryzen 9950X3D CPU instead.
Emotional toll of constant negative news and unlimited access to ‘doomscrolling’ has led to record-high news avoidance
Are you shipping textures to players as PNGs? The goal of this post is to convince you that this is suboptimal, and walk you through a better approach.
Postal flows to the United States have almost come to a halt, with 88 operators worldwide fully or partially suspending services, the Universal Postal Union said.
在职业生涯中,仅具备出色的专业技能是不够的。技术能力是基础,它能让你在初期获得认可,但当周围同事都具备同等技术实力时,你就需要其他方式来提升影响力。
真正的成长在于跨领域的能力结合。文章指出四个关键领域:
随着职位晋升,你对这四个领域的贡献要求会越来越高。它们共同指向一个目标:促成有意义的事情发生。
要快速提升这些能力,关键在于反馈与谦逊。通过寻求你所钦佩之人的反馈,并付诸行动,你可以识别并弥补自己的短板。常见的误区是认为工作成果会自己说话,但实际上,你需要主动展示自己的工作。
最重要的一点是主动性。主动性强的人创造机会,而被动的人则等待机会。选择成为主动者,是推动职业发展的根本力量。
总结来说,职业进步不仅仅关乎努力工作,更在于综合能力的提升、主动寻求改进,以及积极创造价值。
When I wrote about how good ChatGPT with GPT-5 is at search yesterday I nearly added a note about how comparatively disappointing Google's efforts around this are. I'm glad I …
How developers are experimenting with structure, orchestration, and standards to get more out of AI coding.
stlab hosts modern, modular C++ algorithms and data structures.
As part of my ongoing (and somewhat futile) efforts to ReDeCentralise, I'm looking at moving my personal projects away from GitHub. I already have accounts with GitLab and CodeBerg - but both of those sites are run by someone else. While they're lovely now, there's nothing stopping them becoming as slow or AI-infested as GitHub. So I want to host my own Git instance for my personal projects. …
Best of both worlds: Building an AI gatekeeper that knows exactly which tests to run for your code changes
文章探讨了编程中的一个根本性挑战——表达式问题:在已有系统中,如何同时添加新的数据类型和新的操作,而无需修改现有代码。传统编程范式(面向对象编程和函数式编程)都难以优雅地同时实现这两方面的扩展,违背了软件设计的开闭原则。
通过C++表达式求值器示例说明:Expr接口定义了ToString和Eval方法。添加新表达式类型(如Constant、BinaryPlus)只需继承并实现接口;但添加新操作(如类型检查)需要修改基类接口及所有派生类,导致大规模代码变更。
在Haskell中,表达式类型(如Expr)与操作函数(如evaluate、stringify)分离。添加新操作只需新增函数并处理所有现有类型;但添加新类型需要修改所有现有函数以处理新类型。
表达式问题可用二维矩阵表示:行代表数据类型,列代表操作。OOP易于扩展行(类型),难扩展列(操作);FP反之,易于扩展列,难扩展行。
将OOP问题转化为类似FP的问题:通过ExprVisitor接口分离操作。添加新操作容易(新增访问者类),但添加新类型困难(需更新访问者接口及所有实现类)。
通过虚拟继承和动态类型检查支持新类型,但存在缺点:需要运行时类型转换、不兼容旧访问者、实现复杂且难以维护。
defrecord)定义,如Constant、BinaryPlusdefmulti)定义,通过defmethod为每种类型实现操作defmethod实现现有所有多方法defmethod为所有现有类型实现defprotocol定义接口,如Evaluatable、Stringableextend-type为类型实现协议,或extend-protocol为多个类型实现同一协议extend-type实现现有协议extend-protocol为所有类型实现新协议表达式问题揭示了编程语言设计中数据与操作关系的根本挑战,其解决方案体现了不同编程范式的哲学差异及语言特性的重要性。