The long wait!

April 3, 2018 by Richard DW Redcroft

Sorry for the delay

Hi guys, its been a while! My life has been quite exciting but also very busy! The company i helped co-found is about to embark on our first feature length animation. While this is an absolutely amazing opportunity it has also meant i've had to look at a lot of things that i've never used/done before. Hopefully over the next few blog posts ill detail some of the things i've looked into. Primarily over the last 6 months i've been diving deep into Houdini by SideFX. Having used (and hated) Autodesk Maya for around 10 years, using Houdini is a breath of fresh air. While Houdini is quite old, it is one of the most forward leaning applications, usually the first to introduce new features or trends (opensubdiv, bullet, openvdb) and isn't afraid to break compatibility to improve the workflow. Contrast this with Maya which is slow moving and has tonnes of legacy.

My Linux system

Over the last few months i've tried various distro's and possibilities and while most of them didn't last on my system for longer than a few hours at best, three stood out

+Nixos +Elementary OS +KDE Neon

Now if you've read my other blog posts you know i love minimalism, and those distro's are not know for being lightweight, well not my kind of lightweight anyway. However each of these distro's have something about them that i enjoyed.

NixOS

First lets talk about NixOS, most likely the distro that could get me to switch from *Void*\Linux. Now NixOS is a completely unique (as far as i can see) distribution with the concept of declarative functional configuration. OK, but what does that mean? Simply put NixOS configures the whole system using a couple of files. These files describe installed packages and their configuration, for instance telling the system to use Org along with specifying drivers to use (e.g. libinput) and their configuration (e.g. XkbLayout). These files also describe the users on the system along with groups they are in. The whole system is then built using these recipe files. You can roll back to a previous version at anytime, which is a godsend if a package update hoses your critical system.

The part i particularly like about NixOS is that when you rebuild the system it only includes the parts you need. If you previously install a package in most distributions, removing it doesn't necessarily remove its installed dependencies and doesn't cleanup misc files/folders that were created. With NixOS this doesn't happen. NixOS ensures a clean system with no cruft. The only downsides i have towards NixOS is the poor documentation (you might disagree), at least i felt they were lacking. Trying to do simple things often involved quite a while of searching. This might be due to me being used to the Arch Wiki which is superb (and to which i still use, no matter the system).

Elementary OS

 Private  +   Shared  =  RAM used	Program

104.0 KiB +  45.0 KiB = 149.0 KiB	runsvdir
188.0 KiB +  64.0 KiB = 252.0 KiB	sh
176.0 KiB +  87.0 KiB = 263.0 KiB	acpid
164.0 KiB + 115.0 KiB = 279.0 KiB	agetty
232.0 KiB + 280.0 KiB = 512.0 KiB	autox (2)
216.0 KiB + 321.5 KiB = 537.5 KiB	xinit
336.0 KiB + 249.5 KiB = 585.5 KiB	dbus-launch
408.0 KiB + 182.5 KiB = 590.5 KiB	dbus-daemon
624.0 KiB +   3.5 KiB = 627.5 KiB	runit
484.0 KiB + 364.0 KiB = 848.0 KiB	runsv (7)
740.0 KiB + 163.5 KiB = 903.5 KiB	dhcpcd
576.0 KiB + 348.5 KiB = 924.5 KiB	login
820.0 KiB + 186.5 KiB =   1.0 MiB	sudo
  1.0 MiB + 182.5 KiB =   1.2 MiB	udevd
964.0 KiB + 463.0 KiB =   1.4 MiB	sshd
  1.9 MiB + 185.5 KiB =   2.1 MiB	wpa_supplicant
  1.9 MiB + 127.0 KiB =   2.1 MiB	bash
 21.2 MiB +   1.6 MiB =  22.8 MiB	jediepcserver
 22.0 MiB +   1.4 MiB =  23.4 MiB	python3.6
 36.4 MiB +   2.2 MiB =  38.7 MiB	Xorg
131.0 MiB +   2.4 MiB = 133.3 MiB	emacs-25.3
---------------------------------
                        232.2 MiB
=================================

As you can see Emacs uses significantly more ram that DWM, particularly with elpy/Jedi. So you may be asking "why are you the guy who pointlessly obsesses over ram, spending 180mb on Emacs, when DWM is around 10-15mb?" Well since i've dug into Emacs, i constantly have Emacs open anyway. I found myself using a terminal less and less - let me explain. Usually when i'm interacting with my system i'm in the terminal to move files around, run applications or edit files. With Emacs i can open a file (even root files) with 'C-x C-f' so i don't need to open a terminal first, and to work with files i can use Dired Mode. What this means is that i was already spending that 180mb with my DWM setup anyway. Now i can remove DWM/st and have EMacs by my OS. The struggle however is that i'm quite used to vi keybindings and modal editing, and while evil mode is available i want to get used to the Emacs workflow first.

I'll do another blog post about my void setup, potentially doing a supplementary video showing my setup and a video going through a void install. I may also do a video of me setting up a minimal kernel from scratch. The difficulty arises from not having a good quality cam to record my screen with for the stuff i can't screen capture. (And that i'm a procrastinator)

Copyright © 2017 - Richard Redcroft