快与慢
昨晚由于一些原因,深入了解了一下之前就听过的 Warp ,看完之后非常心动,非常迫切想试一下。但是由于之前的 Powershell 已经有各种配置了,改用 Warp 同样的东西要再配一次,还要改各种软件的终端,虽然这可能是很快的事,但是我事太多了,多到哪怕时间不用花太多,我也没这个精力了,哎。 由此我思考了一些我面临的快与慢的矛盾。现在的技术发展的太快了,我应用和学习使用的速度远远慢于新项目和好项目出现的速度。甚至我之前已经应用了解变成我工作流一部分的项目,会成为我接触新项目的阻碍,迁移成本只是阻碍的一部分,还有重新学习的成本。所以有句话说,学的越慢,学的越快,慢就是快。 有人会说,之前你不是告诉过如何减缓 fomo 吗,怎么自己做不到。但其实我认为我这次并不能算 fomo ,因为我感觉这个项目是能解决我的一些需求的,而不是创造了我的需求。虽然有点需求被放大了的嫌疑,但这就像,你可以和 GPT chat 然后把他生成的代码复制粘贴到文件中,且你需要写代码的时候很少,但当有 agent 能帮你直接编辑文件的时候,你肯定也还是会去想试一试。哪怕我就算有点 fomo 的嫌疑,我认为也是...
我的苦难定理
苦难定理 1 :我总是会平凡的度过一段时间后,周期性的经历一个满是苦难的阶段。 苦难定理 2 :在苦难阶段内,苦难会一窝蜂的降临。 今天过的真是太痛苦了,感觉最近越来越痛苦。昨晚因为比赛酣畅淋漓的失眠了, 3:30 才睡着,还是 2:30 的时候受不了了,刷了会手机缓解焦虑才达到的效果,尽管这间接推动了我们整个比赛的进度——今早起来就把昨晚在脑子里翻来覆去想的事中能做的先做了——这也侧面说明了我为什么焦虑,感觉进度只有我在推,甚至一次失眠起来后的兴起让进度翻了起码一半说是。这里没有责怪队友的意思,毕竟确实队友好像也有其他事忙,不过确实让我感觉不安,因为这个比赛不像能有精力分心打好的比赛, emmm ,暂时没有责怪的意思吧。想到指导老师之前和我说的一句话,你要做好大家不能 all in 基本只能靠你自己的准备,真是我靠。 这时候就有好奇的人要问了,作者作者,为什么这个比赛打着这么难受,还要团队协作,你还要去打呢。别问,问就是泥深的保研率和额外加分政策是我大学目前为止,所有苦难阶段的根源。 然后下午看 dsa 这门课的课件。惊讶的发现有个课件居然有一多半的内容要自学,要是我学分绩...
初谈从 rust 到 cpp
最近在学 rust 。事情的起因是,有人跟我说:“学完 rust 之后你就自动会写安全现代的 cpp 了”。我对于这种能提高编程思维和品味之类的事,由于本就缺乏,所以会更感兴趣。加上那段时间还算清闲,我很快就开始了 rust 的学习。 那么清闲的时光已经离我远去了,我什么时候才能再拥有那样的时光呢,欸。 说实话,我现在已经学了教程的一半,但是由于基础差的太多,所以对那句话我还是不太能理解。这个状态一直持续到我看了一本书,叫做《代码的文明》。不是什么很流行的书,说不定也不是什么很高质量的书,因为我在 zlibrary 上甚至没找到电子版,最后还是买了本实体书(上次买实体书还是在上次了)。主要讲的编程语言的发展史,以及背后蕴含的设计哲学和思想。对于我这种还没有深度使用过多种语言,没有感受过具体形式之上,有关抽象层面的语言差距的小菜鸟来说,这本书还是非常有用的,至少给了我一个思考的方向,带我入了门。 接下来我将结合在学习 rust 过程中的感悟和看那本书的收获,谈一谈我对那句话浅薄的理解——一切的关键都在于所有权——这是 rust 的核心,也是 rust 领先于其他语言的机制优势。...
对 BFE 构建思路的重思考
在前文中,我们曾提到过, BFE 比同量级的项目多花了多得多的 token ,这固然有第一次 vibe 不太有方法论和策略,整体规划做的不太好和 token 是免费的用起来不心疼的原因,但就算将上述原因全部纳入考虑,如此庞大的 token 消耗数依旧是不太正常的。所以,我猜测, BFE 中可能有部分需求触及到了 agent 能力的边界。目前我想到最有可能的就是,对十个主题的适配。由于我的项目定位更像是一个辅助平台,所以他是从现有的两个博客框架 hexo 和 hugo 中各挑了五个主题,辅助用户搭建这十个主题的博客。由于主题都是个人创作者发布并维护的,加上框架并没有规定官方的统一格式,所以每个主题的格式和配置基本都不一样。这就需要 agent 从网上下载十个主题的源码,浏览并学会如何使用,辨别出每个主题的不同,再用适配的脚本将用户的配置填入到特定的主题中。事实上,这是我理想中 agent 应该干的事,但是我的 agent 似乎在搜索和辨别这方面偷了懒,十个主题有些一次就能过,有些就不行。有些配置有的主题支持,有的不支持, agent 也未识别出来。 但,将这个可能性列出来之后,我发...
vibe coding 开发 BFE 后的反思与总结
项目简单介绍BFE 全称 BlogForEveryone ,是一个专为小白设计的面向 GitHub 部署的一站式博客搭建创作发布软件。这是项目的仓库,想要体验的可以直接点进这个链接,软件内有详细的教程。欢迎大家前来体验,有 bug 或者有什么想和我交流的都欢迎直接联系我。 项目开始之前如果我们想要通过 vibe 出来的项目来学东西,无论是学语言,还是学类似的项目应该怎么构建,还是学项目的管理和最佳实现等诸如此类的内容,那我建议在项目正式开始之前,先跟 agent chat 。我们可以先从最简单的问题开始,比如这个项目最好用什么语言实现,逐步通过 chat 的方式让我们了解整个项目怎么写,应该怎么构建。这个过程中,我们提出的问题很重要,要有意识的提那些让项目能够逼近最佳实现的问题。如果毫无头绪,也可以问 agent 有没有什么类似的成功的项目,问 agent 他们好在哪里,问题又在哪里。我们可以不关心最底层怎么实现,但是再往上的所有内容我们都需要在这个环节进行一些了解,这才能有助于我们在 vibe 的过程中学习到东西,对项目也有着更好的掌控。 这里有个小小的 tips :对于小白...
vibe coding 前传,看想做后记
本来这篇文章的内容应该在我记录项目的那篇博客里的,但是后面发现想写在前面的东西太多,又有很多跟项目开发无关的内容,就单独拎了出来。 有关项目这是我多看之后想做的第一个项目,从 idea 的分类上有点像之前博客里的第二点。简单来说,是想搭建一个一站式博客搭建平台,让想写博客搭自己博客网站的小白能够更容易开始。 idea 的来源离不开我个人搭建博客的经历和实践,同样印证了我之前博客里的观点,idea 的产生与实践分不开。其实在编写那一篇博客的时候,这个项目就已经开始了,所以有了当时的最后一段。因为我当时已经知道类似的项目已经有人做过了,且在老资历那里家喻户晓(前面提到的博客都是这一篇:多看之后,有关idea)。 看想做后记在我决定开始这个项目之后,我对之前的多想多看和实践有了更多新的感悟,所以在正式介绍项目之前,我先把这部分内容补充完整,就当是作为前面博客的后记。 怎么搞得如果你看我的博客,好像还有点风险了呢(bushi)。因为我会把一个想法在不同的博客逐渐补充完善甚至推翻,如果只看一篇好像容易被误导说是。但我觉得记录这种变化和过程是有意义的。 首先回顾一下前面提到过的两个看起来...
一点碎碎念
今天又要写博客了,真是痛苦又享受的过程。每次写的内容都是我想写的,而且在写的过程中,我能把一些脑子里零散的不知道什么时候就会消失的想法串联记录下来,这个过程是美妙的。但是每次做这种文字创作工作就会高度集中注意力,而且持续相当一段时间,写的时候是爽了,写完之后不亚于肾透支,导致每次写完之后一段时间内就不想再写博客(然后过一段时间有想写的东西又 M 属性大爆发)。 还有一点是,如果读到这篇博客的读者可能注意到,我习惯假设我是读者在看这篇博客,我能不能读懂我写的内容,还会衍生出一堆隔空互动。前段时间看到一个观点是,写东西的时候要充分考虑观看的对象,不然就会变成一个人的“自嗨”。但是吧,个人博客这种东西,其实多少带点自嗨的属性的(,我也思考过要不要那么做,后来的结论是那样做能够让我的思考更加深刻还有结构化,所以我就在臆想读者的同时保留一部分自嗨(比如我的格式就挺随意的)。不得不说,这样做很累,很多的精力都是花在这上面,很多的痛苦也来源于此。 让我特意把这个拿出来吐槽的原因是,我的博客并没有什么人看。据我所知,有且仅有两人看。这让我有点哭笑不得,敢情实际看的读者没我写的时候假设出来的多,这...
多看之后,有关idea
这个短篇写于我开始多看之后的第四天,不得不说本人才疏学浅,有部分项目根本不知道是用来干嘛的(苦笑),也有部分项目虽然看明白了,但是完全不是我一个人能实现的。即便如此,所有的这些项目,还是让我对如何产生一个 idea 有了一点想法。 基于目前 vibe coding 的状况来看,我在分析中会忽略项目的实现部分,因为除了极复杂的大型项目,大部分项目哪怕你什么都不懂,你也能做出来一个像模像样的东西。至于如何要你的项目变得精美,甚至是一个艺术品,我在下一篇博客会谈谈我浅薄的想法。如果你是古法编程的信徒,下面的内容同样有帮助,只是除了考虑 idea 之外,你还要考虑项目的实现,这在古法编程中十分重要。 开创一个方向,做没人做过的事。这是一个收益巨大,且是最难产生的 idea,基本上只能在一轮时代浪潮刚开始的时候,才会有这样的机会。而且这样的机会转瞬即逝,不仅指诞生这样的 idea ,也指后续把这个 idea 实现。对于小白、新手和零项目经验者来说,不建议一上来就考虑从这样的 idea 开始。 把复杂的事情,通过你的项目,变得简单化。这个想法是受两个项目启发,一个可以让你通过可视化界面...
多看,多想,少做
本文写于开学一周后的周日。这是一个浑浑噩噩的一周,在合理的上课策略之下,我拥有了许多课外时间,但当我想把这些课外时间利用起来的时候,发现自己不知道要做什么。一开始想着学完一套 Java 课程,但是跟课上内容重合了,我想着课件加 AI 应该就能勉强达到要用的时候能马上上手的程度。加上我问了问 AI ,开发岗需要什么技能的时候,它提到了数据库,所以我又转去学习 MySQL 。但是这个网上的教程又参差不齐,最终挑选许久,找了一个偏入门的教程看完了。后面又想复现一个别人的项目,又挑了许久,本来以为找到一个合适的,但是去咨询了其他大佬的意见之后,发现这个项目并没有我想象的那么合适。最后在某位大佬的建议下,开始学习 Rust 。本来昨晚还了解到了 Dev Container 这个概念,然后作为技术小白的我开始美好的幻想,是不是可以创建一个容器,把所有我需要用到的语言环境都放进去,然后电脑本地就不需要这些,以后换电脑也方便。我甚至已经想好今天就做这个了,不过本着了解清楚的想法,又去咨询了大佬们(幸好我这么做了),结果想法一经提出又被狠狠地批评,虽然有佬帮我说话,不过我觉得他把我想的厉害了点,反...
hello world
我高考专业是在知道自己不想选什么,然后在剩下的里面挑一个的情况下,选择了计算机。一开始并没有什么兴趣可言,直到我接触了很多种语言之后,反复在每种语言学习的一开始,输出一个“ hello world ”。我开始觉得技术是一件很有意思的事,甚至有一瞬间觉得是神圣的。这算是我对计算机的热情和兴趣被点燃的时刻,为了纪念这一时刻,有了这一短篇。我将在这里,用各种我学过的语言输出一遍“ hello world ”。 本文并非是专业技术性博客,所以对于编程语言和标记语言不作区分,只要我学过,且我想,就会出现。由于标记语言的展示形式多样,本文统一采用正文格式,或随机一种格式。 然后因为我学的语言会越来越多,所以这个短篇理论上永不完结(也有可能变成一个小长篇)。 12345#include<stdio.h>int main() { printf("hello world\n"); return 0;} 123456#include<iostream>using namespace std;int main() {...