The Skip List

May 18, 2015 Code No comments

The skip list is my favorite data type. This may be because of some exposure to AVL trees back during my college days. Self balancing trees are wonderful, but they can be difficult to reason about.  If someone was to ask me what goes on when a value is inserted or deleted from an AVL tree, my answer would probably be “magic occurs”, and frankly, its magic I don’t care to dabble in.

Skip lists, on the other hand, are built on nice, classic linked lists. Linked lists get a bad rap when compared to List structures backed by an array, but they have their advantages. When comparing them to trees, it is important to realize that the trees are linked lists themselves. (more…)

Buena Vista on Highway 53

September 14, 2014 Photography 1 comment , , , ,

While out and about today and still looking for the perfect prairie grass I took highway 53 back rather than 93 (I already knew what was on 93 from an earlier trip). While I didn’t find the ideal clump of prairie grass, I did find a nice turnout, with a good view, that was westward looking.

Pewit’s Nest

September 11, 2014 Fall Colors, Photography, Travel, Waterfalls No comments , , , , , ,

The fall color report on Travel Wisconsin has had a tantalizing photograph on its gallery from last year.  So, I decided to head down to figure out what some of the buttons on the new camera does and how to use them before I need to use them.  So, a trip to Pewit’s Nest was in order.


What goes on behind the scenes of += with String in Java

August 17, 2014 Code No comments ,

For some reason, the designers of Java decided to make + and += work with Strings. These are the only Objects in Java that have an overloaded operator that turns out to do some magic behind the scenes.

You see it all over the place:

But when is this acceptable when when is it problematic?

On photographing waterfalls

June 11, 2014 Photography, Waterfalls No comments

One may notice that my pictures of photographing waterfalls are often tight shots of part of the waterfall.  There are two components to this choice – practical and the aesthetic.


Baraga, Bond and Back

June 11, 2014 Baraga Summer '14, Photography, Waterfalls No comments , , ,

And up and leaving from Baraga.  There isn’t too much to say about this other than that I stopped by Bond Falls on the way back home.

I got into Bond Falls at about 10am.  Fortunately, the mosquitos weren’t out and ravenous as they were the previous afternoon.  However, the sun was shining on much of the falls creating some very large dynamic ranges on the scene making it very difficult to photograph… and so I continued home.  That’s about it.

Need to update my library and post some of the photographs from the trip.

Waterfalls of Baraga County

June 10, 2014 Baraga Summer '14, Photography, Waterfalls No comments , , ,

The day started out with a search for some insect repellant.  This has been a very buggy season – lots and lots of mosquitoes.  Started at the local mini-department store, but they were completely sold out.  After a bit of an excursion, found that there was only about a dozen cans of Deet based in the local gas station camping section and another dozen cans of permethrin at the local sporting goods – thats it in town and likely the county.


A trip to Baraga county

June 9, 2014 Baraga Summer '14 No comments , , ,

The weather is finally right for a trip up to the upper peninsula – enough foliage on the trees, not too late in the season for the falls to go a bit dry… its time for drive.


Fun with dc(1) – counting zeros in factorials

June 3, 2014 Code No comments ,

Recently I stumbled across a question of “write a program to calculate the number of trailing zeros in n!” For example, 5! = 1 * 2 * 3 * 4 * 5 = 120. Thus, the number to get out of the program is 1. 10! is 3628800, and should get the result of 2.

Lytro at Mitchell Park

May 3, 2014 Flowers, Photography No comments , , , ,

I have a few cameras.  One in particular I haven’t had a chance to play with… yet.  Its a Lytro camera that has the ability to capture some of the three dimensional information about the scene (rather than just the flat focus plane).