black and white penguin toy

被 GitHub Action 坑了半天...

我这几天在忙着搞 LCTT 的 Travis-CI 迁移到 Github Action 。整体的 CI 的流程都已经迁移完成了,但是一个特定的检查脚本死活无法正常运行。

在这个过程中我尝试了多种办法,比如修改代码、调整里面的参数、打印其中的参数,似乎都是工作运行正常的。

将项目代码 clone 到本地后,发现代码在本地运转也是正常的。

我一直不知道问题出在哪里,百思不得其解。直到我在跑了几百次 Action 构建后,我发现,Github 默认的 checkout 插件是有问题的。

和标准的 git clone 不同, Github 默认的 Checkout 插件在实际 clone 项目是使用的不是 git clone 命令,而是采用先在本地 init 一个目录,并添加相应的 remote ,并 fetch 代码下来。

github action
GitHub Action 的 Clone

这样的好处是在处理的时候,只会 fetch 到特定的分支到本地,而不会将默认的其他分支一同 clone
到本地。但坏处就是你在执行的时候,只能针对特定的分支进行操作。

而检查脚本则是基于 git 本身的命令进行执行的,因此是需要比如 master 这样的分支的,这就导致在使用了默认的 checkout 插件的时候,检查脚本无法使用。

Travis-CI 的表现
Travis CI 的 Clone

与之对比的,是 Travis CI 在执行 Clone 的时候,采用的是全量 Clone ,再单独 Fetch 某个特定分支。从这个角度上来看,我可以理解 Github Action 为什么会 Clone 的更快一些。不过,这种 Clone 的方式确实给一些 CI 在 Check 时留下隐患。

总结

如果你在 Github 中使用默认的 Checkout 插件获取项目以后,执行 Git 操作出现了问题,很有可能是插件自己的问题,而不是你的问题。你可以选择自己构建 clone 命令,避免这个问题。

person holding purple and white card

GTD 熔断系统

我目前用的清单是 Things ,很好用。

不过,当我有一些突发事项进入时,就需要放弃原有优先级来处理。这个时候我就需要一个方案来处理焦头烂额的各项事务。

我将这个方案称之为 —— GTD 熔断系统。

GTD 熔断系统是在我的任务系统崩溃之后,切换的新的任务方案。

新的任务方案很简单,基于纸笔进行,

我会将我现在需要做的最紧急的若干事项,摘抄到笔记本上,并根据当下的紧要程度进行排序,逐一完成相关的工作和任务。直到完成后,再重新打开 Things ,提取任务事项,摘抄并复制到笔记本上。

熔断系统对于我来说,最大的好处是

  1. 让我关注当下最紧要做的事情,从而尽快从熔断的状态中离开。
  2. 让我不需要被 Todo List 中长长的项目所困扰,而是更加关注我眼前的几个项目,从而减少自己的焦虑。

为什么不直接用 Things?

Things 目前要实现这样的功能,只能使用修改时间的方式,但修改时间会出现忙完会忘记,从而让不紧急的事情变得紧急,独立出来的新的系统则可以有效的避免这个问题。

two people playing Sony PS4 game console

要不要为了健康放弃爱好?

我一直以来对于喝酒的态度都是:

酒是一种社交工具,如何你需要我陪你喝且我觉得我应该陪你喝,那我可以陪你喝。断片为止

我平日里喝的比较多的是咖啡,然后偶尔换为茶叶(因为我经常会因为咖啡喝的太多而失去了提神的效用)。对于酒来说,我基本上是能不喝酒就不喝酒。能以茶代酒就以茶代酒。

今天在群里大家在聊喝酒的问题,我就在想,如果知道喝酒不健康,你还会选择喝酒么?

那我觉得这个问题的一个 Point 是你在关注什么?

我们的一生中有很多关注的点,有些点重要,有些点不重要。我们可能会权衡其中的一些点。

那对于我来说,酒是一种工具,我不对酒有太多的想法,仅仅是一种饮料,一种工具。

对可能对于一些人来说,酒本身就是目标,因此,他们可能会在酒上面去花很多功夫。


群友精彩讨论

健康还是相对的

群友 Phoenix·HDR
black and silver laptop computer

在 macOS 下创建启动 U 盘

因为要重装 Mac mini ,所以研究了一下怎么配置启动 U 盘。

依赖

想要给 U 盘制作一个 macOS 的启动盘,首先,你需要有一个 macOS 的系统,并且有相应的安装软件(Install macOS Catalina 之类的)。此外,还需要有相应的容量 U 盘。

根据 macOS 的系统大小,我比较建议你使用 8G 或 16G 以上的 U 盘。

获取安装软件

由于安装软件比较大,所以一般情况下我们也不会保留这个软件,但当我们需要的时候,就要去安装对应的软件了。

你可以访问 Apple 的官网,找到相应的软件下载地址

系统下载地址:https://support.apple.com/zh-cn/HT211683

如果你已经升级了 Big Sur ,却希望制作 Catalina 的启动盘,那么你需要看看 这篇文章

选择你需要使用的系统

image

会自动打开下载界面

g645c

你只需要点击其中的获取,就可以下载相应的系统镜像。等软件自动下载并安装完成后,就可以进行安装操作了。

查看 U 盘挂载路径

想要制作启动 U 盘,自然要说明对应的路径,这个时候你需要先找到你自己的 U 盘。

你可以在终端中执行 df -h ,在其中找到你自己的 U 盘,比如我这里的是 /Volumes/install

制作启动盘

准备好软件和U盘后,剩下的比较简单,直接执行命令即可。

以 Catalina 为例,只需要执行如下命令

sudo /Applications/Install\ macOS\ Catalina.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume

其他版本的系统可以参考 https://support.apple.com/zh-cn/HT201372

black and silver laptop computer

如何从 macOS 系统中启动到恢复模式

macOS 可以在开机的情况下通过按 Control + R 启动到 恢复模式,那是否有不按 Control + R 就能进入到 Recovery 的方式呢?

答案是,有的

你在 macOS 的 Terminal 中输入如下命令,即可进入到恢复模式中。

sudo nvram "recovery-boot-mode=unused"
sudo reboot
Code language: JavaScript (javascript)

在操作完成后,你可以执行如下命令来移除添加的 Flag,重新进入到正常操作的系统中。

nvram -d recovery-boot-mode

来源:https://apple.stackexchange.com/questions/367336/can-i-initiate-a-macos-restart-to-recovery-mode-solely-from-the-command-line

turned on LED projector on table

精灵旅社系列观后感

精灵旅社一

精灵旅社 1讨论了关于成长的问题。

德库拉对于自己的孩子过度保护,不愿意让自己的孩子梅维斯接触到人类,怕自己的孩子受到伤害,但最终,梅维斯还是和一个突然闯入的人类男孩子约翰尼一见钟情。

德库拉从中作梗,让约翰尼离开,但一见钟情的两人都因离开而陷入了低潮。

德库拉意识到,自己的从中作梗,让孩子失去了快乐,于是走出自己的酒店,来到人类世界中,并在白天,飞上天空,挽回了约翰尼,让自己的女儿,重获快乐。

精灵旅社二

精灵旅社二的故事延续了一,依然是关于成长,但不同的是,这一次的成长,是梅维斯和约翰尼的儿子。梅维斯希望让自己的孩子获得和普通人一样的生活,但德库拉相信自己的外孙可以是一个吸血鬼,能够变成蝙蝠,并做出了不少的努力,始终无法成功。

最终,在孩子的庆生会上,一场意外,让外孙最终变成了吸血鬼。德库拉希望通过恐惧让孩子变成蝙蝠,但最终还是愤怒让孩子变成了蝙蝠。

精灵旅社三

精灵旅社三关乎爱,也关乎成长。

精灵旅社三的故事其实还挺接近我们现在的生活,讨论的是德库拉觉得孤单,希望续弦。但又担心梅维斯因此而生气。

这部电影的寓意很好,我们能做的,便是让他们更高兴,我们之间的链接,是无法被斩断的。

特别是如今这个时代,这样的想法难能可贵,也不得不面对,未来,一定会有类似的事情出现。

希望我未来也可以像梅维斯一样,宽容。

white biplane

[探店]上海浦东机场 S2国内卫星厅 190 贵宾室

点评

这个休息室位于浦东机场的 S2 国内卫星厅的 190 登机口附近,如果你乘坐的飞机需要到 S2 国内卫星厅,可以前往这个贵宾室。

不过,这个贵宾室的体验其实很一般,原因是空间一般,不算很大,同时也没有提供单独的网络和特别特别好的餐饮。因此,如果你去休息室的成本比较高,可以考虑不去。

网络

无,需要使用机场的 Wi-Fi

餐饮

提供了面条(每天有三种不同的浇头)

提供了一些简单的小吃和牛奶、啤酒等常规饮料

照片

y0m1g
5w3zt
woman in black long sleeve shirt holding black ceramic mug

即刻印象

因为录播客的原因,来了一趟上海,顺便来了即刻,拜访了即刻的产品负责人 kyth 和产品运营芒芒。

re6rl

即刻的大堂很黄,不愧是我「黄即」。由于是新年,所以圣诞的装饰还没有来得及去掉,依然挂在这里,不过看起来还是很不错的~

来即刻,怎能不去拜见9号工友,果果!不过我来的似乎不太是时候,果总正在睡觉,所以很慵懒的给我了一个眼神,犀利!

ogogh
果总玉照

拜见完果总, 就是和 kyth 以及芒芒聊小宇宙了。总的来说,小宇宙其实是有自己做产品的态度,不过,受限于产品团队人数的限制,想做的很多,但能做出来的,或者说有时间做出来的没有那么多而已。

和 kyth、芒芒的沟通过程中,我是很喜欢这家公司的,他们有空间给到工程师去做一些 side project ,让大家去做一些创意性质的项目,比如 Wolley.iohedwig.pub 就是他们公司工程师的 Side Project ,前者我视为国内版的 Hacknews ,不过目前来看用的人不多;后者则是一个 maillist 工具( 名字有点难记)。

大家聊了很多小宇宙、产品、研发、独立开发的事情,非常的愉快,而未来,相信也会有更多的机会,可以让大家一起聊一聊。

black flat screen tv turned on displaying yellow emoji

顾问公司和外包公司的区别

此内容原发于我的 Twitter, 但我觉得值得放在博客上激励自己。

顾问公司:面临一个模糊的问题或概念,帮助客户梳理、整理概念,并提供解决方案。这个解决方案可能是使用已有工具,也可能是研发新的工具。

外包公司:面临一个明确的问题,需要投入人力和物力去解决问题。

二者在工作周期上也不同,顾问公司往往是短线作战,会在一周到数个月内搞定工作。而外包公司往往是长期签约,辅助完成工作。此外,顾问公司的研发新的工具的部分,和外包公司很像。

如果你想要或已经成为 Digital Nomad,则尽可能的让自己成为顾问型而非外包型,原因是外包型的工作是可以预期工作量的,你只能以工作时间等来进行报价。但顾问型不同,只有研发新工具的部分是可以预估工作量的,而前面的沟通、信息的整理和问题的拆解,是无法被直接按照时间评估工作量的。

如果真的要对思考的过程按时间报价,那一定是一个天价,经验和知识的价格很贵。也正因为顾问型公司有这样的无法被直接估价的工作,也可以因此获得更高的项目溢价,跳出穷忙的陷阱。


新补充的

如果你接受上面这个设定,那么你就要意识到,顾问公司之所以溢价高,很大一部分来自于其非代码的部分。如果你可以提升你自己的非代码部分,就可以获得相应的溢价。

换句话说,我们看到很多的程序员出来以后只能做外包,因为他们

1. 不知道有顾问公司的存在。

2. 不具备做顾问型公司的能力。

turned on LED projector on table

影评:心灵奇旅 Soul

评分

9.8 分

电影的人物形象、立意、情节设计,都很不错,一些小的逻辑谬误,所以扣掉 0.2 分。

影评

以下内容中有剧透, 请谨慎观看。

迪士尼的电影如果不是系列的,往往会给人一个深意。比如当年的 Coco(《寻梦环游记》),也如现在的 Soul。

Soul 的故事很简单,乐痴不愿死去,误入新生儿的培训学院,和一个新生儿二十二共同前往地球,探寻生的希望,找到活下去的可能。在其间,他们体会到了生的价值,也产生了冲突。冲突使得 Joe 最终自私心作祟,成为夺取了二十二前往地球的可能。

但当 Joe 真正追寻到音乐的价值的时候,发现不过如此,他才意识到,自己对于目标的追求,根本是错误的。人生应当追求的是体会每一分钟的生活。

如果用一句话来描述,就是乐痴和叛逆小孩如何找到生的价值。

这部分电影中,我能够给高分,我觉得他塑造了几个形象:

  1. 害怕自己生而没有价值的二十二:他在心灵学院呆了几千年,但始终没有找到生活的价值。但和 Joe 的地球之旅,让他发现了生活中的美好,开始向往生活。
  2. 一心只为音乐但有点可悲的 Joe:Joe 一心向往音乐,但在这个过程中,他丢失了很多东西,和理发师的交流、和食物的交流、和母亲的交流。
  3. 无所不能但有有点俏皮的 Jerry:Jerry 的形象是神奇的,独特的,但最后结局的俏皮,让我忍俊不禁。
  4. 爱着儿子的母亲:母亲不愿意让儿子去做音乐,是希望他能有一个求生技能,不至于饿死。但当儿子说出,「如果我今天死去,我是否会遗憾」,她也释然,并支持儿子去演奏。

除此之外,从立意层面

我们的生活被工作、事务所充满,我们终日忙碌,但不知道自己所去何处。我们在乎的到底是什么?我们追求的到底是什么?我觉得这部电影给了那些被工作锁住、被梦想锁住的人们,一个重新思考的契机:What are you want?

找到你生活的热爱,去体验,品味生活,才能不虚此行。