2011s

    At dinner and two 20ish developers at table next are praising the greatness of .Net and C#. Using word “enterprise” a lot. First time I’ve heard WCF referenced in about 5 years. #makeitstop

    WeSolver

    I’ve been having a lot of fun working with MediaWiki and particularly the Semantic MediaWiki extensions. A few months ago a friend from when I worked at Dow Jones, Armistral, asked me for some input on how he could build this website he was working on. He wanted to create a site where people could work together to solve problems. Thus WeSolver was born. I strongly recommended that he use MediaWiki and he ran with it. The site is now live and he’s done a nice job setting it all up. Check it out and if your so inspired see what you can do to help with a solution!

    Morgan Remodel Final Pictures

    For 18 weeks I wrote a weekly update on the progress of our remodel project. At the end the work was really small items, just working through a punch list and we were starting to live in the space. Now that everything is in place and we have been fully using the space for a few weeks I wanted to post a final photo walk through. The whole family is delighted with the addition and the new spaces have dramatically changed how we use our space. It’s been great.

    As a comparison before looking at all these pictures, you may want to look at the pictures from the start of the project first. Or visit week 4 when it all looked like a disaster zone.

    The back door of the house from the garage hasn’t changed much from the final photos at the end of the project. All the exterior work was done well before winter was (supposed to) arrive.

    The new location for the grills is great. Before they were under the windows in the left hand side of the photo and were a little in the way as you approached the house. Also, having the lights there helps when you do some evening grilling in the winter.

    Take note of the window on the left next to the smaller window. In the future that will likely get taken out and a door put in. The wood on top of the mudroom roof is cedar decking and it is ready for use as a walk-out deck. The railing is 36" and there is a set of outdoor speakers up there. I think a couple of chairs would work well out there and the access would be from the hallway upstairs so it could be used by the whole family.

    One of the nicest changes is the spacious built-in as you enter the mudroom.

    We have plenty of room for everyone’s coats, shoes and all the other items we want ready access to. I even have a compartment just for my camera so it can be safe but still easily accessed. At the end of the mudroom we put a desk and shelving and that is where I spent more focused computer time, and where I’m writing this blog post from.

    I wasn’t sure about this space at first, but I’ve grown to really like it. The floor is heated in the mudroom which is nice, and I love having all the windows on the right.

    The entry to the office is open, except for when Tyler closes the pocket doors.

    Tammy found a small couch that works perfect in this room and is also a fold-out bed for a visitor, in a pinch.

    We also have a very small corner desk in this room which is where Tammy tends to spend computer time, although she also uses the desk in the mudroom as well.

    The couch was the last item to arrive but it’s already proven to be a hit. Mazie likes to read books there and it’s got a nice feel to just relax in a spot that is away from the main traffic areas of the house. The view through the doorway out to the deck is really nice and insures we are “connected” to the outdoor spaces.

    In the summer I look forward to having all the windows open and being able to hear the kids as they run around and play as well as keeping a close eye on the Big Green Egg.

    The stairs down to the family room work out really well and even though it is a high traffic area we rarely get jammed up there.

    The cutouts into the kitchen really help it to feel bigger than it really is. It’s also nice that you can see from the kitchen all the way into the family room.

    The family room was the main focus of the basement work and we love how it came out. This is as you come down the stairs.

    The carpet is super soft and everything came together really nice. The couch is massive.

    We figure as the kids get older you could easily have a ton of kids hanging out watching a movie, having a sleep over. We went for maximal comfort and I can say with significant experience now that this is a great spot to watch a movie. The built-in for the TV came out great as well.

    The drawers on the bottom hold fun stuff for the kids and the cabinets on the left are plenty big for any gear. The three speakers above are very discrete, as are the rear channels on the window.

    See the subwoofer? There is actually a pretty awesome sub hidden in the wall underneath the window there. It fires directly into the couch which insures maximum impact for loud explosions. :-)

    This is where we spend most of our time in this room and we are very pleased with it all. The other side of the family room has a small table with chairs that works well for a laptop or a relatively small project.

    Hidden behind that door is the electric room which houses the digital nerves for the house. One of the project objectives I wanted to achieve was to have an older house but have modern infrastructure. I now have wiring infrastructure that will serve the entire house for the foreseeable future.

    That entire cabinet swings out for easy maintenance. Check out the detail on the wiring.

    All coaxial and network jacks home run into that one panel. It is a delight to maintain.

    Here is the view going back toward the stairs. You can see here the distinct level of the new basement floor. This side was lowered 7" in the remodel and we are really happy that we did it. Half of the family room has a lower ceiling to accommodate ventilation and lowering the floor made a huge difference. The landing to the utility and fitness rooms is the shortest height in the room at about 6’ 3".

    Turning left on the landing you head into the fitness room.

    On this side we left the basement windows as they were with the glass block and the floor was not lowered. The exercise room ceiling was on the side of the basement that had no ventilation ducts so the room is still plenty tall, just short of 7’. We put a little extra lighting in this room because I like it to be bright when working out. The floor is cork and looks really nice.

    Tammy did a great job (as always) getting the art right. We had a minor snafu with paint and ended up reverting back to a very neutral look which was my preference.

    The view from the treadmill. The TV is mounted on the wall and there are in-wall speakers in here as well. An AppleTV provides the content and the amplifier is in the cabinet for the family room on the other side of the wall. It is all automatic, so you just turn on the TV and start playing something. That is important at 6:00 am when you are very much wishing you were in bed.

    Our new fitness room has actually inspired me to get back on this spin bike and sweat a bit. It’s been really fun and there is a good vibe to the whole layout.

    The basement extended out over our entryway upstairs so that little alcove was turned into very useful storage space.

    It even has a fancy switch to turn the light on and off when you open the door.

    I didn’t take any photos of the utility room because, well, it’s a utility room. Imagine a cramped room with a furnace, water heater, freezer, utility sink and more stuff than it should have in it. You get the idea.

    Some things I didn’t cover above:

    1. Since we were sealing off the basement we took the opportunity to put a doorbell in. The original, wired, doorbell had been removed some years ago and I really dislike the wireless ones. We now have a proper chime and lit doorbell buttons on the front and back doors.

    2. We replaced the railings and surround on our front door and it looks really great. The old surround was rotting out, it was a bad choice of wood. It now matches the railing in the back.

    We all really love the new space. I’m a little surprised how much the kids love going down there and tumbling around on the carpet. Since the rest of the house is hardwood it’s a nice option for them to goof around and tumble.

    We also have nothing but good things to say about Quartersawn, the contractor we used. Jeff put together a great plan and design, exploring a lot of options with us. He worked with Tammy directly on the cabinetry and came up with things that we all loved. Mike was on the job nearly every day and stayed on top of everything with amazing detail. Weekly meetings kept things running smoothly and any changes in plans we knew about right away. I’ve heard horror stories of remodels but have none to share myself.

    Looking back on the project we’ve wondered what we would change, if anything. There are a couple of things.

    1. This would have been a great time for me to do some better lighting above my espresso area in the kitchen. The electrician could have easily put another can in and it would have been really helpful. Once I realized I wanted it, it was way too late.

    2. Also in lighting, we don’t think we did enough lighting in the stairwell to the family room. We have really nice stair lighting that is discreet and looks very classy. But some nice lighting in the ceiling above would have made that space more interesting.

    This got pretty long but I thought it would be fun to give a virtual tour of our new space. Tammy also wrote about the new space on Smaller Than a Redwood with her take on the new space.

    All these photos were taken with my Canon EF 16-35mm f/2.8 L ultra wide so there is a little skewing in the corners, even after Lightroom applying lens corrections. I wanted to capture as much of the space as I could.

    Preener's Eve 2011 with The New Standards

    Many friends at The New Standards “Preeners” show at Dakota Jazz Club & Restaurant.

    Let it snow! Let it snow! Let it snow!

    CaringBridge Illuminate

    I have been fortunate enough to have the privilege of serving on the board of CaringBridge for the last three years. I support CaringBridge both with my time as well as my checkbook. Join me in supporting this great service this holiday season through their Illuminate campaign.

    Love seeing Ward Cunningham, creator of the wiki, on the fundraiser campaign for Wikipedia. (I’ve been a contributor for 4 years now).

    Tyler's First Stitches

    Tyler had his first visit to urgent care tonight. He was running around the house like he normally does and he fell into the kitchen door frame. He got a pretty bad laceration on his forehead. It was about an inch long. It bled a lot for about a minute and then slowed down but kept bleeding. I immediately sent some photos to my good friend and ER doc Mike (thank you Mike!) and decided to head into the urgent care at Fairview Southdale. When the blood slowed down I could see that the skin was completely open.

    We got into the urgent care and the Dr. confirmed stitches were needed. Putting stitches in a very active 22 month old is a bit of an adventure. I held him down while he was wrapped up and the nurse held his head. The lidocaine shot surprised him and that started the crying. The Dr. put in two stitches and I was surprised by the amount of blood from the stitches. Tyler let us all know what he thought of it with plenty of screaming. After he got cleaned up he settled down.

    We go back in 5-7 days to get the stitches out. I’m hoping Tyler leaves the bandage alone and gets a good nights sleep. The Dr. didn’t think there would be any scaring.

    Couple of cute Instagram photos of Mazie and Tyler from tonight.

    At Northern Brewing for Minneapolis Homebrew Day announcement.

    Our Family - November 2011

    Thanks to Angie for taking the photo!

    Updating my offline backup disks. 4TB of data.

    Forget WordPress caching plugins if using nginx, just use fastcgi_cache_path. Same for MediaWiki.

    Solid Browsermob load test on my new Linode VPS with nginx.

    Count 404's in group of access logs

    I found myself needing to see all of the 404 errors in the access logs for all virtual hosts on my web server. I put all of my logs for a given application (in this case WordPress) in one place (/srv/www/wordpress/logs/$host-access.log). Logrotate kicks in to keep them segmented and compress them by day.

    A bunch of Unix magic later…

    zgrep " 404 " *-access.log* | \
    cut -d " " -f 1,7 | \
    sed s/\:.*\ /\ / | \
    sed s/\-access.*\ /\ / | \
    sort | \
    uniq -c | \
    sort -n -r | \
    head -20
    

    zgrep is just grep that handles both normal and gzipped files. Pipe that into cut to pull out just the data we want. The two sed commands pull out data that would mess up the aggregation (the IP address of the requester and part of the filename). Sort puts prepares the stream for uniq to do the counting. Then do a numeric sort in reverse and show the top 20 404’s in all log files.

    Output looks like

        380 thingelstad.com /wp-content/uploads/2011/09/cropped-20090816-101826-0200.jpg
        301 thingelstad.com /wp-content/uploads/2009/06/Peppa-Pig-Cold-Winter-Day-DVD-Cover.jpg
        300 thingelstad.com /wp-content/thingelstad/uploads/2011/10/Halloween-2011-1000x750.jpg
        264 thingelstad.com /wp-content/uploads/2007/12/guitar-hero-iii-cover-image.jpg
        130 thingelstad.com /apple-touch-icon.png
        129 thingelstad.com /apple-touch-icon-precomposed.png
        121 thingelstad.com /wp-content/uploads/import/o_nintendo-ds-lite.jpg
        114 thingelstad.com /wp-content/thingelstad/uploads/2011/10/Crusty-Tofu-1000x750.jpg
    

    Of course the next step would be to further the pipe into a curl --head command to see which 404’s are still problematic. That just makes me smile. 🙂

    As an aside, sort combined with uniq -c has to be one of the most deceptively powerful yet simple set of commands out there. I’m amazed at how often they give me exactly what I’m looking for.

    Tammy's Favorite Picture of Me

    Tammy went digging deep into our Lightroom library looking for photos for our new exercise room. She told me she had found her “favorite picture” of me. I was very curious what picture it was. I like it. This is from the finish of the 2004 Chequamegon Fat 40. The kid in the background is out of place though, a little Photoshop could deal with that.

    Move to Linode

    This website (and all the other websites I run) should all be running much faster now. This weekend I flipped everything from my previous VPS at Slicehost to a new instance at Linode.

    There is a ridiculous amount I could write about the move, and I’ll try to share what I think is most helpful to others. In general I can say that the Linode hosts are a lot faster than the Slicehost instance I had. Doing basic Linux stuff was 2-3 times faster on Linode than on Slicehost.

    My new setup is also a lot faster due to how I deployed WordPress and MediaWiki. I’m now running everything on nginx instead of Apache. I’m also serving all my PHP out of php5-cgi instead of mod_php. Perhaps even more importantly I got all of my wiki and blog instances running under one PHP install for MediaWiki and WordPress. As a result, the APC module for PHP can do its job right. I’m now getting 99.9% PHP cache hits.

    With all that said I fully expect I may have a thing or two not working right now. If you see anything broken a comment or email would be great.

    Bring on the Snow.

    Great Minnestar board meeting this morning with strong plans for Minnebar and Minnedemo in 2012!

    iTunes Match Updates Ratings and Play Counts

    Apple launched iTunes Match today and having all my music in iTunes, with three different computers, an iPhone 4S, iPad 2 and three Apple TVs I figured I could benefit from using iTunes Match for my music. I enabled it and it is still in the process of doing its first update. I was very curious about how iTunes Match dealt with certain metadata.

    I’m a big user of Smart Playlists and many of them rely on song ratings, play counts and last played dates. I also often have Smart Playlists that reference other Smart Playlists. Some quick learnings from an hour of playing around.

    1. iTunes Match synchronizes ratings within 10-20 seconds between devices. I was playing a matched track on my iPad 2 and adjusted the rating. Within 20 seconds iTunes on my MacBook Pro reflected the new rating. I changed the rating in iTunes and within another 20 seconds it was updated on the iPad 2 without any action being taken.

    2. The play count for a track is updated promptly after the track is played.

    3. Unfortunately the last played date is not updated. This is annoying for me since I routinely use last play date to manage Smart Playlists.

    4. Smart Playlists that use other Smart Playlists as part of their criteria are not available in iTunes match. Simpler Smart Playlists are fine in iTunes Match.

Older Posts →