数学问题正在枯竭?

2024-07-16

文章指出,虽然数学领域仍存在未解决的难题,但真正引起多数人兴趣的新问题正在减少。作者认为,现代数学研究过于专业化和抽象化,导致研究成果仅限于少数人的兴趣范围,这引发了对数学研究经费投入的质疑。作者呼吁数学界应转变方向,注重简化现有知识体系,鼓励研究生致力于简化和阐释过去重要但复杂的数学成果,而非一味追求发表新论文。

阅读更多
43
未分类 专业化

Lisp 的诅咒如何影响你的企业

2024-07-11

文章探讨了编程语言设计中的“Lisp诅咒”,即Lisp语言易于从头编写库,导致过度依赖内部代码,缺乏外部依赖带来的好处,如错误修复和功能扩展。文章指出,这种现象也存在于企业中,被称为“非我所创”综合症,即企业倾向于重复造轮子,而不是利用外部资源。作者认为,在设计系统时,需要平衡易用性和最终结果,并就如何避免“非我所创”综合症征求意见。

阅读更多
43
未分类

C++ 中的编译时 JSON 反序列化

2024-07-09

本文介绍如何在 C++ 中实现编译时 JSON 反序列化。作者首先介绍了 Wolfram Language 中强大的模式匹配机制,并将其与 C++ 中的模板特化进行类比。文章详细阐述了如何利用 C++ 的模板特化和 constexpr 特性,逐步构建起能够处理基本类型、数组、对象和可空类型的 JSON 解析器。作者还解决了一些实现过程中的难点,例如如何使 `consumeFromJSON` 函数变为纯函数以及如何处理 `std::vector` 在编译时的内存分配问题。最终,作者成功地展示了一个完整的、可以在编译时解析 JSON 的 C++ 库。

阅读更多
39
未分类 编译时

我如何学会与糟糕的记忆力共处

2024-07-09

本文作者分享了自己如何应对记忆力差的问题。作者的记忆力很差,甚至不记得很多重要的人生时刻。作者认为这可能是早期创伤、注意力缺陷、纤维肌痛等原因造成的。为了应对这个问题,作者使用了一些方法,例如子弹笔记和个人日记等。

阅读更多
40
未分类 生活技巧

智能手表的逆向工程

2024-07-05

本文介绍了作者逆向工程一款智能手表的全过程。首先,作者对这款智能手表的外观和电路进行了初步观察,并确定了主控芯片和其他关键部件。然后,作者利用手表充电接口上的SWDIO和SWCLK引脚,成功读取并分析了手表的固件。通过Ghidra逆向工具,作者找到了存储服务器IP地址和端口号的内存地址,并编写脚本修改了固件,使其将数据发送到作者控制的服务器。最终,作者成功地重刷了固件,实现了对智能手表功能的重定义。

阅读更多
49
未分类

大型语言模型真的无法推理吗?一种解决“爱丽丝梦游仙境”问题的新方法

2024-07-02

文章指出,大型语言模型(LLM)在逻辑推理方面存在缺陷,并介绍了一种名为“先扩展后解决”的新方法来改善这一问题。作者通过“爱丽丝梦游仙境”问题测试了GPT-4,发现该方法能显著提高LLM的推理能力,但成功率仍低于50%。文章最后总结,虽然LLM在逻辑推理方面仍有局限性,但新方法为未来的研究提供了方向。

阅读更多
43
未分类

Go语言中常见的7个接口错误

2024-06-27

本文列举了Go语言中常见的7个接口错误,包括接口污染、接口方法过多、非行为驱动接口、在生产端定义接口、返回接口类型、为测试创建接口以及不验证接口一致性等问题,并针对每种错误给出了相应的解决方案和代码示例,强调了在Go语言中,接口应该简洁、行为驱动,并遵循接口隔离原则。

阅读更多
45
未分类 接口

一位艺术家坚持十年自写博客引擎的感悟

2024-06-21

本文讲述了作者作为一名艺术家,在过去十年中坚持自写博客引擎的经历和感悟。作者从最初使用Wordpress的挫折,到尝试各种编程语言和框架,最终找到了适合自己的Elixir语言和自研CMS系统Kali。作者认为,艺术创作应该驱动技术发展,而不是反过来。

阅读更多
44
未分类

复杂性会填满它所拥有的空间

2024-06-18

这篇文章探讨了软件开发过程中过度压力如何导致不良设计,并引入了一个观点:复杂性会填满它所拥有的空间。作者通过代码、团队和组织架构等方面的例子,阐述了如何避免不必要的复杂性,并强调理解问题核心、避免过度设计的重要性,最终实现简洁高效的软件开发。

阅读更多
44
未分类

为什么我还没有准备好从 Rust 转向 Zig

2024-06-14

作者分享了使用 C、C++、Rust 和 Zig 的编程经验,并解释了为什么目前不会从 Rust 转向 Zig。作者认为 C 语言底层、高效,但容易出错;C++ 虽然有所改进,但仍有 C 语言的安全性问题;Rust 的内存安全和复杂性吸引了他,但学习曲线陡峭;Zig 语法简洁,但 comptime 机制、内存泄漏问题以及生态系统的不完善让他无法完全转向 Zig。

阅读更多
43
未分类

自学者时代来临

2024-06-09

过去,像作者一样集视觉艺术家、数字营销人员、网络开发人员、作家和讲故事者于一身的人会被认为“不务正业”,如今,这样的人却成了香饽饽。随着科技发展和社会需求变化,企业越来越看重员工的灵活性、创造力、学习热情和快速适应能力,自学者时代已经来临。自学者不仅能够自主学习,更重要的是拥有强大的自学信念,他们不盲从权威,相信条条大路通罗马,并能从失败中不断学习。文章鼓励读者拥抱变化,相信自己学习新技能的能力。

阅读更多
46
未分类 自学者

如何编写真正内存安全的JIT编译器

2024-06-07

这篇文章介绍了GraalVM的JavaScript引擎GraalJS如何通过Truffle语言框架实现内存安全。Truffle允许开发者用Java编写解释器,然后利用部分求值技术将解释器自动转换为优化的机器代码,保证了解释器和编译代码之间的一致性,从而避免了许多内存安全问题。文章还介绍了Truffle的其他优势,如调试、语言互操作性、性能分析等。

阅读更多
49
未分类 JIT编译器

树莓派实现TDOA声音定位

2024-05-27

本文介绍了如何使用树莓派实现TDOA声音定位。作者详细解释了TDOA的原理,并使用自己开发的“StalkedByTheState Autonomous Recording Unit”项目作为例子进行说明。文章详细介绍了如何使用多个树莓派录音单元,通过分析声音到达每个单元的时间差来确定声源位置,并提供了使用Raven Lite软件分析音频文件和使用自定义脚本进行定位计算的详细步骤。

阅读更多
49
未分类 声音定位 TDOA

重新思考网页上的文本大小调整

2024-05-20

Airbnb 通过采用 rem 单位和自动化转换流程,成功地改善了网页的文本大小调整功能,提升了视障用户的可访问性。文章详细介绍了浏览器缩放的局限性,rem 单位相对于 px 和 em 单位的优势,以及 Airbnb 如何在其 React-with-Styles 和 Linaria 样式系统中实现 rem 单位转换的自动化。此外,文章还强调了在 Mobile Safari 上支持字体缩放的挑战以及最终取得的成果,包括减少了80%以上的文本大小调整问题。

阅读更多
55

Pinterest宣布弃用HBase

2024-05-15

Pinterest宣布弃用HBase,这是一个始于2013年的NoSQL数据存储。Pinterest曾是全球最大的HBase生产部署者之一,拥有约50个集群、9000个AWS EC2实例和超过6 PB的数据。Pinterest决定弃用HBase的原因包括高昂的维护成本、缺少的功能、高系统复杂性、高昂的基础设施成本以及行业使用率和社区支持的下降。为了替代HBase,Pinterest选择采用TiDB,这是一个分布式NewSQL数据库。

阅读更多
59
未分类 HBase TiDB

Dart 3.4发布,支持WebAssembly和宏

2024-05-14

Dart 3.4版本正式发布,该版本支持WebAssembly,可用于Flutter Web应用程序。此外,Dart 3.4还引入了宏的概念,这是一种元编程解决方案,可用于代码生成,例如简化JSON数据的序列化和反序列化。文章介绍了名为JsonCodable的新宏,它可以自动生成toJson()和fromJson()方法,从而简化开发人员的工作。未来,Dart团队计划允许社区创建自己的宏,以进一步提高Dart编程的抽象级别。

阅读更多
69
未分类

绘图仪编程基础

2024-05-14

本文介绍了如何高效地编程控制绘图仪进行绘图。文章详细讲解了如何优化绘图路径、连接路径、简化路径等技巧,并介绍了使用Python库xy和axi控制Makeblock XY和AxiDraw绘图仪的方法。

阅读更多
57
未分类 绘图仪

在应用程序开发中使用纸质笔记本的艺术

2024-05-13

文章探讨了在应用程序开发过程中使用纸质笔记本的优势,作者认为,尽管现代IDE和代码编辑器功能强大,但纸质笔记本的简约性有助于开发者专注于代码的核心逻辑,避免被辅助功能分散注意力。作者还指出,纸质笔记本的限制可以促进开发者对编程基础知识的掌握,并激发创造力。此外,纸质笔记本还可以作为开发过程的纪念品,记录下开发者的思路和突破。

阅读更多
46
未分类 纸质笔记本

用记事本开发应用程序的艺术

2024-05-06

在 IDE、云平台和代码编辑器盛行的时代,用记事本开发应用程序看似不合时宜,但它能让人专注于代码核心,简化问题解决思路。记事本的局限性迫使开发者依靠自身知识和技能,加深对编程语言的理解。虽然缺乏 IDE 的便利,但记事本鼓励更严谨的测试和调试方法,有助于提升开发者的全面能力。记事本还能激发创造力,鼓励非常规方法和创新解决方案。另外,手写代码可以触发不同于键盘输入的认知过程,带来意想不到的突破。

阅读更多
45

个人计算机操作系统的五十年历史

2024-05-03

本文回顾了个人计算机操作系统从 20 世纪 60 年代到现在的五十年发展历程。它讨论了操作系统技术和用户界面演变的关键阶段,重点介绍了从 CP/M 到 DOS、Windows、Macintosh、Unix 及其衍生版本等开创性操作系统的贡献。文章还探讨了操作系统未来发展趋势,例如基于云计算和人工智能的系统。

阅读更多
43
未分类 技术演进

游标分页的替代方案

2024-05-01

该网站提供了一个游标分页的替代方案。游标分页是一种跟踪用户在数据集中的位置的技术,它可以避免在数据集中来回移动指针以获取新数据时出现延迟。替代方案使用一个基数和一个限制,使每次请求都可以更有效地获取数据。

阅读更多
44
未分类 分页 数据库 游标

Fine tune LLAMA3 on million scale dataset in consumer GPU using QLora, Deepspeed | by Suman | Apr, 2024 | Medium

2024-04-25

本文讨论了如何使用QLORA和DeepSpeed在消费级GPU上对LLaMA3进行微调。具体而言,它提供了详细的步骤和提示,帮助读者理解微调LLaMA3所需的任务和技术。本文还强调了在资源受限的系统上对大规模语言模型进行微调的重要性,并为在类似环境中进行微调的其他人提供了有价值的见解。

阅读更多
47
未分类

Exploring Indra’s Pearls with WebGPU | by Nicolas Belmonte | Apr, 2024 | Medium

2024-04-21

这篇文章探讨了使用WebGPU技术探索印度拉珍珠的问题。印度拉珍珠是一种自然发生的现象,由一系列同心圆组成,这些圆圈以一个更大的圆圈为中心。研究人员使用WebGPU在浏览器中创建了一个交互式可视化工具,以探索不同参数对印度拉珍珠的影响。这个工具允许用户修改圆圈的数量、半径和颜色,以及观察结果的变化。该研究展示了WebGPU在创建交互式科学可视化方面的潜力。

阅读更多
43
未分类
2