月度归档:2023年12月

人口、矿产和旅游资源有什么共性?

人口、矿产和旅游资源有什么共性?

在读陆铭的《大国大城》,书中提到,三种资源是受地理和地域限制的:

  • 矿产资源:矿产资源是需要数万年沉淀得到,如果一个地方的矿产资源没有了,那就是没有,恢复周期需要数万年。
  • 土地资源:土地资源对应的是农业,因为土地有限,所以我们只能种植这么多的植物,我们顶多通过一些工业的手段提升亩产、一年 N 熟。
  • 旅游资源:旅游资源也依赖土地的本身,需要地利和自然风貌。如果没有好的自然和地利,就没办法形成旅游产品,售卖价值。

上述这三种资源有以下几个共性:

  1. 受地理位置和资源限制
  2. 不可移动
  3. 非可再生资源
  4. 开发利用受限制

这个视角很有意思,我们可以思考哪些资源是受地理限制的,从而可以思考到不同的产业的周期、价值,以及可以思考在我国 960 万平方公里的面积下,我们应该如何里用好这些资源。

比如,我马上能想到的是 —— 太阳能资源。我们无法把一个地方的太阳能资源迁移到另外一个地方去;同时我们也无法让一个地方的太阳能资源被重复消费(比如我们不可能把太阳能电池板纵向叠起)。从这个结果来看,在一些人迹罕至的地方去部署一些太阳能电板,把太阳能转换成电能后,再进行运输、消耗,从而实现对于太阳能的充分利用。

如果我们围绕上述的这些特性去思考,可能还有一些资源是具备类似的特点的,比如:水资源、海洋渔业资源、风能,都可能有使用不到位的地步。同时,我们也要考虑到,这里的很多资源在使用上可能是有 Overlap 的。比如太阳能和风能可能都会回归到土地资源上,因为我们没办法在一块土地上同时发展风能、太阳能和农业,因为太阳能和农业都需要物理空间中的纵向资源(太阳),而风能虽然不依赖太阳能,但它依赖土地,建设风能发电站将会占据其他用法下的。所以可以进一步归类。

这里可能我们还有不少可以做的事情。


额外发现,陆铭教授还挺好玩的,他自己是有个人网站,且日常更新的(10 天前还在更新)。

这两天把《大国大城》看完,倒回去看看《空间的力量:地理、政治与城市发展》、《大国治理:在发展中营造平衡的空间政治经济学》、《强城时代》 、 《向心城市—理解向心趋势,读懂中国城市的未来》和《大国经济学》。

2023 年年终盘点

2023 年年终盘点

即将迎来 2024 年,我的生活也发生了不多不少的变化,有亲人的离开,也有新的结构性的变化。所以,还是要总结一下这纷乱的一年。

今年的年度盘点以 Q&A 的方式进行,问题来自于 Obsidian CEO Kepano 的 40 个年度问题,并进行了一定的拓展。

过去的 2023

我今年做了哪些之前从未做过的事?

连续半年组织线下活动算一个吧。我虽然过去也做过一些运营的事情,但没有重到需要我自己策划一整个流程的工作。

但今年在做 LLUG 的时候,我自己完成了整个活动的设计、推动、落地,成就感满满,产出满满。还是比较开心的。

我有没有遵守年初时和自己许下的约定?

没想起来自己年初下的哪些约定,从新的一年,可能要开始写一下自己的新年预期,然后在年末的时候重头回来 Review。

你身边有人生孩子了么?

没有

你身边有人去世了么?

外婆去世了,挺伤心的,但,也无可奈何。终归是留不住。

你去了哪些城市/州/国家?

今年因为做 LLUG 线下活动,还是去了不少的地方:上海、深圳、成都、杭州。五月还开车去了淄博。

明年你想要获得哪些你今年没有的东西?

更多的视频观众吧,今年本来也把这个设置为目标,但今年其实没有更新太多的内容。更新了几期 AMA,然后就断掉了。好在找到了一些不错的选题方向,最近要把视频录制起来,新的一年开始继续发视频。

今年的哪个或哪些日子会铭刻在你的记忆中,为什么?

  1. 2023 年 8 月 22 日,结婚纪念日,这天去领了证。
  2. 2023 年 12 月 20 日,外婆去世的日子。

你今年最大的成就是什么?

把 LLUG 这个品牌做起来了,虽然可能不是很大,但参与者们整体的体验感都还不错,大家玩得很开心,也愿意继续参与。

你今年最大的失败是什么?

没有处理好母亲和老婆之间的关系,这里还需要继续努力,让家庭更和谐。

你今年还遇到过哪些困难?

坦白来讲,大的困难不多,更多都是一些精神内耗,算不上困难吧。

你今年是否生过病或受过伤?

没有生病也没有受伤,这点还挺好的。

你今年买过的最好的东西是什么?

  • 车,出行更方便了。半年跑的不多,也就 4000 公里左右(主要还是下半年没太开车出去玩,平时都是市区内的。)

谁的行为值得去表扬?

暂时好像没有特别关注到这部分,也回想不起来

谁的行为令你感到震惊?

暂时好像没有特别关注到这部分,也回想不起来

你大部分的钱都花到哪里去了?

人情相关的支出。

有什么事让你感到超级、超级、超级兴奋?

AI + Hackathon,AI 本身我就在关注。Hackathon 可以让我快速熟悉一个新的技能,二者结合起来,可以让我有很多不一样的输出。

哪首歌会永远让你想起这一年?

还真没有,今年听的歌基本上都还是老歌,没有听什么新歌。

与去年的这个时候相比,你是:感到更快乐还是更悲伤了?变得更瘦还是更胖了?变得更富还是更穷了?

从个人视角来看,变的更悲伤,因为年底的时候外婆去世了,有人离开了我(但也可能是锋终定律带给我的);变得更胖;变得更穷(自己出了彩礼钱给老婆,一夜返贫)。

你希望自己能做得更多的是什么?

  • 更多的做好自己的知识管理,让自己的大脑可以进一步高效工作。
  • 更多的节省钱,让自己一年的开销变得更少。

你希望自己能做得更少的是什么?

更少的去看一些无用的信息和知识,让自己的精力可以进一步聚焦。

你是如何度过节假日的?

如果有出行计划,就会出去拜访亲友/旅行。但如果没有的话,我就会呆在家里写写代码,看看书啥的。

你今年坠入爱河了吗?

yes

你是否有讨厌某个你去年此时不觉得讨厌的人呢?

没有。

你最喜欢的电视节目是什么?

今年最喜欢的应该是各种喜剧内容,比如《一年一度脱口秀大赛》,能够让我在吃饭的时候快快乐乐的下饭,挺好。

你读过最好的一本书是什么?

《要钱还是要生活》

你今年发现的最好听的一首歌是什么?

《杀死那个石家庄人》

你今年看过最喜欢的一部电影是什么?

《关于我和鬼变成家人的那件事》,无厘头,但又很感人,特别是毛爸最后那一段自述。

你今年吃过最好吃的一顿饭是什么?

好像没有什么值得我特别记得的吃过的饭。

有什么是你想要且得到了的?

  • 天津摇号 + 车

有什么是你想要却没有得到的?

比如 OSMO Pocket?但其实我后续发现这个东西并不是我必须要的,所以就没有买。

你生日那天做了什么?

看书、写代码、去吃了个萨莉亚。

有什么还未发生的事,如果发生了,会让你的这一年变得无比满足?

家庭中的问题得到解决。for 老婆 & for 妈。

你会如何描述你今年的个人时尚风格?

没有风格,全年穿 Tee。

是什么让你保持理智?

读过的书 & 自我预期,知道自己虽然可以不理智,但代价是不小的。投鼠忌器罢了。

你最欣赏哪个名人/公众人物?

今年没怎么看名人传记,没有什么特别欣赏的名人、公众人物。

哪个政治问题最令你有感而发?

修宪吧。今年这一年政治上还发生了蛮大的变化。

你想念哪些人?

父亲、外婆。

在你新认识的人之中,谁是最好的?

王重,比我想象的要好,我们的关系也得到了缓和。

今年你学到了什么宝贵的人生经验?

  1. 消解自己的情绪;
  2. 学会团队合作;
  3. 减少对外的敌意。

今年每个月抽 3-5 个开心的时刻/大事件都是什么样?

一月:和老婆一起回焦作;自己开车从天津到天津到湖北再开回天津。

二月:ChatGPT-Feishu 开发&发布;和朱总、老高一起见了禅道的创始人。

三月:Segment Fault 的 Hackathon;龙蜥线下活动;给老高庆生;和张弛、陈洋一起吃饭了

四月:开 Model Y 去蓟县露营;配妈过生日。

五月:去淄博

六月:龙蜥线下活动、拍立得、云南之旅(昆明 、大理、丽江、泸沽湖)

七月:武汉活动、老婆做近视手术、逛宜家

八月:领证、Community Over Code workshop

九月:深圳活动、开自己的车去蓟县露营

十月:去吃玉泉饭庄、成都活动、开源年会

十一月:Hackathon、杭州活动、

十二月:李哲婚礼、外婆去世

能够总结你这一年的一句话是什么?

一切都是最好的安排,也是最坏的安排。

新的一年

做什么能够让自己变得更好?

每周运动 1 小时以上;

持续成长最大的瓶颈是什么?

  • 我自己的拖延症。担心自己做不好,所以会在一些重要的事情上持续拖延,反而不会让我的效果很好。
  • 我自己的过度承诺,预期管理的不好。给大家太高的预期了。

如果我有无限制的钱,今天将如何投资增加我的幸福感?

  • 给自己一个有书房、有健身房的房子,这样可以让我呆在里面看书、学习、Coding;也可以在累了的时候去锻炼。
  • 看更多的书, 以及思考。
我的 Hackathon 心法

我的 Hackathon 心法

我是一个很喜欢 Hackathon 的人,除了会积极参与一些其他团队组织的 Hackathon,有些时候也会自己给自己模拟一个 Hackathon 来玩。

如果仔细问问我为什么这么喜欢 Hackathon,大概是你必须在一个有限时间内去完成一个你自己设定的目标。这个目标具有一定的挑战性,同时又逼迫你思考到底什么是重要的。我的几个出名的项目 —— Logoly、NESHouse、ChatGPT-Feishu 都是在 Hackathon 的阶段完成的。

对于我来说,一个 Hackathon 我一定会做的:

  1. 选择一个我不那么熟悉的技术栈:太熟悉的内容没必要在 Hackathon 的过程中去实现,放在真正的生产环节去迭代就好。
  2. 选择一个我不熟悉的目标:如果技术栈选择了一个熟悉的方向,则在目标上会选择一个全新的方向,这样有可能在 Hackathon 环节去做一个自己从未做过的事情,扩展自己的能力圈。
  3. 逼迫自己思考什么是重要的:Hackathon 因为时间和资源是有限的,因此一定要逼着自己反复的思考到底什么是最重要的?以及我如何在有限的时间内,达成这个最重要的内容的产出的目的。

通过这样的方式,我几乎每一次的 Hackathon 都会有全新的收获,无论是新的技能,还是新的产品,一定会有相关的产出,而这些就是我参加 Hackathon 的最核心的收获。

此外获得到的东西,都不过是 Bonus,有了最好,没有也完全可以接受。

如何在 M1 mac 上安装 MySQL2 Gem

如何在 M1 mac 上安装 MySQL2 Gem

在 M1 的 mac 上安装 mysql2 这个 gem 的时候,经常会遇到如下的报错:

1 warning generated.
compiling statement.c
linking shared-object mysql2/mysql2.bundle
ld: warning: -multiply_defined is obsolete
ld: warning: ignoring duplicate libraries: '-lruby.3.2'
<strong>ld: library 'zstd' not found
</strong>clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [mysql2.bundle] Error 1

根据提示,我们可以看到是 zstd 这个依赖找不到导致的编译失败。这是因为 mysql2 是一个 Native Gem,依赖了大量的系统组件,如果我们没有对应的系统组件,就无法找到。

但实际上在我的系统中已经安装了 zstd,只是在 mysql2 的构建过程中找不到。

要解决这个问题有几个思路:

  1. 在构建时能找到 zstd ;
  2. 在构建时指定 zstd 的位置。

这里我选择第二种方式:

gem install mysql2 -- --with-mysql-config=$(brew --prefix mysql)/bin/mysql_config --with-ldflags="-L$(brew --prefix zstd)/lib -L$(brew --prefix openssl)/lib" --with-cppflags=-I$(brew --prefix openssl)/include

通过 -- -with-mysql-config 的方式,可以在安装时指定构建的参数,从而实现让 gem 构建时使用我们设置的路径,从而完成 gem 的安装。

一些适合送给小朋友的礼品

一些适合送给小朋友的礼品

我的两个表姐都生了小朋友,大表姐生了一个女儿,二表姐生了一个女儿和一个儿子。作为舅舅,我希望每年都送他们一些礼品,一方面让他们记得我,另一方面,也算是帮助身在焦作的他们看到一些一线孩子看的书。(当然,这些书未来当我有了孩子,也会同样买给他,让他看)。

记录下来,是为了方便你在遇到类似的问题时,有的参考。

已经送过的礼品

图书

  • 新概念英语》:虽然目前教育提倡学中文,不断在降低英文的比重,但我自己作为一个英文的受益者,还是希望下一代能够学习英文、学好英文,去看看这广袤的世界。
  • DK博物大百科》:DK 大百科声名在外,希望博物大百科可以帮助他们理解这个世界的多样性。坦白来讲,我觉得 DK 系列都很值得作为礼物送给小朋友。
  • 小亮老师的博物课》:当时小亮老师比较火,加上博物课本身是我比较希望小朋友了解的,就直接买了一套。现在回过头想想,可能和 DK 博物大百科冲突了。
  • 图说天下·国家地理系列:走遍中国》:焦作是一个小地方,如果他们未来上大学也在省内上,可能终生走出河南的机会不多。但走遍中国系列的图书,可以让他们知道原来中国这么大, 他们知道世界之大,便有走遍世界的可能。
  • 大英儿童漫画百科全书》:这是我买的最早的礼物,当时没有买 DK大百科主要是怕他们看不懂。

玩具

  • 乐高

希望送的礼品

  • 性教育相关图书:我国的学校里目前性教育依然是禁忌,则通过家庭的方式来补充是必要的。我也希望选择一些性教育的图书,送给他们,帮助他们建立正确的性观念,保护好自己。
  • 财商相关图书:我从小就没有接受良好的财商教育,很多信息都是成年以后自己慢慢学习的,希望他们能够不走我的老路,在更早的时候,就能够接受到相关的信息。目前打算购买的图书包括:《小狗钱钱》、《富爸爸穷爸爸》。胭脂王推荐了《奇妙的盘算社团》,但我还需要自己先看一遍,再评估是否要送给外甥女和外甥。

2024.01.15补充

《奇妙的盘算社团》读完了,还不错。不过比较适合初中阶段的小朋友。他们已经建立了基础的人生观、价值观,这个时候看这本书比较好。

You Need or You Want?

You Need or You Want?

由于常年有信息焦虑症,所以我订阅了大量的信息来源,各种 RSS、公众号。但真正我能看到的是有限的。

这个时候就有一个问题需要回答:

我关注的这些内容,到底是我需要?还是我想要

理想情况下应该是我只看我需要的,并在我需要的基础之上,有 10% 左右的超额内容,这样确保自己既没有被海量的消息打爆,同时也没有陷入在信息茧房里。

不消费无用信息便是一个尝试

100 多个频道,得干掉一些。

纪念外婆

纪念外婆


早上妈给我发了条消息,说外婆不在了。

马上买火车票,安排好今天、明天、未来几天的事情,排好优先级,然后静待晚上的车回焦作。


我算是外婆最待见的孩子。由于三个舅舅和大姨生的都是女儿,也都是独生子女。我这个小女儿的儿子就成了外婆最喜欢的孩子。再加上小时候家里的条件不好,我常常在周末被送到外婆家度过。

有很多美好的记忆:

  • 外婆家的院子,放满水,让小学的我在里面玩水;
  • 外婆在院子里洗衣服,我在院子里玩;
  • 外婆在院子的房顶晒西瓜酱,我给外婆帮忙;
  • 每次去外婆家,外婆都要给我做好吃的;
  • 在我小时候的冬天,焦作下了雪,外公外婆带我去人民公园玩,还给我做了个简易的雪橇,让我滑着。
  • ….

还有很多我不记得,但外婆记得的片段:

  • 外婆问我,要不要改姓买(我外公姓买),我说不要,男孩子要跟爸爸的姓,女孩子才跟妈妈的姓。
  • 外婆问我,她和我奶奶都掉进河里了,我先救谁?我说我谁都不救,因为我不会游泳,我打 119。
  • ….

所有的一切美好的回忆,涌上心头。


两周前因为堂弟结婚,我回了趟河南。那时候外婆已经住院了,不过只是因为胃病,在医院已经住了有几天了。刚好我回来,还见了她两面。可惜没有拍照。

后面再回来,就是外婆因为吃了中药,上吐下泻,直接休克,被送进了 ICU,我也是连夜赶回来。

没想到再回来,就是参加她的葬礼了。


我以前有给外公外婆拍照的习惯,因为我不知道他们什么时候会离开我们。结果发现,似乎只有我有拍照的习惯。结果现在我可能成了拥有她照片最多的人。

如果你去看望老人,我也建议你也可以给老人们拍照。因为你不知道什么时候就再也和她们无法相见。或许这次见面,就是你们的最后一面。

未来我可能会选择买拥有更好相机的手机,不为别的,只为能够留下亲人、友人的美好的照片和回忆,这些照片,会成为伴随我们未来一生重要的 Moment。


想着以后我就没有外婆了,曾经那么爱你的老人也不在了。泪又留下来了。


一些人在火车站的情绪,没有主题,只是任由情绪肆意的挥洒。以自己的情绪,纪念外婆。

不消费无用的信息

不消费无用的信息

今天注意到,我自己在消费 Youtube 上关于 Tesla Model 3 的视频信息。

但实际上,我不应该消费这个信息,因为我已经在今年买了自己的第一辆车,今年内大概率是不会需需要买车了。在买车应该是在 2-3 年后,有了自己的房子才会考虑买电动车。

此刻我对于 Tesla Model 3 的任何信息消费都是无意义的、超出我需要的,除了会增长我自己想要购买 Model 3 的欲望之外,不会有任何的变化。

但现实是我不可能在短时间再买车。

so, 答案就是,我不应该消费这些信息,直到我的又一次需要去购车时,再重新关注和了解这些信息。

嗯,应该取关一些公众号、Up 主,控制自己的信息摄入了。

我的投资理财书单

我的投资理财书单

以下这些书单是我认为和投资理财相关,要看的书。部分书有书摘,你可以点击链接查看书摘。

入门

经济学

投资与生活

投资基础

股票 & 基金

其他

除了上述的图书以外,本站的读书笔记分类中还有一些投资相关的书摘,供你参考。

如何自定义 Docked?

如何自定义 Docked?

我在之前的文章 使用 Docked Rails CLI 简化 Rails 的开发 中介绍了 Ruby on Rails 的 Docked 程序,并提供了一个我自己的定制版本。

这里来和大家说一下怎么自定义 Docked 镜像,从而构建一个适合你自己的镜像。

Fork Docked 项目

At first ,你需要 Fork Rails 官方的项目

https://github.com/rails/docked

Fork 项目到你自己的名下后,你可以修改一下他的名字,改成适合你自己习惯的名字(比如我就改成 Runs 了,Docked 对我来说太容易打成 Docker 了)。

修改 Dockerfile

Docked 最核心的其实就是 Dockerfile ,你可以修改你 Fork 来的项目,并在 Dockerfile 当中添加必要的依赖,引入新的资料等。

比如,https://github.com/bestony/runs/commit/d930a5d6fc389cb6fa8e9f7c41947d01b000da95这个 Commit 就是为了在 Dockerfile 当中添加 PGSQL 的配置,以实现在使用 rails new 命令时,可以选用 PGSQL as DB Backend。

修改 Ruby 版本

可参考:https://github.com/bestony/runs/commit/31fabe5f914d931834b0e12797b14d76bf56d162

修改 Node 版本

可参考:https://github.com/bestony/runs/commit/5969cc4ee5c0bf8503ebdab5664f365b6719843e

修改编译脚本,上传镜像

修改完成 Dockerfile 后,接下来你需要修改 Docker镜像产物,以便于你自己在实际使用过程中,直接使用你自己的 Docker 镜像。

修改 https://github.com/bestony/runs/blob/160fe165db7abecc3229be417b15473dcd3aec9f/.github/workflows/docker-publish.yml#L41 的 tags 为你自己的,格式为 ghcr.io/{你的 ID}/{你的仓库名}

修改好之后,只需要提交 Commit ,等待 Github Action 的自动构建即可。

修改 Readme

镜像构建结束,你只需要修改 Readme 中的安装配置命令,这样在后续使用时就不用自己再修改了。重点修改的内容包括 ailas、镜像名以及底部的启动命令。

总结

通过对 Docked 的简单修改,可以实现快速构建一个属于你自己的开发环境命令,帮你优化自己的工作流。

Gmail 的一个搜索小技巧

Gmail 的一个搜索小技巧

很久没有看 Gmail 了,堆积了一千多条消息。于是今天上午抽了半个小时,清理了一下邮箱。

RaiseByTurtles 中找到如何筛选出所有没有标签的邮件,我使用的是下面这个 Query

-has:userlabels -in:sent -in:chat -in:draft -in:inbox

通过这个 Query ,我就知道我其实还可以使用 - 的语法来在 Gmail 中搜索邮件(过去我几乎只用 is:unread [query] 来搜索所有包含某个关键词的我未读的邮件)。

在清理过程中,我就可以不断的在其中去叠加一些关键词,来实现,干掉那些已经失效的邮件,比如,通过下方的 Query 就可以实现屏蔽掉所有没有标签且不属于 Substack 和 zhubai 的邮件,从而避免误伤到我订阅的 Newsletter。

-has:userlabels -in:sent -in:chat -in:draft -in:inbox -substack -zhubai
使用 Docked Rails CLI 简化 Rails 的开发

使用 Docked Rails CLI 简化 Rails 的开发

在开发 RoR 的时候,经常需要配置本地的开发环境。但如果你需要在一些云端开发环境(比如 Github Codespaces)中配置你的开发环境时,就会变得比较麻烦。

但得益于 Docker,我们可以直接使用 Docker 镜像来完成我们的开发环境。

Ruby 官方提供了 Docked 来帮助我们完成这个环境的构建。

配置

假设你已经完成了 Docker 的安装,接下来你只需要做如下操作,来配置 Docked Rails Cli

docker volume create ruby-bundle-cache
alias docked='docker run --rm -it -v ${PWD}:/rails -v ruby-bundle-cache:/bundle -p 3000:3000 ghcr.io/rails/cli'

为了方便你的使用,你还可以将上述的输入放在 .bash_rc.bash_profile 当中。

使用

接下来,你只需要使用 docked 你要执行的命令 来执行各种命令,比如官方给出的这样的 Sample。

docked rails new weblog
cd weblog
docked rails generate scaffold post title:string body:text
docked rails db:migrate
docked rails server

updates in 2023.12.19

由于官方默认的 docked 没有 PGSQL 的支持,所以我自己 Fork 了一个版本,做了一些更新。

具体可以见 https://github.com/bestony/runs