codedump的电报频道
4.42K subscribers
149 photos
4 videos
2 files
619 links
发布个人博客(主页 codedump.info)、想法、推荐等。RSS订阅地址:https://rsshub.app/telegram/channel/codedump_notes,过往汇总搜索可以到:https://app.shokichan.com/c/tg/codedump_notes。
Download Telegram
#Scheme
最近在看SICP,需要提前学一学Scheme,网上找来一本简明教程 Teach Yourself Scheme in Fixnum Days ,把Scheme的核心内容都讲到了,足够入门用了。
👍7
#文章推荐
《野心与梦想:国产大飞机浮沉五十年》

由于毕业于北航的缘故,在我的同学里有不少(曾经)参与国产大飞机的研发工作。去年C919获得适航证,同学群里着实欢呼了一番。

外界对C919的质疑之一,就是这里的零件很多都是外包生产的,如何体现所谓自主研发的优势?我想时间拉长一些,过去我们只能给别人生产零件,如今慢慢地也能自己设计制造了。

引用文中的话来回答这个质疑:


争议也因此甚嚣尘上:核心零部件大多进口而来,到底能不能叫自主研发?

实际上,飞机能组装成功,就已经是一种顶级制造能力。

飞机制造本质上考验的是对几十万零部件进行选型、协调、管理的“系统集成能力”,以及整体设计规划和精密控制的水平。

做消费电子,把CPU内存硬盘等零部件往主板上一插,就是台能用的电脑;但造飞机,把发动机买回来装进飞机壳里——这玩意它飞不起来。

最重要的是,飞机组装也意味着零部件的自主采购权,带动的是整个产业链的进步。和消费电子不一样,“拼起来的飞机”本质上是一个供应链平台。


用发展的眼光看问题,而不是仅仅只看一个时间的截面得到一个静止的结论。小时候经常看到的一句话“几代人的努力”去做某件事请,长大了以后觉得这样的话并不是空话,在很多领域咱们落后,于是就需要几代人接力去逐步靠近这个目标。
12👍6🆒2
#Databend
Databend是一款基于云原生的数据库,底层的数据存储都跑在各种云服务之上(AWS、阿里云、华为云、腾讯云,etc),于是就需要一个数据访问层(Data Access Layer)去屏蔽底层不同存储介质的差异。

一年多以前,团队内的小伙开始构思将这部分功能独立出来成一个单独的模块,这样也能方便其他有类似需求的项目,这个项目就是后来的OpenDAL。后来也确实有不少项目用到了这个库,包括:sccache、GreptimeDB、RisingWave等。

经过一年多的生长,最近OpenDAL项目进入Apache基金会的孵化器了
👍15
#Rust
Rust死灵书(《The Rustonomicon》) 的 中文翻译版,翻译者应该在字节从事Rust基础架构工作。
👍202
#杂
聊一聊我做为一个数据库从业者对Chatgpt的看法。

本质上来说,Chatgpt这样的工具可以认为又是另一个“效率工具”。而程序员这个群体,可能是最会给自己造“效率工具”的群体,没有之一,比如:云计算、SAAS,等等的。换了其它创作类群体,比如画家、作家等等,他们更多的时候都只能等待别人给他们造效率工具来提升效率。这些不会自己造工具的群体,当看到新的效率工具出现时,都会被之震撼;而由于一直没有革自己的命,当真的变革来临时,很多人没有来得及转身就被替代了。

从这个意义上来说,做为程序员还是很幸福的:一直保持对自我的迭代、更新,就像我一直说的那样:“编程”是普通人类最容易拥有的“超人技能”,没有之一。

所以,什么“降本增效”、“革自己的命”这些说法,对程序员群体来说早已不陌生,相当一部分人的软件生意就是给另外一群做软件的人做工具。这次Chatgpt能如此出圈,我想更多的就是前面说的,给那些不会自己造效率工具的群体带来了惊喜:原来我只要说一些人话,这个工具就能来辅助我了,不需要我掌握更专精的工具(比如会编程)。

为什么最近几年,所谓的“独立开发者”越来越多被看到听到了?我想主要有两个原因:App Store、Steam这样对独立开发者友好的软件商店,极大得方便了开发者宣传产品、以及支付渠道的通畅;其次就是前面提到的这些面向开发者的效率工具、平台越来越多越来越好用了,不再需要开发者18般武艺样样精通,自己去维护一套服务、自己来运维服务器,这些细节已经由云计算厂商、SAAS公司给你做了,开发者只需要挑选合适的工具,自己做最核心的产品体验部分,这样就能搭积木一般把产品搭建起来。

软件行业里,这么多年一直在迭代各种类型的软件给程序员本身来提升效率:汇编语言到高级语言、简单的文本编辑器到专业的IDE、云平台、SAAS,等等。这不是第一次由程序员群体自己发起的效率革命,也当然不会是最后一次,这些迭代一直以来都在进行着,程序员们早就见怪不怪了。

从软件开发者的视角来看,这一点再自然不过:软件就是要屏蔽底层的实现细节,把方便留给上层的使用者。于是云计算屏蔽了底层的服务器、SAAS抽象出来通用的服务,等等。

回到数据库这个行业来,本质上“数据库”也是给开发者“降本增效”的软件之一。当“开发者”的门槛降低,意味着有更多的人可以通过和机器打交道的方式来工作。以往这个门槛相对较高,可能需要会一些编程语言,还需要系统学一些计算机的知识:算法、操作系统,等等;现在很多时候,可能只需要简单的SQL就能满足他们数据方面的一些增、删、改、查需求。从这个意义上来说,SQL确实是跟很伟大的发明,这是一门描述性的语言,又是“异构”的,完全不用在乎你底层是什么Python、Java还是CPP来实现的。对于复杂的SQL如果不会写,还能使用Chatgpt来辅助生成,比如Databend能够结合AI辅助生成一些SQL了:https://databend.rs/doc/sql-functions/ai-functions/ai-to-sql

我做为一个数据库的开发从业者,在开发者的门槛变低之后,反而是会更加乐观的:因为有更多的人需要我们提供的服务了。
32👍6🤔2👨‍💻1
#杂
以前看过一个关于钱和人生的比喻,大概是这么说的:假如人生是一场自驾旅游,赚钱就是给这场自驾旅游加油,没有油车就走不远,旅行就无从谈起了,但是大概不会有人会把去各个地方加油当成这场旅游的目的。

这是我看到关于钱和人生关系最好的一段描述,赚钱到底是目的还是手段,这只有自己才能想明白了。

对我来说,人生短短几十年,尽可能找到自己喜欢做的事情,多做点自己觉得有意义的事情,如果能顺便赚点钱过上舒适的生活,那就更好了。不排除有些时候,世俗的压力得向生活低头做些自己并不喜欢的事情,但这跟上面这句话也并不冲突。

我看到很多人,即便在我的认知里已经有不少钱了,但是仍然会为了赚钱做一些吃相难看的事情,这可能就是太想明白钱到底是目的和还是手段。赚钱是为了让你过上体面的生活,生活体面了之后人也应该“体面”起来,而不是反之最后变成了它的奴隶。
👍5611
#杂
以前工作里遇到的问题:某业务服务器有内存泄露,一时半会儿解决不了。于是在前面加了一组网关服务器,每个网关维护后面的一组业务服务器列表,负责无脑转发客户端请求,以及在失败的情况下转发给另外的业务服务器处理请求。

这样改动之后,业务服务器可以定期重启,重启时通知网关从服务器列表中删除,不再向这台业务服务器转发请求,重启完成之后,业务服务器再通知网关重新加入服务器组对外提供服务。

“计算机科学领域的任何问题都可以通过增加一个间接的中间层来解决。”
👍26
#杂
关于数学学习,有两个观察:

* 即便一个人的数学知识储备到了高中数学层次,部分小学数学的奥赛题也不一定能解得出来;
* 鸡兔同笼 是非常经典的小学数学奥赛题型,可是如果学到了初中数学,有了未知数、方程式的概念,这个问题就是非常简单的解二元一次方程。

这两个观察的思考是,过度在技巧中沉浸,很多时候意义不大,因为”技巧“的钻研是个无底洞;与此相对的是,很多问题当你掌握了更高级的工具之后(比如上面的二元一次方程之于鸡兔同笼问题)就能马上迎刃而解。

所以对大部分人来说,掌握了一门知识的基础概念、做了一定量的练习之后,就可以接着去追求往更高层次的知识,而不是过度沉浸在”技巧“中。如何判断对一个知识的掌握已经“足够”了,首先根据二八原则来,掌握最常用的八,其它的边做边学;其次,如果有这个领域的经典教程,那么编撰这套教材的人肯定在这个领域已经浸淫多年,书里的重点、练习做得差不多就好了。

把这个观察得到的方法论推而广之:很多时候我们关注于“解题”本身,慢慢得过于关注技巧、为鸡毛蒜皮的问题解决而沾沾自喜,以至于忘了往更高的层次去走。比如以前还在写C的时候,经常为解决某个内存引发的问题而沾沾自喜,这些问题放到Rust语言的设计里编译器就不会让这种情况出现,很多问题在用了另外的角度、有了别的视野、换了其它工具之后就不复存在了。

人生苦短,别把太多问题放在“解题技巧”上,很可能当视野打开之后,问题就不再是问题了。解题之前,不妨多问自己几个问题:这个问题非要解决吗,能不能换别的路线绕开它,有没有更好的工具辅助解决这个问题,下一次能不能避免出现类似的问题,等等。扁鹊三兄弟的故事里,扁鹊就是兄弟里最能解题的人,而他两个哥哥都能问题发生之前避免问题,所以他们能力更强。

最后,反过来看前几年出台政策把奥赛的热度打下来,我认为是有可取之处的。如前面的讨论,奥赛过度关注技巧,这可能也是中国为什么赢得这么多奥赛金牌却出不来几个知名数学家的原因之一:解题解到最后,并不能让你成为一个大家。
26👍91
#播客
最近新出的一档程序员主播的播客节目 《硬地骇客》《从个人兴趣到财务自由:独立开发者也可以这样做开源》 这一期专门聊了几个商业化做的不错的开源项目,我这才知道 Dracula 做为一个编辑器主题还能这么赚钱。

最后谈到的由HomeBrew作者发起的 https://tea.xyz/ ,这个专门针对开源项目的web3项目也很有意思。
👍121
#杂
我现在算是对Sqlite运行机制有一些了解了,想围绕着它的生态在此之上做一些个人项目,但是这个数据库产品是在C端被用得更多,而我的工作方向在后端,所以有没有平时用Sqlite的人能说说它用起来有哪些不太爽可以改进的地方,或者是它的相关工具(比如数据恢复、中文搜索功能),谢谢。
#杂
二八定律最伟大的地方,是告诉我们很多时候,世界运行的规律是“非线性”的:

* 可能努力了几年,前面几年基本没啥回报,到了第五年开始爆发性的收割;
* 工资的增长和工作年限没啥关系,也就是说不一定每年涨个10%,可能是前几年不怎么涨,积累够了一个跳槽就翻倍了。

等等。

经常看到一个词“学生思维”,就我个人的体会,学生思维里常见的误区就是认为这个世界是“线性”的,比如认为努力就一定有回报,这可能跟学生在学校的“反馈”环境很有关系:去解决有标准答案、且指定范围的问题。离开了学校之后,面对的很多都是开放性的、没有标准答案的问题,于是二八定理告诉你,努力不一定马上有回报,或者说回报不一定马上能看得见。

成年人的世界里也不是完全没有线性反馈的事情了:锻炼就是一件能线性反馈的事情。能有线性反馈的事情,相对来说都是“容易”的:只管去做,做的过程中一直有反馈,得到的正反馈又能马上推进你继续做这件事情,而做非线性的事情就更加考验人,这可能也是很多成年人会喜欢朋友圈里发健身图的原因之一吧。
30👍10👎3🤔2
Forwarded from Rust 视界
这周日(4.16)晚上八点,飞书群线上沙龙:Databend | Rust编译优化小技巧,大家不见不散
#数学
圆周率π是最常见的两个无理数之一(另外一个是自然常数e),数学上已经对这些无理数的意义做了充分的解释。《疑犯追踪》S02E11中男主对π的解读是最浪漫的:

Student Girl: My Friend Has A Question, Mr. Swift . “What Is Any Of This Good For, And When Would We Ever Use It?”

(The Class Laughs.)

Finch : Let Me Show You. Π. The Ratio Of The Circumference Of A Circle To Its Diameter . And This Is Just The Beginning. It Keeps On Going. Forever. Without Ever Repeating. Which Means That Contained Within This String Of Decimals Is Every Single Other Number. Your Birth Date, Combination To Your Locker , Your Social Security Number. It’s All In There Somewhere. And If You Convert These Decimals Into Letters, You Would Have Every Word That Ever Existed In Every Possible Combination. The First Syllable You Spoke As A Baby, The Name Of Your Latest Crush , Your Entire Life Story From Beginning To End. Everything We Ever Say Or Do, All Of The World’s Infinite Possibilities Rest Within This One Simple Circle . Now What You Do With That Information, What It’s Good For, Well, That Would Be Up To You.

“Pi 一个圆的周长与它的直径的比,但不仅是这些而已,还有更多,永无止境,毫无重复。小数点后的这一串数字,每一个都是单一个体,你的生日、寄物柜锁密码、社会保险号码,都在这一串数字某处。如果你把这些数字转换成字母,你会得到每一个词,在每一个可能的组合中出现,你婴孩时开口讲的第一个音节、你心上人的名字、你从头至尾整个人生的故事、所有我们说的话和做的事…这个世界所有无尽的,可能性都在这个简单的圆里。你拿这些信息做什么…有什么用处…全都取决于你。”

B站上截取出来这一集的相关视频

补充信息:但是π目前并没有证明是一个正规数(Normal Number,即数字显示出随机分布,且每个数字出现机会均等的实数,也就是说:虽然π是个无理数,但是也不能保证任意数字一定会出现在这个无理数的数字序列里。
5👍5🔥2
#Databend
Databend最近搞了一个side project:AskBend

这个项目依赖于Databend Cloud来存储Databend官网的文档数据,喂给OpenAI之后,生成一个可以根据文档内容回答问题的“客服机器人”。这个项目本身也开源了:https://github.com/datafuselabs/askbend,我的另一位同事把项目用在了自己的博客上:https://ask.xuanwo.io/,可以看到效果也不差。

另外今天看到一篇文章,有同学参考这个项目给PG也加了类似功能:https://al-assad.github.io/posts/replicate-askbend-on-postgres/

我开始在想:给sqlite做一个类似功能,好像也不赖吧,毕竟我最近也在找可以做的sqlite周边生态产品。


Reference:
* https://t.me/codedump_notes/429
👍101
#剧
去年无意间看到的一部剧 《破事精英》 ,情景喜剧类节目,剧情设定是一个公司里最不起眼、各种破事的“破事部”发生的故事,讨论了很多职场话题:PUA、中年危机、职场性骚扰等,当时看的时候抱着60分就好纯打发时间的念头去看,实际追完觉得能有个75分。里面甚至有个工作机器人起名叫“盯盯乐”,要是这部剧是阿里旗下优酷出的话,那效果能拉满了,属于去年看过的剧里最为惊喜的一部,眼看着 第二季 就要出来了。
#杂
A Tutorial Introduction to the Lambda Calculus,关于lambda演算的一个简明教程,只有17页。