2024-06-22 12:53:51
之前博客的《目录》页面用的是 List category posts 这个插件生成。可这个插件虽然功能比较多,但是不支持(还是我不知道?)我要生成的页面。
再往前用的插件是 Dagon Design Sitemap Generator,它可以生成一个以「分类目录」为主题的文章页面列表(例子可以看文章存档 – 木遥的窗子)。但是这个插件很长时间没更新了,甚至它的官网都打不开了,没办法重新下载这个插件。
考虑到这个插件功能并不复杂,索性自己写好了。我的文章本身不多,因此也不用做分页或者其他的配置,用最简单的方式即可。这个插件应该符合以下功能:
以上功能其实不复杂,最后只用把它们拼成 HTML 语法的代码即可。
问题在于,我从来没写过 WordPress 插件,甚至我也不会 PHP。换在两年前,如果需要完成这项任务我应该需要:
但是自从有了生成式 AI 后,完成这么一项任务变得无比简单。以这次写插件为例,用的是 Anthropic 新发布的模型 Claude 3.5 Sonnet,前后只用了 30 分钟就完成了。我并没有学 PHP 的基础语法,也没有查过 WordPress 的文档。只需要通过合适的 Prompt 引导 AI 生成合适的代码,同时让 AI 告诉我怎么把插件安装到 WordPress 即可。
当然,初次生成的代码不是完美的,但是把需要改进的内容告诉 AI 即可慢慢引导到正确的结果。
这与程序员目前写代码是一样的过程:刚开始写好的大概率是不完善的,有错误或此前没考虑到的地方,一步步改好重新运行,通过不断的试错达到最终的效果。
这就是 Sam Altman 提到的完全使用自然语言编程。几十年前的程序员写的是汇编语言,而今天绝大多数的程序员都不再用,而是通过 Python 等高级语言(这里的高级并非褒义词,而是高度封装的意思,类似于预制菜和炒菜的区别)完成任务。而如今的 AI 是一个新的编译器,它可以让大多数人直接通过自然语言编程。
或者类比一下,coder 有点类似于国内较早学习英文的人,有能力将中英文互相翻译。而现在的 AI 可以充当一个翻译器,让人可以直接用自然语言和计算机交流。
但这并不意味着编程就成为一件无门槛的事—尽管门槛降低了些。我们依然要整理好需求和思路才能完成任务。以刚刚的 WordPress 插件为例,如果只是说「做一个插件支持以『分类目录』归类展示文章列表」,那么有可能会作出很多不同版本的插件。
事实上,这也是 software engineer 和 coder 的区别。前者更多的工作在于将一个较大的任务拆分成小任务,通过合适的方式组合起来完成;而后者更强调翻译这项工作。
这也让我想起,前段时间和朋友聊起,我们这行未来能做什么。我并没有想好这个问题,但是会让我想到如果要转行,什么能力是通用的?在我看来其中一个就是解决问题的思路。小的问题比如家里一颗灯泡坏了怎么修?大的问题类似如果要设计一套银行系统需要怎么完成(我现在自然还不能胜任这项工作)?
也正是因此,前段时间教两个朋友编程的时候,我并没有怎么注重语法,而是更关注解决问题的思路。通过自然语言把问题拆解出步骤,然后翻译成代码。回想起当年自己自学的时候那种无力感实在痛苦,已经忘记是怎么熬过来的了。幸运的是,现在的人不必如此。
前段时间去了趟大英博物馆,看到了镇馆之宝罗塞塔石碑。两百多年前,法国人商博良 (Jean-François Champollion) 以这块石碑为突破口,破译了古埃及圣书体,成为埃及学创始人。这块石碑上印有三种文字,分别是古埃及圣书体、世俗体及古希腊文。或许在未来,非自然语言的代码都会被人遗忘。而某一段写着自然语言注释的代码会成为新的罗塞塔石碑。
2024-06-16 06:27:00
在经历了一整天疲惫的旅程后,我准备走回旅社。
爱丁堡确实是座不错的城市—它并不大,其实只需要一天就可以逛完整个旧城。 尤其是五月底的苏格兰,一天中真正属于黑夜的时间只有不到 7 个小时,非常适合时间紧迫的游客。第一次踏足欧洲的城市让我有许多的新鲜感。与年轻的深圳不断向天空索取空间不同,这里的建筑更倾向于在二维层面上延伸,居民楼可以长达上百米作为单体建筑。从卡尔顿山往市区看,只有教堂才能算天际线的一部份。可尽管能看出建筑已经非常陈旧,却一点也不破败。街道并不笔直,甚至也不平坦,上下坡比比皆是。如果不是靠着手机上的地图准会迷路。
尽管如此,这里依然是一个很适合行走的城市,至少比深圳走起来舒服许多。人行道并不宽阔但也没有电动车横冲直撞,也没有成排的单车停着占用人行道,甚至在人行道上也基本没有植树(这是我最近意识到的点,人行道上的树几乎可以占用到深圳人行道宽度的一半)。与之对应的是,开车或者坐车都是一个痛苦的过程。我没有看到超过双向六车道的路,而且马路还要跟偶尔驶过的轻轨共用车道,都会让人觉得能走路就不坐车。
但我并不那么喜欢这座城市—尽管我并不讨厌它,我却无法想象我会长期住在这里。或许正是因此,我才会在旅行的第一天感到如此疲惫。唯一让我觉得惊喜的可能只有苏格兰国家博物馆,它的藏品远不如大英博物馆,但给我的感觉是对每件藏品都足够重视,动线设计和藏品排布上非常用心。然而我并不是为了一座或几座博物馆而选择生活城市的人,或许大多数人都不是。
旅途的第一天最让我难忘的是,在我刚吃完晚餐走回家的路途中,突然看到路边的教堂即将在十分钟后举办一场免费的交响乐演出,乐团是 Open Orchestra,一个爱丁堡当地的一个业余爱好者交响乐团。曲目是门德尔松的《D 小调第五交响曲》。
即使是业余爱好者组成的团队,他们的演出依然出色。在演出前他们的一位成员对观众说,他们为了这场演出排练了半年时间。尽管我对门德尔松的作品不太熟悉,尽管表演的过程中有几处明显的失误,我依然听得感动得想哭。半个小时的演奏期间没有人左右交谈,没有人拿起手机录像。轻快的音乐在小小的教堂回荡,让我忘记了一整天的疲惫和失落。曲目终了,指挥在大家的掌声中回场。我没听清楚他说的 encore 的曲目是什么,但依然是非常精彩的表演。
演出结束后,一些演奏者下来和观众打招呼。他们显然认识了很多年,像是街坊邻居那般熟悉。我则走到门口和捧着赞助箱的人聊了两句。他是个长居于此的华人,问我感受如何。我则向他表达这是今天最大的惊喜。所以就算这是一场免费的演出,就算他说没有现金完全可以不给(我先开口问是否可以刷信用卡),我还是把自己仅有的十英镑现金赞助给了他们。
这大概是旅行中我最喜欢的地方,在于你可能计划中的所有行程最终发现不过如此。但是在无意间你就会发现,惊喜就在转角处。而如果不是我停下了回去的脚步,如果不是那个华人邀请犹豫不决的我进去听,或许那天就会变得平平无奇。而正是这些计划之外的时刻,在我的记忆中留下长久的不可磨灭的标记。
演出结束后我并没有直接回旅社,而是重新走上了卡尔顿山。晚上九点的卡尔顿山上好不热闹,斜坡草地上坐了许多人聊天、喝酒,旁边还有一些人开着音乐跳着舞。最好玩的是,国家纪念堂总有尝试各种方式爬上去和爬下来的人。太阳缓缓沉下,柔和的光洒在远处的古堡和教堂上,像是披上一层金黄色的轻纱。人们纷纷掏出手机、相机,试着抓住这一瞬间。然后,人潮渐渐散去,沿街的路灯微微亮起,照亮人们回家的路,也避免打破这一静谧的平衡。
这是爱丁堡的一天的结束,也是爱丁堡旅程的结束。
2024-06-07 03:15:00
来到伦敦不到 24 小时,我的手机就被飞车党抢走了。
昨天早上大约十点多,我在 KCL 门口闲逛,拿出手机打开地图查找位置。突然一个飞车党就从我手里把我的手机抢走了。
被抢走的时候我大概愣了一秒多,然后意识到遇上了窃贼。本能的反应是往前追。但跑步始终比不上摩托车的速度。大概追了不到半分钟我就放弃了。整个人很恐慌,然后抓着路人希望带去最近的警察局。
路人小哥非常好,马上查了一下最近的警察局然后带我走过去。在走过去的路上还提醒了我有没有 Apple ID 可以远程先锁住设备。但是我的密码都是随机生成的,存在密码管理器的密码。当下十分崩溃。
但突然想到手上还戴着 Apple Watch,试了一下发现只要能联网就可以远程锁定设备。于是小哥打开热点让我连上,第一时间锁定了设备。
到警察局后,小哥就跟我道别了。警察局里报案还需要排队(由此可见伦敦治安多么差劲)。现场也见到了另外两个同样是被抢走手机的人。
事实上报案并没有用,警察已经见多不怪了,让我上网去提交申请,考虑到我已经没手机了,伦敦警察就没想过让人上网报案很荒谬吗?
但眼下更紧迫的问题是怎么与朋友取得联系。我之前约了和朋友 13 点要见面,时间越来越近,我便想着先去见面的地点等。但是巧合的是,路过了一家 Apple Store,我于是想着借用一台设备打个 FaceTime 给家人。
然而又遇到了一个阻碍。现场展示的所有设备都是没有登录 Apple ID 的,也就意味着我需要登录我自己的 Apple ID 才可以打视频通话。然而如前文所述,我的密码是随机生成的,我自己并不记得。
此时苹果店的员工提醒我可以连上 Apple Store 的 Wi-Fi 使用 iMessage 发信息。果然有效,我和家人取得了联系,然后让他们用我放在家的电脑把我的 Apple ID 密码发给我,二步验证会通过手表发给我,之后便可以在 Apple Store 登录我的账号打视频了。
但是此时又遇到一个难题。我和朋友之间的联系方式一直是微信,所以没有手机号。但是要在一台新设备上登录微信一直是一件很麻烦的事。事实上在手机和手表断开连接后,手表上的微信也用不了了(我实在无法理解这样的设计)。
好在,我此前已经把微信绑定的手机号换成了 Google Voice(再次感慨天无绝人之路,如果是国内手机号的话,SIM 卡已经随着我的手机被抢走了。)。在家里的 iPad 上输入密码后弹出了三个两步验证的选项,其中一个就是手机验证码验证。家里的电脑可以收 Google Voice 的验证码,顺利登上了微信,通过家人和朋友取得了联系。
从手机被抢到能与家人朋友取得有限联系大约花了两个小时。虽然过程很曲折但最终还算有惊无险。手机自然是找不回来了,当天感谢有朋友的帮忙,我在伦敦也不是个无头苍蝇。
昨晚想了一下,今天早上去 Apple Store 买了台 iPad 应急使用到回国前一天再去退掉(Apple Store 员工说只要是 14 天内都能无理由退货)。
回过头来想,如果能做到以下几点则应该不至于那么狼狈:
最后还想说,事情发生后恐慌是非常正常的反应,不要责怪自己。朋友同伴需要做的是安慰以及快速解决问题。
最后再次感谢几位热心路人,Apple Store 员工,家人,以及周老师和黄老师在这次事件对我的帮助~
2024-02-25 13:56:18
定的民宿基本都可选择包三餐或至少两餐。如果是有午餐盒尽量选上,我定的两次午餐盒都做得很不错。 路上的食物补给较少,高热量零食很有必要。即便早上吃再饱,徒步三个小时也会饿。
在 Kumano Travel 提前订即可。一般下单后处理时间在一周左右,所以建议至少提前两个星期订(据说旺季很难订,建议至少一个月。很多民宿最多只能提前三个月)。
旅途中我住的三家民宿分别是:
住宿体验上我的评价是 Minshuku Tsugizakura >= Minshuku Momofuku > Minshuku Yunotaniso。
这家是三天里住得最舒服的一天,由两位中年夫妻运营。体验上考虑得很周到,食物也准备得很用心。没有可以挑剔的地方。
这家的好处是在民宿里有自己的温泉。但是可能是因为第一个晚上体验太好了显得这家比较平庸。
这里面比较难订的应该是「小口」的住宿,因为「小口」是一个很小的村,可选项除了 Momofuku 就是 Koguchi Shizen-no-Ie。后者是一个学校改造而成的,规模会大一些。而 Momofuku 看了一下应该一天只能接待两组人。我比较喜欢人少点的环境。
这家是由一位大叔运营的,民宿的墙上很多照片,看得出来大叔很喜欢吃鱼(实际上他做的鱼也很不错)。
除了没有温泉可以泡,没有可以挑剔的地方。
2024-01-15 * "相馆" "护照照相"
Expenses:Photo:Photograph 40.00 CNY
Assets:CN:Bank:DebitCard
2024-01-17 * "出入境管理局" "护照"
Expenses:Travel:Visa 120.00 CNY
Liabilities:CN:CreditCard
2024-01-18 * "深圳航空" "深圳-大阪"
Expenses:Transport:Airline 4059.00 CNY
Liabilities:CN:CreditCard
2024-01-20 * "淘宝" "电话卡"
Expenses:Internet:Mobile 130.00 CNY
Liabilities:CN:CreditCard
2024-01-23 * "Minshuku Tsugizakura" "住宿"
Expenses:Living:Hotel 15200.00 JPY @@ 742.54 CNY
Liabilities:CN:CreditCard
2024-01-23 * "Minshuku Yunotaniso" "住宿"
Expenses:Living:Hotel 10100.00 JPY @@ 493.40 CNY
Liabilities:CN:CreditCard
2024-01-23 * "Minshuku Momofuku" "住宿"
Expenses:Living:Hotel 14300.00 JPY @@ 698.57 CNY
Liabilities:CN:CreditCard
2024-02-03 * "旅行社" "签证"
Expenses:Travel:Visa 380.00 CNY
Assets:CN:Bank:DebitCard
2024-02-03 * "DJANGO Hostel & Lounge" "住宿"
Expenses:Living:Hotel 4770.00 JPY @@ 231.66 CNY
Liabilities:CN:CreditCard
2024-02-13 * "7-Eleven" "零食"
Expenses:Food:Snake 311.00 JPY
Assets:JP:Transfer:Suica:AppleWatch
2024-02-13 * "Japan Railway" "関西国際空港-紀伊田辺駅"
Expenses:Transport:Metro 2530.00 JPY
Assets:JP:Transfer:Suica:AppleWatch
2024-02-13 * "7-Eleven" "早餐"
Expenses:Food:Breakfast 837.00 JPY
Assets:JP:Cash:Paper
2024-02-13 * "そば・うどん処 一吉" "晚餐"
Expenses:Food:Dinner 1300.00 JPY
Assets:JP:Cash:Paper
2024-02-13 * "自动贩卖机" "水"
Expenses:Beverages:Water 260.00 JPY
Assets:JP:Cash:Paper
2024-02-14 * "公交车" "紀伊田辺駅-滝尻"
Expenses:Transport:Bus 970.00 JPY
Assets:JP:Cash:Paper
2024-02-14 * "レストラン" "午餐"
Expenses:Food:Lunch 750.00 JPY
Assets:JP:Cash:Paper
2024-02-14 * "自动贩卖机" "水"
Expenses:Beverages:Water 120.00 JPY
Assets:JP:Cash:Paper
2024-02-14 * "自动贩卖机" "饮料"
Expenses:Beverages:Sodas 170.00 JPY
Assets:JP:Cash:Paper
2024-02-14 * "オールド トレイル カフェテリア" "零食"
Expenses:Food:Snake 1200.00 JPY @@ 57.74 CNY
Expenses:Food:Snake 600.00 JPY @@ 28.87 CNY
Liabilities:CN:CreditCard
2024-02-15 * "自动贩卖机" "水"
Expenses:Beverages:Water 240.00 JPY
Assets:JP:Cash:Paper
2024-02-15 * "石原商店" "雪糕"
Expenses:Food:Snake 350.00 JPY
Assets:JP:Cash:Paper
2024-02-15 * "公交车" "本宮大社前-下湯の峰(バス)"
Expenses:Transport:Bus 310.00 JPY
Assets:JP:Cash:Paper
2024-02-16 * "自动贩卖机" "水"
Expenses:Beverages:Water 130.00 JPY
Assets:JP:Cash:Paper
2024-02-16 * "自动贩卖机" "饮料"
Expenses:Beverages:Sodas 180.00 JPY
Assets:JP:Cash:Paper
2024-02-16 * "公交车" "本宮大社前-下地橋(バス)"
Expenses:Transport:Bus 250.00 JPY
Assets:JP:Cash:Paper
2024-02-16 * "とりそば下地橋" "午餐"
Expenses:Food:Lunch 1100.00 JPY
Assets:JP:Cash:Paper
2024-02-16 * "自动贩卖机" "水"
Expenses:Beverages:Water 120.00 JPY
Assets:JP:Cash:Paper
2024-02-16 * "自动贩卖机" "饮料"
Expenses:Beverages:Sodas 170.00 JPY
Assets:JP:Cash:Paper
2024-02-17 * "南方商店" "饮料"
Expenses:Beverages:Sodas 170.00 JPY
Expenses:Beverages:Water 120.00 JPY
Assets:JP:Cash:Paper
2024-02-17 * "自动贩卖机" "饮料"
Expenses:Beverages:Sodas 170.00 JPY
Assets:JP:Cash:Paper
2024-02-17 * "青岸渡寺横、見晴亭" "雪糕"
Expenses:Food:Snake 400.00 JPY
Assets:JP:Cash:Paper
2024-02-17 * "公交车" "那智の滝前-紀伊勝浦駅"
Expenses:Transport:Bus 630.00 JPY
Assets:JP:Cash:Paper
2022-07-09 03:16:50
好像有段时间没写 blog 了。
其实也没有特别多想说的,我也该控制一下自己的表达欲。听听别人的故事,总觉得会比自己的故事精彩不少。生活寡淡也不是一件坏事,就是回想起来还是觉得无聊。
最近还在纠结要不要买新的 M2 MacBook Air,自己的需求倒是挺明确的,内存 16G 是一定要加上的,但是看到评测提到 256G 的 SSD 只用了一颗闪存芯片,速度大概是去年的同型号的一半一下子又开始纠结了。这台电脑买来不是作为主力机的,本职工作上有公司配的电脑,要用到高性能的时候有家里的台式机。我基本能确定自己用不到多少硬盘空间(个人文件基本都放在云端),如果是为了苹果这次退步而花更多钱总觉得是不值。当然我也知道这次闪存颗粒的变化对于实际使用体验几乎可以忽略不计,但想到花了这么多钱却比几年前的款式退步总会很不爽。这电脑从四年前就说要换一台新的,到现在还没换到。属实是严重拖延症了。
于是突然想了想自己的消费观,发现自己在给别人花钱的时候一点也不肉疼,比如给家里花钱的时候毫不犹豫,甚至会调贵的买,而对自己的开销扣扣嗖嗖。早就听说金牛座抠门,但好像抠门也是有所区分的
对了,今天促使我写下这篇碎碎念的契机是一个 B 站博主,是最近从主页推荐里发现的。做了好多翻唱视频,质量都好高!!!于是那天想起朋友借给了我把吉他(他买了新的,家里放不下了)。拿出吃灰了一个多月的吉他,调一下音结果把一弦调断了。于是又想起自己去年想学日语结果后来不了了之了,于是现在也每天打开 Duolingo 学一学。现在 50 个平假名也快学完啦,希望这次能坚持下来。
末尾附上我的入坑视频,最近这段时间工作的需求好多,打代码的时候把视频放到角落,平复一下紧绷的神经。