Tools I Use
I am an avid reader of Uses This. I like to read about the tools (i.e., hardware and software) other people use for their work, so I can spend more time optimizing my own workflow (instead of actually getting work done …). To help you procrastinate as well, I have decided to jot down some notes on the tools I use myself.
For my work, I primarily use Lenovo Thinkpads (in part, because of the relatively good support of Linux under this line of laptops). I started on a X220, opting for the tablet version, given that my goal has always been to achieve the paperless office. I eventually upgraded to the X1 Yoga when it first came out and recently moved up to the X1 Yoga (5th Gen). Although I don't do the heavy computational stuff on the laptop itself, I really needed a computer with (at least) 4 proper cores (the first generation X1 Yoga only had 2, which started to become a bit of a drag). It's somewhat insane on a 14-inch screen, but I went with the UHD (3840x2160) display and I can tell you my code never looked more crisp.
Actually, the vast majority of the time, I don't work on the laptop directly, but have it connected to a 31.5-inch Dell UltraSharp 4K monitor. It has the same resolution as the laptop, but is a bit more friendly to my aging eyes.
Moreover, working for extended amounts of time on laptop keyboards is a no-go for me these days, as this aggravates issues I have with RSI. Therefore, whenever I can, I use an external keyboard with high-quality mechanical switches. For 15+ years, I used a Cherry G80-3000, then tried to move to a split keyboard (with the Kinesis Freestyle Edge), but could not quite get comfortable with it. At the moment, I use a Das Keyboard 4 Professional with blue Cherry switches (if it doesn't do clickety-clack, it's not a keyboard for me) and some alternative keycaps by GMK. While some people like to opt for more compact keyboards, I prefer more keys! Hence, I have an additional numeric keypad sitting to the left of my regular keyboard (that is programmed independently of the keypad on the keyboard with various shortcuts).
For my mouse, I switched to a Logitech MX Vertical, which I found quite easy to get used to, but don't use all that much, because I try to manage as much as I can via the keyboard anyway.
Aside from spending way too much time in online meetings, I do the occasional live stream via Twitch and teach online courses via Zoom. Although maybe not the best choices, I use a Yeti Blue microphone and a Logitech CS922 webcam for this. Definitely beats whatever they put into laptops.
One of the best investments I made in recent years is to get a height-adjustable desk that allows me to switch from a sitting to standing position with the press of a button. I opted for the Ergotopia Desktopia Pro, which has been working flawlessly for about 2 years now. I alternate between standing and sitting multiple times throughout the day.
To light up my desk/workspace, I have a Benq Monitor Light ScreenBar sitting on top of my monitor, which avoids screen glare and allows me to adjust the color temperature of the light from a cold 6500K to a nice warm 2700K. I prefer the latter most of the time.
When I need more computing power and don't want to torture the laptop for extended periods of time, I ssh into a 20-core HP Z640 workstation. When I really need to upscale (e.g., for a larger simulation study), I make use of the DSRI cluster, provided by the Institute of Data Science at Maastricht University. The cluster has 16 compute nodes with 64 cores each. With this, I can easily run ONE MILLION t-tests in no time!
My operating system of choice is GNU/Linux. Currently, I am using Xubuntu (version 20.04). While I personally would prefer to do all of my work under Linux, I essentially always have a virtual machine with Windows running in the background. For one, when colleagues send me Word documents for collaboration / commenting, I don't want to make their lives more difficult if there are minor incompatibilities when editing these documents in LibreOffice (if we all would just use LibreOffice in the first place, this would be a non-issue, but alas).
Another reason for having Windows run in the background is Outlook (gasp!). But it's the only email client I know that can easily convert (not just display, but really convert) pesky HTML emails into plain text (if we all would just use plaintext email … but alas again) and properly edit received emails. I have not found a client that can do this so easily. When I don't need this functionality, I also use Thunderbird although my personal preference is Alpine. Whenever possible, I prefer console applications over fancy GUIs.
Hence, if I could, I would just browse the internet using a text-based browser, but few websites work properly that way. Therefore, most of the time, I use Vivaldi or Firefox but access Google services via Chromium. For plugins, I use uMatrix and uBlock Origin to keep things a bit more sane on the internet, Dark Reader to adjust the look of websites to suit my taste, and Vimium to avoid touching the mouse.
Not surprisingly, I mainly stick to R when it comes to doing statistical work (i.e., analyses, simulations, programming), but Stata is also very powerful with great documentation and the
proc nlmixed, and
proc glimmix procedures of SAS are also really good. I only load SPSS when I have to for teaching, but jamovi and/or JASP could even replace that.
I personally do not use RStudio (although I would highly recommend it to those starting their journey with R and not already familiar with some other IDE or programming editor). Instead, I prefer to use a single editor for all my text processing / programming needs. For this, I use Sublime (together with a bunch of add-on packages, including Origami, Shell Exec, SendCode, and Terminus, and radian as my R console). I also write my own papers this way, in combination with LaTeX and (R)markdown. The output is usually a pdf, which I view with qpdfview. For editing pdfs, I use PDF Studio. My presentations and teaching materials are also created this way, using the simple but elegant Metropolis theme. My favorite monospaced font for programming and on the command line is Inconsolata, which I obtain from Nerd Fonts (for the glyphs that are patched in).
I am very German … I mean, meticulous when it comes to organizing my files. I prefer orthodox file managers for this purpose (mainly Double Commander and Midnight Commander). Similarly, I try to be very disciplined when it comes to organizing my literature database, which I do using JabRef.
To run my live streams, I use OBS. To play music in the background while working, I use cmus. If I need even more distraction, I go on IRC using WeeChat. Although I chose Xubuntu for the Xfce desktop environment, I prefer the GNOME Terminal as my terminal emulator. Bash serves as my shell. And I like customizing the look of my desktop.
As noted above, I try to keep my fingers on the keyboard and away from the mouse. To implement custom shortcuts and automate various processes, I use AutoKey, various command line tools (i.e.,
xbindkeys) with custom scripts, touchcursor (so I can navigate documents while keeping my fingers on the home row), and keynav (to really avoid having to use a mouse).
I hope you found this interesting. If you did, I think we would get along splendidly (but also if you didn't).