分类: 开发

无需网络的蓝牙Mesh加密信息应用BitChat开源

2025-07-07
无需网络的蓝牙Mesh加密信息应用BitChat开源

BitChat 是一款基于蓝牙Mesh网络的去中心化点对点加密消息应用,无需网络、服务器或电话号码。它采用端到端加密(X25519密钥交换+AES-256-GCM),支持基于主题的群聊(可选密码保护)、离线消息存储转发等功能,并注重隐私保护,没有账户、电话号码或持久标识符。BitChat 提供了 iOS 和 macOS 原生支持,并包含多种性能优化,例如 LZ4 压缩和自适应电池模式。开源且支持多种平台。

开发 蓝牙Mesh

函数即向量:线性代数的无限维扩展

2025-07-06

这篇文章探讨了将函数视为无限维向量这一概念,并展示了如何将线性代数的工具应用于图像处理、几何处理、曲线拟合、光线传输和机器学习等领域。文章从有限维向量空间的概念出发,逐步引入了无限维向量空间,并证明了函数构成了一个向量空间。随后,文章讨论了线性算子、微分、拉普拉斯算子等概念,并阐述了谱定理在函数空间中的应用,最终引出了傅里叶级数、图像压缩和球谐函数等应用案例。

240Hz显示器与低延迟鼠标:一个程序员的精确测量

2025-07-06

一位程序员发现自己对电脑延迟非常敏感,升级到240Hz显示器后体验有所改善。然而,无线鼠标的USB接口切换却引入了几秒钟内约10毫秒的延迟。为了精确测量这种延迟,他开发了一个名为found.as/l的工具,该工具可以显示浏览器渲染帧和指针移动之间的延迟,以及指针事件的批量处理和偏移。为了获取高精度计时器,他还需要修改xmit.toml文件添加CORS策略。最终,他证实了自己的观察结果,并决定避免使用有延迟的USB接口。

BreakerMachines:你的微服务架构的守护神

2025-07-06
BreakerMachines:你的微服务架构的守护神

在微服务架构盛行的时代,级联故障和重试风暴是开发者挥之不去的噩梦。BreakerMachines,一个基于Ruby的库,就像一位守护神,通过巧妙的电路断路器机制,保护你的系统免受这些灾难的侵袭。它利用battle-tested的state_machines gem,提供经典模式和Fiber模式,支持异步操作,并提供多种配置选项,让你能够根据服务的关键程度和流量大小,灵活调整断路器的阈值和超时时间。BreakerMachines不仅能有效防止级联故障,还能通过可视化仪表盘和智能告警,帮助你快速定位问题,提升系统的稳定性和可靠性。

AI黑客马拉松:零代码获胜的奇才

2025-07-06
AI黑客马拉松:零代码获胜的奇才

Collin Turcios,一位非科班出身、曾是职业游戏玩家的年轻人,凭借AI工具在黑客马拉松中技惊四座。他利用ChatGPT仅用简单的英文提示就生成了一个程序,将歌曲转换为低保真版本,并获得了第二名。这展现了AI在编程领域的巨大潜力,也打破了传统编程人才的界限,Turcios的故事也激励着更多人探索AI的可能性。

开发

纯CSS逻辑门实现:Chrome 137+的CSS if()函数实验

2025-07-06

这篇博文展示了如何使用Chrome 137+中实验性的CSS `if()`函数实现纯CSS逻辑门,包括AND、OR、NOT、XOR等基本逻辑门,以及更复杂的半加器、全加器和多路选择器。通过巧妙运用CSS变量和条件语句,作者成功地用CSS实现了这些通常由硬件或编程语言完成的功能,这为CSS在计算领域的应用开辟了新的可能性。

开发 if函数

让一切可测试:HashiCorp联合创始人Mitchell的GPU测试难题

2025-07-06
让一切可测试:HashiCorp联合创始人Mitchell的GPU测试难题

HashiCorp联合创始人Mitchell在开发其最新项目Ghostty(一款GPU渲染终端模拟器)时,遇到了一个棘手的难题:如何测试GPU渲染的代码?这篇文章总结了他在BugBash大会上分享的经验,探讨了如何让看似不可测试的代码变得可测试,并指出在AI时代,针对GPU渲染等复杂软件的测试方法仍然是一个有待解决的挑战。Mitchell的解决方案为我们提供了宝贵的经验,也体现了Antithesis公司在不断拓展测试边界上的努力。

开发 GPU测试

过度思考GIS:用拉普拉斯算子计算地形可用性

2025-07-06
过度思考GIS:用拉普拉斯算子计算地形可用性

作者尝试用一种新方法评估地形的可用性,即计算地形的坡度变化率。他利用USGS提供的DEM数据,通过OpenCV的拉普拉斯算子计算图像像素变化率,以此反映地形坡度变化。然后,使用滑动窗口计算区域平均值,并设置阈值,生成一个二元“可用性”地图,最终发现这实际上是一个复杂的降采样方法。

开发 地形分析

GitHub Copilot Chat 开源:AI 编程助手不再神秘

2025-07-06
GitHub Copilot Chat 开源:AI 编程助手不再神秘

微软将GitHub Copilot Chat扩展程序开源,这意味着这款AI编程助手的工作原理将完全透明。Copilot Chat能够理解代码库,帮助开发者清理函数、添加错误处理、解释逻辑块甚至重构整个文件。它还拥有“Agent模式”,可以自动编译、修复错误、监控测试输出等。虽然底层模型仍闭源,但开源的VS Code扩展允许开发者审计其工作方式、自定义行为甚至构建新工具,提升了AI工具的透明度和可信度。

开发

KDE Plasma 6.4.0 登陆 OpenBSD 包管理器

2025-07-06

KDE Plasma 6.4.0 现已正式登陆 OpenBSD 包管理器!这要归功于 Rafael Sadowski 等开发者的努力。值得注意的是,KDE Kwin 团队将 kwin 分裂成 kwin-x11 和 kwin (Wayland),标志着对 X11 支持的弱化,未来将更专注于 Wayland。此次更新还包含 Aurorae 主题引擎以及 6 月和 7 月的错误修复。

开发

Haskell函数式编程之旅:从逆波兰表示法计算器到Monadic Parsing

2025-07-06
Haskell函数式编程之旅:从逆波兰表示法计算器到Monadic Parsing

作者为了找工作,开启了一段学习Haskell函数式编程的旅程,并以此构建了一个逆波兰表示法(RPN)计算器。文章详细描述了从命令式编程到函数式编程的思维转变,涵盖了递归类型、lambda函数、curried函数等Haskell核心概念,并深入探讨了Monadic Parsing,最终实现了一个健壮的RPN解析器。作者强调了函数式编程的简洁性和可读性,以及Monad在处理复杂解析任务时的强大能力。

arXivLabs:与社区协作者共建arXiv新功能

2025-07-06
arXivLabs:与社区协作者共建arXiv新功能

arXivLabs是一个开放平台,允许个人和组织与arXiv合作开发和分享新的网站功能。该平台秉持开放、社区、卓越和用户数据隐私的价值观,只与认同这些价值观的合作伙伴合作。如果您有想法为arXiv社区增值,欢迎了解arXivLabs。

开发

量化交易中的延迟测量难题:从简单计时到系统级模拟

2025-07-06
量化交易中的延迟测量难题:从简单计时到系统级模拟

在低延迟量化交易中,毫秒甚至微秒的延迟都至关重要。本文探讨了如何准确测量算法交易系统的延迟。简单的计时方法存在局限性,例如无法捕捉网络IO等因素。作者提出了一种更全面的方法:使用模拟交易所和模拟ATS来模拟完整的交易流程,从而精确测量延迟。这篇文章深入浅出地解释了各种方法的优缺点,并指出了在追求极致性能时可能遇到的挑战。

开发 延迟测量

pgstream:优化PostgreSQL快照性能的秘诀

2025-07-06
pgstream:优化PostgreSQL快照性能的秘诀

开源CDC工具pgstream最新版本显著提升了PostgreSQL数据库快照性能。最初,写入路径成为瓶颈。通过采用批量导入(COPY FROM)和延迟索引创建,pgstream的快照速度现已超越pg_dump/pg_restore。此外,改进批量配置策略,使快照处理更稳定高效,更好地应对不同数据规模和表格结构。

开发

外包开发的惨痛教训:低价的代价

2025-07-06
外包开发的惨痛教训:低价的代价

一家公司将项目外包给海外团队,本想节省成本,却因沟通不畅和低质量代码引发一系列问题。低价的海外程序员未能有效解决SQL注入漏洞,甚至创造了一个基于名字的荒谬“安全”机制,导致系统随机报错。最终,内部团队不得不花费更多时间和精力修复错误,暴露了低价外包的巨大风险。这再次证明,高质量的开发并非单纯取决于价格,有效的沟通和技术能力才是关键。

开发

myNoise安卓应用历险记:从重建到上线的辛酸与喜悦

2025-07-06
myNoise安卓应用历险记:从重建到上线的辛酸与喜悦

myNoise团队历经一年艰辛,终于发布了全新安卓应用。文章详细讲述了Android开发的挑战:碎片化设备、应用商店的付费推广机制以及维护成本高昂。作者分享了从最初的iOS成功到Android应用的重建过程,以及团队成员的贡献。新应用上线后,虽然面临负面评价和财务压力,但作者对未来充满信心,并呼吁用户支持,为这个充满爱与挑战的项目助力。

开发

本地优先软件:重新掌控你的数据

2025-07-06
本地优先软件:重新掌控你的数据

云应用方便易用,但数据完全受制于服务提供商。本文探讨“本地优先”软件,它将数据存储在本地设备,并通过CRDT等技术实现实时协作,兼顾便利性和数据所有权。作者展示了三个原型应用,证明了本地优先软件的可行性,并指出了未来研究方向,包括改进CRDT性能、完善用户界面和探索去中心化网络等。

开发

用Go和SQLite打造的CGI服务器:每日处理2亿请求

2025-07-06
用Go和SQLite打造的CGI服务器:每日处理2亿请求

作者回顾了90年代CGI技术的辉煌,并通过一个Go和SQLite构建的CGI程序,在16线程AMD 3700X处理器上实现了每日处理超过2亿请求的惊人性能。这颠覆了作者长久以来对CGI低效的认知,并指出现代编程语言(如Go和Rust)以及更强大的硬件,使得CGI在多核CPU环境下具备了显著的优势,高效利用多核资源。虽然作者不建议普遍采用这种方式,但这项实验揭示了技术发展的有趣一面,以及对过去认知的重新审视。

开发

本地优先软件:无需扩展的规模优势

2025-07-05

Harper,一款本地优先的语法检查软件,因登上Hacker News首页而用户数暴增。然而,与依赖大型服务器的软件不同,Harper在设备端运行,无需担心服务器负载问题。即使用户数激增,也未出现任何卡顿或延迟。这凸显了本地优先软件在可扩展性方面的巨大优势,无需高昂的服务器维护成本和复杂的云架构。

NEC2:数值电磁计算的传奇代码

2025-07-05

这个网站汇集了关于NEC2(数值电磁代码,一种基于矩量法的电磁仿真软件)的文档和代码示例。NEC2由Jerry Burke和A. Poggio于1981年在劳伦斯利弗莫尔实验室为美国海军开发,现已公开发布。网站提供NEC2在Windows环境下的运行指南、教程、示例模型以及用户手册(HTML和PDF版本),涵盖程序描述和用户指南。此外,还提供BiQuad天线的构建细节和NEC仿真模型,以及指向NEC邮件列表和其它相关资源的链接。

Neon数据库的性能之争:没有免费的午餐

2025-07-05

最近,Planetscale CEO和X/Twitter社区对Neon数据库的性能褒贬不一。作者援引《火星救援》中的一段对话:一个系统可能在效率上不如另一个,但却在可扩展性上更胜一筹。这提醒我们,分布式系统设计中没有完美的方案,Neon和Planetscale各有优劣,适用于不同的场景。网络上的负面评价和争议虽然能吸引眼球,但却掩盖了这个事实:不存在放之四海而皆准的最佳解决方案。

开发

Codebuff 一年历程:从CLI编码工具到多智能体架构

2025-07-05
Codebuff 一年历程:从CLI编码工具到多智能体架构

Codebuff团队回顾了一年来构建最佳编码代理的历程。从最初的CLI工具原型到如今的多智能体架构,他们经历了快速发展,也遭遇了可靠性挑战。文章总结了经验教训,包括优先级设置、功能裁剪以及团队合作的重要性,并展望了编码代理的未来趋势,例如多智能体范式、实时学习和自主代码提交等。

开发

Commodore PET 的 BASIC 解码器:一个充满趣味的错误

2025-07-05
Commodore PET 的 BASIC 解码器:一个充满趣味的错误

这篇文章讲述了 Commodore PET 早期 BASIC 解码器中一个奇特的错误,该错误源于其对空格的处理方式。早期 BASIC 解码器会忽略关键字之间的空格,导致“LET THEN”被识别为“LETHEN”,从而引发语法错误。文章深入探讨了 BASIC 的标记化过程,解释了为什么忽略空格可以提高效率,并分析了 Commodore BASIC 1.0 的解码器代码,最终揭示了这个错误的根本原因以及在后续版本中的修复方法。

开发

Gecode:性能卓越的开源约束求解器

2025-07-05

Gecode是一个开源的C++约束求解器工具包,以其卓越的性能和模块化设计而闻名。它支持整数、布尔值、集合和浮点数等多种约束类型,并包含超过70个全局约束。Gecode不仅拥有先进的分支启发式算法和多种搜索引擎(包括并行搜索),还支持MiniZinc,并具有自动对称性破坏和重启机制等高级特性。其丰富的文档和超过5万个测试用例保证了其可靠性和易用性。在2008年到2012年的MiniZinc挑战赛中,Gecode更是包揽了所有金牌,展现了其强大的性能优势。

AI时代程序员的焦虑:代码不再是核心竞争力?

2025-07-05

随着AI编码工具的兴起,程序员的角色正在发生转变。作者以自身经历为例,讲述了从开发者到CTO的转变,以及随之而来的成就感下降。AI虽然提高了效率,但也降低了编程的挑战性和成就感,程序员将更多地扮演管理者角色,协调AI工具和团队成员。这引发了对未来程序员职业发展和行业人才需求的思考:程序员的价值将如何定义?如何保持持续的学习和技能提升,以应对AI时代的挑战?

开发

AI编码代理的秘密:没有秘密

2025-07-05

2024年,构建自主编码代理被认为需要复杂的内部技巧。但事实证明,只需一个更强大的基础模型就足够了。Claude Sonnet 3.7是目前的佼佼者,它并非最聪明的模型,但胜在能够坚持任务并做出更好的决策。如今,构建AI编码代理的门槛已大幅降低,开源方案非常优秀,甚至可以在GitHub Actions上免费运行Codex代理。市场竞争激烈,厂商需关注分发和训练更好的模型,才能脱颖而出。

PCIe 5.0对内容创作GPU性能的影响:带宽瓶颈的真相

2025-07-05
PCIe 5.0对内容创作GPU性能的影响:带宽瓶颈的真相

随着支持PCIe 5.0的显卡上市,带宽对内容创作应用性能的影响成为焦点。测试显示,在DaVinci Resolve中,PCIe 5.0 x16、x8和4.0 x16性能相当,但降低带宽至4.0 x4或更低则会显著降低性能。After Effects受影响较小,而Blender和Octane渲染则几乎不受影响。LLM测试结果显示带宽影响有限,但需考虑多GPU和系统内存协同工作的情况。总而言之,对于内容创作,在PCIe 5.0主板中,将GPU降至x8通常影响不大,但需警惕低端主板中4.0 x4的带宽限制。

开发 GPU性能

37岁程序员的十年磨剑:从零开始的计算机科学之旅

2025-07-05

一位37岁的老师,在拥有多年非线性职业生涯后,决定全身心投入计算机科学的学习。他并非编程小白,已具备一些网页开发经验,并成功搭建了个人网站。凭借对创造的热情和妻子的支持,他计划用十年时间系统学习计算机科学,目标是掌握API设计、数据库构建、操作系统、网络、驱动程序编写等技能,并开发一些应用,例如社区应用、流媒体设备和教育类应用,甚至自主创业。这并非为找工作,而是对知识的追求和自我挑战。

开发

Semcheck:用大型语言模型验证代码规范

2025-07-05
Semcheck:用大型语言模型验证代码规范

Semcheck 是一款利用大型语言模型(LLM)来验证代码实现是否符合规范的工具。你只需定义语义规则来描述代码应该如何与规范对齐,Semcheck 就会自动进行比较。它可以作为提交或合并代码前的最终检查。Semcheck 支持多种 LLM 提供商,包括 OpenAI、Anthropic 等,也支持本地模型和远程规范文件。它易于设置,并提供丰富的命令行选项,方便集成到 CI/CD 流程中,甚至可以自检其自身规范。

开发

SIMD 函数:编译器自动向量化的利与弊

2025-07-05
SIMD 函数:编译器自动向量化的利与弊

本文深入探讨了 SIMD 函数在编译器自动向量化中的作用。SIMD 函数可以一次处理多个数据,从而提升性能。然而,编译器对 SIMD 函数的支持参差不齐,且生成的向量化代码效率有时并不理想。文章详细介绍了声明和定义 SIMD 函数的方法,包括使用 OpenMP pragma 和自定义编译器属性,并分析了不同参数类型(variable、uniform、linear)对向量化效率的影响。此外,文章还讲解了如何使用 intrinsics 提供自定义的向量化实现,以及处理函数内联和编译器 quirks 的方法。总而言之,虽然 SIMD 函数具有提升性能的潜力,但在实际应用中仍面临诸多挑战。

开发
1 2 46 47 48 50 52 53 54 213 214