A friend of mine is collaborating on a project using a Bayesian hierarchical model. One of the parameters in her model is error precision (inverse variance), which she’s giving a gamma-distributed prior. The other day she came to me with a question about the distribution, and how it could be interpreted. This struck me as less than intuitive, so I thought I’d make a simple interactive application to show how the prior parameters would translate into the precision distribtuion, as well as something more intuitive like standard deviation.
Continue reading

I see that I haven’t posted since the semester started, and I assure you that is no coincidence. Add classes and the hubbub of a fully operational college town to an already full schedule and lo! my blogging energies disappear. I’ve got a few posts simmering on a backburner, but today I’m going to try and make good on an idea I had a couple months back to post about library books I’ve checked out as they’re recalled.
Continue reading

The following contains notes from the first two parts what turned into a fruitful search for something I simply wanted to exist. I’m still following this string, but I think I’ve stumbled onto something very useful. More updates will follow. I’ve been having a hard time lately getting everything on my daily task list accomplished. Not that I’ve become any less efficient recently, but rather I’ve been somewhat better about explicitly listing the things I want to accomplish in any given day.
Continue reading

pre .operator, pre .paren { color: rgb(104, 118, 135) } pre .literal { color: #990073 } pre .number { color: #099; } pre .comment { color: #998; font-style: italic } pre .keyword { color: #900; font-weight: bold } pre .identifier { color: rgb(0, 0, 0); } pre .string { color: #d14; } var hljs=new function(){function m(p){return p.replace(/&/gm,”&”).replace(/“}while(y.length||w.length){var v=u().splice(0,1)[0];z+=m(x.substr(q,v.offset-q));q=v.offset;if(v.event==“start”){z+=t(v.node);s.push(v.node)}else{if(v.event==“stop”){var p,r=s.length;do{r–;p=s[r];z+=(“”)}while(p!=v.node);s.splice(r,1);while(r’+M[0]+“”}else{r+=M[0]}O=P.lR.lastIndex;M=P.lR.exec(L)}return r+L.substr(O,L.length-O)}function J(L,M){if(M.sL&&e[M.sL]){var r=d(M.sL,L);x+=r.keyword_count;return r.value}else{return F(L,M)}}function I(M,r){var L=M.cN?”:“”;if(M.rB){y+=L;M.buffer=“”}else{if(M.eB){y+=m®+L;M.buffer=“”}else{y+=L;M.buffer=r}}D.push(M);A+=M.r}function G(N,M,Q){var R=D[D.
Continue reading

Library books

One of my favorite things about being at a major research university is having access to a tremendous collection of library books. I’m overwhelmed not only by the number available to me, but also the generosity of the loan duration. I don’t know exactly how long the loans are, but it’s got to be at least six months. Which really encourages the kind of borrowing I’ve taken to doing–checking out books on the slightest whim and with only a vague idea of when or if I’ll get around to reading them.
Continue reading

Adding Content

Real briefly: I’m finally comfortable enough with the inner workings of Octopress to start putting some content on this blog. A lot of my first moves are going to be notes from various courses and tutorials that I’ve written in markdown (rather RMarkdown), mainly so that I can keep track of them in a place that’s not my messy hard drive. These are just notes, so they are not in the least well-written or even sensible, necessarily.
Continue reading

First post with Octopress! I’ve just managed to set up an Octopress blogging platform, after becoming frustrated with wordpress.com’s limitations. I only learned about Octopress a couple of days ago, and I spent an awful lot of the intervening time wrestling with my macbook’s unix shell trying to get it set up on my very own website. Octopress is apparently an incarnation of Jekyll, which itself purports to be “a blogging platform for hackers.
Continue reading

Author's picture

Mark Hagemann

I think and sometimes write about water or data or other things I think about.

RVA