Yubikey 教程(三)在 WSL2 中使用 Yubikey

本文已过时

本文撰写于 2023 年 2 月 16 日,它已经过时。现在我们可以直接将 USB 设备共享给 WSL,以实现在 WSL 上直接使用 Yubikey。这远比本文提出的方法要方便。

WSL 即 Windows Subsystem for Linux,可以在 Windows 中运行 Linux 子系统。WSL2 使用虚拟机的方式运行 Linux 子系统,很方便在 Windows 中使用 Linux 的命令行工具。但是,WSL2 也有一些限制,比如不能直接访问 Windows 的硬件设备,比如 Yubikey。本文是 Yubikey 系列教程的第三篇,介绍如何在 WSL2 中使用 Yubikey 的 GPG 功能。

阅读更多

用ffmpeg从多张图片生成动图

在做笔记、写博客或者制作梗图时,我们有时需要将多张图片合成为动图。这里介绍一种使用 ffmpeg 从多张图片生成动图的方法,最终效果如下:

阅读更多

用RemoteApp访问虚拟机中的应用

上一篇文章中,我分析了在隔离环境中运行应用的多种方法。在我的生活中,我需要将一些不可信应用放在 Hyper-V 虚拟机中运行。但是这样做会导致我在工作时需要频繁地在本地和远程桌面之间切换,而且可能收不到虚拟机内的通知。因此,我希望能够在保持隔离的同时获得与本地应用几乎相同的体验。

RemoteApp 是微软基于远程桌面开发的软件。相比于后者将整个桌面绘制出来,RemoteApp 仅仅绘制一个应用的界面,应用会出现在本地的任务栏和托盘,使用本地的通知中心进行推送,提供了与本地应用几乎相同的体验。在这篇文章中,我将介绍如何使用 RemoteApp 访问虚拟机中的应用。

阅读更多

在隔离环境中运行应用的几种方案

在隔离环境中运行应用有诸多好处。在开发时,我们可以通过这种方法防止环境冲突、保证在不同设备上运行时环境一致;在生活中使用软件时,我们可以通过这种方法防止软件对计算机造成破坏。本文讨论了在 Windows 上在隔离环境中运行应用的四种方案:WSL+Docker, Windows Sandbox, Sandboxie 和虚拟机。

阅读更多

搭建基于WSL的开发环境

本文已过时

本文撰写于 2022 年 7 月 8 日,它已经过时。我当前 (2023-07-17) 的开发环境已经和本文中大为不同:

  • 不再使用 socks5 代理而是使用 TUN,这样就不需要对 WSL 进行额外的配置
  • Docker 现在有更好的安装方案,安装一个 Docker 就可以同时在 Windows 和 WSL 上使用,且可以使用开发容器

建议未来的读者在准备 WSL 开发环境时参考微软 WSL 文档的 Tutorials 部分。

更换硬盘并重装了电脑之后,我计划将所有开发环境都放在 Windows Subsystem for Linux (WSL) 上,以避免在 Windows 上遇到依赖地狱。这篇文章介绍了我对基于 WSL 的开发环境的搭建过程。

阅读更多

联想小新Air14IIL 2020拆机并更换硬盘

由于我的笔记本电脑(联想小新 Air14IIL 2020)的硬盘空间不足,我很早就筹划着为它更换硬盘。恰逢最近国产 SSD 厂商致钛和老牌厂商打价格战,SSD 价格下降,我买了一块 2T 的致钛 TiPlus5000 来更换旧硬盘。

这篇文章给出了联想小新 Air14IIL 2020 的拆机图(可能是目前最清晰的)以及对 TiPlus5000 的简单测试结果。

阅读更多

解决前端JavaScript中的一个并发bug

通常我们认为 JavaScript 是单线程的,不需要处理并发 bug。但是,类似并发的 bug 仍然有可能发生。

我最近在写一个在浏览器中运行的输入法(WebIME),在写的过程中遇到了一个并发 bug 。这篇文章分析了该 bug 并提出了一种解决方法。

阅读更多
GitHub Copilot 使用感受

GitHub Copilot 使用感受

本文撰写于 2022 年 5 月 4 日,文章中的内容具有时效性,当你看到这篇文章时它可能已经过时。

GitHub Copilot 是 GitHub 和 OpenAI 开发的人工智能工具,用户在使用 VSCode 或其他一些 IDE 时可以通过 GitHub Copilot 进行自动补全代码。

在一个月前,我申请了 GitHub Copilot 的 technical preview,并在两天后收到了申请成功的邮件。这篇文章谈谈申请过程和近一个月我使用 GitHub Copilot 的感受。

阅读更多