I loved trying fancy stuff, the hard one, the weird one, just because I found them cool, which enabled me the bragging rights. But on second thought, those things seem sometimes ridiculous and (always) time-consuming.

TL;DR: In my point of view, it’s not worth spending time on things that are costly but the results cannot pay off.

The first story: I changed my typing layout from qwerty to colemak.

Yep, it’s about muscle memory rebuild, and I trained myself from 0 to 50 WPM. I typed half of my 90-page thesis in colemak. At first I felt so excited because with colemak I could type my first name on just a single keyboard row, no need to move my fingers up or down. I was told that typing in another more advanced layout than qwerty (such as colemak or dvorak) could push my productivity, reduce finger movement and RSI (repetitive strain injury - a type of wrist pain). But eventually I found that those were not the issues for me. When it comes to solving a problem or coding, I spend most of my time thinking rather than typing seamlessly, and when I begin to code something, it’s often about copying and modifying existing code snippets of others, not typing much. So why should we choose to be against the major? With the weird layout, no one can use my machine and vice versa (because my muscle memory was mapped to colemak). I encountered some awkward moments when it came to pair programming with others. Also, I couldn’t use vim/vi when editing a file on remote servers (hjkl was just designed for qwerty). Thus I moved back after 4 months.

The second story: I tried new code editor.

Previously I used Jetbrain’s products, mainly Pycharm (because I knew only Python). But then came a time I switched to emacs, a very superb editor that allows you to reconfigure everything with emacs-lisp, a kind of LISP (Lots of Infernal Stupid Parentheses or something). Emacs is more than just a programming editor, it can help you do everything, from coding to checking emails. There were jokes like “Linux is just a bootloader for emacs” to talk about this powerful thing. But it’s not for me. The learning curve is way too steep, outweighs the advantages it can offer. I just imagined that it would take me from a decade to infinity to configure my editor to be as good as the previous one I used. Or if I could save the configuration time, I have an option to use spacemacs (a preconfigured emacs). But it’s based on vim, so why not just use vim? Those Meta Control etc key bindings and the tilde buffers (temporary files~ generated by emacs) annoyed and intimidated me. So I gave up after one month or two. However I can’t deny that org-mode of emacs is good for documenting. If one day I come back to emacs, I will use only org-mode, the only feature of emacs I found useful.

The third story: I installed hackintosh on laptop.

Installing hackintosh (for those who haven’t heard, hackintosh is just macOS on non-Apple machines) on a desktop seems okay, but not at all for a laptop. I have a real macbook, but I was advised to install hackintosh. I also have a lenovo laptop since my school time, already installed dual-boot Ubuntu (for studying) and Windows (for games and MS office). So I planned to make it a triple-boot machine with additional hackintosh. The installation process was rather tough. I began by re-partitioning the disk using disk management of Windows. The image for OS could be downloaded from my macbook. But choosing the compatible bootloader (that time was Clover) version was quite hard. I failed the first time when trying to find one which could support Catalina (macOS 10.15), so I downgraded to install Mojave (macOS 10.14).

After following online instructions, I burned all the necessary stuff into a USB and could boot the laptop into installation phase. There I should choose the prepared partition to install macOS on, but the disk utility of macOS was so stupid (or if it wasn’t, then I was). It kept failing when reformatting the partition, left me no choice but to reformat the whole disk. Yeah, the two existing OS had gone (second failure). Then my laptop became a single-boot machine with hackintosh and inability to use touchpad or keyboard. It was because I missed one kext (kernel extension) when creating the USB installer. Then I went back to copy the corresponding kext to the USB and began the whole process over. Then yay, my laptop could boot into macOS user interface and was ready for usage. The touchpad and keyboard worked just well, except for one problem: I needed to press the touchpad like using the trackpad of macbook. I opened preferences to modify this behavior to just touch, but the preferences said that it could not find the trackpad. Hmm, a third failure.

After all, I thought I could use this one quite well with an additional mouse, until I found that wifi card was not compatible, which meant I had to either use ethernet or buy a wifi USB. I searched to find if there was any kext for wifi, but the answer turned out to be no. I also found some instructions that if I wanted to install a triple-boot machine with hackintosh, linux and windows, the order of installation is: hackintosh first, then linux, then windows, or hackintosh first, then windows, then linux, not any other way round. But it was all over, I won’t buy any wifi USB to play with this. Actually, I just like to use macbook because the hardware is smooth, and lightweight. Other than that, I don’t like macOS more than linux. So why should I install a non-favorite OS on a non-favorite incompatible machine? It’s game over.

Now I won’t try anything else because they seem cool, just save time learning the really necessary stuff, for example how to understand others’ code.