Schemescape

RSS: https://log.schemescape.com/feed.xml
Schemescape 个人开发博客。

为文本模式浏览器优化网站

作者 Schemescape 做了一件另类但有趣的事:优先把自己的个人网站适配好 w3m/Lynx 等文本模式浏览器,结果意外让网站在 IE6 甚至 30 年前的 NCSA Mosaic 上都能正常渲染。他详细记录了旧版在文本浏览器中的痛点——标签列表挡住正文、 文章列表太占空间、日期不醒目,以及解决方案:把品牌元素移到 HTML 尾部(靠 CSS 放回顶部),文章按年份分组并让日期对齐,用 和 标签实现跨浏览器的语法高亮。暗色模式只用了一行 color-mix 加浏览器默认样式,省掉了手动配色的折磨。 当然也有妥协,比如用管道符分隔标签牺牲了语义化。 作者坦言为罕见浏览器优化未必划算,但个人网站的意义就在于做这种疯狂实验。 全文充满真实的一手经验、具体的代码细节和独立的审美判断,对前端极简设计、 复古计算和独立博客文化感兴趣的读者会很有共鸣。
评论点赞收藏73 天前

个人 Web 应用部署方案(上)

作者计划分享选择个人 Web 应用基础设施的思考。标题看起来是一个系列的开端,但当前摘录只有一句话声明,缺乏具体内容。对自建个人网站的开发者可能有参考潜力,但本文片段信息量严重不足。
评论点赞收藏137 天前

为博客寻找新的托管方案

作者正在调研替代 GitHub Pages 的博客托管方案,从自身的实际需求出发对比各平台优劣,分享探索过程中的选型思路与初步方向。
评论点赞收藏149 天前

在象棋中赢自己:零准备硬写一个象棋 AI

作者分享了自己零基础、零准备硬写象棋 AI 的折腾经历。标题自嘲式地说是"在象棋中赢自己",透露出个人项目的手工感与探索精神。对有编程兴趣的读者来说,这种"边做边学"的实战记录很有参考价值和讨论入口。
评论点赞收藏230 天前

一个基于 Markdown 和 Lua、仅有 450KB 的静态网站生成器

一位独立开发者出于对"极简"的执念,用 C + Lua 打造了仅 450KB、可在 28 年前 Pentium 166MHz 笔记本上运行、零运行时依赖的静态网站生成器 luasmith。文章详细记录了从 TypeScript/Deno 转向 C+Lua 的技术决策历程:为何放弃现代生态选择"最低公分母"C 语言、如何用 md4c 和 Scintillua 等成熟库拼装出完整功能(语法高亮覆盖约 150 种语言、支持内部链接检查)、实测构建约 140 页站点仅需 300 毫秒。作者坦陈了 C 语言的安全风险与 Lua 脚本的安全模型缺陷,还展望了为纯文本浏览器优化、用 Cosmopolitan libc 实现跨平台分发、在更古老的系统上编译等后续探索。全文有明确立场、一手性能数据、真实踩坑记录,语言风趣("对副项目来说,我宁愿做活在过去里的傻瓜"),不是常见的 SSG 介绍通稿,而是充满个人趣味与深入思考的工程手记。
评论点赞收藏270 天前

最小的可嵌入式脚本语言探索(上)

作者以"讨厌臃肿软件"的个人立场出发,系统性地寻找最适合嵌入小型项目的脚本语言。通过构建对比表格,从代码体积、功能完备性和上手舒适度三个维度,实测了 Lua、JavaScript、MicroPython、Tcl、多种 Scheme 方言、Janet、Wren、zForth、Lox、Berry、Jim、Pawn 等十余种语言实现。核心发现:zForth 仅 25KB 最小但学习曲线陡峭;Lox 仅 40KB 但无标准库;TinyScheme 75KB 生态近乎空白;Wren 160KB 比 Lua 还小但类型系统偏严格;Janet 850KB 虽大却内置了语法宏、不可变数据结构、网络和事件循环等全套功能。作者坦诚 Lua 的性价比难以被击败,仍计划后续深入体验 Wren、TinyScheme 和 Janet。附有社区补充语言清单和 Lobsters 讨论链接,适合嵌入式脚本选型场景参考。
评论点赞收藏379 天前

原来我的爱好是「自行车棚式」钻牛角尖?

一位独立开发者自嘲式反思:回顾自己过去折腾过的各种项目——自己造静态站点生成器轮子而不直接用 Hugo、纠结 50 毫秒的重建速度不够快、硬抗 Emscripten 工具链、从 NPM 生态逃到 Deno、为了省几美元月费重写全部代码、在树莓派 1B 上搞开发……突然意识到这些全都是在"自行车棚"(bikeshedding,即纠结无关紧要的技术细节)。虽然当时以"优化资源、尊重用户"自我说服,但回头看来,可能是因为这些优化任务目标最清晰、最省脑子。现在学 Common Lisp 又开始纠结:到底是真的有实用价值,还是又在抠细枝末节?全文幽默坦诚,充满程序员熟悉的自我怀疑与反思,结尾抛出开放问题,极易引发读者共鸣和讨论。
评论点赞收藏398 天前

面向未来的编程语言选择

一位个人开发者分享他挑选"未来可长期使用"编程语言的真实思考过程。他给出了自己的硬性标准:开源编译器、多平台支持、无破坏性变更、无需多GB下载、跨编译方便等。然后从 Stack Overflow 热门语言榜单出发,逐一淘汰——PHP/Kotlin/Dart 等平台绑定语言先出局,Java/Perl 因臃肿被弃,Ruby/Haskell/Lua 因个人经验或替代品更优而落选。最终进入候选的有 TypeScript、C#、C++、C、Python、Go、Rust、Lisp/Clojure、Zig,每门语言他都给出了基于亲身踩坑的简评(比如 Rust 在 Windows 上初次配置不顺利)。文章不是"十大最佳语言"式通稿,而是一个有真实困惑、有具体项目背景、有个人取舍标准的开发者日记,结尾也坦诚"还没定论,下一步继续试",这种未完成感和真实人味是最大看点。
评论点赞收藏398 天前

用 Python 从零搭建极简 IRC 服务器

作者觉得 Discord 就像聊天界的 Electron——功能齐全但旧机器完全跑不动,于是动手从零写了一个极简 IRC 服务器 pirc。整个服务端只有约 350 行纯 Python,零第三方依赖,实测可连接 HexChat/Irssi/WeeChat。文中分享了具体踩坑:Python socketserver 无法感知客户端掉线、textwrap.wrap('') 的诡异返回值、IRC 协议只有 motd 命令用小写等。作者还吐槽了 IRC 默认广播主机名、离线收不到消息等痛点,但坦言自己做的版本也砍掉了加密、用户系统、历史消息——反正只是玩玩。有个人观点、有技术细节、有幽默感,是典型的独立开发者实验记录。
评论点赞收藏480 天前

告别上网本

一位程序员与自己服役十几年的 Dell Inspiron Mini 1018 上网本告别。这台 1.66GHz Atom、1GB RAM 的上网本经历了从 Windows 7 Starter 勉强可用、到升级 Win10 后卡到无法使用、最终在 2023 年被翻出来安装 Alpine Linux 重获新生的完整历程。作者用它搭建了纯终端 C 语言开发环境,在 Emacs 中编写了大量 Common Lisp 代码,体验了 REPL 驱动编程。最终因内存插槽故障和键盘排线松动而退役。文章充满个人回忆与技术细节,还透露家里藏着另一台 Asus EeeBook 准备继续折腾,适合对老旧硬件、轻量 Linux 和个人技术故事感兴趣的读者。
评论点赞收藏524 天前

Python 就是新时代的 BASIC

一位长期回避 Python 的程序员最终"投降",用 Python 写了个人工具——这个亲身经历引出了一个值得讨论的观点:Python 就是新时代的 BASIC。作者回顾了自己从 Commodore 64 到 QBasic 的编程启蒙,对比 BASIC 的辉煌历史,分析了 Python 如何凭借无处不在的普及度、开箱即用的标准库和足够简单的上手门槛,像当年的 BASIC 一样统治了编程世界。文章有个人故事、有历史背景、有明确立场,适合激发程序员社区的讨论与共鸣。
评论点赞收藏581 天前

登录芦苇

登录后关注作者、收藏内容和参与讨论。