Skip to main content

Wedding Prediction - October, 2013

Carla and I are planning on getting married sometime in October next year.  We need to pick a date, and that decision may involve some science and mathematics.  :)

For example, we want the weather to be nice.  To be more precise, we'd like the high temperature for the wedding day to be between 60 and 80 degrees Fahrenheit.  Obviously, we have both lived in Ohio our entire lives, and we have a pretty good idea of what the weather will be like.  We both hypothesised that October was a "hit or miss" sort of month; it could be cold, or it could be nice.

But, for me, a simple hypothesis was not enough; I really wanted to know the probabilities of decent weather based on historical weather data.  Many websites on the Internet (i.e. almanac.com) charge you to review historical weather data, but Carla and I discovered a cool page on cleveland.com that provided exactly what we wanted.  I loaded the historical temperature data from 1903 to 2011 for two particular dates of interest: October 6th and October 19th.  The average high temperature for October 19th for all 109 years was about 61 degrees; whereas, the average high temperature for October 6th was about 67 degrees.  Assuming historical temperatures for a particular day follow a normal distribution (which is true for the most part), we determined that our odds of a 60-to-80-degree-high day on October 19th was about 50%.  Looking at October 6th data, we performed the same analysis, discovering that our probability of a 60-to-80-degree-high-day was about 65%.

By removing our upper bound on the average high temperature, our probabilities improve slightly.  That is, if we redefine a comfortable day to be a day with a high temperature of 60 degrees or higher, our probabilities of a comfortable day change to 52% and 74%, for October 19th and 6th, respectively.

Therefore, October 19th is out.  1-to-1 odds leave too much to chance.  I am much more comfortable with the 3-to-1 odds that October 6th provides.

You think the analysis is over yet?  No way!  What about tree foliage color?  I could not find as much data on how the leaves change between September and October, but from the resources I discovered, the leaves in Northeast Ohio begin to change at the very beginning of October or very late September.  The change typically peaks around the first or second week of October, between the 8th and 16th of October.  By the third week, the leaves begin to fall, and usually by October 23rd or so, the leaves are on the ground.  I also discovered that drought and/or heat in July and August can cause the leaves to change sooner than usual, and similarly, a series of warmer days or days with little sunshine in September can trigger an earlier change.

All things considered, I think October 6th is a perfect day for a wedding.  The higher probability of a nice, warm day is enticing, and additionally, the leaves will have almost certainly started to change by then.  While the change might not be at the peak by the 6th, it is possible that an October 19th wedding might miss out on the leaves altogether.

I think our date is October 6, 2013.  :)

Comments

Carla said…
Aww, I love you! I think it's so cute that you did all of that analysis. Thank you. Why did we switch to October 19? lol. Either way, I can't wait!!! I LOVE YOU SO MUCH!!! XOXO ♥
Anonymous said…
I read this piece of writing fully on the topic of the difference of most recent and preceding technologies, it's amazing article.

Popular posts from this blog

Developing a lightweight WebSocket library

Late in 2016, I began development on a lightweight, isomorphic WebSocket library for Node.js called ws-wrapper .  Today, this library is stable and has been successfully used in many production apps. Why?  What about socket.io ?  In my opinion, socket.io and its dependencies are way too heavy .  Now that the year is 2018, this couldn't be more true.  Modern browsers have native WebSocket support meaning that all of the transports built into the socket.io project are just dead weight.  On the other hand, ws-wrapper and its dependencies weigh about 3 KB when minified and gzipped.  Similarly, ws-wrapper consists of about 500 lines of code; whereas, socket.io consists of thousands of lines of code.  As Dijkstra once famously said: "Simplicity is prerequisite for reliability." ws-wrapper also provides a few more features out of the box.  The API exposes a two-way, Promise-based request/response interface.  That is, clients can request data from servers just as easily as se

Computer Clocks Cause More Issues

Two nights ago, a leap second was added to system clocks running Linux, causing much-undesired havoc. On July 1st at 12:00 AM UTC, both of my Amazon EC2 instances fired an alarm indicating high CPU usage. I investigated to find that it was MySQL that was eating all of the CPU. I logged in and ran SHOW PROCESSLIST to find that no queries were running (these servers don't get hit much after business hours). I stopped MySQL, CPU utilization dropped back down to 1-3% (as normal). I restarted MySQL, and it started eating a lot of CPU again. Then, I restarted the server (shutdown -r now), and the problem went away. Both servers had the exact same problem (running Ubuntu 12.04 LTS). In my particular case, MySQL began eating CPU, even after being restarted.  It was a livelock. The only relevant item I saw in the syslog was: Jun 30 23:59:59 hostname kernel: [14152976.187987] Clock: inserting leap second 23:59:60 UTC Oh yeah... leap seconds.  Those are super important.

JavaScript Sticky Footer and Scroll Effect

This post talks about two different HTML/JavaScript effects: How to keep a page footer stuck at the bottom of the browser window. How to create a scrolling <div> without using a scroll bar OK. So... you have a website. You want a header stuck at the top of your page and the footer stuck at the bottom of your page. The stuff in the middle, you want to be able to scrollable. But, you don't want those ugly scrollbars to the right of your scrollable text. Maybe, instead, you'll have up arrows and down arrows above and below your <div>. When you mouseover the arrows, the text in the <div> will move up or down and create a scrolling effect. Suppose your page looks like this... <html> <head> <title>Test</title> </head> <body> <div style="position: relative; width: 700px; margin-left: auto; margin-right: auto;"> <div id="header">Header</div> <div id="scrollUp&q