Teaching basic lab skills
for research computing

Alternative ways to apply coding skills

When many researchers learn how to code, they’re immediately thinking of research challenges that they encounter and how some carefully crafted code can help them with the challenge. We thought it would be fun to ask the community to share applications of their coding skills to other applications. From planning weddings to controling a house full of IoT equipment, there are many ways to apply one’s coding skills. Using what you know about programming and open source tools can have many interesting implications for your hobbies and other pastimes. Have a read through the fun applications shared by our community.

Add your own entry as a Pull Request to this file: https://github.com/swcarpentry/website/blob/gh-pages/_data/alternative_uses_for_coding.yml

Brian Northan

I direct a 4 mile running race near Albany, NY. I’ve used Python and Pandas for a few data analysis tasks.

For example I used Pandas and Bokeh to generate an interactive scatterplot of age vs time everyone who ever did the race.

http://bnorthan.github.io/rotg-us/best.html

Last year I had a complicated team scoring scheme, which involved age grading some times, and I implemented it in a notebook.

https://github.com/bnorthan/rotg-us/blob/master/notebooks/ROTG_MINI_GRAND_PRIX.ipynb

I also hosted the website on github

http://bnorthan.github.io/rotg-us/

Jeremy

A twitter bot that tweets randomly generated Journal Articles: https://twitter.com/PLoS_Markov https://twitter.com/nature_Markov code: https://github.com/jeremycg/markov-bot

Anonymous

I use it to convert a read and csv file from Qualtrics into clean cvs files useful for printing name badges at conferences. I use R code to remove duplicates, change sentence case, standardize across misspelled words or acronyms, and summarize registration information. I keep this all in a private GitHub repo to protect the names of participants.

Nick Hamilton (Dr Nick)

My son and I (then 12) were collecting Bugs Life Dominoes which we got free at the supermarket when we did the weekly shopping. There were 44 different dominoes, but once we had 95 of them it seemed we had an unusually high number of some dominoes, for instance we had 9 of domino number 21.

We were wondering if there were equal numbers of each domino made or perhaps whether more were made of specific Bugs Life characters, perhaps audience favourites. So we constructed a spreadsheet to count frequencies and then wrote some R code to read it in and do a Chi square test on our data for the null hypothesis of there being equal numbers of each domino made. This gave a p-value of 0.0048 (I just found and ran the code again, you never know when old bits of code will be useful again), suggesting it was very unlikely, maybe only 1 chance in 208 that there were equal numbers of each. So it seems they were making more of favourite characters.

Eric Jankowski

https://bitbucket.org/erjank/olympushelper

Leo Browning

As a way to learn generative artwork creation using python (inspired by inconvergent.net) I made a set of scripts to make art! The scripts can render the generation in real-time and save the finished work, and the works themselves are based on Brownian motion with some other particle interactions thrown in. You can see more on my github here: https://github.com/leobrowning92/generative-art

Azalee Bostroem

I wrote a script to execute a craigslist search for apartments and then use keywords to select the ones I was interested in and email me if a new one appeared that matched my criteria. I then set a cronjob to run it every 15 minutes so I didn’t have to worry about whether or not I was missing something. This enabled me to respond to an ad for my current apartment within 15 minutes of its posting.

Jacqui Muller

I wrote a program to record my petrol usage each time I filled my car up with petrol. It automatically calculated how many litres I used per kilometer. This helped indicate when my car may need some sort of service. It also recorded a maintainence record which stored when I put oil into my car, had spark plugs changed, minor services, major services, etc.

Richard

Writing an SMS chatbot (Sauron) for a Fellowship of the Ring-themed stag party, using Twilio, Node-Red, and the IBM Watson Conversation service. The bot kept track of phone numbers, could randomise character assignments, had knowledge of the Lord of the Rings universe, and could be used to mediate “attacks” between attendees (“You have been betrayed by Boromir! Down your drink!” etc).

Joshua Ainsley

I use the Tasker app on my Android phone to record when I leave for work and when I leave for home based on what wifi networks I’m connected to. I use scripts written in R to calculate how many hours I spend at work as well as how long my commutes are. I continue to use R to visualize the results and run statistical tests exploring how departure times affect the length of my commutes.

tom Wright

I like building robots with my kids. Currently we code in a scratch derivative, which doesn’t share particularly well, but here’s a link to an early effort. https://github.com/tomwright01/arduino-robot/ http://blog.tomwright.ca/2014/04/21/arduino-robot/

Mark Laufersweiler

Plotting and trying out new visualizations of weather data.

Katy Huff

I planned my wedding. Video here: https://www.youtube.com/watch?v=ZDK5DZOgHD8#t=19m10s . Code here: https://github.com/katyhuff/wedding

Marianna Foos

A click-n-drag resume customizer (https://github.com/mfoos/shinyresumedemo, https://mfoos.shinyapps.io/shinyresumedemo/)

Christina Koch

I have used Ipythonblocks (thanks Matt Davis!) for a couple of non-academic uses 1) Measuring a room + its furniture and planning what it would look like before I actually start lifting: https://github.com/ChristinaLK/sandbox/blob/master/new_furniture.ipynb 2) Creating a visual representation of a knitting pattern I designed: https://github.com/ChristinaLK/sandbox/blob/master/stocking_cap-schematic.ipynb

Emily

Writing NPC generators for our D&D campaign

Daniel Wells

Analysing the temperature of my bedroom (https://github.com/daniel-wells/temperature-tracker). Analysing my spending habits (https://github.com/daniel-wells/spending-habits).

Anonymous

A script that computes the odds for upcoming sports events based on historical data retreived from the internet

Pat Schloss

Working on a sheep pedigree software app in Rails

Pat Schloss

Wrote R scripts to automate sending out report cards/transcripts for a homeschool group

Jenny Bryan

Wrote R script to determine which of my kids should keep using a bus pass that we load with money versus an unlimited monthly pass, based on downloaded csv files of bus trips (3 kids, 1 file per kid-month, many months).

Joseph Hardin

My girlfriend and I have a movie picking script. We each add one movie it randomizes and picks from all previously entered. The selected is removed from list and watched. Solves the problem of bias in movie selection.

Ryan Challinor

My wife wanted the hundreds of albums she’d accumulated over the years in her iTunes library to show up in her Spotify saved albums, so I exported her iTunes library to a text file and wrote a Python script with Spotipy (https://github.com/plamere/spotipy) to look up each of the albums and save them in her Spotify library.