创作
2026-03-12 我做到了!简而言之:通过创作我获得了很多满足感。我不认为是我请求他人建造的事物是真正的创作,因此它们的满足感远不及自己亲自创建的东西。然后我感到伤心。本文开篇强劲,随后却偏离了主题。关于我称之为 "AI 开发者分裂 " 的话题,有许多文章已被撰写。我认为这些中有很多真相:工艺的丧失,手动编码的乐趣的丧失,低层次问题解决能力的丧失,高层次问题解决能力的获得,在被搁置的项目中推进,乐趣的获得。我们就这样承认这些对各种开发者是正确的。但还有其他事情让我感到不安。在我们开始之前先讲讲背景,这样你可以更好地理解我的观点:我是个 X 世代黑客;我在 80 年代微型计算机时代扎根。我持有计算机科学(CS)的学士和硕士学位。我有 20 年的行业经验,(惠普、初创企业、联合创始人、动视等)。过去 9 年担任 CS 教师,现在在俄勒冈州立大学-喀斯喀特校区。我在 AI 乌托邦/厄运规模上位于 65% 的厄运。我有时使用 Claude Code。我有时手动编码。我的父亲在社区大学教授哲学超过 35 年。这可能有助于解释本博客条目的后半部分。在本文中,我将使用“AI”来指代“生成 AI 和 LLMs”。抱歉,经历过那么多 AI 冬天的前辈们。插曲!在开始之前,我想和你分享一些我最新科幻小说的片段。你们中的一些可能不知道,除了 Beej 的指南,我还写科幻小说。凯尔背靠破损的舱壁,等离子体切割的气流离他脸部几厘米远。沃尔凯的攻击无人机预料到了他们穿过下层甲板的路线,而现在 Rin 的夹克袖子上流出了鲜血,老马雷特因通风的冷却液而咳嗽不止,仍然在走廊上弥漫。凯尔数着射击间隔的脉冲间隔。三秒。也许四秒。这是宇宙给他的全部机会。然后他看到了它:在倒塌的发电机外壳后面的维护井,格栅因同一次爆炸而被炸开一半,那个爆炸也摧毁了他们的原始出口。那里很狭窄也很丑陋。它正好在沃尔凯的前方,这或许是想象中最危险的路径,或者是他们最后会想到的路径。凯尔抓住马雷特的衣领,默默指了指。老人的眼睛微微睁大,随后变得坚硬。他点了点头。Rin 已经在动了。凯尔最后行动,盲目地在舱壁角落开火,不是为了打中什么,只是为了制造噪音,以便让无人机追踪他的温度,同时让他们的小组急忙进入黑暗。一颗子弹击中了发电机外壳,整个结构发出呻吟声,火花雨点般洒落在他们头顶的井道中。他爬了进去,膝盖在撕扯的金属上灼痛,关上了他确信甲板上每个沃尔凯单位都听见的格栅。在前方的黑暗中,Rin 的手握住了他的手腕。动,握住的意思是。现在。于是,他们做到了。——摘自《沃尔凯间隙》,作者布赖恩 "Beej Jorgensen" 霍尔。而且,利用我现在充裕的空闲时间,我做艺术!这是一个木刻画,涂上了多彩的粉笔,展示了我最喜欢的一些主题。这是布赖恩 "Beej Jorgensen" 霍尔的《机器的镜子》,售价 1300 美元。木工?当然我会尝试!我最近重建了我的前甲板。旧的甲板正在腐烂,所以我抓来了一些雪松,把它装了起来。我已经打算做这件事一段时间,但一直找不到时间。最后,这里是一段我为 TUI 冒险 roguelike 开写的代码:fn try_move(&mut self, dx: i32, dy: i32) { let nx = self.player.x + dx; let ny = self.player.y + dy; // 检查怪物战斗 if let Some(idx) = self.world.monster_at(nx, ny) { let result = { let monster = &mut self.world.monsters[idx]; resolve_combat(&mut self.player, monster, &mut self.rng) }; self.messages.push_many(result.messages); if result.monster_defeated { let monster = &self.world.monsters[idx]; let xp = monster.xp_reward; let gold = monster.gold_reward; self.player.xp += xp; self.player.gold += gold; if gold > 0 { self.messages.push(format!("你找到了 {} 黄金!", gold)); } if self.player.try_level_up() { self.messages.push(format!( "等级提升!你现在是 {} 级!", self.player.level )); } } if !self.player.is_alive() { self.messages.push("你已被击杀!安息吧..."); } self.advance_turn(); return; } // 检查地形通行性 if self.world.is_passable(nx, ny) { self.player.x = nx; self.player.y = ny; self.advance_turn(); } else { let terrain = self.world.terrain_at(nx, ny); self.messages.push(format!("{} 阻挡了你的道路。", terrain.name())); } } 我是一个非常高产的多面手,我相信你会同意!我很不舒服 我不喜欢说谎。但是,我亲爱的读者,我觉得我误导了你。是的,所有这些创造的事物(包括我的甲板),我都是这些创造的发起者。但是我并不真的觉得我做到了这一切。我对声称自己做到了这一点感到不安。
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡