Jim Cheung

Monday, May 03, 2021

read the news that Emacs native compilation merged into trunk

for os x, the easiest way is check out d12frosted/homebrew-emacs-plus

$ brew tap d12frosted/emacs-plus
$ brew install emacs-plus@28 --with-native-comp

do whatever needed to fix python3/pip, this works for me:

$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
$ python3 get-pip.py

it took me a day to compile LOL, but can feel it is faster now, good


on my pinebook pro is much easier, debian already have libgccjit-dev package, then I just need to compile emacs:

(from https://www.emacswiki.org/emacs/GccEmacs)

$ git clone git://git.savannah.gnu.org/emacs.git
$ cd emacs
$ ./autogen.sh
$ ./configure --with-native-compilation
$ make -j$(nproc)

Tuesday, May 04, 2021

this one gonna be big: Hosting SQLite databases on Github Pages - (or any static file hoster)

he uses http range header, fake the underlying file system takes it as page. even though it's read-only, but still very useful

he also demostrated to fake the dom manipulation to read-write doms, pretty cool


from Diving Deep on S3 Consistency (not really a deep dive)

one interesting part is the consistency witness component in their metadata system:

no further details though


slowly reading How to Take Smart Notes, Luhmann's slip box is quite interesting, I forgot the details but the points might be:

Friday, May 14, 2021

did lots of debugging recently, finally setup exuberant ctags for some projects

first install exuberant ctags explicitly (there is ctags command available in os x but that one is the original one):

$ brew install ctags

search online find some .ctags patterns, save it to ~/.ctags

then in the project directory, run

$ ctags -eR .

R is recursive and e is to compatible with emacs

it will generate a TAGS file


using ctags under vim, first put this to ~/.vimrc:

set tags=./TAGS;/

that's it, navigate with:


for emacs is a bit messy, first you'll need to select the TAGS file by M-x visit-tags-table

usually this will work:

but for js2-mode, I don't know why there's a key mapping to M-., need to unset it first:

(add-hook 'js2-mode-hook (lambda () (define-key js2-mode-map (kbd "M-.") nil)))


emacs native comp shows lots of warnings, the fix is set comp-async-report-warnings-errors to nil

Sunday, May 16, 2021

pull back out my vortex core keyboard and play around, since the configuration is really hard to remember, I need to add it to my keyboard page for future use.

I also looking for a split keyboard, the moonlander looks good, but I saw it on a youtube video the connector of thumb cluster is quite fragile, a big no

uhk, quite nice but I can't decide whether I need a thumb cluster module or not. I like the size of it and their palm rest, but adding thumb cluster and shipping that's over my budget.

ergodox ez, I'm worried about the thickness and hate the palm rest, also heard about thumb cluster being too far away, cheaper than uhk but still quite expensive.

and seems I will prefer Dygma Raise, I only needs about four keys near my thumbs, thumb cluster kind of waste of space for me, so this one is perfect and I don't need to think about add-ons. I'm not sure I like the neuron though

finally Kinesis Advantage2 Silver, not a split keyboard but looks really cool, just so big for my desk ..

Thursday, May 27, 2021

I keep using the vortex core these couple weeks, now I can't go back to 60% keyboards, not even the hhkb

it's about less finger stretching on a 40% keyboard, thumbs do all the hard works

I like the title of this article: Move the keys to your fingers and I agree that 48 keys are plenty

but vortex core is far from perfect, it only has two useful thumb keys, the right space bar is too long and the pn besides is wasted, so I ordered a planck, it's ortholinear layout, even less finger travel?

and after using cherry mx speed slilver switch for a while, I really like it, now the clicky sound annoys me a little bit

Friday, May 28, 2021

neovim looks realy good: Neovim (0.5) Is Overpowering I'm quite happy with my current vim setup though, very minimal and functional, not sure I'll jump ship to neovim


found a great emacs package: karthink/popper: Emacs minor-mode to summon and dismiss buffers easily.

I hate emacs window management, I used this package a bit and seems really solved my problem

Monday, May 31, 2021

the planck arrived, it's quite easy to assemble, but spent some time to figure out the raise and lower keys in the configurator (it's the MO key) still testing different key arrangements, so far I'm ok with ortholinear layout

Blog Archive