XDG Autostart

Autostart Directories 依以下優先順序 # 1: user-specific $XDG_CONFIG_HOME/autostart # 2: user-specific default ~/.config/autostart # 3: system-wide $XDG_CONFIG_DIRS/autostart # 4: system-wide default /etc/xdg/autostart .desktop file format 有興趣看詳細定義可閱讀 Desktop Entry Specification 。 以 Steam 裡面的遊戲「Little Nightmares」 …
Read more

Variable Fonts 簡介

本文亦同步發表於 KKday Tech Blog。 名詞定義 在敘述 Variable Fonts 時,會用到許多排版專業術語,由於排版印刷技術進步快速,許多排版術語也因爲過時或演進而更容易混 …
Read more

重新啟動 X 圖形介面

個人電腦在使用時,偶爾因某些意外操作造成畫面當掉或卡死,這種狀況經常是因爲系統的視窗介面(X Window System,簡稱 X)出問題,因爲在 Unix-like 系統中, …
Read more

使用 scrcpy 投影 android 裝置

簡介 scrcpy 可以透過 USB 或是 TCP/IP 來投影或是控制 Android 裝置,且不需要 root 權限。目前支援 GNU/Linux、macOS、Windows 平臺。 特色是效能很好(30 …
Read more

用接近原生的效能跑 Windows 10 虛擬機

前言 這篇其實是延續上一篇,成功在 mac 上利用 wimlib 分割檔案的方式製作好 Win10 安裝碟之後,我試著在乾淨的機器裡嘗試安裝,到了安裝階段卻不斷出現安裝失敗的提 …
Read more

在 Mac 上製作 Windows 10 usb 安裝碟

前言 一開始我是按照這裡(Method 2: Create Windows 10 Bootable USB on Mac Using Terminal)的步驟來製作,但最後 cp 時,會因為 install.wim 這個檔案過大而失敗: cp -rp /Volumes/CCCOMA_X64FRE_ZH-TW_DV9/* /Volumes/WIN10/ # cp: error …
Read more

Shadowsocks client on archlinux

因為公司的 VPN 是用 Jigsaw 的 outline 來架,client 端設定滿簡易的,想說在我的筆電(archlinux)上也來設定一下,無奈都跑不起來,除了試過官網,還 …
Read more

Tips: Base64 Encode & Decode

Origin Data '{"foo":"bar"}' Encode Shell echo -n '{"foo":"bar"}' | base64 # eyJmb28iOiJiYXIifQ== Browser btoa('{"foo":"bar"}'); // eyJmb28iOiJiYXIifQ== Nodejs Buffer.from('{"foo":"bar"}').toString('base64'); // 'eyJmb28iOiJiYXIifQ==' Python import base64 base64.b64encode(bytes('{"foo":"bar"}', 'utf-8')) # b'eyJmb28iOiJiYXIifQ==' Decode Shell echo -n 'eyJmb28iOiJiYXIifQ==' | base64 -d # {"foo":"bar"}% Browser atob('eyJmb28iOiJiYXIifQ=='); // {"foo":"bar"} Nodejs Buffer.from('eyJmb28iOiJiYXIifQ==', 'base64').toString(); // '{"foo":"bar"}' Python base64.b64decode('eyJmb28iOiJiYXIifQ==') # b'{"foo":"bar"}'