本摘要概述了 NPTEL MOOC 平台互动式浏览器课程《OCaml 函数式编程》的开发过程。
为了消除安装环境这一初学者常遇到的“从零到一”的障碍,作者开发了一本集成了开发环境的教材。通过利用 `js_of_ocaml` 和 `v86`(在浏览器中运行 Linux)等技术,学生无需安装任何软件或依赖外部服务器,即可直接在浏览器标签页中执行 OCaml 代码、编译程序并交互使用完整的 Linux 环境。
该课程采用统一的流水线:通过单一 Markdown 源文件生成课程网站、reveal.js 幻灯片以及具有自动检查功能的互动编程练习。为确保教学质量,作者利用大语言模型(LLM)进行草稿撰写,并遵循有关概念排序和练习设计的严格规则,同时由人工进行审核。
作者强调,该课程是一个不断演进的“可执行”项目。未来的目标包括集成 LLM 导师,根据匿名学生反馈提供个性化、自适应的教学指导。该项目为开源,欢迎对函数式编程或互动式浏览器教学基础设施感兴趣的人士使用。
受短篇小说《图书馆》启发,作者创作了“禁书图书馆”项目。该项目将廉价的WiFi智能灯泡改造为“赛博朋克数字死信箱”。其目标是提供一个隐蔽、公开且本地化的禁书档案,任何拥有WiFi设备的个人均可访问。
该项目涉及对基于ESP32C3的智能灯泡进行大量的逆向工程。在确定通过microSD卡进行物理存储扩展不可行后,作者转而致力于优化灯泡内部的4MB闪存。通过从Tasmota固件切换至定制的ESP-IDF/Arduino环境,作者成功重新分区了闪存,从而为Web服务器和文件系统腾出了更多空间。
最终的设备具有一个强制门户(Captive Portal),可拦截用户请求并将其引导至一个受密码保护的定制网站,其中托管了一系列精选禁书。尽管该项目受限于灯泡较小的存储容量,但作者将其视为一种个性化的契机。该项目作为硬件黑客技术的成功探索而告终,展示了廉价且普及的智能设备如何能被重新利用,以实现隐私保护和开放的信息获取。