每月收藏与分享(201904)

又到了 4 月份结束的时间,按照自己的计划,这个月由于有一些其他事情,阅读的文章没有之前那么多。

这篇总结与分享花了 5 个小时来完成。在完成这篇文章后,我突然有了一个想法:等以后文章的排版和格式固定下来后,可以考虑写一个 AppleScript 自动化脚本,将自己每个月在 DEVONthink 中收藏的文章,根据标签、注释和其他 metadata,自动生成一篇每月分享文章,从而减少文章编写、排版的工作量。希望后续有机会来实现这个想法。

Game Boy 30 周年

4 月 21 日,是 Game Boy 诞辰 30 周年的纪念日(比我的年龄还要大😂)。世界各地的玩家、Maker、程序员、媒体,都在以各自不同的方式庆祝 GameBoy 的三十岁生日:

如何翻新一台旧 Game Boy

这一视频,展示了自己动手修复 Game Boy 的完整过程。如果你手中也刚好有一台旧的 Game Boy,不妨参考一下:

DIY 一台基于 FPGA 的 Game Boy

VerilogBoy 是 ZephRay 使用 FPGA 实现的、兼容 Game Boy 的游戏机。

那些基于 ARM 芯片的复古游戏机不同,VerilogBoy 不是通过软件来模拟 Game Boy,而是通过 FPGA,直接实现 GameBoy 的硬件。所以在延迟、兼容性等方面更有优势,同时也可以作为学习 FPGA 的练手项目。

另外,如果想通过自制 VerilogBoy 来学习 FPGA,推荐关注作者正在更新的《写给玩家的 FPGA 入门指南》。这一系列教程将从数字电路的基础知识开始,一直讲到 VerilogBoy 的实现:

GB Studio: 无需编写代码,即可创作 Game Boy 游戏

GB Studio 是一个图形化的复古游戏制作工具,无需编写代码,只需要通过拖拽,即可制作 Game Boy 游戏,并生成游戏 ROM 文件。

30 年后的今天,Game Boy 依旧有着强大的生命力

个性定制、增加背光、演奏音乐、拍照与打印…… 30 年后的今天,仍然有一大群人在以不同的方式使用 Game Boy,让 Game Boy 焕发出新的生命力。

生活

关于台灯的「显色性」

在挑选、购买台灯时,经常会看到「显色性」、「显色指数」、「演色性」、「CRI」这样的字样。那么,台灯的显色性到底有什么作用,这篇文章给出了答案:

一个关于彩虹糖的无聊研究

据说,「没有两道彩虹是完全相同的,同样,也没有两包彩虹糖是完全相同的」。但是这篇文章的作者偏偏不信这个说法,所以花了 309.6 美元,买了 468 袋彩虹糖,一共分析了 27,740 个糖果,最终找到了两袋(各种颜色的个数)相同的彩虹糖,并得出了一系列有趣的结论。

观点

睡眠质量的意义

想要开发高质量的软件?比起「编程语言」、「TDD」、「敏捷开发」、「最佳实践」这些名词,睡眠质量或许更加重要:

为什么美国品牌汽车不在日本销售

消费者的品味与观念、对美国车的成见、买车方式的差异…… 种种原因导致美国品牌的汽车无法在日本受到欢迎。

28 年前,如何上网分享自己的艺术创作?

从 1998 年到现在,用户通过互联网分享艺术作品的方式,发生了哪些变化……

Making

LED 点阵 T 恤

在 T 恤上安装 LED 点阵,使衣服更加「酷炫」

废旧硬盘制作的时钟

这是一个废物利用的项目,将废旧硬盘制作为时钟。看起来效果还不错。

软件、工具

4 月初,我的 iPhone 7 出了故障,所以换了一部新手机,但是换手机带来的新鲜感,远远没有软件更新带来的新鲜感强烈……

这个月我日常频繁使用的不少软件,例如 DEVONthink、Reeder、iTerm2、MindNode 等,都有了较大幅度的更新,并带来了不少实用的功能。同时,我还发现了 Tabs to Links 等比较实用的小工具。

iTerm2 3.3.0:更漂亮的界面

iTerm2 3.3.0 beta 版本的新界面

iTerm2 是我在 macOS 下最常用的终端模拟器。最近这段时间,iTerm2 增加了不少新功能,例如 GPU 加速、脚本与自动化支持等。

而在最新的 3.3.0 beta 版本中,其软件界面又带来了不少改进,不仅变得更加现代、更加漂亮,而且还能够显示常用程序(bash, vim, python 等)的图标。此外还增加了一个状态栏,用于显示 CPU 占用、Git 状态、时间日期等信息。

DEVONthink 3.0:界面优化、更好的中文支持、Markdown 预览

DEVONthink 3.0 beta 版本新界面

在相继体验过为知笔记EvernoteOneNote 等工具后,最终我选用 DEVONthink Pro 做为自己的笔记与资料整理软件,并已经使用了 4 年。(包括本篇博客文章,从资料收集、整理,到草稿的写作,都是在 DEVONthink 中完成的)

DEVONthink Pro 2 的功能已经足够强大,但还是存在少量的不足之处,例如对中文搜索的支持不够完善、Markdown 编辑与预览不能同时进行、界面看上去比较「古老」、使用 Safari 浏览器扩展收藏网页比较麻烦等。这些缺点,在最新的 3.0 版本中,都得到了改进。

另外,DEVONthink 3.0 目前还处于 beta 阶段,所以在今年夏天之前会一直保持免费。如果感兴趣,可以趁这个机会下载体验一下。

Tabs to Links: 以 Markdown 形式导出浏览器标签页

Tabs to Links 软件截图

Tabs to Links 是一款 Safari 浏览器扩展,可以将浏览器中所有打开的标签页,以 Markdown 或纯文本的形式保存。

在我写博客的过程中,经常会添加较多的第三方网站参考链接(例如本文)。使用 Tabs to Links,可以将浏览器中打开的网页,复制为 Markdown 格式,然后就可以直接插入到博客中,非常方便。

技术

一篇不错的网络基础教程

这是一系列实用、内容全面的的网络基础知识教程,除了理论知识的讲解,还介绍了 Wireshark、网络性能监控工具、tcpdump 等工具的实际应用。

如何通过调整 sysctl 参数,来优化网络性能

Linux 中的 sysctl 命令,能够调整大量与网络协议栈相关的参数。本文详细介绍了这些参数,是如何影响到网络性能的。

对于新版本的 Linux 内核,默认参数已经能很好地工作。但了解这些参数的意义,能够在特定场景下,对网络性能做出进一步优化。

优化 Nextcloud 的文件传输性能

作者在自己的 NAS 上搭建了 Nextcloud,用于文件同步,但发现无法跑满万兆带宽。于是就开始深入分析,并找到性能不足的原因。作者的钻研精神值得学习。

提升代码编写能力的练手项目

想通过实际项目来提升编码水平,但没有 idea,不知道要做什么什么项目?

这个 GitHub Repository,按照简单、中等、较难三个难度等级,整理了一系列项目 idea. 当不知道要做什么的时候,可以参考一下。

但是对于我(以及身边的不少人)来说,缺的并不是 idea,而是时间。例如在我的 DEVONthink 中,就收到了很多 Side Projects 的想法,只是没有时间去实现。

Android Apps 是如何与 Facebook 共享个人隐私数据的

即使没有 Facebook 账号,Facebook 也能通过使用其 SDK 的第三方 Android Apps,来获取个人的隐私数据。

从 0 开始实现一个数据库

这个教程介绍了从 0 开始,使用 C 语言实现一个数据库的过程。如果想了解数据库的实现原理,可以参考该教程实践一下。

面向 C 语言开发者的 C++ 速成教程

这篇教程主要面向已经掌握 C 语言的读者,方便在有 C 语言基础的情况下快速学习 C++.

基于邮件的 Git 协作

通过 Git 进行多人协作,除了使用 GitHub 之类的网站,也可以直接基于邮件。而 Git 以及自带了对邮件协作,以及对 SMTP 协议的支持,能够直接将 commit 记录、patch 文件等,通过邮件的形式发送给其他成员。

发表评论

电子邮件地址不会被公开。 必填项已用*标注