机器文摘 第 017 期

机器文摘 第 017 期

机器文摘 第 017 期

预计春节期间暂停更新,节后恢复。

长文

怎样在 1 位色深的 LCD 屏幕上显示灰度

只有 1 位色深的 LCD 屏幕按理说是不能显示灰度的,因为他的像素点要么纯黑、要么纯白,显示的图案效果肯定非常差。

如果说非要显示灰度的话,我第一个想法是通过抖动算法进行模拟(即通过像素点的稀疏程度来制造错觉,如下图)。

然而这篇文章的作者采取了更为巧妙地方法,使用 PWM (脉冲宽度调制)技术,利用每个像素点的点亮时间不同来制造灰度错觉。

之前只是见过使用 PWM 调整 LED 灯泡的亮度,像这种用法我倒是第一次见。

作为一名数据工程师和作家,我为什么要用 (Neo)vim

很多人都被 Vim 复杂的功能和陡峭的学习曲线吓到过。

也有很多人本着对效率的极致追求,而选择了征服 Vim,从而走上高效(折腾)的路线。

本文作者作为一名数据工程师,讲述了他学习 Vim 的心路历程,也许对于现在还在观望的人有所启发。

我个人使用 Vim 已十多年时间,虽然从未触及特别深入的技能(如宏定义、寄存器等),但是 Vim 这种神器的特点就是,只要你忍者难受越过操作的及格线,剩下的技能你稍微多掌握一点,就能马上给你带来非常丰厚的回报。

焦散是什么?如何正确地渲染焦散?

焦散(Caustics)在现实生活中随处可见,但在渲染图中却很稀有。这篇文章解答了为什么渲染焦散很难,以及有哪些方法可以迂回实现。

找到这篇文章是因为我在 Github 上发现了一个使用 webgl 实现焦散渲染的项目,效果非常不错,于是想研究一下背后的原理。

资源

  • 常用设计模式有哪些,一本在线电子书,图文并茂,以比较直观的方式介绍了软件开发常用的设计模式,支持英文、日文、中文等多国语言。

  • 谷歌的软件工程,好几年前的一本书,讲述在谷歌做软件开发的体验和最佳实践,现在出了可免费阅读的电子版。

  • 开源低代码开发框架 ToolJet,免费开源的低代码开发框架,带有可视化编辑器,从数据持久化到前端界面全部无需编写代码。

  • 一个无聊的 Neovim 插件,一个没啥用的 Neovim 插件,唯一能做的事情是当你感到无聊时,可以将你的文本编辑区里的文本执行一个“元胞自动机”动画,看起来还算解压。

  • 最大的 AI 工具箱,喜欢研究 AI 的不要错过这个网站,收集了各种 AI 模型的开源项目和相关网址,涵盖了图像识别、自然语言处理等常见的、时兴的 AI 技术。

订阅

这里会隔三岔五分享我看到的有趣的内容(不一定是最新的,但是有意思),因为大部分都与机器有关,所以先叫它“机器文摘”吧。

喜欢的朋友可以订阅关注:

  • 通过微信公众号“从容地狂奔”订阅。

  • 通过竹白进行邮件、微信小程序订阅。

使用 Hugo 构建
主题 StackJimmy 设计