codedump的电报频道
4.55K subscribers
154 photos
4 videos
2 files
639 links
发布个人博客(主页 codedump.info)、想法、推荐等。RSS订阅地址:https://rsshub.app/telegram/channel/codedump_notes,过往汇总搜索可以到:https://app.shokichan.com/c/tg/codedump_notes。
Download Telegram
#科普
A visual history of Visual C++》,Visual C++的界面演化历史。

我是从VC 6.0时代开始用Visual C++,随着后面转向后端编程就很少用VC了。当年还用过一款叫visual assist的插件,看了一下居然现在还在,这种一款产品能持续迭代更新20余年的感觉真棒。
👍1
#C++
#Rust
#类型推断
C++后来引入了auto关键字用于类型推断,但是这个类型系统在Rust面前就是个弟弟,因为经常会给推出来可能编译报警的类型。

例如代码:

for (auto i = 0; i < expected_actions.size(); ++i)


这在某些编译器上会报警:comparison of integer expressions of different signedness

这是因为这里的auto i进行类型推断时使用了int,而vector的size类型是size_t,一个是有符号整型,一个是无符号整型,在数据溢出的时候这个对比会判断出错,所以才有的这个告警。

我的问题是:既然如此,这里的auto i就应该推断成size_t才对。不然要你这个类型推断有何用啊?
1
#投资
#纪录片
#播客
前阵子看了腾讯视频上的《激流 第二季》,这一季最后一期采访了群核科技黄晓煌(群核科技也是今年初提到的杭州六小龙之一)。

黄晓煌回忆还在英伟达工作时(大概在2009年左右),黄仁勋在那个年代也不知道GPU能用来做什么除了图形图像渲染以外的事情,但是他确定的是:当GPU的计算能力越来越强,一定会有其它的用武之地。回头看过去的十几年,GPU分别在挖矿、AI上获得了大量使用,这也是支撑英伟达过去十几年股价暴涨的业务。

这也提醒我了:如果GPU的计算能力还会往前走,那么未来还会有新的应用在这个硬件上发展起来,只是现在不知道是什么而已。就好比舞台越来越大,无法再用现在的思路去预期在这个更大的舞台上能呈现什么表演。所以结论是:可以找合适的机会,继续买入英伟达股票,一直拿到GPU的发展进入瓶颈期为止。

Vol.172 专访群核科技黄晓煌:一个技术创业者的14年》,这期播客是上面视频节目的更完整的访谈版本。
2👍1
#分布式
很多朋友想看看正在编写的《图解分布式系统原理》的样章,我公开“时间”这一章的样章 ( https://pan.baidu.com/s/14ClwzIZKg3RCGIc0CIV0dg?pwd=ugt2 ),这一章的完成度相对较高。另外,把时间、Happen Before、全序、偏序的概念讨论清楚,才能更好得理解分布式中的一些概念,所以用了一整章讨论这些话题。
👍113
#博客
我在今年初写了一篇博客,好像还没有发过:《写代码与做菜》,里面讲解了我套用写代码的一些方法论来学习做菜的历程。

除此以外,里面还提到我做菜时的一个思考:
“在中文里,“火候”这个词真的很妙,“火”强调了要对食物做功,“候”说明了要耐心等待时间。”


我现在真的很喜欢做菜,是我进入心流的一种方式之一。而且,这类无法被加速时间的“低效率”工作,也许是未来人工智能时代的一个难以被替代的工作类型之一。我就想着啥时候闲下来就大片的gap时间,好好报一个班系统学习一下做菜。
6
#开源项目
微软开源了48年前公司创立时,由比尔盖茨写的第一版Basic解释器代码

这应该是Github上年代最久远的开源项目了。
#独立开发
今天看到知乎《玉伯去字节后,他留下的语雀会被蚂蚁高层一句话砍掉废弃吗?》的一个回答,对里面的一段话特别有感触:

其实这也是在大公司打工的一个大问题,就是这个产品,是你呕心沥血,每时每刻都在思考,每个细节扣来扣去,最终做出来了并且获得了用户的喜好。你觉得自己获得了权利,全心全意做好这个产品的权利。然而,这个产品,从来都不属于你。这个产品的命运,取决了高层的看法和考量。一念之差,就可以让你好好打磨这个产品的权利给下放或者剥夺。产品负责人也好,所谓有壁垒不可替代持续学习的的核心研发也好,都是无主之地上劳作的玉米工人。


这也是我Gap的这段时间的思考之一。本质上来说,工程师并不掌握生产资料,所以很多事情并不由自己控制:产品的方向、收入等等。也正是因为不掌握生产资料,才会被人挑选、评论,职业生涯早期可能被挑选的维度是学历、技术,后面年纪大了就被挑年纪了。

所以,还是得有自己能够完全掌握的产品(所谓产品,就是有人给你买单的那种商业型产品),这也是我写分布式教程的原因之一。

另外,在这个时代,各种基建已经很完备了,做一个个人作品的门槛没有这么高了,这也是所谓的“超级个体”雨后春笋般出现的原因。

总而言之,我认为或早或晚的,每个人都应该有自己的产品,越早开始探索越好。
👍36🤔10
#开源项目
xv6是MIT用于操作系统教学的实验操作系统内核项目,有人基于这个内核实现了一套TCP/IP协议栈 , 我觉得如果在本科阶段能把这两套系统都能做下来,对操作系统内核和网络协议原理应该理解的非常深入了。
👍21
#分布式
我最近的一个想法:Redis是一个优先考虑可用性的AP存储系统,实现一个兼容Redis协议(即使用现有的Redis客户端就能访问)的CP存储系统,是否有意义?
#数据库
slides:《Introduction to efficient data systems》,不错的列存格式入门介绍。
1
#Infra
知乎回答《存储方向的出路是什么?》,里面列举了大模型训练和推理的技术栈,总共分为9层,开发者可以在这里找到自己的定位。
2
#分布式
假期基本没出门,把《图解分布式系统原理》中分布式事务这一章给推倒重新写了一遍,重新写完之后这一章,内容就舒服多了。通过这个过程,我也重新系统整理、学习了ACID、并发控制的几种常见手段、BASE原理等内容。

以前写过解读崩溃恢复相关的一篇重要论文ARIES的博客,之前考虑这是一本分布式的书,觉得把数据库内核的内容放得太多不太好,但是这篇论文内容过于重要,我就把它放到附录里面了,供想要了解细节的读者阅读。

全书的PDF内容目前已经超过200页了。
👍354🐳1
#杂
前段时间telegram创始人Pavel Durov采访播客火了。

实际上,telegram是由两兄弟创办的,还有另一个人Nikolai Durov(哥哥)。弟弟Pavel Durov更加有名气,可能是因为经常露脸。哥哥才是顶级程序员,根据维基对他的介绍:
他以“Nikolai Dourov”的名义参加 1996 年、1997 年和 1998 年三年的国际数学奥林匹克竞赛,均获得金牌。此外,从 1995 年到 1998 年,他每年都参加比赛,并在国际信息学奥林匹克竞赛中获得了三枚银牌和一枚金牌。 Durov 与他的朋友 Andrey Lopatin是圣彼得堡国立大学 ACM 团队的成员,该团队在 2000 年和 2001 年的 ACM 国际大学生程序设计竞赛世界总决赛中获得了金牌。


获得两个和数学相关的博士学位,目前在网上还能找到长达500多页的博士论文《New Approach to Arakelov Geometry》。

按照以上描述,我想象这是一个一边做产品取得世俗意义上的成功,一边还能沉浸在自己纯学术研究精神世界里的人。
👍74🤔2