每日HackerNews RSS

## Tiny C 编译器 (TCC) 概要 TCC 是一款非常小巧、快速且多功能的 C 编译器,专为资源受限的环境设计——甚至可以放入救援盘(约 100KB)。 与使用字节码的编译器不同,TCC 直接生成 x86 代码,从而显著提高了编译速度——在大型项目(76936 行代码)中,速度可达 GCC 的 9 倍。 TCC 旨在完全符合 ISO C99 标准,并支持动态库。 它允许直接执行 C 源代码,无需单独的链接或汇编步骤,甚至支持带有简单 shebang 行的 C 脚本。 内置的内存和边界检查器增强了代码安全性。 此外,TCC 可以通过 `libtcc` 用作动态代码生成的后端。 虽然开发速度有所放缓,但它仍然是特定用例的强大选择,并采用 GNU Lesser General Public License 许可。

Hacker News 新闻 | 过去 | 评论 | 提问 | 展示 | 工作 | 提交 登录 Tiny C 编译器 (bellard.org) 8 分,guerrilla 发表于 44 分钟前 | 隐藏 | 过去 | 收藏 | 2 条评论 rustyhancock 4 分钟前 [–] TCC 真是一段回忆! 看到它不再维护(8 年前!)并不感到惊讶。即使在太字节 NVMe 驱动器的时代,安装 MSVC 时我的眼睛也会湿润(通常只是为了链接器!) antirez 1 分钟前 | 父评论 [–] 我认为,这正是人工智能和开源的许多联系点所在。 像 TCC 这样的项目,拥有一个好的编码代理和一个关心项目并对其有足够了解的开发者,可以变成一个可以维护的项目,而无需通常所需的大量精力,从而导致项目被放弃。 我正在复活许多我不再有时间处理的项目,比如 dump1090、linenoise…… 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:

本文详细介绍了一种高度压缩图像色度(颜色)数据的技术,有可能在不产生明显视觉伪影的情况下,实现每像素低于0.5比特的压缩。该方法利用了色度通道通常与亮度(Y)通道高度相关的观察结果——本质上,颜色信息可以从亮度近似得到。 核心思想是在图像块(起始为16x16像素)内,使用基于该块内最小和最大Y值的简单方程线性近似色度值。这只需要存储每个色度通道每个块的两个值,从而大大减小数据大小。使用可变块大小(低至2x2)以提高复杂区域的精度,并使用单个比特指示是否应分割块。 为了减轻这种近似造成的“块状”伪影,应用了一种边缘误差估计和补偿技术,以平滑块之间的过渡。结果表明,可以实现低至每像素0.13比特的压缩,但质量损失会增加。进一步的改进可能包括高级熵编码和去块算法的改进。作者提供了一个实验性C++代码链接以供实现。

黑客新闻 新的 | 过去的 | 评论 | 提问 | 展示 | 工作 | 提交 登录 展示HN:一种亮度依赖色度压缩算法(图像压缩) (bitsnbites.eu) 31点 由 mbitsnbites 6小时前 | 隐藏 | 过去的 | 收藏 | 2评论 ffworld 3小时前 | 下一个 [–] 你谈论的是一个算法。然而,你从未访问过色度从亮度分离的实际应用,它被用于生产中。它是AV1/2视频编解码器的一部分;例如,自2018年以来,它已被广泛采用。 https://arxiv.org/pdf/1711.03951 还有IETF关于这个想法的早期草案。https://datatracker.ietf.org/doc/draft-midtskogen-netvc-chro... 如果你没看过,请阅读一下:) 回复 Scaevolus 1小时前 | 父级 | 下一个 [–] JPEG XL 也包含了色度从亮度分离。它是现代编解码器中的标准编码工具。回复 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请YC | 联系 搜索:

最近,作者在使用Windows 11时遇到一个令人沮丧的问题:由于Microsoft商店的许可错误,无法使用记事本和截图工具等基本内置应用。这凸显了Windows越来越不像传统的操作系统,而更像一项依赖云服务的平台。 作者是一位资深的Windows爱好者,对这种转变感到担忧,特别是像记事本这样 historically 简单、离线的核心应用,现在也与在线账户绑定,并越来越多地集成Copilot等功能。虽然可以通过卸载OneDrive、创建本地账户等方式进行自定义,但需要使用变通方法以及潜在地依赖第三方“清理”脚本,这显得不必要且可能存在风险。 核心问题并非反对改变,而是反对突如其来的中断以及失去本地控制。作者认为Windows应该保持离线功能,用户不应该被迫依赖互联网连接才能使用基本工具。对于Windows的未来仍然感到担忧,担心它会进一步依赖在线服务,并且Windows 12可能会变得更加依赖云,从而可能促使用户回归更早、更可定制的版本。

## Hacker News 讨论:微软账户问题与 Windows 的未来 一篇最近发表在 Windows Central 上的文章引发了 Hacker News 关于微软 Windows 操作系统中令人沮丧的错误的讨论,具体问题是由于微软账户/许可错误导致用户无法使用记事本,即使使用本地账户也会出现此问题。 许多评论者表达了对微软日益对用户不友好的、充满漏洞的软件的沮丧,认为这是缺乏竞争压力造成的。一些人提倡转向 Linux 或 macOS 等替代方案,理由是它们具有更好的稳定性和用户体验。 还有人强调了对在线账户和服务的日益依赖,引发了对依赖性和潜在锁定的担忧。 讨论还涉及 Windows 的发展方向,预测可能深度集成人工智能的“Windows 12”可能会促使用户坚持使用更稳定、更成熟的版本,如 Windows 10 或 11。 一些人为 Windows 的硬件可修改性辩护,同时承认 macOS 的卓越设计。 最终,该帖子反映了对微软当前发展轨迹日益增长的不满情绪,以及探索替代操作系统的意愿。

这个故事说明了意图转变如何会在组织内部和个人层面显著增加摩擦。作者回忆起曾经由乐于助人的秘书Joann管理的无缝差旅报销流程,被一个专注于查找错误的审计员和复杂的系统所取代——这明显是退步。 这种转变突显了一个关键点:如果没有以*帮助*和简化为核心意图,系统自然会倾向于寻找问题。这种“摩擦作为产品”的动态并非仅限于工作场所。个人也可以在内心创造出吹毛求疵、阻碍进步的“审计员”,尤其是在注意力从成长上转移时。 作者将此与心态联系起来,指出积极、以成长为导向的态度常常会受到愤世嫉俗的对待,而与那些专注于建设的人们产生共鸣。最终,优先考虑意图——专注于解决方案和动力——是消除障碍和取得成功的关键。

## 官僚主义的兴起与信任的丧失 Hacker News 上的一篇博文讨论了从精简、人工处理的费用报销流程(由一名名为 Joann 的员工负责)转变为复杂的自动化系统(如 Concur)。用户普遍认为,这种变化是由公司发展和成本削减驱动的,最终*增加了*员工的工作量,而可能节省的钱却很少。 核心问题是信任的转变。随着组织规模扩大,一种假设善意的“高信任”环境让位于专注于防止滥用的“低信任”环境。这表现为详细的报告要求和严格的规则。 许多评论员指出,外部因素,如政府法规和资金限制(尤其是在大学中),也加剧了复杂性。 许多人认为,自动化系统并非真正实现自动化,而是简单地将工作量*转移*到员工身上,他们现在需要花费大量时间来应对令人沮丧的流程。 一些人认为 LLM 可能会潜在地恢复“Joann 式”的服务,而另一些人则认为增加的监督是管理层获取更多控制权和可见性的方式,即使这种方式适得其反。一个反复出现的主题是,机会成本——员工因官僚主义而浪费的时间的价值——很少被纳入成本节约的计算中。

这是一个简单的代码探索,灵感来自(并借鉴自)https://iventions.com/,在X平台看到。在这个例子中,我尝试实现一个在用户点击按钮时显示的菜单。仅使用HTML+CSS,不使用JS。有两个剪切路径:菜单通过一个从屏幕左上角增长到右下角的圆来显示。我在这里使用的一个有趣的剪切路径计算(clip-path: circle(calc(1.42 * 100vmax) at 0 0);)基于vmax,它是视口宽度或高度中较大的那个。然后乘以1.42,因为1.42是2的平方根,这是视口宽度与高度之比。第二个剪切路径是一个多边形,用于模拟“射线”。多边形现在是硬编码的,但可以使用js计算,以实现尊重导航尺寸的动态尺寸和响应式设计。感谢您的访问。

一位开发者在Hacker News分享了一个仅使用CSS重现的导航显示效果,最初见于[iventions.com](https://iventions.com/)。该效果利用了两个`clip-path`属性——圆形和多边形——来动画导航的出现。代码可在[Github](https://github.com/Momciloo/fun-with-clip-path)上找到。 这个帖子引发了关于这种设计实用性的争论。一些人赞扬了它的视觉吸引力,而另一些人则批评它将美学置于可用性和信息密度之上。人们对访问菜单所需的额外步骤表示担忧,尤其是在可以完全显示菜单的大屏幕上。 一些评论者认为,好的设计应该侧重于解决用户问题和促进高效导航,而不是仅仅具有视觉冲击力——这种观点可以概括为避免“Dribbble风格”的设计。还有人将这种效果比作较早期的Flash动画。

这位开发者选择用纯C语言进行单人游戏项目开发,这是一种出乎意料的做法。他们最主要的需求是**可靠性、可移植性和持久性**——这是从Flash消亡中吸取的教训,以及避免平台锁定的愿望。虽然性能是一个考虑因素,但**简洁性**至关重要。他们优先选择一种可以熟练掌握,无需不断查阅资料的语言,并结合强类型和强大的调试工具来减少令人沮丧的错误。 C++、C#和Java等替代方案被认为过于复杂,并且经常强制使用他们不喜欢的面向对象编程风格。Go语言很有吸引力,但对于游戏来说,垃圾回收机制存在问题,并且库支持有限。虽然对Haxe很感兴趣,但对其年轻的年龄仍有顾虑。 最终,C语言达到了最佳平衡。尽管由于其底层特性而“危险”,但它**速度快、可移植、可靠,并拥有强大的工具**。开发者承认这个选择非常个人化,源于舒适性和对代码的直接控制偏好,让他们能够专注于*制作*游戏,而不是与语言本身作斗争。

## 黑客新闻讨论:用C语言编写游戏 一场黑客新闻讨论围绕着在现代替代方案出现后,使用C语言进行游戏开发的吸引力。原始帖子强调了一位开发者选择C语言,因为它在独立游戏项目中具有简单性和高性能。 评论者对此表示认同,重视C语言(以及Odin和Zig等语言)的直接性,尤其是在游戏逻辑——“世界模拟”方面。然而,他们也承认C语言在协作项目和开发速度方面存在缺点,与较新的语言相比。 Rust被赞扬为在正确性和并发性至关重要时的强大选择,在复杂性和安全性之间取得了平衡。 几位用户指出,考虑到C语言在游戏开发领域曾经占据主导地位,现在被视为“硬核”具有讽刺意味。 讨论还涉及了C语言中UI开发是一个特别的痛点,因为它过于复杂。 一位用户推荐Clay作为一种潜在的C语言UI解决方案。

## SectorC:一个微型C编译器 SectorC是一个非常小的C编译器,完全容纳在x86机器的512字节引导扇区内——可能是迄今为止最小的。它支持C的一个有用的子集,包括全局变量、函数、`if`和`while`语句、运算符、指针解引用、内联汇编和注释,从而能够编写出令人惊讶的复杂程序。 该编译器通过创新技术实现其小尺寸。它使用空格分隔的“Barely C”语言,有效地创建“超符号”以减少解析开销。它还采用基于哈希的方法来处理标识符,避免了传统的符号表。 尽管存在局限性,SectorC可以运行像移动正弦波动画这样的程序,甚至可以通过PC扬声器播放音乐。它依赖于一个最小的运行时库来实现I/O和基本功能。 该项目表明,显著的功能可以被封装到极其有限的空间中,挑战了关于编译器尺寸的传统观念,并突出了巧妙优化的力量。它证明了创造力,并对编程语言边界进行了有趣的探索。

Hacker News 新闻 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 SectorC: 一个 512 字节的 C 编译器 (xorvoid.com) 16 分,由 valyala 发表于 2 小时前 | 隐藏 | 过去 | 收藏 | 1 条评论 riedel 1 分钟前 [–] 很漂亮,但请尽快在标题中添加 2023。 之前讨论过:https://news.ycombinator.com/item?id=36064971 回复 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:

启用 JavaScript 和 Cookie 以继续。

布鲁克海文国家实验室的RHIC完成25年运行,进行最后一次碰撞 (hpcwire.com) 4点 由 gnufx 54分钟前 | 隐藏 | 过去 | 收藏 | 1条评论 davrosthedalek 14分钟前 [–] 这是为启动电子离子对撞机(EIC)的建设工作做准备,它将使用相同的隧道和实验地点。回复 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请YC | 联系 搜索:

## 编码代理选择:超越排行榜 “哪个编码代理最好?”这个问题具有误导性。性能因语言、任务甚至时间而异,使得单一的“最佳”选择不可靠。与其*预测*最佳代理,更有效的方法是*从*候选池中*选择*——一种“最佳N选一”策略。 这包括并行运行多个代理,每个代理处理相同的任务,并由人工审核员选择最佳实现。这个过程不仅能提供更高质量的代码,还能基于实际合并生成有价值的评估数据。 对18个代理在211个任务上的分析揭示了性能等级,顶级代理与其余代理之间存在明显差距。然而,即使在顶级等级中,排名也存在噪声且置信区间重叠。运行一个群体可以显著提高胜率:顶级代理单独成功率为24%,而三个代理的组合提高到51%,七个代理的组合提高到91%。 关键在于,运行一小群表现最佳的代理——优先考虑前几个——可以大大提高成功几率,超过了额外token的成本,并减少了昂贵的人工工程时间。

黑客新闻 新 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 选择而非预测 (voratiq.com) 8 分,由 languid-photic 发表于 2 小时前 | 隐藏 | 过去 | 收藏 | 1 条评论 tomtom1337 40 分钟前 [–] 有什么建议来“组织”这类实验吗?以及如何以易于解析的方式比较结果?7个模型产生 1 个 PR 是一种方法,但感觉比较起来并不容易。回复 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:

请启用 JavaScript 并禁用任何广告拦截器。

## 美国失业与政治辩论 一篇《福布斯》文章报道了自大衰退以来最快的1月份失业率增长,在Hacker News上引发了热烈讨论。最初的帖子引发了对失业原因的争论,迅速演变成政治辩论。 许多评论员指出历史数据表明,民主党政府领导下的就业增长明显高于共和党政府,一些人指出自1989年以来,这一比例为50:1。反驳意见集中在经济政策的时间滞后以及外国战争和金融放松管制可能产生的负面影响上。 对话扩展到更广泛的经济问题,包括二战后劳动力短缺的影响、人工智能的作用以及潜在的垄断行为对工资的压制。一些人对经济数据的准确性和政治议程的影响表示怀疑。科技、交通和医疗保健等行业的具体裁员,以及外包和H1B签证问题也得到了讨论。 最终,该帖子凸显了在解读经济趋势和追究失业责任方面存在深刻的分歧。

更多

联系我们 contact @ memedata.com