Classic Car Front Ends

Modern Cars are Boring.

Car

Car

Car

Car

All taken at the Forney Transportation Museum in Denver.

more ...

Backyard Flowers

This spring we scattered a couple bags of wildflowers all over a part of our yard we knew we couldn't/weren't going to actively garden this year. In previous years, that part of our yard has been mostly weeds and some native grasses. We think that it looks better covered in wildflowers, and so do our local pollinators.

Wildflowers

Honeybee

Wildflowers

Wildflowers

A bumble bee visits our wisteria

more ...

A New Timelapse Video

A view out our front window, today.

more ...

My New MTB

Earlier this year I bought a 2018 Santa Cruz Tallboy C. This is my first full squish mountain bike, and it is awesome. The thing just floats over rocks and is much more forgiving than my old hard tail. It has 29" wheels, a 12 speed cogset, disc brakes, and a dropper post, all of which make the bike completely different from what I'm used to. Comparing times on Strava, I am faster on descents and any reasonably bumpy sections with this bike, which isn't exactly the point of getting a bike like this, but it is nice. There are trails I had stopped riding with my old hard tail because they were not fun that this bike makes fun. And that's the point.

Bike

Bike

Bike

Bike

more ...

Fast Home Internet

Out of nowhere, earlier this year Centurylink started installing 1 gig symmetric fiber internet infrastructure in our neighborhood. By out of nowhere, I mean that previously they were offering 20 MB DSL service as the best option here, which is horribly uncompetitive with Comcast cable internet that we used to have. But with the 1 gig fiber, Centurylink has a product that I couldn't pass up.

And here is the wonderful result. I've never run a test where both the upload and download are close to 1 gig, but I have seen both get that high separately.

The future is now!

more ...

Tour de France 2018 Pool

Tour de France

As ever, please check this link to see how poorly my Tour de France pool team ("Team Florky") is doing. Maybe one of these days I'll actually try to put a team together that performs well.

But probably not.

more ...

Tour Pool 2017

Tour de France

For the eleventh year, I am the scorekeeper for a Tour de France Pool. My team, "Team Florky," has already lost one of its better riders after the first stage. This year looks to be as poor a performance as usual, then, for my team.

See full results here.

more ...

The Wall is Done

Almost two years after the first digging started, and 10.5 months after serious and concerted work really began, our backyard wall is done!

Today I placed the last block of the wall. Hundreds and hundreds of blocks, tons and tons of rocks and dirt moved. All done!

Below a whole slew of photos covering beginning and end!

Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall Wall more ...

Zoo March 2017

We have a membership, so we go often, and we wanted to see the [newborn Giraffe](http://www.denverpost.com/2017/03/01/denver-zoo-baby-giraffe-dobby-born/). There is also a new Tiger exhibit, which is quite nice.

more ...

A Few Zoo Photos


Dog Park


From The Top Of Our Local Sledding Hill


My New Camera

I've been thinking about replacing my 11-year old Konica Minolta Digital SLR for a few months now. The old camera still works okay, but it has issues that started to bother me more and more. The battery door opens on its own, which is annoying. If it hasn't been used for a while (e.g. a few hours), the first photo taken doesn't work and the camera has to be power cycled. There are other signs of wear and tear that all add up to a degraded experience. Sure, it works, but not as well as it used to, and certainly not as well as more modern cameras.

D5500

Last week I finally pulled the trigger and purchased a Nikon D5500. An incomplete list of the things this camera does better than the old one:

  • The Konica Minolta has 6 megapixels, which is plenty for what I need. The Nikon, with 24 megapixels, probably has more than I need. However, digital sensors have come a long way in a decade. Despite the fact that the Nikon sensor pixels are smaller than the Konica Minolta's (both cameras have APS-C sensors), the Nikon sensor has much better low-light performance than the Konica Minolta.
  • The Konica Minolta doesn't have a movie mode, while the Nikon can do 1080P at 60 FPS. I don't often take movies, but it's nice to have that feature there if I want it.
  • The Nikon has much faster and better image processing. Of course, this is no Nikon D5 that costs $6,500, but it's plenty fast for my purposes.
  • The Nikon has a touch screen that has iPhone-like swipe/pinch gestures, and touch-to-focus. As hilarious as it is to see my daughter try to swipe on my old camera, I like the idea of making photography approachable for her.
  • The availability of lenses for Nikon cameras is probably unparalleled. This was a source of consternation for me – let me explain. I have a number of lenses for the Konica Minolta that aren't necessarily top quality, but they work fine. I have coverage from 18-500mm. In 2006 (shortly after I got my Konica Minolta, natch), Sony bought Konica Minolta's camera line, and continue to make cameras to this day based on that product line under their name. Sony still makes cameras that are compatible with Konica Minolta lenses (the A-mount system), but recently they have focused most of their innovation towards their E-mount system. I wasn't sure I wanted to stay with a system that (it looks like to me) Sony isn't focused on. Sony makes a line of very nice mirrorless cameras that only support the E-mount system. I thought long and hard about buying a Sony mirrorless camera (especially the α6500, $1400 for the body), but in the end I decided I couldn't justify spending that much money. With a Nikon, I can get a more reasonably priced body and gain access to a wealth of high-quality lenses.
  • The Nikon can be controlled (in a limited fashion) from a smartphone or tablet over Wifi, which seems pretty useful.

Clever readers might wonder why I got a D5500 when Nikon has already announced the follow-on D5600? Well, the D5600 adds very few features over the D5500 (basically only Bluetooth connectivity and slightly better battery life), and I got my D5500 as a fully warrantied refurb for a significant discount. Clever readers might also wonder why I didn't get something like a Sony α6000/α6300 for $400/$1000? Basically, I had read bad things about the Sony menu system, the α6000/α6300 don't have a touch screen, and E-mount lenses are rarer and comparatively more expensive than Nikon equivalents.

Finally, here's a photo using the new camera from this morning's dog walk. I centered it on the iconic NCAR Mesa Laboratory building. Click for the full 24 megapixel size!

My dog walks have better mountain views than your dog walks

more ...

The Photography of a Three Year Old

This is what happens when you give a camera to a three year old.

more ...

State Fair Trip Planning

Some time ago I saw this blog post where Randal S. Olson used a genetic algorithm to compute an optimized path to visit various landmarks across the United States. I have used genetic algorithms professionally for a few things, and I found this application very fun and clever. As part of the blog post, Mr. Olson linked to the Jupyter notebook he used to calculate the optimized road trip. I am a heavy user of Python and the Jupyter notebook, so this intrigued me.

I got the idea to try to apply this kind thinking to the challenge to visiting the various state fairs that typically happen in the mid- to late-summer across the US. In fact, I got the idea to do this before the summer started. Indeed, some of the fairs analyzed below have already ended. But I have a good excuse! My second child was born very recently which has decreased my free time and increased the rate of brain cell death due to lack of sleep. These methods can be applied to future years by simply modifying the start/end dates where all the fairs are listed (in the notebook). Below are the results of my investigations.

The code behind these results can be found here.

Rules

  • We only attend fairs in whole-day chunks. In reality, it's possible to arrive in town and attend the fair on the same day. But to keep this analysis simpler, we'll assume that travel days and fair attendance days are separate.
  • We drive 12 hours a day. This is obviously something that comes down to personal preference, but I feel that 12 hours is fairly doable if you have more than one driver. Besides, who wants to attend all these fairs by themselves? What this rule means is that if it takes 12 hours and one second to get from point A to point B, the algorithm will count it as a two-day drive. This is obviously not realistic, but it keeps things simple.

When Do Fairs Happen?

Below is a Gantt chart that shows when the various fairs happen. The state name is on the y-axis, and time is on the x-axis. Except for Florida and Nevada, all the fairs happen in a fairly congested time frame between July and November.

!

Quick note: As can be seen above, the Florida and Nevada state fairs take (took) place far earlier in the year than all the other fairs. Attending them doesn't conflict with any other fair, so I leave them out of my analyses until the end, or I just don't include them.

How to Spend the Most Days at a State Fair

I'm first going to answer question of how to spend the most days at a state fair in 2016. This is the way to eat the most fried things, ride the most rides, and see the most hog races in one summer. The winning strategy here is to get to a state fair and not leave it until you have to (e.g. it ends, or it's advantageous to leave for another fair), and also spend the least amount of time on the road between fairs.

For this analysis, we will not use a genetic algorithm, but rather a directional graph (digraph). This kind of graph is a network of nodes and edges, where the edges link nodes in an allowed direction of travel. In this case, the nodes will be fair attendance days, and the edges will be transitions. Some of the transitions will simply return to the same fair for consecutive attendance days, and other transitions will be travel to a new fair that cover one or more actual days.

After a bunch of math and stuff (see the notebook!) we end up with 128 days that we can attend a fair. The diagram below describes the strategy of how to do this. Here's how to follow the diagram:

  1. Because they are temporally isolated, Florida and Nevada are to be attended first. We attend each fair for their full duration.
  2. Next we go to California. We see that there is an edge that goes back to California, and one that goes to Ohio. What this means is that we should stay in California as long as we can or want to, but we should travel directly to Ohio in time for that fair to be open.
  3. Likewise for Ohio and Indiana, we should stay at those fairs as long as we can/want to, and then travel to the next fair while it is still running.
  4. For Kentucky, after we have spent enough days there, we have an option of going to Minnesota or Nebraska. Whichever way we go here determines what fairs we can attend later on. For example, if we go to Nebraska, we can't go to New Mexico.
  5. Follow the rest of the the tree until we end up in Louisiana.

Most Days on the Road

What if you really like driving, but only if you have a destination? Are you some kind of weirdo? Let's see how we can attend state fairs all summer, but spend most of our time driving.

Doing some analysis similar to above, we come up with a method that puts us at state fairs for only 43 days. Note that I'm not including Florida nor Nevada in this count. This method has added 69 extra days of driving!

The strategy diagram below shows how to maximize driving time. It is quite a bit more complicated than the one above. It shows (as might be expected) that the optimal strategy here is to travel between distant fairs as much as possible, even going back and forth between fairs that are open at the same time. If you can travel to another fair far away, do it! For example, near the top there are links between Delaware and North Dakota going both ways. This means that to maximize traveling time, we should go to the Delaware fair, then North Dakota, and then return to Delaware again. After that we may travel back to North Dakota (if it's still open), or head over to Montana or Maine. Inspecting the diagram we'll notice some fair pairs that are very distantly separated (OR<->AK, WA<->TN), which again, makes sense if we are trying to maximize driving time. Also notice that out of the many possible paths, the WY->RI->AK segment is always the best strategy, which is hardly surprising, considering how long of a trip just those two segments are.

Whether or not this kind of strategy is a good idea is a very good question. But here it is. I dare anyone to try it!

Most Unique Fairs in One Summer (with the Lowest Driving Time)

This is the question of how to attend the most number of unique fairs in a single summer. What if we want to sample the character of as many fairs as possible? Which state fair has the best fried food? How might we go about that?

The work by Mr. Olson that inspired me to play around with state fairs used a genetic algorithm to determine a fairly efficient way to visit landmarks across the US. After much thought, I decided that a genetic algorithm would not work (easily) for this question. The reason is that the algorithm does various mutations, substitutions, and combinations that would be difficult to implement when time-ordered events limit choices.

For example, let's say we have a short segment in our path:

CA->DE->OH

and the genetic algorithm randomly decides to modify the Delaware step to a new fair. It can't just pick any fair because the new fair has to be open around the time the California fair. The new fair also has to be located such that we can travel to Ohio afterwards. Chances are that most new fair modifications wouldn't work at all.

Maybe the algorithm could replace the Delaware fair with a fair that works for California, but not Ohio. Then randomly picks the next fair (or fairs) replacing Ohio (and ones after that), fixing the chain until there's no more conflict. To me, that is not much different from just brute-forcing the problem because this would effectively destroy any genomes in the individual, and it would likely reduce its fitness.

This problem is probably as hard as the Traveling Salesman Problem. There are some differences between our problem here and the TSP, but my gut tells me that the two problems are similarly difficult:

  • We do not need to visit all the possible states. For example, it's reasonable to expect that visiting Alaska will be very unlikely in any route that optimizes the number of unique fairs visited due to its prohibitive travel time.
  • It's okay to visit a state fair more than once, most likely on consecutive days, but there's no rule that prevents us from coming back later if there are no other fairs we haven't already visited. This is a good thing, it means more fried food!
  • Fairs are strictly ordered, which limits our available choices at any given time. It also requires us to visit a fair at a certain time which might limit some other options we might have pursued further down the line.

As daunting as this all sounds, a partially-random brute force method is easy to implement. Running it for five minutes gives us this recommended schedule below (in "State + Date" format) that results in visiting 38 state fairs (or 40 if we throw in Florida and Nevada). There's no guarantee that 40 states is the most that we can travel to in one calendar year, only a comprehensive search can prove that (which is a very, very expensive problem to solve). However, considering the size of our nation, and that there are two fairs that are impractical to attend (Alaska and Hawaii), and one that doesn't exist (Pennsylvania), 40/47 isn't bad at all.

'CA+2016-07-16',
 'DE+2016-07-21',
 'ND+2016-07-25',
 'OH+2016-07-28',
 'MT+2016-08-01',
 'WI+2016-08-04',
 'ME+2016-08-07',
 'NJ+2016-08-09',
 'MO+2016-08-12',
 'IL+2016-08-14',
 'WY+2016-08-17',
 'IA+2016-08-19',
 'IN+2016-08-21',
 'KY+2016-08-23',
 'NY+2016-08-25',
 'MN+2016-08-28',
 'NE+2016-08-30',
 'CO+2016-09-01',
 'OR+2016-09-04',
 'WA+2016-09-06',
 'ID+2016-09-08',
 'UT+2016-09-10',
 'NM+2016-09-12',
 'TN+2016-09-15',
 'KS+2016-09-17',
 'MA+2016-09-20',
 'CT+2016-09-22',
 'OK+2016-09-25',
 'VA+2016-09-28',
 'GA+2016-09-30',
 'TX+2016-10-02',
 'GA+2016-10-04',
 'MS+2016-10-06',
 'AZ+2016-10-09',
 'NC+2016-10-13',
 'SC+2016-10-15',
 'AR+2016-10-17',
 'AZ+2016-10-20',
 'AZ+2016-10-21',
 'AZ+2016-10-22',
 'AZ+2016-10-23',
 'AZ+2016-10-24',
 'LA+2016-10-27',
 'AL+2016-10-29 '

Anything Else?

Please leave a comment or send me a note (my email is easy to find) with any ideas.

more ...