/ posts / how-i-use-computers

how i use computers

datetagsauthor
2024-08-24qubesOS, programming, haskell, purescripteevie
table of contents

3/5 in the series liberatory computing ∀


introduction

what follows is an outline of the various hardware & software i currently use for daily computing tasks , in case it's useful for someone else . this is not a prescription of how other entities should use technology , nor is it a description of my ideal computing environment .

todo : explain choices in more detail

hardware

if i need to purchase a new device , i prefer to find one that is already used , due to the numerous ethical issues with the production of electronics by large companies .

my primary computer is a Thinkpad T430 running QubesOS . i chose this laptop because , out of the options that can be flashed with coreboot , it was old enough to be somewhat affordable[1] , while still running fast enough for most tasks that don't involve graphics .

i don't use any peripherals except for a large monitor , to maintain good posture . i have tried mechanical keyboards , but i dislike like how they feel & sound compared to the built-in Thinkpad keyboard . split keyboards are more ergonomic though , so it would be nice to find a split rubber dome keyboard .

my "smart"phone is a Pixel 4a[2] running CalyxOS[3] .

software

i primarily use CalyxOS for taking notes with Orgzly , tracking sleep with Plees Tracker , web browsing away from home , insecure communications , & listening to audio-based educational materials .

i use QubesOS for web browsing , programming , Serious Writing , & other various forms of expression .

i chose QubesOS because i find ambient authority horrifying , but i'm not aware of any robust capability-based operating systems that would fill the same need for me .

QubesOS is slow & doesn't have screen reader support yet , but it does have some great features like configuration using Salt[4], Whonix qubes , & offline qubes . here are a few things i've learned that make it more tolerable :

programming

language

currently , my favorite languages are Haskell & PureScript .

things i like about them are :

part of being autistic for me is that i get overwhelmed by extraneous detail very easily , so i view many of these as accessibility features[5] for the way they keep code clean , easy to read , & reduce the number of things i have to keep in my head .

code editor

the code editor i use most often is helix .

my first editor was Sublime Text , then VSCodium , then Atom , & i finally found an editor i liked when i tried vim & realized i could mostly avoid using the mouse[6] . once i was proficient with vim , i moved on to Doom Emacs .

Emacs has a lot going for it , like radical introspection & extensibility , but it was just too slow for me . the language servers for Haskell & PureScript would often crash my qube because of how much memory they used in Emacs . i also disliked dealing with the Doom abstraction , but when i tried going without it , maintaining a complex configuration was too time consuming .

so , i switched to helix . it is rarely too slow for me , even in a qube with 4GB of RAM . it hardly requires any configuration to match my Doom Emacs setup . after learning them properly , i've also grown to appreciate the Kakoune-inspired keybindings more than vim's .

footnotes

  1. around 200 USD on Newegg
  2. this was also around 200 USD on eBay
  3. i am planning to switch to GrapheneOS soon , for the additional security features & ability to use TalkBack , a screen reader . i could not figure out how to enable a screen reader on CalyxOS .
  4. ior maybe even nix-like configuration in the future if Spectrum goes well
  5. however , i have heard that , for some other entities , these languages are quite unpleasant to work with for the very same reasons .
  6. using a mouse as an input device is fine , & i wish development software would use it more often . my issue is the precision required in most mouse-driven interfaces . precise clicks are difficult for me, & it would be much more accessible if elements that have a larger hitbox ( like radial menus ) were used more often .