用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 的感受。

阅读更多

免费获取微软开发者订阅(包括Office和5TB OneDrive)

最近我在自己的服务器上搭建了 Cloudreve 网盘,一方面用于进行离线下载,一方面用于存储一些保密性高的内容并提供 WebDav 服务。但是完成离线下载后,从服务器下载到本地的速度受到服务器本身带宽限制(8Mbps),我很不满意。

Cloudreve 本身的一大优势是支持存储到各类云存储服务,下载时可以从云存储服务商直接下载而无需服务器中转,很适合解决这种问题。于是我开始尝试挂载 OneDrive,最终使用免费获取的微软开发者订阅实现了挂载。

阅读更多