好资源和短想法
这篇文章挺不错的,分享自己买东西的决策过程,在看的时候我就会在想我会怎么去决策
#GitHub情报
HelloGitHub:面向入门爱好者的开源项目月刊,近日更新第 77 期
官网 | Github | 投稿
这是一个面向编程新手、热爱编程、对开源社区感兴趣人群的项目,内容每月 28 号以月刊的形式更新发布。内容包括:流行项目、入门级项目、让生活变得更美好的工具、书籍、学习心得笔记、企业级项目等
✏️ 第 77 期 已经发布
• unicorn:轻量级的多平台、多架构 CPU 仿真器框架
• foolrenderer:用 C 语言从零实现的软件渲染器
• Bili.Uwp:非官方的 B 站 UWP 桌面应用
• CasaOS:简单易用的家庭云系统
• koodo-reader:先进的电子书阅读工具
• gibMacOS:通过 Python 脚本直接下载 macOS 系统文件
• mackup:帮你快速备份、同步 macOS 和 Linux 上应用配置文件的工具
频道:@NewlearnerChannel
HelloGitHub:面向入门爱好者的开源项目月刊,近日更新第 77 期
官网 | Github | 投稿
这是一个面向编程新手、热爱编程、对开源社区感兴趣人群的项目,内容每月 28 号以月刊的形式更新发布。内容包括:流行项目、入门级项目、让生活变得更美好的工具、书籍、学习心得笔记、企业级项目等
✏️ 第 77 期 已经发布
• unicorn:轻量级的多平台、多架构 CPU 仿真器框架
• foolrenderer:用 C 语言从零实现的软件渲染器
• Bili.Uwp:非官方的 B 站 UWP 桌面应用
• CasaOS:简单易用的家庭云系统
• koodo-reader:先进的电子书阅读工具
• gibMacOS:通过 Python 脚本直接下载 macOS 系统文件
• mackup:帮你快速备份、同步 macOS 和 Linux 上应用配置文件的工具
频道:@NewlearnerChannel
#Wiki #教程
Wiki 新教程上线: Google One 开通教程(附转区攻略)
贡献者: Christin
[为 Wiki 做出贡献]
欢迎热心的小伙伴加入我们的 Wiki 内容维护团队一起贡献,每个人都可以是合租群的受益者,也可以是建造者。
加入条件: 热爱分享、懂得一些Markdown 语法 (完全不懂也没关系,提供内容后可交由我上传)
群组: @hezu1
频道: @hezu2
Wiki 新教程上线: Google One 开通教程(附转区攻略)
贡献者: Christin
[为 Wiki 做出贡献]
欢迎热心的小伙伴加入我们的 Wiki 内容维护团队一起贡献,每个人都可以是合租群的受益者,也可以是建造者。
加入条件: 热爱分享、懂得一些Markdown 语法 (完全不懂也没关系,提供内容后可交由我上传)
群组: @hezu1
频道: @hezu2
比较推荐他们官方的文档,里面针对什么是效率有一些解释,也有工具对应的方法论,实操性很强,让自己更关注自己的时间,但是目前9刀的订阅价格还是有些贵,建议试用一段时间,先review下自己的时间,setapp上的timimg是一个更评价的选择,也可以做到大部分的功能
最近twitter上推荐的rize这个tracing时间的工具使用之后,自己的感觉还不错,不过对很多人来说也有很多其他的工具可以替代
买东西的时候经常会因为这个东西好,我会陷入电子产品的陷阱,比如想买iPad mini,MacBook Pro,Mac Studio,并且经常会去闲鱼看看,但是自己早已经有了老款的Macbook Pro,iPad Pro,以及studio Display,时刻提醒自己,这个东西买来是不是只是满足了自己当前得欲望,目前有没有相同的功能的物品可以替代,如果有,并且没有痛点,那就不买,如果买来可以为自己创造价值,那就买,不要考虑性价比
JSON Visio – Visualize JSON data into graphs https://jsonvisio.com
一图了解 Cron 定时机制
一部讽刺短片《喜剧的艰难时刻》
当一个人想要讲一个笑话,但还没有讲到想要表达的重点部分,其他人就会被“冒犯”到。为了不冒犯他人,讲笑话的人只能不停地添加修饰词,可谨言慎行的笑话还能好笑吗?这部短片在一定程度上真实地反映了当前的网络状况,不是所有人说话都带有恶意|#影视
当一个人想要讲一个笑话,但还没有讲到想要表达的重点部分,其他人就会被“冒犯”到。为了不冒犯他人,讲笑话的人只能不停地添加修饰词,可谨言慎行的笑话还能好笑吗?这部短片在一定程度上真实地反映了当前的网络状况,不是所有人说话都带有恶意|#影视
找出歌名,让歌出名:来头不小的 Shazam 是怎么来的? [by Kiririn]
https://sspai.com/post/75362
https://sspai.com/post/75362
我是如何在 Notion 中运用 PARA 模型来整理第二大脑 [by JuniperPhoton]
https://sspai.com/post/74753
https://sspai.com/post/74753
https://github.com/rui314/chibicc
一个C语言编译器项目。为了让读者可以从头到尾清晰地理解项目演进的过程,作者非常用心地编排每一次的commit。虽然这是一个挺“玩具”的编译器,但是已经可以对一些项目进行编译了,这些项目包括Git、SQLite、libpng,它甚至也已经实现了自举。
挺有意思的。
一个C语言编译器项目。为了让读者可以从头到尾清晰地理解项目演进的过程,作者非常用心地编排每一次的commit。虽然这是一个挺“玩具”的编译器,但是已经可以对一些项目进行编译了,这些项目包括Git、SQLite、libpng,它甚至也已经实现了自举。
挺有意思的。
https://youtu.be/B6oMqAJ5k3w
最近也在看这款车,这个视频比较好的说了一些优缺点
最近也在看这款车,这个视频比较好的说了一些优缺点
#杂
程序员始终逃不过所谓的“35岁年龄问题”(有可能这个问题过了几年又变成了40:)
我今年已经40了,而且:
* 我是从大学一毕业就开始做程序员的。
* 从来没有做过一天的管理,从来的身份都是“工程师”,未来也不想转方向。
* 我非常喜欢写代码,未来打算一直写代码到退休。
尽管如此,仍然有很多其他人可能关心的问题,我解决(解答)不了:
* 如何做到“财富自由”?(我工作这些年也没有达到,还欠了一屁股的债,惭愧:)
* 程序员如何转管理?(没想过,和代码打交道比跟人打交道轻松多了:)
* 如何成为“技术大牛”?(别问我,我不是,你认错人了:)
* 如何确保学习的技术永不过时?(空气凝固了:)
....
以上这些别人关注的问题,有些我不关心,还有一些确实是能力所限解答不了。
而且我还有可能将来某天面对这样现实的问题:
* 假如某天我失业了,如何确保一定能再找到一份程序员的工作?
* 新知识你要是学不动了,该怎么办?
....
无法回答。
我对这些现实问题的处理方式就是等真的有问题了再来处理吧(懒惰是程序员的美德之一)。现阶段能做的就是做好工作、在所在领域保持学习。
我这样的“大龄、非成功程序员样本”,可能对陌生人的意义,更多的在于:当你开始问所谓的“35岁年龄问题”时,不妨可以看看我这个“异常样本”。
虽然是“异常样本”,虽然可能不太具备参考价值,也不是“标准答案”,不具备“可复制性”,但是由于我相当多的输出都在网上可见,所以总归可能对所谓的“35岁年龄问题”提供另一种角度和思考。
至于什么角度、如何思考,这就见仁见智了。我只提供事实,不参和观点和评论。
以上。
程序员始终逃不过所谓的“35岁年龄问题”(有可能这个问题过了几年又变成了40:)
我今年已经40了,而且:
* 我是从大学一毕业就开始做程序员的。
* 从来没有做过一天的管理,从来的身份都是“工程师”,未来也不想转方向。
* 我非常喜欢写代码,未来打算一直写代码到退休。
尽管如此,仍然有很多其他人可能关心的问题,我解决(解答)不了:
* 如何做到“财富自由”?(我工作这些年也没有达到,还欠了一屁股的债,惭愧:)
* 程序员如何转管理?(没想过,和代码打交道比跟人打交道轻松多了:)
* 如何成为“技术大牛”?(别问我,我不是,你认错人了:)
* 如何确保学习的技术永不过时?(空气凝固了:)
....
以上这些别人关注的问题,有些我不关心,还有一些确实是能力所限解答不了。
而且我还有可能将来某天面对这样现实的问题:
* 假如某天我失业了,如何确保一定能再找到一份程序员的工作?
* 新知识你要是学不动了,该怎么办?
....
无法回答。
我对这些现实问题的处理方式就是等真的有问题了再来处理吧(懒惰是程序员的美德之一)。现阶段能做的就是做好工作、在所在领域保持学习。
我这样的“大龄、非成功程序员样本”,可能对陌生人的意义,更多的在于:当你开始问所谓的“35岁年龄问题”时,不妨可以看看我这个“异常样本”。
虽然是“异常样本”,虽然可能不太具备参考价值,也不是“标准答案”,不具备“可复制性”,但是由于我相当多的输出都在网上可见,所以总归可能对所谓的“35岁年龄问题”提供另一种角度和思考。
至于什么角度、如何思考,这就见仁见智了。我只提供事实,不参和观点和评论。
以上。
#杂
我记得大概是去年这个时候,由于前公司要重构一下存储元数据的存储引擎,开始研究怎么实现一个轻量级的存储引擎。
当时想研究一下市面上的B+Tree版本的存储引擎,可是有的项目很大(Innodb、WireTigger等),有的项目就是个玩具,只能演示原理做不到生产级别。这段时间可以说压力很大,印象最深的是当时去北京团建外出到景区,当天凌晨有世界杯亚洲区预选赛澳大利亚对中国,睡不着就一边看代码一边听比赛。
这时候偶然看到的一个精简的2.5版本的sqlite btree库,只有几千行代码,这个简单的实现打开了理解生产级B+Tree实现的大门。
在这之后就是“顺势”看了更高版本的sqlite btree实现,这些故事都写在了:《sqlite3.36版本 btree实现(零)- 起步及概述》。
仅就“生产级B+Tree”实现而言,sqlite的实现虽然还是有各种问题:比如效率不高等,但是都向我展现了总体的实现思路,后面再看这方面的实现也有了基础,比如今年研究了ARIES这篇论文,最近还在看BW-Tree的论文。
现在一年时间过去了,我又开始探索一个新的领域:Jepsen,想在项目里使用上这个项目来验证我们系统的实现,初期仍然跟以往自己独立研究一些问题一样遇到很多困难,因为太多新的知识点没有接触过:Clojure、模型检验(Model checking),等等。
回头来看,很多我后来看来获得技术上很大成长的时候,都是这种独立、深入研究某个领域之后带来的:身边没人请教、自己找答案、深入阅读文档、代码,等等。这样的经历多了以后,对这种压力似乎也感到适应,对压力之后的收益也清楚,甚至对解决这些难题有一些期望了。
我记得大概是去年这个时候,由于前公司要重构一下存储元数据的存储引擎,开始研究怎么实现一个轻量级的存储引擎。
当时想研究一下市面上的B+Tree版本的存储引擎,可是有的项目很大(Innodb、WireTigger等),有的项目就是个玩具,只能演示原理做不到生产级别。这段时间可以说压力很大,印象最深的是当时去北京团建外出到景区,当天凌晨有世界杯亚洲区预选赛澳大利亚对中国,睡不着就一边看代码一边听比赛。
这时候偶然看到的一个精简的2.5版本的sqlite btree库,只有几千行代码,这个简单的实现打开了理解生产级B+Tree实现的大门。
在这之后就是“顺势”看了更高版本的sqlite btree实现,这些故事都写在了:《sqlite3.36版本 btree实现(零)- 起步及概述》。
仅就“生产级B+Tree”实现而言,sqlite的实现虽然还是有各种问题:比如效率不高等,但是都向我展现了总体的实现思路,后面再看这方面的实现也有了基础,比如今年研究了ARIES这篇论文,最近还在看BW-Tree的论文。
现在一年时间过去了,我又开始探索一个新的领域:Jepsen,想在项目里使用上这个项目来验证我们系统的实现,初期仍然跟以往自己独立研究一些问题一样遇到很多困难,因为太多新的知识点没有接触过:Clojure、模型检验(Model checking),等等。
回头来看,很多我后来看来获得技术上很大成长的时候,都是这种独立、深入研究某个领域之后带来的:身边没人请教、自己找答案、深入阅读文档、代码,等等。这样的经历多了以后,对这种压力似乎也感到适应,对压力之后的收益也清楚,甚至对解决这些难题有一些期望了。