JavaScript日期对象UTC陷阱:导致日本用户数据丢失
一个看似简单的JavaScript日期过滤器导致日本用户的后台数据在早上9点前丢失。原因是`new Date('YYYY-MM-DD')`创建的是UTC午夜时间,在日本(UTC+9)显示为早上9点。因此,“大于1月1日”实际上意味着“大于1月1日早上9点”。解决方案是明确设置午夜时间,避免UTC默认值。
一个看似简单的JavaScript日期过滤器导致日本用户的后台数据在早上9点前丢失。原因是`new Date('YYYY-MM-DD')`创建的是UTC午夜时间,在日本(UTC+9)显示为早上9点。因此,“大于1月1日”实际上意味着“大于1月1日早上9点”。解决方案是明确设置午夜时间,避免UTC默认值。
Observable推出了一款基于GitHub的全新笔记本,支持在任何文本编辑器中创作,并通过Notebook Kit进行预览或构建。这款笔记本旨在成为一流的编辑器,结合AI赋能、实时协作、Observable工作区共享以及Observable画布进行数据可视化探索和演示,以提升生产力。无论是开源用户还是商业用户,Observable都欢迎使用其产品。
作者正在重写 Yakread 阅读应用并将其开源,同时实验其 Clojure Web 框架 Biff 的新功能。为解决原有 10k 行代码库的维护问题,作者采用了三个主要架构方法:1. 使用 XTDB 和 RocksDB 实现 materialized views,以提高查询速度;2. 将应用逻辑与副作用分离,使代码更纯净,方便测试;3. 使用 Pathom 构建可重用的数据访问层,提高代码的可维护性和可读性。这些方法提高了代码的可测试性、可观察性和可维护性,为 Biff 框架带来了新的改进方向。
本文提出了一种系统设计原则的初步分类法,它从计算机系统的多个领域中提炼出来,旨在创建一个共享的简洁词汇表,帮助学生、研究人员和从业人员更好地理解系统结构和权衡,比较不同领域的系统设计,并更清晰地沟通设计选择。文章总结了40多个通用的系统设计原则,并将其组织成主题组,这些主题组反映了系统设计的熟悉方面,例如模块化、可扩展性、可伸缩性和容错性。每个原则都带有简短的符号,方便快速参考。文章强调设计意图而非具体的实现机制,旨在为系统设计提供一个更连贯的思维导图。
arXivLabs是一个框架,允许协作者直接在我们网站上开发和共享新的arXiv功能。与arXivLabs合作的个人和组织都已接受并认可我们开放、社区、卓越和用户数据隐私的价值观。arXiv 致力于这些价值观,并且只与遵守这些价值观的合作伙伴合作。有想法能为arXiv社区增值的项目吗?了解更多关于arXivLabs的信息。
本文档详细定义了一种新型编程语言的语法规则,涵盖了类型、表达式、模式、函数定义、类型定义等多个方面。通过一系列上下文无关文法规则(BNF范式),精确描述了语言的结构,为编译器和解释器的实现提供了坚实的基础。 这是一种功能强大的语言,支持函数式编程、模式匹配和类型推断等高级特性。
FreeBSD 的包管理系统 PKGBASE 引起了一场争议。用户发现,执行 `pkg delete -af` 命令后,非 PKGBASE 版本的 FreeBSD 系统只会删除第三方软件包,而 PKGBASE 版本的系统则会删除几乎所有系统基础组件,包括 vi 编辑器等关键工具。这引发了对系统稳定性和 POLA(原则上操作的简单性)的担忧,因为同一命令在不同系统下的行为差异巨大,可能导致系统不可用。
本文介绍了使用HTMX框架进行URL驱动状态管理的优雅方法。通过将URL参数作为单一数据源,开发者可以轻松处理过滤、排序、分页和搜索等功能,而无需引入复杂的客户端状态管理库。这种方法使得应用状态具有书签功能、可分享性,并且浏览器历史记录也能正常工作,同时简化了调试过程。文章详细阐述了服务器读取URL参数、表单和隐藏字段协调状态以及使用`hx-push-url`自动同步URL这三个步骤,并探讨了生产环境中的注意事项,例如URL长度限制和参数验证。
Patrick Bryant提出的分离点算术(DPA)彻底颠覆了我们对数值计算的认知。它通过分离整数尾数和点位置,利用整数运算执行所有计算,将舍入延迟到最终输出,从而消除了浮点运算中常见的舍入误差。这项技术在金融、科学和人工智能等领域具有广泛的应用前景,有望显著提升计算精度和效率。DPA的实现方法简洁高效,其开源代码已发布在GitHub上,欢迎大家共同探索和改进。
Anthropic的AI代码助手Claude Pro和Max突然增加了每周使用限制,激怒了大量付费用户。这引发了业内对AI公司“先无限使用,后限流”的商业模式的质疑。文章指出,这种做法破坏了开发者对平台的信任,并建议AI公司应 upfront and transparent pricing。相比之下,Kilo Code则采取了透明的按次付费模式,并提供了300%的限时奖励积分,以此作为对比。
作者成功构建了一个稳定的强化学习训练基础设施,可在4个裸机节点上扩展到32个H100 GPU,用于训练超长视野的基于终端的编码代理。通过这个项目,作者开发的Terminal-Agent-Qwen3-32b在terminal-bench上获得了最高分,而且是在未经训练的情况下!作者利用rLLM框架,并添加了针对终端代理训练的自定义环境和基础设施。该项目使用了价值百万美元的计算资源进行训练,并最终在terminal-bench排行榜上排名第19位,超越了斯坦福大学和OpenAI的多个顶级代理。作者还开发了一套完整的工具和系统提示,以指导代理高效完成任务。由于计算成本高昂,作者未能进行完整的训练,但提供了已测试的训练代码和数据集,期待有更多资源投入到该项目中。
Hologram 0.5.0 版本发布,带来重大性能提升和诸多新特性。核心客户端操作执行时间从毫秒级缩短到微秒级,足以处理实时交互。此版本新增了完善的会话和 Cookie 管理、基于 HTTP 的传输层、实时重载功能、增量编译等。还引入了高性能 Bitstring 实现、CRDT 支持等,为未来分布式功能奠定基础。超过 950 次提交,改进开发者体验和运行时性能。
CopyParty是一个令人惊叹的项目,它能将几乎任何设备(包括你的旧电脑)变成一个功能强大的文件服务器,支持任何网络浏览器进行可恢复的上传和下载。它具有友好的用户界面,支持各种文件类型,并提供丰富的功能,例如文件索引、媒体预览、音频转码、权限控制等等。只需运行`copyparty-sfx.py`即可快速上手,或者访问地下室NUC上的只读演示服务器。CopyParty的目标是简单易用,功能强大,并且在各种环境下都能运行良好,是一个理想的紧急文件传输解决方案。
三星One UI 8系统更新引来安卓爱好者社区不满。此前,许多非美地区的三星用户可以解锁Bootloader,刷入自定义ROM和内核。但新证据显示,One UI 8已移除此功能,Galaxy S25、Z Fold 7和Z Flip 7均受影响。这意味着用户将无法使用自定义ROM延长设备寿命或提升性能。虽然三星现已提供长达七年的系统更新,但这对于追求极致定制和性能的用户来说,仍然是个坏消息。这对于习惯于深度定制安卓系统的用户来说无疑是一个重大打击。
人工智能公司Anthropic宣布,为了应对部分用户滥用其Claude Code AI编码工具的情况,将从8月28日起对Claude Pro和Max订阅者实施新的每周使用限制。这些限制旨在阻止用户24/7持续运行Claude Code以及共享账户和转售访问权限的行为。虽然此举会影响不到5%的用户,但它反映了AI模型提供商在计算资源方面的限制,以及对可持续服务模式的探索。其他AI编码工具提供商也采取了类似的定价策略调整。
本文作者分享了在构建AI智能体过程中六个重要的经验教训。作者强调清晰的指令、精简的上下文管理、稳健的工具接口和自动化的验证循环的重要性。文中指出,现代大型语言模型需要直接详细的上下文,避免使用技巧性提示。通过将大型语言模型与工具和基本控制流运算符相结合,可以构建强大的AI智能体。作者还建议采用两阶段算法,其中一个阶段负责生成结果,另一个阶段负责验证结果,并通过迭代改进和错误分析不断提升智能体的可靠性和可恢复性。
为了在Ensō应用的Coffeeshop模式中隐藏文本,作者创建了一个名为433的字体,它将所有非空格字符替换为点。这篇文章详细介绍了433字体的创建过程,包括字体设计原理、Unicode编码、以及WOFF2格式的压缩技术。作者也分享了在开发过程中遇到的挑战和解决方法,以及一些关于字体、Unicode和多语言支持的知识。
作者分享了四年来开发儿童绘画应用Kidz Fun Art的经验。文章重点介绍了为儿童设计应用的独特挑战和解决方案,例如:最小化文本使用,将工具与对象紧密关联,简化操作,易于撤销错误,适时寻求成人帮助,避免精细操作,解决手掌误触问题,以及通过巧妙的设计增加趣味性等。作者还强调了儿童应用的盈利模式、隐私保护和避免儿童直接消费的重要性。
SQLx是一个异步的纯Rust SQL工具箱,它提供编译时查询检查,无需DSL。支持PostgreSQL、MySQL、MariaDB和SQLite数据库,具有运行时无关性(兼容async-std、tokio、actix),内置连接池和行流功能,支持TLS和异步通知等特性。SQLx使用宏进行编译时SQL校验,并提供高低两种查询API,方便开发者使用。
这是一个用JavaScript渲染的炫酷时钟可视化项目,它以多种方式显示时间:二进制表示Unix时间戳,多边形表示年月日时分秒,动态的Blob表示不同时间尺度的波浪,太阳系模型显示地球、月球和太阳的运行,以及峰值和波浪曲线表示时间的流逝。代码开源可修改,非常值得体验!
一位开发者基于其硕士论文的研究,开发了一个名为PyroWave的超低延迟游戏流媒体视频编码器。它抛弃了传统的运动预测和熵编码,采用离散小波变换(DWT)和逐块编码,实现了极低的延迟(编码时间低于100微秒,解码时间低于1毫秒)。虽然比特率较高(100+ Mbit/s),但其在本地网络环境下表现出色,并具有极佳的抗错误能力。通过与NVENC编码器的对比测试,PyroWave在一些场景下展现出优异的视觉质量,证明了其在低延迟游戏流媒体领域的潜力。
Pony 是一种开源的、面向对象的、基于 Actor 模型的、能力安全的、高性能编程语言。它采用独特的 Actor 模型,提供并发编程的安全性和效率。想快速上手?直接在 Pony Playground 在线体验!了解更多关于 Pony 的设计理念和优势,请阅读其早期历史介绍。
本文探讨了在 React 开发中过度使用 `useCallback` 和 `useMemo` 的问题。作者认为,许多情况下,这两个 Hook 用于追求引用稳定性,但却并非总是必要,甚至可能导致性能损耗和代码复杂化。文章列举了多个场景,例如组件未进行 memoization,以及将 props 作为 effect 的依赖项,这些场景中使用 `useCallback` 和 `useMemo` 并没有性能提升,反而增加了代码的复杂性。作者建议,除非存在明显的性能瓶颈,否则应避免过度使用这两个 Hook,并推荐使用 ref 或即将推出的 `useEffectEvent` 来解决引用稳定性的问题。
许多网站会在你访问时显示烦人的“使用 Google 登录”横幅。我的浏览器扩展程序 StopTheMadness Pro 可以隐藏这些横幅,但在 Chrome 中,情况有所不同。Chrome 不会显示这些横幅,但会显示一个类似的“一键登录”对话框,该对话框是 Chrome 本身的一部分,无法被扩展程序隐藏。幸运的是,可以在 Chrome 设置中禁用此对话框。这再次凸显了 Google 对自家浏览器的偏好。
Windows 11充斥着令人分心的广告和追踪功能,如同内置恶意软件。文章呼吁开发一款自动化Windows清理工具,以对抗微软的策略。该工具应开源、易用、可配置,并整合现有优秀工具,最终目标是通过社区力量迫使微软改变策略,提升用户体验,这将是FOSS对抗微软霸权的绝佳案例。
arXivLabs是一个允许协作者直接在arXiv网站上开发和分享新功能的框架。参与arXivLabs的个人和组织都认同并接受了我们关于开放性、社区、卓越和用户数据隐私的价值观。arXiv致力于这些价值观,并且只与遵守这些价值观的合作伙伴合作。如果你有一个能够为arXiv社区增值的项目想法,请了解更多关于arXivLabs的信息。
谷歌在最新的Android Canary版本中为原生Linux终端应用添加了图形化应用支持。用户现在可以通过一个新的“显示”按钮启动图形环境,运行Android平台上不可用的完整桌面应用程序。更令人兴奋的是,该功能还支持硬件加速,为运行更强大的Linux软件和游戏铺平了道路。这标志着Android与Chrome OS融合的又一重大进展,未来或将支持更多PC游戏。
为了避免2038年可能出现的Unix时间戳溢出(Y2038问题),Debian 13 “Trixie”发行版将默认采用64位时间戳,除了极少数仍在使用32位处理器的旧硬件。这与千禧年虫问题类似,但这次开发者们提前采取了行动,避免重蹈覆辙。Debian 的维护者们已经修改了超过6400个软件包,以确保平滑过渡。虽然这项工作量巨大,但Debian 相信在发布Debian 13后,大部分硬件将能够顺利升级。
Asahi Linux 项目禁止使用大型语言模型(LLM,文中称为“Slop Generators”)进行任何代码、文档或工程决策等方面的贡献。该禁令基于以下原因:1. 知识产权风险:LLM 的训练数据可能包含版权材料,使用 LLM 生成的代码可能构成侵权;2. 资源浪费:LLM 训练和推理需要消耗大量资源;3. LLM 的局限性:LLM 无法保证输出的正确性,且容易生成错误信息。Asahi Linux 认为,LLM 不是合适的软件工程工具,其使用会带来法律和技术风险,并浪费宝贵的资源。
这篇文章反其道而行之,提供了一套“高效”构建网站的指南,旨在最大化你的时间和精力消耗。核心策略包括:不加选择地安装npm依赖,让你的项目成为依赖的牢笼;在未明确需求前就选择框架,以便不断学习框架更新;总是引入编译步骤,增加额外的构建过程。总之,这是一份反向教程,教你如何高效地浪费时间在网站开发上。