Emacs has many great packages. If you add tens or hundreds of them to your init.el, you might find the startup gets really slow. If that’s happened, you would want to know what are the culprits of the slowness, and hopefully to address them. Find out slow packages To know which packages are slow if you use use-package, you can set in your init.el just after enabling use-package: (setq use-package-compute-statistics t) After restarting Emacs, you can run M-x use-package-report. It shows something like this: ...
Accessing files in homelab server
I have consolidated documents and other files in the homelab server such as: Memos and personal wiki pages (.org) Tax documents (.org, .pdf) Apartment leases (.org, .pdf) Holiday card-related info (.csv, .pdf) Calendar (.pdf, .py) Many files can be accessed from Emacs via tramp. But in some cases, I need local copies which either Emacs can’t handle well, need to access with local apps or need to access offline. An alternative and probably easier way is to make those files available by exporting a directory (ie, file server). But as files are in many directories and I don’t want to export everything, I haven’t set that up yet. ...
My Emacs config (init.el)
Here are my current Emacs settings from ~/.emacs.d/init.el. First, I declare package repositories. (require 'package) (setq package-archives '(("gnu" . "https://elpa.gnu.org/packages/") ("melpa" . "https://melpa.org/packages/") ("nongnu" . "https://elpa.nongnu.org/nongnu/") ("org" . "http://orgmode.org/elpa/"))) (package-initialize) (when (not package-archive-contents) (package-refresh-contents)) Next is for use-package. It has been default since Emacs 29. I wonder if I still need this… ;; for use-package (unless (package-installed-p 'use-package) (package-install 'use-package)) (require 'use-package) (setq use-package-always-ensure t) (setq use-package-compute-statistics t) # to see packges that took long Appearance material-theme has been my favorite theme for some time now. It’s dark but warm, and easy on the eyes. ...
Import Google Photos data to Immich
A few months after I started using Immich, I decided to migrate all my google photos data to Immich. Immich is a self-hosted, Google Photos alternative. Google Takeout You need to download all Google Photos data with Google Takeout. Google Photos is already chosen on the linked page. Click Next > File type: .zip, File size: change to maximum 50GB > Create export. After a while, in my case a few hours, Google sent to me an email with a link. Clicked it, and downloaded all .zip files. My photos and videos were totaled just below 150GB. I didn’t know that I had this much. As my internet plan is slow at 100Mbps max, it took 3 hours or so to download the 3 big files. ...
Backup homelab server
In my previous post, I introduced my homelab mini PC and how I set it up. In this post, I’d like to show how I backup the homelab PC. 3-2-1 rule Have you heard of 3-2-1 backup rule/best practice? It’s: 3 copies, original + 2 backup copies 2 different media 1 offsite copy Some people say #2 is irelevent anymore. I’m not sure if having copies both in SSD and HDD matters, either. Anyway, I will make sure one backup copy in an external USB drive and another in cloud to achieve both #3 and #1. ...
Homelab with mini PC
Introduction The company I work for has changed its device usage policy, and now it doesn’t allow company devices for personal use. So, I decided to buy a mini PC to setup a small homelab server, and migrate my personal data to it. Also, I wanted to start de-googling by having all my and family photos to it. This was my summer project this year. Mini PC for homelab server I bought AceMagic’s this mini PC for less than $200. I was pleasantly surprised at how small it is. It has Intel N150 processor, 16GB DDR4 RAM and 1TB S-ATA SSD. It’s not powerufl, but the beauty of N150 is its low power consumption, thus low electricity cost and also it’s relatively silent. ...
My Emacs workflows
I love Emacs. Emacs is a great text editor, plus much more than that. You might say that anythig text-based can be handled nicely in Emacs. I first chose Emacs at work as it looked more sophisticated than vi. Decades later, I still use Emacs as I’ve been convinced that it’s one of the best tools and worth the time and effort to keep learning. Following are my current worklows using Emacs. ...
Moved to a new apartment
This is a draft speech script for a Toastmasters club. Introduction Do you like moving to a new apartment or a house? I hate it. Although I didn’t like my previous apartment much, I didn’t have a plan to move to a different apartment either. But almost at the end of June, I suddenly got an email from my landlord that he wouldn’t renew our lease this year. This was a surprise to me. He said that the apartment would be in a big maintenance cycle, once in 20 years. It sounded like I had no choice, but why hadn’t he notified me of this much earlier!? ...
Started de-googling
This is an incomplete draft speech script for a Toastmasters club I belong to. I decided not to use it as it has gone too technical for non-IT audiences. Introduction Have you heard of the word “de-google?” It means to stop using Google web services such as Google photos, Google maps or Gmail. As a Pixel mobile phone user, I heavily depend on Google services. There are many reasons to de-google. Some people believe Google has become evil. But to me, it is mostly a fear that they might raise price drastically or worse, stop services that I’m using. ...
Installing hugo and ox-hugo
Introduction This past summer, I bought a $200- mini PC and made it my homelab. I installed proxmox + ubuntu + docker, and deployed several services on it: Pi-hole - network-wide DNS with ad-blocker Immich - Google Photos alternative RomM - retro-game library The other day, I obtained a domain name from https://porkbun.com/ and exposed the mini PC to the Internet so that I can see my photos from remote. I deployed: ...