The first post in a series on writing a programming-language parser in Rust. In this post, I give a high-level introduction to parsing, discuss different types of grammars and parsers, and give an overview of the most popular Rust crates for generating a parser from a grammar. In future posts, I’ll dive deep into implementing parsers for WDL, a domain-specific language for describing computational workflows.
What should my first Wordle guess be?
Like just about everyone else, I’ve gotten sucked into playing Wordle. I typically don’t go in for games with such straight-forward mechanics, but for a couple reasons it hits a sweet-spot for me. First, it is time-boxed: you can only play one round a day and each round is relatively short, so there’s no risk of it sucking up big chunks of time. Second, on its surface it is a word game (and I’m a bit of a word nerd), but underneath it is a game about probability.
Multiprocessing architectures in Python
I am currently working on contributing code to create a multi-threaded version of a piece of bioinformatics software I use heavily, Cutadapt. Cutadapt is a Python program that reads through records in a FASTQ file (or pair of FASTQ files) and performs adapter and quality trimming, so the architecture of the program is “read sequentially from one or more files, modify the data, and write the results to one or more output files.
Mining Journal Article Recommendations from Twitter Feeds
Twitter is great for learning about exciting new journal articles that are relavant to your field. I follow many scientists who are active on Twitter and have similar research interests to mine. The problem is that keeping up with my Twitter feed, and separating the signal from the noise, can be overwhelming. What I want is an automated way to mine my Twitter feed for journal articles. I also don’t want to have to worry about hosting it myself, and I don’t want to have to code a complicated solution if I can avoid it (I do enough of that at work).