你的思维很有可能是被工具定义的。
譬如语言定义了你对概念的认知,学习一门新的语言会为你打开新世界的大门。同样成立的是信息时代的工具,你会使用什么样的创造力工具定义了你的想象力的疆界。
熟练使用视频剪辑工具,你可以把你的想法用视频表达;精通编程,你可以用程序创世;会使用 Figma,你可以想象更好的界面设计是什么样的;会使用 3D 设计工具,你可以利用 3D 打印设计很多精巧的小物件;会使用电路设计工具,你可以从电路布线到实体打样一个 PCB 制作自己的电子设施。这些可能性都是建立在你会使用某个工具的前提下的。
同时,以工具为前提的学习,往往更具有目的性和实操性,以点带面,可以迅速通晓一个领域的重点知识。
这就是我理解的工具主义。
譬如语言定义了你对概念的认知,学习一门新的语言会为你打开新世界的大门。同样成立的是信息时代的工具,你会使用什么样的创造力工具定义了你的想象力的疆界。
熟练使用视频剪辑工具,你可以把你的想法用视频表达;精通编程,你可以用程序创世;会使用 Figma,你可以想象更好的界面设计是什么样的;会使用 3D 设计工具,你可以利用 3D 打印设计很多精巧的小物件;会使用电路设计工具,你可以从电路布线到实体打样一个 PCB 制作自己的电子设施。这些可能性都是建立在你会使用某个工具的前提下的。
同时,以工具为前提的学习,往往更具有目的性和实操性,以点带面,可以迅速通晓一个领域的重点知识。
这就是我理解的工具主义。
https://nextjs-in-action-cn.taonan.lu/
cusdis 作者写的关于 nextjs 应用开发的小书。
几个想法
1. 中文 nextjs 的介绍比较少,这本小书是我了解到的第一本较为系统性地对 nextjs 做介绍的
2. 之前见过不少国外开发者就某一个小技术栈写的小书,也采用这种开放阅读、付费购买的模式,这次了解到国内也有开发者采用这种模式写书,或许未来可以看到更多
3. 给自己博客加上了 cusdis 的支持,cusdis 的作者就是这本书的作者,他在书中介绍了 cusdis 用 nextjs 总结的经验
4. 我用 cusdis 的时候发现一个小 bug,提了个 PR 修复顺便了解了下作者,发现了这本书
5. 或许参与个人的开源项目,是与人产生连接的巧妙方式
cusdis 作者写的关于 nextjs 应用开发的小书。
几个想法
1. 中文 nextjs 的介绍比较少,这本小书是我了解到的第一本较为系统性地对 nextjs 做介绍的
2. 之前见过不少国外开发者就某一个小技术栈写的小书,也采用这种开放阅读、付费购买的模式,这次了解到国内也有开发者采用这种模式写书,或许未来可以看到更多
3. 给自己博客加上了 cusdis 的支持,cusdis 的作者就是这本书的作者,他在书中介绍了 cusdis 用 nextjs 总结的经验
4. 我用 cusdis 的时候发现一个小 bug,提了个 PR 修复顺便了解了下作者,发现了这本书
5. 或许参与个人的开源项目,是与人产生连接的巧妙方式
GitHub
Nextjs SSR prints warning on useLayoutEffect · Issue #4 · Cusdis/sdk
If we use the react component in SSR, the following warning will be generated Warning: useLayoutEffect does nothing on the server, because its effect cannot be encoded into the server renderer&...
昨天晚上在朋友圈看到有朋友分享了一个 bilibili 的视频,内容是介绍一款名为 readpaper 的论文阅读工具的功能。视频不长,也没有任何制作,但是却迅速积累了 60 万播放量。我看完了这个视频心里久久不能平静。有很多想法
1. 我曾经也做过很长一段时间科研,文献资料的管理和阅读是痛点,用过 mendelely 这类工具,但其实更好的形态是 SaaS,readpaper 抓住了这个机会
2. 做科研的人越来越多(一个数据是,中国去年考研人数达 377 万,逐年攀升),各个领域越来越卷,readpaper 这个产品绝对是淘金热中卖铲子级的好主意
3. 这个时代,计算机世界不缺技术,缺的是好主意和执行力
4. 作者研究生毕业之后没有找工作,而是全职投入开发这个产品,以及学习,这个状态绝大部分人工作很多年都达不到
5. 自带流量的创业者的路好走。这个想法最开始是从李自然那里得知,我一直跃跃欲试,现在看来跃跃欲试也已经落后人一大截了
6. 我很早之前就意识到,逃离内卷这一零和游戏的路径是创造价值,去把蛋糕做大。做产品,解决实际需求,服务好用户,还有什么比这更强烈而直接的满足感吗
7. 我是那种追求强烈且直接的反馈的人,换句话说,我适合加入早期创业公司
8. 如果我所拥有的资本是我这个人本身,那我应该像风险投资一样把自己投给这种好项目,承担高风险、追求高回报——实际上也没有什么太大的风险,这个时代饿不死会写代码的
1. 我曾经也做过很长一段时间科研,文献资料的管理和阅读是痛点,用过 mendelely 这类工具,但其实更好的形态是 SaaS,readpaper 抓住了这个机会
2. 做科研的人越来越多(一个数据是,中国去年考研人数达 377 万,逐年攀升),各个领域越来越卷,readpaper 这个产品绝对是淘金热中卖铲子级的好主意
3. 这个时代,计算机世界不缺技术,缺的是好主意和执行力
4. 作者研究生毕业之后没有找工作,而是全职投入开发这个产品,以及学习,这个状态绝大部分人工作很多年都达不到
5. 自带流量的创业者的路好走。这个想法最开始是从李自然那里得知,我一直跃跃欲试,现在看来跃跃欲试也已经落后人一大截了
6. 我很早之前就意识到,逃离内卷这一零和游戏的路径是创造价值,去把蛋糕做大。做产品,解决实际需求,服务好用户,还有什么比这更强烈而直接的满足感吗
7. 我是那种追求强烈且直接的反馈的人,换句话说,我适合加入早期创业公司
8. 如果我所拥有的资本是我这个人本身,那我应该像风险投资一样把自己投给这种好项目,承担高风险、追求高回报——实际上也没有什么太大的风险,这个时代饿不死会写代码的
👍1
Raw Linux Threads via System Calls
https://nullprogram.com/blog/2015/05/15/
公司群里老板发的线程创建的介绍文章,用纯汇编调 syscall 创建线程。基本思路就是先用的mmap 创建线程栈,然后用 sys_clone 在这个自己申请的栈上创建线程就好。
看起来挺简单的,前面的 x86_64 的简介可以当作小复习。
之后有空打算研究下 goroutine 的创建。
https://nullprogram.com/blog/2015/05/15/
公司群里老板发的线程创建的介绍文章,用纯汇编调 syscall 创建线程。基本思路就是先用的mmap 创建线程栈,然后用 sys_clone 在这个自己申请的栈上创建线程就好。
看起来挺简单的,前面的 x86_64 的简介可以当作小复习。
之后有空打算研究下 goroutine 的创建。
✅ 2021 年的最后一天,感慨颇多。这一年我开始在推特上分享自己的见闻与认知,关注数量从 0 到突破 1k,真的很感谢大家的认可。
总结一下 2021 我学到的 10 点重要观念,希望为 2022 年奠定基础。
新的一年里,希望我能持续创造,持续学习,持续输出。
🧵~
1. 要创造,不要消耗。
内卷的本质是零和游戏,逃离内卷的唯一路径不是成为卷王,而是把目光放在创造之上。创造价值,而不是瓜分价值。
2. 培养解决问题的能力,而不是其他。
创造价值最直接的手段莫过于解决实际的问题。通过观察与思考找到自己有心气去解决的问题,以之为目标去培养自己的能力。
特别是对于还在学校的朋友,与其去钻营一些离开学校后迅速贬值的东西,不如好好想想自己想要解决什么样的问题。
3. 纵使离开学校,仍然追求教育。
教育并不一定只能在学校中发生。教育和学习的区别在于,教育是系统性的、体制化的,纵使离开学校,你也应当继续追求教育。
教育也不一定要来自外界,你自己就是一座大学。
4. 像狮子一样工作。
高强度地工作,人像工蚁一样;懒散地工作,人像树獭。
应当追求创造性的工作,人必须像狮子一样工作。
有好的想法时,正如猎物出现,快速反应,持续产出;而当捕猎结束,则修养生息,享受生活与时光,多陪陪家人。
5. 把自己作为产品打磨。
通过思考自己的 PMF,找到属于自己的市场。通过不断的对自我提升的投入,建立自己独特的护城河。通过社交网络去建立自己的品牌,把自己像产品一样推广。
从这个意义上说,每个人都是创业者。
6. 好的艺术家借鉴,伟大的艺术家偷窃。
不要怀疑或者担忧自己的创造是否不够原创,做自己真诚地认可的事、说自己真诚认可的话就好。
人类历史群星璀璨,本质上来说,我们大部分的观点和想法,都曾经被提出过。然而并不是所有的人都在听,所以值得再说一遍。
7. 不要追逐金钱,而应该关注解决问题。
追逐金钱容易让你迷失自我,成为金钱的奴隶。
关注解决问题,在这个过程中,世俗所艳羡的金钱、名望、权力都是自然而然的。
8. 悲观听起来聪明,但乐观才能成事。
悲观主义者在做事情之前就会先想像阻力,这似乎让他们有种考虑周到的优势地位,但只有理想主义者才能在重重困难前迈出脚步。
不要被困难说服。
9. 理解、相信并利用非线性系统。
我们更容易理解和接受线性系统,因为它简单且直观。然而线性系统很多时候并不生效,世间很多奇伟瑰怪也都得益于非线性系统。
杠杆、复利、网络效应,分形、混沌、神经网络。突破线性思维,从非线性的角度去思考问题,世界会呈现一个全新的面貌。
10. 迷茫的时候,做一些永远不会后悔的事情。
懂再多的道理,如果没有找到自己的路,反而更容易陷入迷茫。
这个时候不妨做一些让自己永远不会后悔的事。譬如和父母通电话、去健身房运动、做家务、自己下厨做一顿大餐并邀请朋友来分享、拥抱大自然。属于这个列表的事情有很多,去做。
总结一下 2021 我学到的 10 点重要观念,希望为 2022 年奠定基础。
新的一年里,希望我能持续创造,持续学习,持续输出。
🧵~
1. 要创造,不要消耗。
内卷的本质是零和游戏,逃离内卷的唯一路径不是成为卷王,而是把目光放在创造之上。创造价值,而不是瓜分价值。
2. 培养解决问题的能力,而不是其他。
创造价值最直接的手段莫过于解决实际的问题。通过观察与思考找到自己有心气去解决的问题,以之为目标去培养自己的能力。
特别是对于还在学校的朋友,与其去钻营一些离开学校后迅速贬值的东西,不如好好想想自己想要解决什么样的问题。
3. 纵使离开学校,仍然追求教育。
教育并不一定只能在学校中发生。教育和学习的区别在于,教育是系统性的、体制化的,纵使离开学校,你也应当继续追求教育。
教育也不一定要来自外界,你自己就是一座大学。
4. 像狮子一样工作。
高强度地工作,人像工蚁一样;懒散地工作,人像树獭。
应当追求创造性的工作,人必须像狮子一样工作。
有好的想法时,正如猎物出现,快速反应,持续产出;而当捕猎结束,则修养生息,享受生活与时光,多陪陪家人。
5. 把自己作为产品打磨。
通过思考自己的 PMF,找到属于自己的市场。通过不断的对自我提升的投入,建立自己独特的护城河。通过社交网络去建立自己的品牌,把自己像产品一样推广。
从这个意义上说,每个人都是创业者。
6. 好的艺术家借鉴,伟大的艺术家偷窃。
不要怀疑或者担忧自己的创造是否不够原创,做自己真诚地认可的事、说自己真诚认可的话就好。
人类历史群星璀璨,本质上来说,我们大部分的观点和想法,都曾经被提出过。然而并不是所有的人都在听,所以值得再说一遍。
7. 不要追逐金钱,而应该关注解决问题。
追逐金钱容易让你迷失自我,成为金钱的奴隶。
关注解决问题,在这个过程中,世俗所艳羡的金钱、名望、权力都是自然而然的。
8. 悲观听起来聪明,但乐观才能成事。
悲观主义者在做事情之前就会先想像阻力,这似乎让他们有种考虑周到的优势地位,但只有理想主义者才能在重重困难前迈出脚步。
不要被困难说服。
9. 理解、相信并利用非线性系统。
我们更容易理解和接受线性系统,因为它简单且直观。然而线性系统很多时候并不生效,世间很多奇伟瑰怪也都得益于非线性系统。
杠杆、复利、网络效应,分形、混沌、神经网络。突破线性思维,从非线性的角度去思考问题,世界会呈现一个全新的面貌。
10. 迷茫的时候,做一些永远不会后悔的事情。
懂再多的道理,如果没有找到自己的路,反而更容易陷入迷茫。
这个时候不妨做一些让自己永远不会后悔的事。譬如和父母通电话、去健身房运动、做家务、自己下厨做一顿大餐并邀请朋友来分享、拥抱大自然。属于这个列表的事情有很多,去做。
👍2
tokio 的 tutorial 写的真的好啊!业余小项目要用到一些异步事件处理,从 0 到能像模像样地写 async rust,看 tokio 的这个 tutorial 就够了。使用 async 时要考虑的方方面面基本上都照顾到了,某些地方其实还讲的十分深入。
https://tokio.rs/tokio/tutorial
https://tokio.rs/tokio/tutorial
tokio.rs
Tutorial | Tokio - An asynchronous Rust runtime
Tokio is a runtime for writing reliable asynchronous applications with Rust. It provides async I/O, networking, scheduling, timers, and more.
👍5
最近一直在做的一个业余项目是 rust-poker,一个用 rust 编写的终端 UI 风格的德州扑克游戏。
开始这个项目是刚刚读完 Programming Rust 时写了一个德州扑克的内核,可以比较手牌大小,使用了 enum、pattern matching 和 macro,感觉还挺不错的。搁置了一段时间后准备把它做成一个能玩的小游戏,解决想和公司同事打德州但是没有筹码的这个问题。于是使用 tui 作为 UI 框架、tokio 作为异步 runtime 来处理网络请求,发现真的能行!
目前已经实现了基本的游戏逻辑,但还需要一些优化和调整。
借助 rust-analyzer 提供的自动补全和自动修复,写 rust 的体验非常棒。而 rust 自身的语法也挺讨喜的,写习惯之后再写大道至简语言总觉得哪里不太舒服。为数不多的小困惑,譬如到处可见的连串 as_ref().unwrap().get_mut() 其实也都可以通过调整代码结构、添加函数抽象等方式改进。
目前这个项目写了快 6k 行 rust 了,颇有种对 rust 得心应手之感。不过我还是清楚地知道,写这个项目并没有用到太多较为晦涩的 rust 功能,更多的是业务逻辑上的代码堆砌,但这个开端是好的,其他的功能随用随学就好。
后续准备用 WASM 把它搬到网页上,踩坑过程应该会写一篇文章给大家瞅瞅。
开始这个项目是刚刚读完 Programming Rust 时写了一个德州扑克的内核,可以比较手牌大小,使用了 enum、pattern matching 和 macro,感觉还挺不错的。搁置了一段时间后准备把它做成一个能玩的小游戏,解决想和公司同事打德州但是没有筹码的这个问题。于是使用 tui 作为 UI 框架、tokio 作为异步 runtime 来处理网络请求,发现真的能行!
目前已经实现了基本的游戏逻辑,但还需要一些优化和调整。
借助 rust-analyzer 提供的自动补全和自动修复,写 rust 的体验非常棒。而 rust 自身的语法也挺讨喜的,写习惯之后再写大道至简语言总觉得哪里不太舒服。为数不多的小困惑,譬如到处可见的连串 as_ref().unwrap().get_mut() 其实也都可以通过调整代码结构、添加函数抽象等方式改进。
目前这个项目写了快 6k 行 rust 了,颇有种对 rust 得心应手之感。不过我还是清楚地知道,写这个项目并没有用到太多较为晦涩的 rust 功能,更多的是业务逻辑上的代码堆砌,但这个开端是好的,其他的功能随用随学就好。
后续准备用 WASM 把它搬到网页上,踩坑过程应该会写一篇文章给大家瞅瞅。
🤩10👍5🎉4
提高打字速度有很多优势,这一期推荐了我一直在用的小鹤双拼,介绍了我的学习经历和学习方法。
文末额外附赠一个 Notion 小 tip,点开自己看吧。
https://ichn.xyz/blog/2022-07
文末额外附赠一个 Notion 小 tip,点开自己看吧。
https://ichn.xyz/blog/2022-07
ichn.xyz
2022-07:小鹤双拼 | ichn-hu's blog
Read Zhifeng's blog on ichn.xyz
https://madebyevan.com/
通过一篇 CRDT 的文章造访了 Figma 创始人之一 Evan 的主页,印象最深刻的就是他列出来的工作列表,figma、esbuild,再到图形学、游戏以及各种应用,很难想象一个人可以有这么多产出。
这让我想起了 FFmpeg、QEMU、QuickJS、TCC 等等众多著名项目的作者,它们的作者都是同一个人——Fabrice Bellard。
人会因为所做过的事情被记住,如尤雨溪所言,make epic shit。
通过一篇 CRDT 的文章造访了 Figma 创始人之一 Evan 的主页,印象最深刻的就是他列出来的工作列表,figma、esbuild,再到图形学、游戏以及各种应用,很难想象一个人可以有这么多产出。
这让我想起了 FFmpeg、QEMU、QuickJS、TCC 等等众多著名项目的作者,它们的作者都是同一个人——Fabrice Bellard。
人会因为所做过的事情被记住,如尤雨溪所言,make epic shit。
最近说的比较多的一句话是 let’s await more evidence。软件开发中很多问题其实并不需要立刻回答,而是可以先提供一个最小可行的,可以在未来快速迭代、变更的临时解,直到收集到更多的信息,对问题的答案有了明确的认知,再给出一个更完备的解法。