标签归档:随笔

独立开发时,为什么我推荐你先画 UI ?

独立开发时,为什么我推荐你先画 UI ?

独立开发者在做一些应用的时候,往往很容易跳过一些过去在公司协作时的环节,直接写代码。

但我其实更推荐大家在做自己的独立产品时,要遵循自己熟悉的软件开发流程,按照流程来做。当然,你不是一个专业的产品,也不是一个专业的 UI,可能并不能做的很好。但区分不同的角色思考同一个问题,可以让你更加关注你要解决的问题,找到所有问题中的重点和次重点。

明确重点和次重点后,在随后的产品设计和 UI 设计环节中,你可以以一个 相对低成本的方案来完成思维和逻辑的推演,完成完整的推演后,再正式的进入开发阶段。

毕竟,在设计软件上拖拖拽拽,怎么也是要比你自己写代码更快的。

为什么你接手的代码总是屎山成堆?

为什么你接手的代码总是屎山成堆?

经常在论坛里看见到一些吐槽:自己接手的代码里屎山成堆,没得选,只能基于屎山进一步维护。

但为什么会是这样?

本质上是从老板的视角来看和从工程师的视角来看问题不同。工程师作为具体的执行者,希望每件事都尽善尽美,提升自身的价值,打造完美的产品。

而作为老板,往往面临的是资源有限,能做的事情又足够多,这个时候需要选择 ROI 更高的事情来做,很容易在不断解决客户问题过程中,累计历史债务。

当然, 我们可以通过一些管理手段来降低历史债务累计的手段:

  • 招募更加优秀的工程师:优秀的工程师往往有着更好的代码品味,叠屎山的速度会更慢一些。
  • 引入 CR 的流程:CR 的流程比单个人开发出现风险的概率更低。
  • 接入自动化测试等手段:自动化测试让屎山降低的过程中,风险逐渐降低。

此外,在解决屎山的时候,同样需要选择,如何解决屎山,以获得最高的效益。

选择,无处不在。

如何对抗信息过载?

如何对抗信息过载?

作为一个追求饱和式信息辅助决策的人,我最常遇见的问题就是信息太多。大量的信息源,造成接收到的信息远超他人。

但一个人的信息消费量终归是有限的,我始终是无法消费所有的信息的。所以, 我借助一些方法来调整自己的信息源,提升自己的信息消费效率。

1. 通过 RSS ,而非推荐来消费内容。

用 RSS 对抗算法推荐中我提到,我看论坛也不是使用网页浏览,而是选择使用 RSS 的方式来阅读。核心的原因便是 RSS 的阅读方式,可以让我同时看到几十条帖子,这样我就可以只关注我自己的最在乎的内容。

同时 RSS 的阅读界面相比于论坛、智能推荐系统,干扰项更少、内容密度更大,可以让我更好的完成信息的快速阅读、过滤、阅读。

我在 InoReader 看 V2ex

2. 借助过滤器优化 RSS 中的 Item

我一直续费 InoReader 的原因是 InoReader 为我提供了信息过滤的功能,我可以设定我不感兴趣的关键词,并将对应的关键词内容过滤掉,从而只看我感兴趣的内容。(这样可能会造成信息茧房,不过我过滤的关键词往往是有特定的原因,比如我不求职,就可以把所有和求职相关的帖子过滤掉,这种茧房是可预期的)。

3. [待实现] 基于信源评分,取消和新增信源

现有的系统可以很好的实现信息的阅读和过滤,但我一直觉得还差一个功能:对信源进行信噪比评分,对于评分低于某个数值的,视为该信源无价值,重新review 是否要停止订阅该信源。

理想情况下,应该基于某个信源被过滤掉的条目除以同一时间段所有条目得出噪音占比,对噪音占比高的信源进行过滤即可。

饱和式信息辅助决策

饱和式信息辅助决策

在看《流浪地球》的时候,有个词挺有意思:「饱和式救援」,讲的是同时安排多个团队去解决一个问题,这样的冗余操作可以在极端情况下提升目标达成的可能性。毕竟有多个备份总要有一个可以达成目标。

回过头看我自己的决策习惯,我是一个追求饱和式信息来辅助决策的人。我习惯性的收集尽可能多的上下文,并基于自己收到的上下文来做决策,以图达成最优解的选择。

当然,没有人能做出绝对的最优解,我们都有自己的可见的上下文范围和不可见的上下文范围。我们终究没有全局之眼,我们无法达成绝对的最优解。

此外,饱和式信息辅助决策的另外一个问题是,比较容易陷入到无尽的上下文收集当中,必须要给自己一个明确的时间限制,才能确保自己不至于不停的收集上下文,而忘记了更重要的是决策(毕竟没有什么是“准备好了”的时候)。

用 RSS 对抗算法推荐

用 RSS 对抗算法推荐

我看 V2ex 之类的论坛的方法和大部分人不太一样,我并不会常去网站上看相关的内容,更多是通过 RSS 来完成对论坛的阅读。

主要的原因是直接浏览网页虽然体验可能最好,但会让你不自觉的陷入到事情的讨论当中,而 RSS 的阅读方式,则可以让我快速的浏览文章的标题,判断这个内容我是否感兴趣,再点进帖子内容查看,十分有效的提升了我阅读的效率。

RSS 阅读给我带来的另外的好处,便是上帝视角。

通过 RSS 阅读帖子,我看到了同一个论坛的同一时刻,大家对于同一个问题的看法可能是截然不同的,清晰而深刻的感受到了世界的参差。

挺好

大厂叙事

大厂叙事

在 V2ex 看到一篇帖子,吐槽微信小程序不够好用,原话是“小程序发布这么多年了,调试器也还都是抄的 chromium ,怎么还是一坨屎一样,开发者就活该不配被当人看吗?

从用户的视角来看,这么当然是合理的,体验差的点是值得被修复的。不过,在大厂的叙事中,这可能是不够的。

作为一个曾经在 TOP 大厂待过的人,我深知大厂的叙事逻辑 —— 凡事看 ROI,以及做最重要的事情

以小程序开发者工具为例,他体验不好的点是有非常多的,开发者的数量远大于研发团队的数量,所以会有大量的任务值得、等待被解决。但终归人手有限,开发团队只能选择其中一部分事情能做。

这个时候做事就会自然而然推向最重要(比如老板们能关注到的)、ROI 最高的(用户反馈最多、对销售产生最大价值的)。这种方式让大厂的资源可以更集中的被利用在那些大事上,帮助大厂们在做重要的事情快速推进。当然, 也会让每一个个体都有可能成为被忽略的数字,毕竟,单个个体的声音太过渺小。

大厂叙事在做满足 80% 的需求的时候,是很有效的,因为他解决了大数的问题。但还有 20% 的需求是无法被满足的,资源总是不丰富的,这 20%,就是留给独立开发者、小公司的空间。

将小事做出彩

将小事做出彩

在逛 V2ex 的时候,看到一个帖子,大体上是说自己工作 7 年,没有什么技术进步,顺便聊一下自己的看法。

做为公司中的职工,我们每个人都有两面:

  • 一面,是公司雇佣我们时所判定的当下面,当下面决定了我们此刻的工种、工作,决定了我们当下的薪资。这也是很多时候我们在做的事情。
  • 另一面,是公司预期我们可以做到的事情,是未来面,未来面决定了我们能否进一步的涨薪、在这个公司继续的任职下去。

公司作为一个盈利机构,主要的任务还是赚钱,所以,我们的工作当中可能大部分时间和精力都在做当下面的事情。而我们作为个体,如果希望自己得到成长,则必须投注精力到未来面当中,才能让自我感到提升,让收入得到提升。

时间上的冲突,让我们无法有充足的时间投入到未来面,而我们又希望得到提升, 就需要从当下面中寻找机会,做既可以满足当下面同时又可以投注到未来面当中的事情。而想要达成这样的目标,我们不能仅仅是 —— 完成自己的工作 。

我们还可以做的是:

  1. 在完成自己的工作之后,复盘自己的做法, 评估是否有优化的空间。
  2. 梳理自己工作过程中遇到的问题和解决办法,提升工作效率。

这样的方法和方式还有很多,如果你不知道什么事情是能够帮你投注未来面的,就以终为始,问问自己,假设未来我还要做这样一件事,什么样的事情可以帮助到我自己?

如果新冠能复阳…

如果新冠能复阳…

最近打了第三针疫苗,突然想起来了一个事情,之前有说过,新冠疫苗是无法防止你感染的,只是能够防止你重症。这和我们以前理解的疫苗不同的。

之所以不同,主要是因为新冠病毒的变种非常多,同时可能会有多个毒株流行。这些毒株之间虽然有亲缘关系,但又不完全相同,很有可能其特征有所不同,导致我们身体的免疫系统并不能很好的识别到不同分支的新冠病毒。

而这种不同,就造成了人是有可能感染新冠病毒痊愈之后,再次感染其他毒株的。而我们所注射的疫苗,也只能为我们提供一定特征的灭活病毒,我们终究还是有可能感染这个特征以外的新冠病毒的。

😮‍💨,难。

总结和复盘,是给你成长的机会

总结和复盘,是给你成长的机会

在学生时代,我总是很讨厌考试。因为自己考的不好,所以总是挨批评。

到了工作以后,也有一些反感“总结”、“复盘”,仿佛这些总结和复盘是另外一种形式的考试。

但当你仔细想想,「假设」考试是为了你好;总结和复盘也是为了你好,

我们就会发现「考试」其实是为了帮助我们明确自己当前所在的水位,明确这个水位以后,我们好有针对性的去学习和提升。

而总结和复盘也类似,其实是为了帮助我们做好上一段工作中的分析,从而为下一段工作提供燃料,让我们更近一步的好好工作。

当然,你可能会提出:这个前提不一定成立呀?

没错,从他人的视角来看的时候,这个前提不一定成立。但当复盘和总结的发起人是我们自己时,我们的立场和前提是明确的,我们无需为他人复盘、无需为他人总结,我们只需要为自己而学习。

执行 rpi-update 提示Make sure you have ca-certificates installed and that the time is set correctly 怎么处理?

执行 rpi-update 提示Make sure you have ca-certificates installed and that the time is set correctly 怎么处理?

我在尝试执行 rpi-update 给自己的树莓派做固件升级时,提示了如下报错。

Make sure you have ca-certificates installed and that the time is set correctly

经过研究,发现是因为 rpi-update 的自更新域名被国内封禁了(挂载 github content 上),导致无法通过自检,只能跳过自检来更新。执行如下命令,即可跳过自检完成更新。

UPDATE_SELF=0 rpi-update
Kindle 的一个小技巧 —— 保持常亮

Kindle 的一个小技巧 —— 保持常亮

Kindle 无法设置熄屏时间,所以隔一段时间, Kindle 就会自动进入到熄屏状态。而如果你希望保持 Kindle 保持常亮(比如在下载电子书的时候),则可以在 Kindle 的搜索框中输入 ~ds ,并按下回车,即可开启 Kindle 的常亮模式。

在 Kindle 的常亮模式下,你无法关闭屏幕(甚至是物理按钮都没用),如果希望恢复正常,则必须进入「设置」—「设备选项」—「重启」,才能将 Kindle 恢复到会自动关闭屏幕(且可被关机)的状态。

“宗族化”与“城市化”

“宗族化”与“城市化”

和堂弟相对长期的生活了一段时间后,我对于城市里的孩子和村里出来的孩子又有了新的认识 — 边界感不同。

在我看来,这种边界感的不同,是来自于各自生长的环境:

  • 城市化:城市里的孩子们往往是散居、各自独立的生活状态。家庭成员只有自己、爸爸和妈妈。周围虽然也有邻居,但往往只会在外面玩,游玩结束后,各回各家,各找各妈。
  • 宗族化:村里的孩子们由于历史的原因,经常会出现一个村子里很多户之间都有一定的宗亲关系。各家孩子可能会一起到一个孩子家里玩,甚至是吃住在这个孩子家中。

这种城市化和宗族化的差异,致使城里的孩子会更加的明确「你」和「我」的边界,「我」会维护好自己的边界,尽量不进入到「你」的边界中。这种边界感,在城市这种陌生人社会当中,如鱼得水。

而村里的孩子在村里的时候,并不会有特别强的这种边界感,初次到城市当中生活时,会更容易碰壁,并因此碰壁之后缩小到一个更小的边界范围。在这个边界范围里,继续自己没有边界感的状态。

城市化不一定是好事,因为其中隐含了「我不完全信任你」的含义;宗族化也不一定是好事,因为在默认社会下,不加选择的信任,会导致我们受到欺骗。

在我看来,一个孩子需要接受城市化的教育,也需要接受宗族化的生活,这样才能在保护好自己的前提下,尽可能多的向外释放善意,开放自己。