Building Linux Kernel on Odroid-U3

This is the year 2020, Odroid-U3 is far from a powerful ARM development board in today’s standard, but it is still more than capable! Quad-core ARMv7 CPU and 2GB RAM, which means I can still run some light services and test my toy projects without paying any fees to AWS or Azure. The year 2020 also means that this little device can be powered by the mainline Linux kernel without many troubles (if any)! Better than that, the process is ridiculously straightforward!

In this post, I put together the steps I did to build the Linux kernel using upstream mainline source code natively on Odroid-U3. If you’re interested in cross-building from your x86 machines, you can find plenty of tutorials on that on the Internet.

Continue reading “Building Linux Kernel on Odroid-U3”

Visual Studio Code Server on Android

Microsoft has been steadily enhancing Visual Studio Code Remote Development. One of the components is VS Code Server, which is also open-source and hosted at GitHub. With VS Code Server, you can use Visual Studio Code in a browser. The usual setup involves a server (a VPS perhaps) that hosts the code server. It turns out that it’s also possible to run them locally on your Android device! Here is how.

Continue reading “Visual Studio Code Server on Android”

NodeConf EU 2018與會有感

上週有幸到鄰國愛爾蘭的Kilkenny郡參加本年度的NodeConf EU大會。會場選在風景宜人的蹩腳窩郊外,離都柏林機場有一個半小時的車程,不遠,就是estate都不在鎮上,所以每天倒也只能全身心灌注在大會和組織者安排的夜間活動上,倒也是個結交新朋好友的機會。

Continue reading “NodeConf EU 2018與會有感”

VPS遷移日誌

上個週末得閒把VPS從之前的RamNode遷移到了Amazon Lightsail,主要遷移的內容就是WordPress,涉及到MySQL的導出和導入、Nginx的配置、PHP的配置(從5.6升級到了7.3)、CentOS的簡單設置(從6升級到了7)、Let’s Encrypt SSL證書的配置。下面簡單記載一下遷移的梗概以便有需要的訪客和自己今後查閱。

Continue reading “VPS遷移日誌”

libQtShadowsocks项目介绍和备忘

shadowsocks应该是继各种VPN和GoAgent之后,目前最受欢迎的代理协议了。VPN不灵活,而且能够被防火墙识别特征,能够轻松封锁,GoAgent则面临可用IP越来越少的困境。懒得介绍原项目了,不知道shadowsocks的自己去Google查吧。

libQtShadowsocks就像名字暗示的一样,是一个Library(库),用Qt(C++)写的,实现了shadowsocks的各项功能。

Continue reading “libQtShadowsocks项目介绍和备忘”

QCA 2.1.0在Windows上用MinGW的编译过程

QCA是Qt Cryptographic Architecture的缩写,简而言之就是安全组件(如OpenSSL)的Qt封装,方便Qt程序调用,而不用写一大串C代码。QCA自然是开源的,而且好像是KDE的一个project(反正代码是在KDE的git服务器上)。

时隔四年,QCA总算发布了新版本,虽然是小版本号的变化(2.0.3 -> 2.1.0),但却是非常重要的更新!!!首先支持使用Qt5了,其次使用CMake而不是qmake来管理了。如果不支持Qt5的话,我也不会关心QCA的…………

但是目前主流Linux发行版的官方仓库还是2.0.3版的QCA,而且这次也没有Windows builds下载,只有源码包,好在编译不太麻烦,下面就记录了本次编译的过程(环境:Windows 8.1 x64 Pro, MinGW64 4.9.1 x64, MSYS, Qt 5.3.2 x64 static, OpenSSL 1.0.1j x64 static, CMake 3.1.0)。这次要编译的就是静态链接的QCA,如果你要编译动态链接的QCA,上面的工具链必须也是动态链接的!

Continue reading “QCA 2.1.0在Windows上用MinGW的编译过程”

材料微观组织图像分析软件即我的毕设项目开源

今天毕业设计答辩结束了,心情大好,于是回宿舍写下了本文~~(脑洞大开的节奏)

我的毕设项目是开发一个材料微观组织图像的分析软件,说直白点,主要功能就是数晶粒、测晶粒度级别数的,还能测多孔材料的孔隙率,第二相百分比等。软件名称是Computer-Aid Interactive Grain Analyser,简称CAIGA,名字没想太久,随便取的。。。

Continue reading “材料微观组织图像分析软件即我的毕设项目开源”

Shadowsocks的图形化客户端Shadowsocks-Qt5介绍

2015-04-08更新:2.0版全新发布,以下部分描述已过时(本文是写于0.x版时期)

不知道Shadowsocks的Windows用户有多少呢?除了一个简陋的Shadowsocks-go客户端、一个废弃的Shadowsocks-csharp客户端和一个用node实现的Shadowsocks-gui客户端,实在找不到一个Native的图形化客户端。于是自己挖坑来填了(越挖越大……)!

下面开始“推销”我的Shadowsocks-Qt5给各位看官使(tiao)用(keng)了!

Shadowsocks-Qt5

Continue reading “Shadowsocks的图形化客户端Shadowsocks-Qt5介绍”

DragonFly BSD编译安装Qt 5.2.0

BSD系统在Qt世界里压根不是Tier 1的级别啊,看看Digia只提供Windows, Linux, Mac, Android的预编译文件就知道了。。没关系,好歹Qt是个开源软件,自己动手编译,丰衣足食。下载Qt 5.2.0的源代码这一步我就跳过去了,下面的路径都是Qt源码目录里的。

示例环境:DragonFly BSD 3.6.0(因DragonFly的dports是基于FreeBSD的ports树,所以下面的操作也适用于FreeBSD,详细附在正文后)

修改源码

Qt 5.2.0没有DragonFly BSD的mkspec,可以在FreeBSD的mkspec基础上做点改动来适配dfly,此外qtbase的qfileselector.cpp也需要做一个dirty patch不然编译会出错。

Continue reading “DragonFly BSD编译安装Qt 5.2.0”

fcitx拼音输入法的搜狗细胞词库转换和导入教程

fcitx当然是最赞的开源输入法,没有之一咯~自带的拼音词库很适用,不过对于一些稀奇古怪的长句子(古诗文、专业词汇等)支持还是不够好。很早的版本就提供了第三方词库扩展支持,网上流传的教程也是相较于4.2.4版的,新版的fcitx改进很多。下面介绍怎样转换、导入搜狗细胞词库到fcitx的拼音词库中。

Continue reading “fcitx拼音输入法的搜狗细胞词库转换和导入教程”