中文

留意程序触发事件和执行时序

我本来以为这是程序员职业的某种被动特性,但我意识到很多同行对程序触发事件和执行时序并不太关注。在这篇文章中,我想解释为什么我们作为程序员要关注这些东西,这样做有什么好处。

程序何时被触发

假如你不慎从网络上下载下来一个病毒,它现在已经被保存到你的本地磁盘上了。现在事情完蛋了吗?还没有,它还没被执行呢,把它删了就行(最好用那种文件粉碎工具)。我们的电脑是冯·诺伊曼结构,在硬盘(与内存)中,程序与数据被同等看待并存储,存在于硬盘上的程序还没有被执行。我猜做网络安全的朋友们对这个比较熟悉,一次成功的代码执行漏洞攻击中必然包含恶意载荷的成功执行。

《正见》与《佛陀传》书摘

缘起

之前拜读了枫影 Justin Yan写的博客《每个人每天都只有24小时,希望我的选择真的是我的选择》,里面提到了一本讲佛教核心理念的书:《正见》。之前上学遇到心理困难时,是佛教把我从边缘拉回来嘱咐我好好生活的。最近工作生活碰到了一些事实困难,找不到务实的解决方案,我心想是时候认真读读佛了,不说求得多大效用,至少自我开导落个心理安慰。

《正见》,英文书名 What Makes You Not a Buddhist,2007年出版,作者:宗萨蒋扬钦哲仁波切。摘自译者序:“以最简单的语言,来说明佛教最核心的四法印见地,因此,中文的翻译也尽量采取日常而单纯的词汇。”这本书指出佛教的核心理念非常简单,就是四法印(从维基百科可知,这四条是大乘佛教三法印和上座部佛教三相的并集),其他的各种经典或教派都是为了达成证悟正果的不同方法。然后针对每一条引经据典解释给读者。

《正见》读完,我似懂非懂,还想再读一些。那么我怎样才能继续获取悉达多(佛陀、如来,下文沿用此称呼)的“第一手”教诲,又避开根本看不下去的佛经呢?我决定了解悉达多的生平,从侧面角度看看他是在什么环境下悟出这些道理的,输入决定输出嘛。

与倪爽老师交流为Minecraft设计视障者界面

最近我开始帮忙做一个帮助视障玩家玩 Minecraft 的 mod - minecraft-access。这个 mod 基本是为游戏设计一套新的适合视障者的人机交互界面。我没系统学过人机交互的知识,在构想新功能时逐渐感到力不从心。这时我想起设计顾问倪爽老师有在提供[免费咨询服务](https://nishuang.net/" >}})。我心想请倪爽老师帮我指条明路,就预约了一次免费咨询。

我找到了适合自己的开源项目

我正在帮忙做一个帮助视障玩家玩 Minecraft 的 mod - minecraft-access,帮了大概两个多月了。这是我第一次深度参与一个开源项目。

我是如何找到的

得感谢 Bilibili 的大数据,给我推了一个盲人 up 主玩 Minecraft 的视频。我想为这方面贡献点力量,就顺藤摸瓜一通搜索,搜到了目前的项目。还好它是活跃的,我本来还担心如果没有任何相关项目是活跃的该怎么办。

Java9到17我关心的新特性

只记录未来开发时可能用到的特性。 都2023年了,真正可能用的版本只有11和17,不关心特性到底在哪个中间版本脱离 preview 了。

Java9

https://www.baeldung.com/new-java-9

  • 新的 HTTP client HttpClient HttpRequest HttpResponse builder 构造 HTTP 请求

  • Try-With-Resources 能 close 掉在 try 之前定义的 auto-closable 资源, 只要资源是 final or effectively final。 Effectively final means that the variable can’t be changed once it has been initialized. 不显式地加 final 也行,IDE 会提示的。