Blog Posts

  • A waiting game » 07 Jul 2019

    On sabbatical from a vacation: my contradictory situation. I’m lacking employment, too broke for enjoyment of Kate’s chemo’s twelve-month duration.


  • My wife has cancer, and it sucks. » 22 Jun 2019

    Hey amigos, it’s been a while since I blogged but I’ve got a lot going on and I need a place to talk about it.


  • Serving GPS and AIS data from Raspberry Pi over WiFi » 31 Oct 2017

    This is the second entry in a series about using a Raspberry Pi as the hub of my boat’s data network. Today I describe how I integrated an ultra cheap USB GPS device ($8 on eBay) and an inexpensive AIS receiver (the dAISy Hat, $65 on Tindie. The AIS receiver tells me the locations of all ships within VHF range (at least five miles), while the GPS gives me my location and the current time to within a fraction of a second.


  • Using Raspberry Pi 3 running Stretch for a WiFi router » 30 Oct 2017

    There are several tutorials out there about turning your Rapberry Pi into a WiFi access point, but they all seem to written for Raspbian Jessie or earlier. There are a few changes in Stretch, the most recent version of the Pi’s operating system, that seem to break these tutorials.


  • Receiving weather fax with the RTL-SDR dongle on OSX » 23 Mar 2017

    I’ve recently bought an RTL-SDR dongle to play with as a software-defined radio. One of the first things I tried was to use it to receive HF weatherfax images from the US and Australian weather services.


  • Canoe update » 28 Apr 2016

    Hola amigos, it’s been a while since I rapped at ya. Your square amigo is out there riding those untamed currents. Anyway, I’ve got a boatbuilding update for you. For one, the tarp I use to cover the canoes when it rains was getting kinda threadbare so I slapped on a coat of primer to protect the hulls from the sun and rain. I don’t think these will end up white but who can say? Mrs. Somesquares and I are brainstorming names and thinking about a launch date in the month of May.


  • Epoxy-related eczema » 19 Mar 2016

    In the daggerboard assembly post, one reason I gave for prefering PVA glue over epoxy where applicable was that epoxy aggravates my eczema. Ordinarily, the skin of my right hand looks totally normal. Here are a couple of photos, taken five days after I built bulkheads into the canoe hulls using epoxy fillets. I worked outside in order to minimize my exposure to fumes and wore vinyl gloves throughout.


  • Daggerboard case assembly » 19 Mar 2016

    Our daggerboards and cases use the design from the OZRacer Mk 2 plans. The case sides, then, are 4mm thick plywood rectangles 352mm front-to-back and about 340mm top-to-bottom. The spacers are cut from cedar to be 25mm x 25mm in cross-section. Once the materials were cut, I laid everything out on one of the upside-down hulls.


  • Cutting out bulkheads » 18 Mar 2016

    Once the gunwales are in place, my sailing Quick Beth hybrid really begins to depart from the Quick Canoe design. One consequence is that there are no instructions to follow. For instance, the canoes need internal structure to stiffen their hulls against the twisting force generated by sailing any direction except downwind. In an act of guesswork, I decided that four bulkheads made from 4mm ply will be about right - one at each end of the centerboard, and one next to each mast (The canoes are to be yawl rigs, with one sail on a main mast forward and a smaller sail on a mizzen mast aft).


  • Gunwales » 17 Mar 2016

    Gunwales. Not a lot to say - they’re long thin strips that were glued to the sides of the boats. As always, the sad truth is that you need more clamps than you have, but you’ll make do. I think my gunwales are 25mm x 25mm (it’s been a while, ok?)


  • Stem fixed! » 16 Mar 2016

    Hola amigos, I know it’s been a while since I rapped at ya. Rest assured, the progress has continued on the canoes - I just have been neglecting the blog.


  • Stem repair » 30 Jan 2016

    Last time, one canoe’s bottom separated from the sides while I was gluing them together with epoxy fillets. I wrapped that boat with a bunch of tape to hold it together, which messed up the intended curve at the stem:


  • Fillets, and a disaster dodged » 29 Jan 2016

    Disaster nearly struck while filleting the hulls of our Quick Canoes. As I explained last time, the hulls are temporarily taped together with duct tape until they can be glued with a fillet of thickened epoxy. After I had applied the fillets and gone inside, some of the tape gave way at one end of one canoe - probably because the plywood was grimy with sawdust that gummed up the tape’s adhesive. The failure opened a gap out of which which the still-soft epoxy flowed, badly altering the shape and integrity of the chine.


  • Instant boat! » 27 Jan 2016

    The canoes have gone 3D. A major innovation in some recent Mik Storer designs (Quick Canoe and Oz Racer) is that the boats are first assembled with duct tape, then glued together with epoxy fillets before the tape is removed. As you might imagine, this is a very fast method of construction. The “instant boat” approach greatly reduces the time to assemble a hull, when compared to methods such as chine logs that rely more heavily on carpentry skills.


  • Sailmaking » 21 Jan 2016

    Desiging the sails begins with their area. Beth has 90 square feet of sail, but our canoes are a bit smaller and probably we are less capable sailors than Mik intended for Beth, so the canoes will each have 80 square feet of sail. By guesstimation, I decide to have 60 square feet in the main and 20 in the mizzen. Both are simply scaled-down versions of OzRacer sails, which were designed for quick, cheap polytarp construction. One 8m x 4.5m heavyweight polytarp ran us AU$140 including tax and shipping. That was big enough to make all four sails with a lot of excess material for patches.


  • Cutting out hull panels » 20 Jan 2016

    Like any Mik Storer design, construction of the quick canoe begins with cutting out hull panels. First, marine plywood is laid out and index lines are drawn across it at 285mm intervals (the plans call for 300mm spacing, but we are building canoes at 95% scale to get four bottom panels from two sheets of plywood.)


  • Quick sailing canoes » 19 Jan 2016

    We’ve been in Sydney for a few months now and have been spending a lot of time on the water - sailing with Yarra Bay Sailing Club, snorkelling everywhere, and learning to surf down at Maroubra. As fun as the sailing has been, it’s only on once per week, and not at all during the holidays or the Australian winter. I miss Goats Have No Manners, the Goat Island skiff (GIS) I built in the basement back in grad school at the University of Wisconsin, and have decided to begin a new boat building project.


  • Exercise: Prediction in a linear model » 29 Jul 2015

    Students were supposed to recognize that variability of fitted values is about uncertainty in where to draw the regression line, while variability in prediction adds the noisiness of data being distributed around the line.


  • Exercise: Statistical inference in a linear model » 28 Jul 2015

    This exercise is designed to show the students that they already have the tools they need for inference in regression models.


  • Exercise: Estimating a linear model » 27 Jul 2015

    This exercise was intended to show students that linear regression is comprehensible and intuitive. They mostly came up with very similar solutions. With a little prompting, every group eventually said that they would summarize their model by the slope and intercept.


  • Exercise: Analysis of variance » 21 Jul 2015

    This exercise is intended to have students intuit the analysis of variance, so that everything that follows will be merely detail. Worked out pretty well.


  • Exercise: Two-population testing flowchart » 15 Jul 2015

    Once, I was planning to just draw this flowchart on the board. I am really glad that I instead gave it as an exercise, because it prompted a lot of discussion and I think it really helped put the past week of lectures into a big picture. It also seemed to help convince the students that the permutation test is worth remembering. I emphasized that the permutation test could be used at the end of every branch of the flowchart, while the t-tests require careful thought about their assumptions.


  • Exercise: Two-population permutation test » 14 Jul 2015

    To now, our coverage of hypothesis testing has been almost exclusively about t-tests, which was the decision of the course planners. I personally think that permutation tests are more important for developing the logic and intuition of hypothesis testing. Today’s exercise had the students generate permutations for a permutation test. Based on their permutations, I generated a histogram of the difference in sample means according to the null hypothesis, and calculated a p-value, which closely matched what we’d gotten via a t-test.


  • Exercise: Two-population hypothesis testing concepts » 13 Jul 2015

    This was our exercise on the first day covering hypothesis testing for two independent populations. I wanted students to come up on their own with the form of a two-population hypothesis test, and with a basic idea of the test statistic. Everyone nailed $H_0: \mu_S = \mu_T$.


  • Exercise: Hypothesis testing concepts » 07 Jul 2015

    We are beginning our discussion of hypothesis testing. This exercise is designed to remind the students of some concepts that they already know, which will come in handy soon.


  • Exercise: Bootstrap and engine block data » 06 Jul 2015

    Today's exercise is about the bootstrap. I had been warned by a previous instructor that the sudents often get confused about the bootstrap, thinking that adding more resamples will cause the central limit theorem to kick in, or something.


  • Exercise: variance of the sample mean » 30 Jun 2015

    It’s a short one today - we’ll be talking about the central limit theorem soon and I want to make sure the students are convinced that scaling by $\sqrt{n}$ stabilizes the variance of the mean. Everything else is for review.


  • Exercise: estimation and confidence intervals » 29 Jun 2015

    We did this exercise on the first day talking about estimation. It builds on the quiz from last week when the students had a problem asking for the mean and variance of $ rac{1}{2}(X+Y)$, where $X$ and $Y$ are independent random variables, each following a $N(2,3^2)$ distribution.


  • Exercise: continuous distributions and the Normal » 24 Jun 2015

    We are talking about continuous distributions and the Normal distribution. Pretty simple exercise, hoping to drive at an intuitive understanding of probability density and probability mass.


  • Exercise: free throw shooting » 23 Jun 2015

    In the process of covering crucial distributions like the binomial and the normal, I want my students to be exposed to some uses we will eventually encounter, like hypothesis testing. Also, this exercise is intended to emphasize that a probability distribution is a simple model of a population (not of the observed data), which we adopt by assumption. Then statistical techniques can compare the evidence in the data against the consequences implied by the assumed distribution.


  • Exercise: time to hatch » 22 Jun 2015

    We are learning about random variables, distributions, expectation, and variance. This exercise is intended to help make the connections between population features (like probability distributions, random variables, and expectation) and concepts related to the sample, like realizations and the mean.


  • Birth weight classroom exercise » 17 Jun 2015

    We are learning about probability. One point of emphasis is that probability works from a population to make statements about a sample, and that statistics works from a sample to make statements about a population.


  • Gestation classroom exercise » 16 Jun 2015

    We are learning about univariate descriptive plots and statistics: the histogram, box-and-whisker plot, mean, pecentiles, standard deviation. Additionally, we emphasize that plotting is the first step to understanding your data. The distinction between descriptive/inferential statistics is something we’ve talked about - the last question is supposed to inspire some critical thinking.


  • Sex and height classroom exercise » 15 Jun 2015

    This was the exercise for our first class session. It’s intended to be a gentle introduction to the exercise format and to emphasize that the first things to do with data are to make exploratory plots and compute some summary statistics.


  • Classroom exercises for intro to statistics » 14 Jun 2015

    I am going to be posting a series of active-learning exercises that I’m developing and using to teach an introductory statistics course.


  • Scrape the web for football play-by-play data, part 3 » 25 Jan 2015

    This is part three, the fourth is a series of articles about scraping college football play-by-play data from the web. You can check out part one, part 1.5, and part two.


  • Local variable selection in a varying coefficient regression model » 19 Dec 2014

    One important thing to note about a varying coefficient regression (VCR) model is that the coefficients vary over the model’s domain. It seems natural, then, that the set of relevant predictors might vary over the domain, as well. This post is about local adaptive grouped regularization (LAGR), which is a method of local variable selection in a VCR model.


  • Maitake season! » 18 Oct 2014

    Can you spot the mushroom in this picture?


  • Say "bouillabaisse"! » 19 Aug 2014

    Here’s a short video of us sailing on Monona this past weekend. We stopped off at Sardine for a croque monsieur and were becalmed on the way home.


  • Sailing on Mendota » 11 Aug 2014

    Kate and I put Goats Have No Manners into Lake Mendota for the first time. It was beautiful!


  • Kitty spotted on my way home » 09 Jul 2014

    Hard to see here but he has a lion cut that’s grown out.


  • Here's the second photo of that pigeon » 09 Jul 2014

    Poor little fella lives outside the gym/student union at UCSF’s Mission Bay campus. Let me know if you see him and whether he’s doing ok.


  • Photos of a one-legged pigeon » 28 Jun 2014

    Poor little guy. Still getting around, though.


  • Closures of beaches at the Yahara lakes due to contamination » 12 Apr 2014


  • Try Biggie » 14 Mar 2014

    An example of Big presentation software


  • New Moon Cinema is go! » 10 Oct 2013

    All the pieces are finally in place for us to inaugurate the New Moon Cinema this Saturday (admittedly, during a waxing crescent). Some photos from the construction and testing of the individual components follow.


  • Scrape the web for football play-by-play data, part 2 » 04 Sep 2013

    UPDATE: Part three of this series introduces the R package pbp, which contains the most up-to-date version of this software.


  • Scrape the web for football play-by-play data, part 1.5 » 03 Sep 2013

    UPDATE x2: Part three of this series introduces the R package pbp, which contains the most up-to-date version of this software.


  • Scrape the web for football play-by-play data, part 1 » 02 Sep 2013

    UPDATE x3: part three introduces the R package pbp, which contains the most up-to-date version of this software.


  • Another D3js visualization » 24 Aug 2013


  • Are BMWs out to kill David Plotz? » 19 Jul 2013

    Slate’s David Plotz is convinced that drivers of BMWs are trying to run him down on his bicycle. Are they?


  • Another weekend in the garden » 09 Jun 2013

    …and it now looks like this:


  • First D3.js visualization » 07 Jun 2013


  • Eagle Heights community garden » 06 Jun 2013

    It wasn’t until this past weekend that I finally made the year’s first visit to my plot at the Eagle Heights Community Garden. As expected, things had gotten out of hand:


  • Congratulations, Kate and Will! » 20 May 2013

    I was in Milwaukee twice this weekend, each time to celebrate an awesome accomplishment by someone close to me. On Friday, Kate won the gold and silver awards for best 'Innovative Feature' from the Milwaukee Press Club...


  • Integrating mathjax and markdown in django » 20 Apr 2013

    I’ve moved the blog to Github Pages which means that my content management system is now Jekyll, not Django. I’m leaving this post up, but I no longer use the hack described below.