为大端嵌入式处理器编译 Arm GNU 工具链
最近正在试图把 CanoKey 的闭源版本从 Arm Keil 工具链切换到开源的 GNU 工具链。这过程中有许多波折,或许之后会有独立的博客讲述这个故事。在迁移初期就遇到的一大问题是,Canokey 的安全芯片使用的处理器是大端的 SC000,本质上是基于 Armv6-M 架构的 Cortex-M0,使用 Thumb 指令集。而 Arm 官方提供的 Arm GNU Toolchain 对于这一架构仅有小端支持(即 host triple 为 arm-none-eabi,而非 armeb-none-eabi)。
我与超算的 2021——一位退役队员的回忆
倏忽间,距离我本科毕业已经过去了三个学期。这一年半里,虽然我作为研究生无法再上场参与超算比赛,但依旧和超算队有着密切的联系,参与了 SC20、ASC20-21、ISC20 和 SC21 这四场比赛的准备。在转换身份后经历的这些比赛,对我来说与上场参赛是完全不同的体验。之前的每场比赛后,我都会花上半天的时间回顾一下整个过程,写一篇总结,包括 ASC19 上 + 下、ISC19、SC19、ISC20(写了标题就是写了!)。而到现在,我已经很久没写过这样的总结了。恰逢 2021 年年末(每个月总有几十天不想科研的日子),又有好几个人在催促我补上总结(在写了在写了.jpg),于是就有了这篇文章。
使用 NGINX 实现动静态混合的路径 Overlay
最近部署 MediaWiki 时遇到一个需求,即用 NGINX 实现类似 Overlay FS 的特性。
具体地,由于我使用了 Git 版本的 MediaWiki,而又需要在目录中添加一些自定义的文件(如 logo、favicon.ico、各种 verification 文件等)。为了不污染 Git,并在升级时减少麻烦,因此我想把这些文件独立于源码放置。
TypeScript + ES Modules + Node.js + Webpack 工作流
最近在更新 thu-learn-lib 的时候,遇到了一个比较棘手的问题。我的整个项目是用 TypeScript 写的,并且希望编译成现代 ES Module (ESM) 的形式供下游使用。通常来说,这个库有几种用法:
TanLabs Speed Tester:基于 ThinRouter 的路由器实验硬件测试平台
注:此为由我担任组长的课程小组在《高等计算机网络》课程上完成的项目,并最终获得最佳项目称号。组员还包括高一川、何家傲。此报告首先作为项目报告发布在 “赛博新经济”公众号 上。此外何家傲也撰写了 相关的博客,推荐阅读。
共计 43 篇文章,6 页。