惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Threat Research - Cisco Blogs
H
Hacker News: Front Page
IT之家
IT之家
I
Intezer
GbyAI
GbyAI
MongoDB | Blog
MongoDB | Blog
博客园_首页
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
S
SegmentFault 最新的问题
D
Darknet – Hacking Tools, Hacker News & Cyber Security
T
Threatpost
Cisco Talos Blog
Cisco Talos Blog
C
Check Point Blog
P
Proofpoint News Feed
P
Privacy International News Feed
有赞技术团队
有赞技术团队
T
Tailwind CSS Blog
Scott Helme
Scott Helme
U
Unit 42
J
Java Code Geeks
W
WeLiveSecurity
H
Hackread – Cybersecurity News, Data Breaches, AI and More
C
CERT Recently Published Vulnerability Notes
小众软件
小众软件
The Hacker News
The Hacker News
L
LINUX DO - 热门话题
博客园 - 【当耐特】
G
Google Developers Blog
Latest news
Latest news
AWS News Blog
AWS News Blog
NISL@THU
NISL@THU
S
Secure Thoughts
P
Proofpoint News Feed
L
Lohrmann on Cybersecurity
F
Full Disclosure
S
Securelist
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Engineering at Meta
Engineering at Meta
Security Archives - TechRepublic
Security Archives - TechRepublic
人人都是产品经理
人人都是产品经理
T
Tor Project blog
Recent Announcements
Recent Announcements
Security Latest
Security Latest
N
News | PayPal Newsroom
A
About on SuperTechFans
Hugging Face - Blog
Hugging Face - Blog
Y
Y Combinator Blog
大猫的无限游戏
大猫的无限游戏
博客园 - Franky
T
The Blog of Author Tim Ferriss

hsfzxjy 的博客

解决 VSCode + CMake + MSVC 编译器信息乱码的问题 使用 3090 部署 1.58bit 动态量化版 DeepSeek R1 671b 如何在 VS Code DevContainer 中配置 HTTP 代理 如何在跳板机背后的服务器上使用 VS Code Remote - Containers Cohesive Digests for Ints and Floats Rust 中的隐匿概念 —— Place(位置) 美术馆 一尺之槌,日取其半,1075日而竭 老生常谈:使用 Cloudflare 自选 IP 加速站点访问 辩义 State、Nation 与 Country 将 Base64 编码的数据快速转换为 Uint8Array 折腾 NPU·第1章 —— 搭建 Level Zero 开发环境 折腾 NPU·第0章 —— Intel NPU 概述与 Level-Zero 新增域名 monad.run CSS 中为特定字符设置不同字体 Arbitary Lifetime Transmutation via Rust Unsoundness Dijkstra 算法的延伸 Manacher 回文计数算法 硬卧 Go Fact: Zero-sized Field at the Rear of a Struct Has Non-zero Size Display *big.Rat Losslessly and Smartly in Golang 代码的仪式 Building Electron From Scratch 中式亲属称谓研究之一:构建半群 Some Notes on Kotlin Coroutines Git sparse-checkout and partial clones for Mega-Repos 辩义“封建” Diving from the CUDA Error 804 into a bug of libnvidia-container Modern Cryptography, GPG and Integration with Git(hub) Move the Root Partition of Ubuntu A New Programmer Kicks a Roadblock Git-based Dependencies in Dart and Go Reversy Naming 人类一败涂地 Invalid Golang Pointers Can Bite You Even If You Don't Dereference A Flaw of Promoting Complex Trait Bounds in Rust Initialize Process Pool Worker with Individual Value Rust - Python FFI From Scratch [Extending Hexo For My Site] Part 1 [Extending Hexo For My Site] Part 0 Debug a 'torch.tensor(1).cuda()' hanging 不自由的互联网 Retrieve Contents over HTTP without curl or wget [Unravelling mocona] Part 1 - Verbosity or Anti-Pattern [Unravelling mocona] Part 0 - Preface Understanding pickle in Python Rough Notes on Deploying Vaultwarden & NextCloud Bookmarks 语言狂热者与实用主义者 Demystify the randomness in CUDA kernels Performant Bulk Mutations in IndexedDB Auto Rebuild .pyx Files with pyximport Cython and Threads Obtain a Random Available TCP Port with Bash Information Theory: KL Divergence Information Theory: Entropy and Mutual Information 铁板烧 西郊线 Proof of the Gumbel Max Trick Option::as_ref Rc, RefCell and Interior Mutability Visualizing Correlation 三月十日杂感 三月一日杂感 二月十一日杂感 一月二十六日杂感 SS Configuration 一月七日杂感 四月·病 Haskell 笔记:State Monad Haskell 笔记:Monad 引论 Haskell 笔记:Applicative Haskell 笔记:Category Theory and Functor Haskell 笔记:data, type, newtype Haskell 笔记:folds 使用 Aria2 在 Ubuntu 中下载百度云资源 从伪并行的 Python 多线程说起 一个 Reentrant Error 引发的对 Python 信号机制的探索和思考 Linux 文件权限 HSFZMUN 4.0 部署小记 午后雨·科大 最后的雨夜·广州 揭秘·变态的平方根倒数算法 神坑·Python 装饰类无限递归 Python“黑魔法”之 Encoding & Decoding Ubuntu 重新映射键盘布局 为什么我要翻墙 Python“黑魔法”之 Generator Coroutines 数学美 之 判断线段相交的最简方法 除夕杂感 17 行代码实现的简易 Javascript 字符串模板 Python“黑魔法”之 Meta Classes 诗集 生活,需要被“发现” 家书·十八岁成人礼 炫技?还是需求? 【译】响应式图片的现状 【译】“为什么有这么多的编程语言?” Wisecity 商赛总结——也谈前端自动化测试 记一次 DoS 诈骗网站的经历 那一年,我们望向星空
Side Project(副业)
2022-04-12 · via hsfzxjy 的博客

计算机从业者们似乎都喜欢写 side project,这在中文社区中有个通俗的说法即「搞副业」。如果你经常逛 V2EX、Reddit 的编程板块或是 Hacker News,你会看到人们分享的各种各样的 side project,小到一个百余行代码的实用小工具,大至一个框架、一个网站乃至一个完整的准商业项目。

人们在分享自己的创造时往往怀着极大的热情。这是一种即使隔着屏幕也能感受到的心情,就像七岁的男孩组装好了第一辆四驱车,又或是料理爱好者凭自己的努力烧了一顿高难度的饭菜。他们分享的是自己的宝贝,并期望在人群中掀起波澜。在一些社区如 r/rust,人们热衷于讨论这样的分享,给予肯定以及有意义的反馈。但事情并不总是如意,在另外一些地方,如综合性的或是冷门的社区,只有少数分享会被人们注意,更多的则是被略过,直至沉没在信息流中。这通常会令人沮丧。

人们怀着相似的心情分享创造,分享时的心态却又不尽相同。我偶尔会尝试透过文字猜测不同分享者的想法。发在新手区的帖子有一种年少的单纯。他们的分享并不复杂,往往是初尝某个领域后的练手项目。社区的成员通常也会以较低的标准对待这样的项目,给予鼓励,仿佛为刚学会走路的孩童喝彩。匆匆留下一个链接的,倘若不是社区不鼓励附言(如 Hacker News),极有可能是一位佛系人士。他们分享的往往是随手创造的项目,如从工作中抽象出的类库,或是某些能提升生活质量的工具。他们没有为此花费过多的精力,因此不会过于在意他人的看法。项目能够帮助他人当然是极好的,如果不能,他们也不会过度失落。但也有另一类人,他们在自己的项目中倾注了大量的心血,因此也希望从社区获得相当的回应。他们在行文中会极力为自己的项目卖好,有甚者更是不加掩饰地向社区索要点赞(如 Github 的 Star)。这些人属于分享创造的狂热者。

每种职业都有类似的现象。行业内人士自发形成圈子,以交流讨论行业的知识和技能。作家们相互赏阅评判各自的作品,厨师们举办茶会比拼自己的料理。但计算机从业者的热情尤为高涨。不论水平的高与低,工作的忙与闲,大家都热衷于写 side project。

Side project 首先是实用的,这由计算机从业者的性质决定。在信息化的时代中,他们是日常生活工具的锻造者,是数字世界的铁匠、木匠。计算机从业者的创造主题广泛而多样,从游戏到生产力工具软件,乃至一些智能硬件,无一不可解决切实的问题。但与传统世界的工匠不同,完成一个完整的作品并不需要诸多精细化分工的角色。一旦有了想法,一个人便可马上付诸行动,借助完善的文档快速地构建一个可用的原型。和其他行业相比,计算机从业者可以花费更少的资源完成一个项目。

计算机从业者们通常倡导终身学习,而完成 side project 是一个很好的学习机会。在工作中你也许只负责项目的一小方面,涉及的知识就像巨型人偶中的一颗螺丝。但在 side project 中,你会接触到项目的各个方面,从规划设计到技术实现再到落地部署,总有一些之前没有涉猎过的内容。抑或者业界有人推出了新的技术或框架,正好能用于实现你的想法,你便会去接近并尝试使用它们。有人说这么大的工程量也太费精力了,会使人身心俱疲。但对于极客而言,学习和折腾各种技术本身就是一件快乐的事情。

Side project 也是自豪感的一个重要来源。凭自己的力量创造一件事物,并用它来解决实际的问题,这本身就是一件了不得的事情。如果这个事物再被外人所知悉,那更是有超越造物主的自豪感——毕竟无人和造物主一起分享这种喜悦。自豪感不总是能轻易获得,却又是生活的必需品。如果你不能从工作中获得自豪感,你会更倾向于从 side project 中获得这种体验。

而更重要的是,网络及成熟的代码托管平台简化了 side project 的分享乃至协作。这是相较于其他行业的一个优势。经由网络,他人可方便地体验分享的作品,同时作品也可被快速传播。人们不仅能体验作品,很多时候也能了解到作品的实现细节。这要归功于开源文化的流行。创作者不仅会分享成品,也乐于分享成品的源代码,以供他人学习或是改进。而代码托管平台的使用已在计算机从业者间形成共识,人们可以在上面阅读项目的细节,或是和作者携手完成项目。这同样也是一件非常有意义而令人快乐的事情。


作者:hsfzxjy
链接:
许可:CC BY-NC-ND 4.0.
著作权归作者所有。本文不允许被用作商业用途,非商业转载请注明出处。