如何看待"我想用业余时间搞点个人项目, 却不知道搞什么"这个问题

最近周末的时候都有点闲下来的时间, 总想搞点什么个人的开源小项目或者参与别人的什么开源项目, 为了提升自己的技能或学习点新的东西. 但是总是不知道搞啥, 最后就变成什么都不搞. 不知道有没有人和我一样的?

来一发?

首先, 我用helm :stuck_out_tongue_winking_eye: 然后吧, 目测这个东西我搞出来基本上要半年…

跟helm ivy 没关系。:face_with_thermometer:

那等你半年?

我有一堆想法,都存在 M-x org-todo-list 里了,各式各样的想法随时都会冒出来。但我的问题是稍微复杂点的想法,就很难坐下来去尝试实现,一直拖着。

重点在提升自己,项目才是副产品。我搞编辑器的时候研究了一堆 buffer 数据结构,搞汇编器的时候又研究了一波微机指令,二进制运算,搞文学编程软件的时候研究了一下高德纳的 CWEB,学了二元搜索树,研究操作系统的时候又读了一波 Mach 项目的 paper,又学了点 BIOS 之类的,最后 Common Lisp 水平也提升了一波。现在回过头来维护个窗口管理器也没啥压力了。

至于为啥一定要搞操作系统,就完全是为了快乐了。反正到现在拿的出来的项目不多,学倒是学了不少。

1 个赞

我是一个业余写程序的,我很长一段时间也是这样。主要原因我自己分析了一下:

  1. 自己想搞的东西没那么“特殊”,有极大的可能他人都做过了,自己不过是重复造轮子。
  2. 他人做的开源项目经过几年的发展已经很成熟了,自己造个类似的轮子短期内不可能比他做的更好,这就意味着也许没人使用。没人用就没有动力。
  3. 也许像我一样英文不行,不习惯刷帖子,长期在 github 上潜水,不发言,不提 issues .
  4. 自身能力不足。我们也许经常会看到某某某一周写了个什么项目,但我们不会想到这个人也许在这个领域已经浸淫了许多年。我们非熟练工要把一个可用的项目做出来,也许至少要一两个月才能做出个雏形,这还没算上各种“补习”的时间。
  5. 焦虑。这个原因就有点儿复杂。

零起点的开源社区贡献指南 - 掘金 这篇文章还是不错的,可以看一下。

2 个赞

同意,不过我最近有抽出空来解决拖了好久的issue和feature。新加的想法变少了,因为忙着实现代码,然后发patch和PR。然后等回复。。。。

对触屏支持友好的窗口管理器。这方面可能是个缺口,只有用gnome3或kde5。不过感觉需求不大就是了。。。

说来可能有些矫情, 想干事情的时候没想法, 别人帮忙说出一些想法, 却感觉又没啥兴趣, 没有干起来的动力… 这就非常尴尬了

触屏的话还是重新从窗口系統设计好。

很久以前弄了個PR… https://github.com/abo-abo/swiper/pull/1518

最近两年我也有这种问题,这真的不是一个好解决的问题。

如果对初学者说:贡献代码可以获得社区认可云云自己都不信了

  1. 互联网范围内90%的内容是英语系内容,当我表达一个复杂问题时基本上已经注定无法和人沟通了。
  2. 真的没有能力贡献核心代码,顶多在外围修修bug. 然而很难找到这样的小bug.
  3. 没有持续跟进能力.
  4. 没有长时间聚焦在一个点上,导致学习的知识很分散,根本无法深入.这也导致想做什么时因为选择太多而不知道做什么。

大家有什么好的解决方案我也想知道。当然当下最主要的还是学习英语。

问题在于:

  • 能想到的实用的idea,基本都被实现了
  • 也有没实现的,那么实现它一定不容易

所以搞出个有人用的东西难度显然不低。

同理我没有博客,一是懒,二是写出来也不过是拾人牙慧,不会有真正有价值的见解。我订阅的博客里,除了坛友和同学,没有一个人的水平我是能在五年内赶上的,至于坛友和同学,我Linux没玩过,org只用作todo,同学写的java面试官最爱问题我也没读过jdk源码,“既然别人能搜到比我写出来的更好的博客或官方文档,那我还写什么呢”

所以我去Stackoverflow玩了一下,毕竟都是小规模的问题,果然也还能挣点reputation。

后来我又证明了一点:在“开源项目贡献者、有活跃的个人博客的加分”的国内面试官那里,仅有Stackoverflow账号的我,真的没有加分。。。


顺便,各位博主记得检查下自己的博客RSS是不是全文输出,看到开头五行然后……的感觉不太好。。。

试了一下,速度还行。:+1:

能想到的实用的idea,基本都被实现了

重造輪子也是很快樂的,也有收穫。

也有没实现的,那么实现它一定不容易

也可能作者懶、沒有需求,或者有其他顧慮。

对于写博客这个问题,我感觉定位为自我学习记录比较好。比如,你学习新的东西,肯定会去搜索很多其他人写的材料吧,这时候你整合一下,写出自己学习的过程,对后面的人来说,又是很好的材料

github 上会有一些项目有需要帮助的issue,很多都是为了提高社区参与度,上手难度应该不大

很多开源项目都有TODO列表,包括emacs,可以参考。