分类: 开发

学术出版中的匿名性:维基百科编辑与AMS期刊的冲突

2024-12-27

一篇关于维基百科数学编辑的论文引发了学术出版中匿名性的讨论。论文作者之一使用维基百科匿名用户名“XOR’easter”,但美国数学学会(AMS)拒绝发表该论文,原因是他们不知道该匿名的真实身份。这突显了互联网匿名性和学术界传统出版模式之间的冲突,以及学术界对匿名发表的接受度问题。作者认为维基百科的匿名政策是为了保护编辑者,而学术界需要重新思考匿名发表的意义。

开发 匿名性

NeatShift:一款现代化的Windows文件组织工具

2024-12-27
NeatShift:一款现代化的Windows文件组织工具

NeatShift是一款适用于Windows系统的现代化文件组织工具,它利用符号链接技术,帮助用户安全高效地整理文件和文件夹,无需担心文件访问问题。软件拥有简洁的界面、拖放功能、链接管理以及错误预防机制,并支持深浅模式切换。安装方便,无需额外依赖,只需下载运行即可。虽然目前仍处于测试阶段,但开发团队已采取了自动创建系统还原点的安全措施,并强烈建议用户备份数据。

程序解码卡罗尔密码术

2024-12-27

本文探讨了刘易斯·卡罗尔(查尔斯·达特森的笔名)设计的一种用于记忆数字的密码技术——Memoria Technica。该密码将辅音映射到数字,元音和标点符号被忽略。文章描述了该密码的原理,提供了在线编码和解码工具,并讨论了其在隐写术中的应用潜力。作者还详细介绍了使用TypeScript实现该算法的过程,以及优化算法效率的经验。通过例子说明了编码和解码过程,并分析了该密码在隐写术中的优缺点以及潜在的弱点,例如字符频率与数字频率的不匹配。

开发

DivestOS移动版十年征程终结:开发者宣布停止更新

2024-12-27

DivestOS,一个致力于隐私保护的移动操作系统,在其十周年之际宣布停止更新。该项目历经7000多次代码提交,取得了显著成就,但由于可持续性问题,开发者Tavi决定结束项目维护。DivestOS及其应用将不再接收更新,Hypatia和Carrion数据库也将停止更新。非移动端Divested项目将继续维护。感谢所有用户、贡献者和捐赠者的支持。

ClickHouse数据库迁移工具Houseplant发布

2024-12-27

Houseplant是一个命令行工具,简化了ClickHouse数据库的迁移管理。它允许开发者使用YAML格式编写迁移文件,方便阅读和维护。通过简单的命令,例如`houseplant init`, `houseplant generate`, `houseplant migrate`,开发者可以初始化项目、生成迁移文件、执行和回滚迁移。Houseplant支持不同环境的配置,并提供直观的命令行界面,方便管理ClickHouse的Schema变更。

开发 Houseplant

WordPress联合创始人圣诞节玩笑引发社区争议

2024-12-27
WordPress联合创始人圣诞节玩笑引发社区争议

WordPress联合创始人Matt Mullenweg在圣诞节前夕的Reddit帖文中,提议为2025年制造一些“戏剧性事件”,例如更改WordPress版本命名方式或设计,此举引发了社区强烈反弹。许多人认为此举不尊重社区,并呼吁他停止此类行为,专注于解决当前的法律纠纷和社区稳定问题。Mullenweg回应称,他只是想激发创意,并暗示了Gutenberg的未来发展。这场争议反映出WordPress社区内部对领导力和未来发展方向的担忧。

程序员的职场教训:抱怨要附带提案

2024-12-27
程序员的职场教训:抱怨要附带提案

1988年苹果公司,年轻气盛的工程师Kent Beck因邮件抱怨公司决策而被上司Jean-Louis Gassée叫去谈话。Gassée并没有大发雷霆,而是让他设身处地思考自己的处境,并要求他重写邮件,附上解决问题的提案。这次经历让Beck明白三个重要教训:问题没那么严重;抱怨要附带解决方案;沟通要站在对方的角度思考。这篇文章以一个生动的故事,阐述了有效的职场沟通技巧,并强调了同理心的重要性。

GitHub 仓库可视化神器:GitDiagram

2024-12-27
GitHub 仓库可视化神器:GitDiagram

GitDiagram 是一款强大的工具,可以将任何 GitHub 仓库转换为交互式图表,方便快速直观地了解项目结构。只需将 GitHub URL 中的 'hub' 替换为 'diagram',即可生成图表。该工具支持多种流行框架,例如 FastAPI、Streamlit 和 Flask,方便开发者快速上手使用。

开发

不变式:计算与应用研究取得新进展

2024-12-27
不变式:计算与应用研究取得新进展

一篇发表在ISSAC 2023会议论文集上的教程文章探讨了不变式在数学中的计算和应用。文章重点关注微分和代数不变式理论之间的相互作用,介绍了一种基于微分几何中移动框架方法的代数改编算法,用于计算有理不变式的生成集,并讨论了微分不变式签名在解决几何和代数中等价问题的角色以及基于此概念的算法设计中面临的挑战。

开发 不变式

Arcan操作系统:颠覆传统的设计理念

2024-12-27
Arcan操作系统:颠覆传统的设计理念

Arcan是一个单用户、面向用户的网络叠加操作系统,其核心目标是赋予用户对计算设备的自主控制权。它不依赖于Linux或BSD内核,而是作为一个“游侠”,可以在各种生态系统中运行。Arcan通过共享内存接口(SHMIF)和A12网络协议实现高效的进程间通信,并利用“frameserver”进行安全敏感任务的隔离。其可编程接口ALT和应用模型Appl,以及多种用户界面(如Console、Durden、Safespaces)共同构成了一个灵活强大的系统,旨在对抗大型平台的网络锁定和安全威胁,并提升用户的自主性和安全性。

开发 自主性

Web3从业者自白:我几乎不用Web3

2024-12-27
Web3从业者自白:我几乎不用Web3

一位自2018年起从事Web3行业的人员坦言几乎不使用加密货币,并指出行业发展停滞不前。他认为,尽管投入巨资,但Web3产品未能满足非加密圈用户的需求,大部分产品只带来了价格波动和网络娱乐。作者反思了行业过度关注开发者工具而非消费者产品的问题,并指出传统金融体系的不足之处,如高昂费用和低效流程,却没有促使人们广泛使用加密货币。他个人因财务合规、钱包管理等问题,以及对时间和风险的考量,选择将投资集中在更易管理的渠道,认为Web3可能更适合下一代人。

开发 行业发展

GitHub项目:每日荷兰语词汇邮件自动化

2024-12-27
GitHub项目:每日荷兰语词汇邮件自动化

这个GitHub项目自动化发送每日邮件,包含三个C1级别荷兰语单词、英文翻译和例句。作者因找不到合适的学习工具而创建该项目,利用ChatGPT生成词汇,并通过AWS服务(包括Lambda、DynamoDB、SES等)实现自动化。项目架构简洁,但具备一定的可扩展性,例如可以改进Python代码以提升性能。

Rust语言实现SM-2算法:改进的间隔重复学习

2024-12-27

作者基于对间隔重复学习软件Mochi使用的SM-2算法改进版的理解,用Rust语言实现了该算法。该算法的核心在于根据卡片的记忆效果(通过用户评分确定)动态调整复习间隔,以优化学习效率。文章详细介绍了算法的原理,包括易化因子EF的计算、复习间隔的确定以及用户评分对算法参数的影响。作者还给出了Rust代码实现,并解释了代码中关键部分的设计思路。

开发 SM-2算法

优秀工程师与普通工程师的差距究竟在哪里?

2024-12-27

文章探讨了优秀工程师和普通工程师之间的能力差异。优秀工程师能够完成普通工程师无法完成的任务,例如解决复杂的bug、改进遗留代码以及进行重大的架构调整。而能力较弱的工程师,即使有充足的时间,也难以胜任这些任务。文章指出,优秀工程师并非只是效率高,而是拥有解决复杂问题的能力,而能力较弱的工程师则几乎无法完成任何工程任务。文章还对如何与能力较弱的资深工程师合作提出了建议,强调要友善但也要保护自己的时间,避免被过度消耗。

网页版交换图编辑器Quiver:让数学绘图更便捷

2024-12-27
网页版交换图编辑器Quiver:让数学绘图更便捷

Quiver是一款现代化的网页版交换图编辑器,它能让你快速创建复杂的交换图,并以高质量的格式呈现,甚至能导出LaTeX代码。无论是拉回、推前、伴随还是高阶单元,Quiver都能轻松应对。其直观的界面和丰富的功能,例如多选、历史记录、自定义宏等,都大幅提高了绘图效率。Quiver支持多种输入方式,可通过鼠标或键盘操作,并提供HTML嵌入式图表导出功能,方便分享和协作。

开发 交换图

GitHub Pages静态网站生成器SkunkHTML上线

2024-12-27
GitHub Pages静态网站生成器SkunkHTML上线

SkunkHTML是一个基于GitHub Actions的静态网站生成器,它允许用户使用Markdown文件快速搭建个人博客或网站,并自动部署到GitHub Pages。只需将Markdown文件上传到`/markdown-blog/`文件夹,GitHub Actions将自动触发构建流程,将Markdown转换为HTML,并更新GitHub Pages。SkunkHTML支持Giscus评论系统,并提供详细的文档和示例。项目完全开源,用户可直接在GitHub上fork使用,无需本地下载。

开发

T2 SDE:一款支持跨平台构建的低代码系统开发环境

2024-12-26

T2 SDE是一个低代码、超便携的软件包管理器和Linux发行版,支持对自定义操作系统进行全自动、可重复的交叉编译。它支持几乎所有主流的CPU架构、C库、GUI系统和桌面环境,以及无数的专用和嵌入式固件包。最新的T2 24.12版本增加了对更多架构的支持,并包含了LibreOffice、OpenJDK和Qemu等软件,甚至还包括一个基于Rust的全新桌面环境Cosmic Desktop。T2致力于支持各种架构,包括一些旧的和冷门的架构,例如IA-64 Itanium,并持续改进,提供完整的磁盘加密和LVM支持,提升用户体验。

C语言编写简易Unix Shell教程详解

2024-12-26
C语言编写简易Unix Shell教程详解

本文详细介绍了如何用C语言编写一个简单的Unix Shell,名为lsh。教程循序渐进地讲解了Shell的三个生命周期阶段:初始化、解释和终止。重点阐述了读取命令行、解析参数、执行命令以及处理内置命令(如cd、help、exit)的具体实现方法,包括fork()、exec()等系统调用的使用。作者强调了动态内存分配的重要性,并对getline()函数的使用进行了说明。文章最后还列举了Shell的不足之处及未来改进方向,适合有一定C语言基础的读者学习参考。

开发 Unix Shell

亚像素距离变换:WebGPU高质量字体渲染的突破

2024-12-26

本文深入探讨了在WebGPU环境下实现高质量字体渲染的挑战与解决方案。作者针对现有Signed Distance Fields (SDFs)生成方法的不足,提出了一种新颖的亚像素精确距离变换算法(ESDT)。ESDT巧妙地结合了CPU和GPU的优势,通过改进的欧几里得距离变换算法,有效解决了传统方法在处理亚像素精度和灰度像素时出现的偏差问题,最终实现了对包括表情符号在内的各种字体的精准渲染,显著提升了字体渲染的质量。

自制虚拟机:从零编写可运行汇编程序的虚拟机

2024-12-26

本教程引导你从零开始编写一个虚拟机 (VM),该虚拟机能够运行汇编语言程序,例如2048游戏或Roguelike游戏。通过这个项目,即使你已经会编程,也能更深入地理解计算机内部工作原理以及编程语言的运作方式。教程涵盖了虚拟机的基本概念、LC-3架构、指令集、陷阱例程以及程序加载等方面,并提供了详细的代码示例和解释。最终代码约250行C语言代码,适合具备基础C/C++编程知识的读者学习。

开发 LC-3

Arcan 0.7发布:全番茄桌面系统迎来重大更新

2024-12-26
Arcan 0.7发布:全番茄桌面系统迎来重大更新

Arcan 0.7版本发布标志着“桌面上的无政府状态”项目第二阶段的结束和最终阶段的开始。此版本主要修复了各种问题,并对Lash#Cat9和Xarcan进行了改进。Lash#Cat9是一个基于Lua的命令行环境,增加了调试适配器协议实现和交互式电子表格等功能。Xarcan则允许自定义窗口管理器,并将Arcan作为显示驱动程序,实现与X服务器的互操作。Arcan 0.7致力于提升性能和安全性,并计划在未来版本中实现更灵活的远程编程和更简单的设备连接方式。

开发 Arcan

Lua编程语言:被低估的潜力

2024-12-26
Lua编程语言:被低估的潜力

Lua,这门诞生于1993年的嵌入式脚本语言,因其简洁高效的设计和强大的嵌入能力而备受赞誉,却长期处于被低估的状态。文章作者深入探讨了Lua的优点:易于学习和掌握、优秀的C API、多范式支持、极高的嵌入性等。尽管Lua在游戏和嵌入式系统领域应用广泛,但其在索引约定(从1开始但并非强制)、错误处理机制以及nil终止数组等方面也存在一些特性,需要开发者注意。总而言之,Lua 是一门值得更多开发者关注和尝试的优秀语言,其高效性在诸如Neovim插件等应用中已得到充分体现。

开发

Rust库升级难题:巧妙规避版本冲突

2024-12-26
Rust库升级难题:巧妙规避版本冲突

在Rust生态系统中,库的升级常常引发级联反应,造成巨大困扰。文章介绍了一种名为“semver trick”的技巧,通过让一个库依赖于自身未来的版本,巧妙地解决了在不改变常用API的情况下,升级较少使用的API而避免大规模协调升级的问题。这种方法尤其适用于避免因单个库的破坏性变更而导致整个依赖链都需要升级的场景,从而大大简化了升级过程。

极简ELF文件:去除复杂性,直击本质

2024-12-26

本文讲述了作者如何一步步简化一个简单的Linux程序,最终创建一个极简的ELF文件。作者从一个简单的“Hello World”程序出发,逐步去除标准库、现代安全特性、调试信息和错误处理机制等复杂性。过程中,作者深入探讨了ELF文件的结构、符号表、段以及链接脚本的作用,并用汇编语言直接操作系统调用来实现程序功能。最终,作者创建了一个自定义链接脚本,将代码段、数据段等分别加载到指定的内存地址,展示了ELF文件构建的灵活性和底层细节。

开发 链接脚本

Python subprocess 默认行为更改:提升性能,兼顾安全

2024-12-26

Python 的 subprocess 模块默认关闭所有文件描述符的行为将发生改变。此举旨在提升性能,特别是当文件描述符数量巨大时,避免因逐个关闭描述符导致的性能瓶颈。然而,更改默认行为也可能带来安全风险,因此建议开发者根据实际情况选择 `close_fds` 参数,并采取相应的安全措施,例如确保所有文件描述符都标记为不可继承。此次变更充分考虑了性能和安全之间的平衡,旨在为开发者提供更灵活高效的子进程管理方案。

开发 subprocess

WebGPU光线追踪引擎开源:基于glTF场景的实时渲染

2024-12-26
WebGPU光线追踪引擎开源:基于glTF场景的实时渲染

一个名为webgpu-raytracer的开源项目利用WebGPU API开发了一个软件光线追踪引擎。它支持glTF格式的场景文件,并能渲染具有漫反射、法线贴图和材质贴图的材质。该引擎使用BVH加速光线场景相交,并采用多重重要性采样技术提高渲染效率。目前该项目已支持环境贴图,并能通过简单的键盘鼠标操作控制摄像机视角,但暂不支持折射效果。

开发 glTF

Debian的Rust依赖项处理方法引争议

2024-12-26

Debian长期以来一直努力整合Rust,但其依赖项处理方法却成为焦点。作者Ian Jackson指出,严格遵循Rust的语义版本控制(semver)在Debian的包依赖中是不可行的。Debian和Rust的依赖管理语义存在根本差异,直接转换Rust的版本依赖会导致大量的手动工作。作者提出了一种激进的方案:Debian不应精确遵循上游Rust semver 依赖信息,而应乐观地尝试各种包组合,让自动化QA发现并修复破坏。这种方法虽然违反semver,但作者认为Rust社区对API安全性和变更通知的重视,以及Debian的QA机制,可以有效降低风险。该方案旨在提高Debian Rust包的更新效率,但也可能导致某些依赖组合失效。

开发

ChatGPT对话保存神器来袭

2024-12-26
ChatGPT对话保存神器来袭

还在为ChatGPT漫长的聊天记录中寻找重要对话而烦恼吗?ChatGPT Saved Chats浏览器扩展程序闪亮登场!它允许你一键保存和组织重要的ChatGPT对话,再也不用在无尽的聊天记录中苦苦寻找了。只需将鼠标悬停在任何聊天记录上,点击保存图标即可轻松保存。所有保存的对话都存储在本地,保护你的隐私。

开发 对话保存

GitHub开源项目Thruster:简化Rails应用部署的HTTP/2代理

2024-12-26
GitHub开源项目Thruster:简化Rails应用部署的HTTP/2代理

Thruster是一个用于简化Rails应用生产环境部署的HTTP/2代理,它与Puma web服务器协同工作,提供HTTP/2支持、Let's Encrypt自动TLS证书管理、基本HTTP缓存以及X-Sendfile支持和压缩等功能,旨在实现零配置。只需设置TLS_DOMAIN环境变量即可启用TLS,否则将以HTTP模式运行。Thruster还能包装Puma进程,方便容器化环境下的部署。该项目最初为ONCE项目创建,现已广泛用于其他Rails应用的简单部署。

开发
1 2 199 200 201 203 205 206 207 213 214