用 Python 和 Chart.js 可视化 GitHub Commits 数据

总感觉从某个时间之后我的 GitHub Commits 数量就一直在下降,但是从官方提供的图片来看并没有那么直观和有说服力,于是萌生出了用另外的方式可视化 GitHub Commits 图像的想法. 整个操作分为数据整理和数据可视化两个部分,对于数据的获取,这里使用了一个公开的服务:GitHub Contributions Chart Generator,这个网站可以根据给定的用户名生成多年的 Commits 图片: 但是图片往往无法

保护数据,用 LUKS 给磁盘全盘加密

继第二块硬盘被 Oxxxo 硬盘盒给毁掉了之后,最近入手了块新的移动硬盘用于备份数据,到手之后第一件事情是对硬盘进行加密,之前经常使用的 VeraCrypt,由于这块硬盘不需要在其他平台上使用,所以这次打算换点玩法,充分利用上系统自带的 LUKS,来完成对设备的加密. LUKS is the standard for Linux hard disk encryption. By providing a standard on-disk

Solve the problem Jupyter Notebook failed to export to PDF with images

On dealing documents with images using Jupyter Notebook, we can easily find that the default export to PDF selection will produce the PDF without any images. While as on the GitHub Issue page many suggest the method of e

Minecraft 和我的故事——一段回忆录

Minecraft,一个 2011 年出现的游戏,几乎贯穿了从我初中到大学的记忆,回顾 Minecraft 的发展和我对它慢慢认识的过程,一个个故事慢慢在我脑海中展开. 越过茫茫大海登上这座小岛时,我不禁有些忐忑不安.静谧的小岛包围在一片浓雾中,分不清是夜晚还是白天.我不停地眨着眼睛,努力想看清岛上的全貌.裸露的大岩石层层叠叠十分陡峭,隐约还可以看到一些黑洞洞的洞窟.这是山吗?连一棵青草也没有. ——猴岛《晚年》 记得第一次看

购买电子产品的一些个人看法兼谈自己的一些消费理念

近期由于亲历了一些对于购买电子产品的不愉快,遂有意将自己的一些看法整理成文,虽说标题写的是电子产品,但是依然可以代表我对于其他产品的一些购买理念,本文不为改变他人看法,仁者见仁,智者见智. 首先概括一下自己对于购买产品的思路: 确定要购买的物品的类别:是否必须,是否需要长期使用,对其的依赖程度 对于强依赖产品尽量买顶尖(此处有很多含义)的,如果资金不到位那么先暂时不买,弱依赖产品按需购买 排除一些不喜欢的或者明显有问题的企业 善用互联

使用 Google Cloud Platform 的 Storage 托管静态站点并通过 Google CDN 加速

在之前的博文 《使用 GitHub Pages 托管静态网站》 讲到了在 GitHub Pages 上托管自己的静态博客,诚然,GitHub 给开发者们提供了一个优秀的托管环境,但是如果想要对大陆地区访问速度更加快一些的话,我们可以考虑将站点内容放在 Google Cloud Platform 的 Storage 中,并且使用 Google CDN 进行全网加速(主要是因为国内大部分线路可以不绕路使用到香港边缘节点). 本文假设: 你

使用 ocserv 搭建企业级 OpenConnect VPN 网关并使用 Let's Encrypt 证书

AnyConnect 和 OpenConnectWikipedia 上描述 OpenConnect 如下: OpenConnect is an open-source software application for connecting to virtual private networks (VPN), which implement secure point-to-point connections. It was orig

压缩 VirtualBox 虚拟卷文件的方法及原理

作为一个 Linux 开发者,部分程序无法或者我们不愿意让它们在自己的系统上运行时,我们会用到虚拟机,比如我使用 VirtualBox,并且安装了许多基于 XP 的虚拟机用来跑各类不可信任的国产软件,但是随着使用时间的增加,会发现一个奇怪的现象,那就是从虚拟机内部 (Guest OS) 看到的大小和实际占用磁盘的大小相差越来越大. 这样对于虚拟机文件的备份、存储和转移而言就非常不利,所以我们需要对 VDI 文件进行 “压缩”. Met

Laravel 使用 UUID 作为用户表主键并使用自定义用户表字段

最近在用 Laravel 5.6 做一个项目,涉及到用户表的自定义字段和 UUID 作为主键,各种 Google 花了我很长时间,所以本篇文章用来记录一下实现思路,以防后人踩坑. Schema用 php artisan make:auth 出来的用户表使用的自增的 id 作为主键,验证时使用 email 字段作为用户的 “登录名”,然而我并不希望使用一个自增的 id,而是使用 UUID 作为用户主键,user_email 作为 “登录名

使用 GitHub Pages 托管静态网站

本文灵感的来源是我校 Web 相关课程作业提交的难题,学生提交的大量的 HTML 文件没有一个合适的托管方案,导致每到收作业的时候数以百计的压缩包丢过来对于教师而言是一个很大的难题,在需要为之打分的时候尤其如此,在我开发出相关平台前,还是推荐使用 GitHub 暂时做一个托管和展示的平台,虽然我知道: 对于防止大量压缩包的问题可以通过学生一个个当场答辩的方式解决 这么做可能会给 GitHub 带来很多垃圾代码 但是对于一些初学者而言