Telegram Group Search
#纪录片
何以中国》(B站宣传片),偏考古向的纪录片,讲述史前到秦代文明的历史,追溯中华文明的根基、发源与早期形成和发展。由于这段历史很多部分是没有文字记载的,所以辅之以相应的考古发现,加上拟人化的场景还原。文本台词、摄影都很棒,制作很精美的历史纪录片,我感觉不输以前看过的《河西走廊》。
另外,夏朝的部分一笔带过,看来目前为止的考古发现还没有找到夏朝真实存在过的强有力证据。
#人工智能
AI infra:人工智能基础设施行业全景图。该网站汇集了人工智能领域的基础设施设计,将相关公司和产品归类为6大主要类别:
1.Application Development
2.Orchestration
3.Data Management
4.Runtime
5.Foundation Model
6.Hardware & Cloud
#独立开发
indie-hacker-tools:收录独立开发者出海技术栈和工具。对应的导航站点 :chuhai.tools

收录标准:
帮助独立开发者提升开发效率
帮助独立开发者降低成本
市场上足够流行
#方法论
现在特别喜欢工作里遇到不懂的问题,这意味着我当前的知识和问题之间,存在不少的gap点,我是这样“递归”来解决遇到的问题的:

1. 把遇到的问题一个个写下来,形成一个“问题列表”(list of problem),对问题的描述越具体越好;
2. 遍历第一步形成的“问题列表”,逐个解决。过程中记录、整理下来当前知识到解决这个问题之间,需要新增的知识点;
3. 第2步解决问题时如果同样遇到了问题,同样按照第一步的流程,把解决这个问题时遇到的子问题添加到“问题列表”里;
4. 重复以上三步,直到清空“问题列表”中的所有问题。

(附图中是这个流程的伪代码,但是不够准确,修改后的伪代码见评论)

四步下来之后,基本就完成了当前知识到问题之间,所有问题点的清理,以及新增知识点的整理。

知识点整理,需要落到具体的(文件)存储中,而不能仅仅局限于自己脑子里的“内存记忆”,而落到存储中需要有以下的要求:
* 条理化、结构化;
* 如果有可能,尽量增加图形化描述;
* 时常回顾,确保每次回顾都能看懂以前的表述,如果没有就修改或者润色。

整个流程的重点是:
* 把大的问题,划分成一个个的子问题,划分的标准是:是否能够解决这个子问题,如果不能就接着划分,让大的不能直接解决的问题“越具体越好”。
* 解决问题的过程中,把缺失的知识点整理补上,这样以后遇到类似的问题就能直接解决了。将原有的知识和新增的知识连接起来。
#开源项目
去年Cloudflare在其官方博客介绍了使用Rust重写的代理层Pingora,如今这个项目开源了。不过跟我预想的有点不一样,看起来这个项目是一个库(library),而不是类似Nginx那样的独立二进制文件。

C\C++过往在互联网领域的主要阵地,就是写基础设施类(infrastructure)的软件,比如数据库、网关等类型的项目,互联网时代成长起来的经典基础软件Nginx、Redis都是这样的作品。我也曾经用C\C++写过多年基础设施,丝毫不怀疑这块阵地后面会更多被Rust侵蚀,尤其是新开的项目,会再选择用C\C++的会更少了。
#人工智能
#开源项目
#播客
可能吧”博主阿禅是一位知名的中文博客和公众号作者和互联网创业者,去年他依靠ChatGPT,在只有不多的程序设计经验基础上开发了ipcheck这个产品,项目代码在GitHub开源,还曾经登上了热榜。

播客:《一年,用ChatGPT,阿禅从离职躺平到登上Github全球热榜
文章:《那么,我是如何使用 ChatGPT 的?
Github:MyIP

这是我目前为止看到为数不多的:利用新一代的人工智能工具,成功跨界开发落地产品的案例。
#开源项目
ioredis是一款流行的NodeJS Redis客户端,前段时间被redis官方收购,github项目地址也从原先的github.com/luin/ioredis改成了https://github.com/redis/ioredis。

附图是作者在2年前在微博上庆祝自己写了七年的redis客户端成为Node.js 最流行的 Redis 客户端。换言之,从项目开始到被收购,前前后后有九年的时间,无心摘花却收获了丰厚的果实。

我最开始知道这位作者,也是因为一篇redis 客户端相关的文章《写一个开源的 macOS 程序可以赚多少钱?》。
#开源项目
telegram的Mac原生版本的客户端,更新地非常频繁,在多次更新之后,不再在Channel的统计信息里显示被分享到其它公开频道的次数及频道信息。

还好telegram还有另一款开源的QT编写的客户端,这里面保留了这些统计信息。对比起原生客户端,UI体验稍微差一点,但是也可以忍受了。
#方法论

“每个人都处于社会网络之中,能提供价值的人相当于网络中的节点,越能为这个网络提供价值的人越是强节点。

作为个人高效的做法应该是打造自己独特的价值,输出一套利他,互惠,稳定可预期的反馈秩序,用于快速筛选连接对象。

基于以上秩序应当要做的是:
1.主动适当利他,创造连接机会。
2.对轻易食言的人,快速过滤掉,他要么本性如此要么没尊重你。也要让外界知道这是你会明确执行的规则。
3.极度爱惜羽毛,珍惜信誉,让外界对你有稳定的预期。
4.绝不为了低价值连接点损害高价值连接点,保护自身网络的长期价值。

总结重点:自身有价值,对外有秩序。

转自微博
#开源项目
38妇女节,推荐一位前几天才知道的女程序员。最开始是看了公众号文章《每次看到她写的代码,我都感到自己无比平庸》才知道她的,看了一下Github主页的项目,项目多偏系统底层,这个方向的女程序员就更少见了。

个人主页:https://justine.lol/
Github:https://github.com/jart
#开源项目
chDB,在Python里内嵌了Clickhouse做为OLAP查询引擎的项目,最近被Clickhouse官方收购了。用作者的话说,有了这个项目,相当于给Python这辆自行车安装了火箭发动机(It feels like installing a rocket engine 🚀 onto a bicycle🚴🏻.)

作者的相关博文:
The birth of chDB
chDB is joining ClickHouse
#课程
#开源项目
CS自学指南》,汇集了很多CS各科目的在线课程,Github地址
#课程
CMU 课程 cs251《Great Ideas in Theoretical Computer Science
》,介绍计算机科学里的思想方法,目前课程视频还没有全部更新完毕。
#开源项目
#Latex
latexify_py是google开发的一个Python库,用于将Python函数转换成Latex表达式代码。有时候一些比较复杂的数学公式不知道怎么写,可以考虑用这个库搭把手。

两篇介绍这个库的文章:
Latexify,一个强大的 Python 库
latexify: Writing LaTeX with Python
#编程语言
#Rust

以前会争论类型标识符,应该放在变量前面还是后面好。

除了美感这种偏主观的判断以外,我在学了一点PLT皮毛之后,有一个新的视角:

类型标识符在变量前面的语言,大多是没有类型推断的,因为放在前面,所以无法省略,就是说:必须在声明这个变量的时候就(由程序员)确定变量的类型。这也有例外,比如C++后面引入的auto关键字,相当于给原先的语法打了一个“补丁”,通过这个关键字声明的变量就能支持类型推断。

反之,放在变量后面的类型标识符,因为是可以做到省略的,省略的时候就是类型推断发挥的空间了:推断出最适合的类型出来;同样也有例外,比如Go就不支持类型推断

比如附图中的这段Rust代码:
同样的let a = 1,在两个上下文(context)里推断出来的是不同的类型:上面的代码由于没有别的信息,所以就选了i32类型;下面的代码由于要和已经声明为u64类型的b相加,所以推断出来a的类型为u64。

支持类型推断(type inference)的语言,(应该都)要做到类型安全(type safety)。比如:不能允许两个变量的数据,操作之后出现溢出等情况。

综上,我更喜欢支持类型推断、类型安全的语言。

Roman Elizarov(Project Lead for the Kotlin Programming Language)的一篇文章《Types are moving to the right》中也提到,21世纪之后才出现的编程语言,很多都是把类型标识符放在变量后面了,Go、Rust、Scala等。
Please open Telegram to view this post
VIEW IN TELEGRAM
2025/06/19 11:40:34
Back to Top
HTML Embed Code: