pages tagged personalyakkinghttp://yakking.branchable.com/tags/personal/yakkingikiwiki2014-11-26T12:00:22ZTools I usehttp://yakking.branchable.com/posts/tools-lars-uses/Lars Wirzenius2014-11-26T12:00:22Z2014-11-26T12:00:15Z
<p>Sometimes it's interesting to look at the tools someone else likes.
Here's a snapshot of my current toolbox.</p>
<h1>Hardware</h1>
<p>I use a Lenovo Thinkpad X220 laptop, running Debian wheezy. It has a
2.6 GHz CPU, 16 GiB RAM (twice the official maximum, thanks to
<a href="">ThinkWiki</a>), and both a terabyte spinning drive and a 240 GB SSD.</p>
<p>I'll be upgrading the Debian version to jessie in the coming months,
now that Debian has frozen jessie in preparation for the next release.</p>
<p>Having two storage devices in the laptop is very nice. I get the
benefits both of SSD (very fast) and a spinning disk (cheap per
gigabyte). I have the operating system, my home directory, and some
virtual machines on the SSD, and a Debian mirror, music and other
media files, and other virtual machines on the spinning disk.</p>
<p>I don't use an external keyboard or mouse. The X220 keyboard is very
nice, for a laptop keyboard, and I've used it and the trackpoint mouse
emulator so much over the past several years that they fade away. I
don't need to look at, or think about, using the keyboard, and they
don't limit or slow me down. It's also very convenient to not have to
attach, detach, or carry extra input devices.</p>
<p>Sometimes I do use an external monitor, but it's not my usual mode.
I'd like much more screen real estate, and someday I'll arrange that,
but in recent years that's been excluded by other life choices.</p>
<p>I don't have a desktop machine at all at this time, which is dictated
by the same life choices: we've moved to a different country several
times in recent years, so having as little stuff as possible is
important to me.</p>
<h1>General environment</h1>
<p>I use GNOME3 as my desktop environment, with Xmonad as the window
manager. I like the GNOME desktop in general, but I have fallen for a
tiling window manager. I chose Xmonad over the options, because my
Yakking colleague Daniel likes it. Also, it's another reason for me to
learn Haskell.</p>
<p>I use Emacs as my text editor, with a little vi for quick edits. This
is not a fanatical choice: I've used a number of text editors over the
years, including several I've written myself. Currently, I seem to
like Emacs best, but I may change again some day.</p>
<p>My preferred login shell is bash. I don't do a whole lot of
configuration of it, mostly about the prompt, which is in bold face so I
can more easily spot prompts in tall windows.</p>
<p>For virtualisation, I use libvirt, virt-manager, and KVM. I sometimes
generate the virtual machine disk images with <a href="http://liw.fi/vmdebootstrap/">vmdebootstrap</a>. I use
virtualisation a fair bit, which makes the 16 GiB of RAM on my laptop
a nice thing to have.</p>
<p>I browse the web with Firefox. Chromium is nice, too, but I find the
Mozilla Foundation's commitment to freedom and openness to be more
credible than Google's.</p>
<p>I follow RSS/Atom feeds with <a href="http://lzone.de/liferea/">Liferea</a>. I IRC with <a href="http://www.irssi.org/">irssi</a>. I
handle e-mail with a combination of <a href="http://www.mutt.org/">mutt</a>, <a href="http://offlineimap.org/">offlineimap</a>, and
<a href="http://notmuchmail.org/">notmuch</a>. Files get synchronised across machines with <a href="https://git-annex.branchable.com/">git-annex</a>.</p>
<p>Backups are done with <a href="http://obnam.org/">Obnam</a> (of course; I wrote it).</p>
<p>My web sites are made with <a href="https://ikiwiki.info/">Ikiwiki</a>, and hosted on <a href="http://branchable.org">Branchable</a>.</p>
<p>Documents are mostly written in Markdown, and processed with <a href="http://johnmacfarlane.net/pandoc/">Pandoc</a>.</p>
<h1>Programming</h1>
<p>I write most of my code in Python 2. I haven't started the transition
to Python 3, because I want my code to run on the current stable
version of Debian, and Python 2 has been much better supported. Also,
lack of free time. I use the coverage.py tool for coverage
measurement, and my own CoverageTestRunner as the unit test runner.
(I've written a lot of my own tools; I won't mention all of them.)</p>
<p>I also use a bit of C, and the usual assortment of shell, awk, and
other Unix command line scripting tools.</p>
<p>Version control is handled by git. My git server runs gitano.</p>
<h1>Stuff I don't use</h1>
<p>I don't use much office software.</p>
<p>I don't use Facebook or Twitter, though I am on LinkedIn for
professional reasons. I keep in touch with my people mostly by means
that do not result in profiling information sold to advertisers.</p>
<p>I don't use integrated development environments. I prefer a
traditional text editor, and to do things on the command line: this
lets me pick and choose between various tools and doesn't tie me to
one specific megatool.</p>