Articles by tag: software

Documents as code and LaTeX

Lots of work goes into writing documents. Lots of that work is rule-based and can be made programmatic. This makes working with documents as a form of code that needs to be compiled as useful way to think about them, as well as working with them. LaTeX can handle these kinds of documents and may be the right place to start.

Strings, OsStrings, and PathBufs in Rust

In Rust, I have always had trouble dealing with paths and how they differ from strings. Here, I want to break down how these types are related to each other, why they're different, and how to convert between them.

Notes, tasks, and planning with Org mode

This post is about Org mode, an exemplary Emacs package, and why I think so many people love this piece of software.

Running Linux GUI applications on Windows

This post is a walkthrough of how to get these Linux GUI applications running on Windows using the Windows Subsystem for Linux.

"Buying" music sucks

My friend, Finn M-K, makes music for a living. I wanted to buy his most recent album and keep the MP3 files. The process was miserable and the easiest route was to pirate it. This is not a sustainable ecosystem for musicians.

Understanding file permissions

Here is a brief rundown of file permissions on Unix systems and how to change them.

General purpose Anaconda tips

I use Anaconda managing my computational software environments. Here are some pragmatic tips for making conda environments easier to deal with.

A solution to dependency hell: static binaries by default

Dependencies are complicated for computational biologists. Adapting a different development strategy can help your end users.

Why I like Rust - and why it's annoying

Here is a reason why I like the Rust language and community, but also why developers may not like them.

Experimenting with web monetization

This blog post is an experiment in running the web monetization protocol on this blog. If you don't have web monetization enabled in your browser, you won't see the contents of this post.

This article requires monetization to access
General purpose Emacs tips

Emacs is a text editor that has a lot of history and a lot of functionality. Because of its history and the philosophy behind it, it can be hard to find the "right" way to do anything with it. In this post, I want to compile some information that I've found over time, and things that have worked for me.

A more sane way to modify your PATH

The PATH environment variable is key for getting software to run on your computer. Sometimes you have to edit it by hand for your development purposes. Here is a tool to make that process a little more sane.

A collection of useful command line tools

Command line utilities are great. Here are a few of my favourites.

How to keep track of your bills

I made a command line tool for keeping track of financial statements for various accounts called Quill. Here's a breakdown of how I developed a solution.

A marketplace of half-baked ideas

A cursory look at the economics of scientific software, and the implications on its usability and longevity.

A fully-fledged toolchain for Rust on Windows

Rust is rapidly becoming a powerful and popular programming language. Running it on Windows can be a bit of a pain, so here's a guide to make it easier.

Creating a custom genome annotation for HiGlass

HiGlass is an interactive genome browser that's particularly useful for Hi-C data. Here, I describe how to create your own genome annotation file for HiGlass, allowing you to more easily display your work, regardless of the organism you work in.

Structuring code for ggplot

Brief thoughts on how to cleanly write ggplot code in R

A Vim user's introduction to Emacs

As a long-time Vim user, it took me some time to figure out what emacs was an how to use it. I hope to make that transition a bit easier and clearer for others.

Pragmatic guidelines for bioinformatics software tools

I offer 10 practical suggestions for designing robust, intuitive, and user-friendly software tools for bioinformatics.

Building Conda Packages

A brief introduction to creating your own conda packages.

The woes of using bioinformatics software: a case study in trying to install ChAMP

Making high-quality bioinformatics software is hard. Installing and using it shouldn't be, though. Here's a detailed description of all the work I did to try and install the ChAMP package.

PubMed + RSS for following specific authors

A quick method for keeping updated on works published by specific authors using PubMed's not so well known RSS feature.

How I Maintain a Reproducible Computational Environment

A brief description of how I try my best to keep a low-maintenance and reproducible software environment.

PubPeer for Microsoft Edge

I ported PubPeer's Chrome extension for Microsoft Edge.

Using GitHub Pages in Visual Studio Code

I run this site using GitHub Pages, so here's my setup of how I make it easier to test my site before I make changes, using Visual Studio Code.