Tuesday, November 17, 2015

Ergotron Workfit-S - fix for reduction in range of motion

I've been using one of these Ergotron standing desks for a few years now: Ergotron WorkFit-S 33-341-200 . The maximum height it'd raise to has reduced over time; it took me a while to realize it as this was quite a slow process.

It turns out the fix is really simple. I found this entry in the Ergotron forums: WorkFit-S Dual Maximum height.

The main point is in the second comment (a reply from an Ergotron tech):

One thing that you can try is "resetting" the WorkFit-S. To do this, lower it with one hand on the handle & one hand on the workstation surface - when it gets to the low point, push on the workstation surface a little bit - you should hear the sound of the desk "reset". Afterwards, you should be able to have the full range of motion that you had before.

This worked well for me - at least after I realized the 'workstation surface' was really anywhere on the movable arm (my Ergotron doesn't have a workstation surface). I had to press quite hard, the arm moved further down than it's base resting position and then had the full range of motion back. This meant that standing was comfortable again (before, my arms were bent as the keyboard tray was too low).

Thursday, November 12, 2015

Git: remove files from the index which are ignored by .gitignore

If you update your patterns in .gitignore, you're often left with a set of files in the index and repository that should be removed. This can be achieved as follows:

You now have the ignored files staged for deletion.

Wednesday, February 25, 2015

RMarkdown - making and using a general Rmd file for re-use

There are some tasks I do a lot and it'd be good to have general .Rmd documents available to report on the outcome of those tasks. Some examples would be a standard report on an ML experiment, or an overview from a data curation pipeline. I've been using rmarkdown for generating reports, but it has some limitations for this. I don't want to have a new Rmd file for every report. I'd like to have a configurable template file that lives in a shared location that I can run each time.

Unfortunately, if you try to do this you'll soon find that rmarkdown expects the Rmd file to be in your working directory - well, the working directory is set to the location of the Rmd file. See the following line in render.R: github-render.R_L96

My current work around for this (and please let me know if you have a better way) is to have a helper script which copies over the Rmd file to the current working directory, generates the report and then removes the temporary files: The Rmd file has a line for loading in the configuration:
library(yaml)
config <- yaml.load_file("model_report.yaml")

The YAML configuration file contains the project specific variables (e.g. output suffix, flags for adding/subtracting items from a report, important dir locations). This file could easily be generated on the fly via arguments to the bash script.

Wednesday, February 18, 2015

Rmarkdown: automatically select correct output type for xtable

I was initially setting the xtable output type manually - either globally or in each print statement. This got annoying very quickly when switching between HTML and PDF outputs. This is how you get xtable to automatically use the correct output format:

Wednesday, February 4, 2015

Fix Excel Office for Mac 2011 TSV output

RMarkdown: Setting global chunk options

The easiest way to do this is to have a chunk at the start of your document that isn't included in the output of the report: In this example I'm setting the default behaviour so that the code isn't printed (echo=FALSE) and no warning messages are reported in the output document (message=FALSE). I'm also setting some xtable options (for easily printing out nice tables in the report).