Showing posts with label Buddy. Show all posts
Showing posts with label Buddy. Show all posts

Monday, January 20, 2014

For Our Dogster Friends

Update February 11th: Monster Speedup and Experimental Photobucket Rules

One thing that has become quickly apparent is that HTTrack can be ridiculously slow especially on bigger pages.   I have found a way to speed it up.  Way up. It appears that it throttles the download speed without telling you. There is a spot in the user interface that lets you set the maximum speed, but that does nothing unless you know a trick

Here is a shortcut to getting the speedup. Try putting the following in your Scan Rules
--disable-security-limits
--max-rate 1500000
--assume php=text/html
The first one is the secret to taking the brakes off. The second one is the maximum rate in bits per second. We have a two megabit download rate at our house, so I've set the maximum to three quarters of that, or 1.5 megabits per second. If you set this number too big, it just means it will hog your entire network connection. A rough rule of thumb might be that if you are getting internet through your phone company, try 1500000 as we have. If to the cable company, they are usually faster so try 5000000 (five million).

The "assume" bit is recommended in the HTTrack manual to speed up how it parses the files if you can make certain assumptions, and this assumption seems to work great.  Now it is only taking minutes to download smaller pages. The difference is night and day.  These scan rules are now in the main body of the blog post.

Not in the main body of the blog post is some new filters I have been using that seems to work well for downloading from Photobucket.
+*.photobucket.com/*.jpg
+*.photobucket.com/*.gif
+*.photobucket.com/*.png
-blog.photobucket.com/*
-secure.photobucket.com/*
-support.photobucket.com/*
-tutorials.photobucket.com/*
The lower in the list, the higher the priority, so the order above of these filters is important. The rules start by saying you can only load .jpg, .gif, and .png files from Photobucket. That stops it from downloading all the html pages that then takes you down the rabbit hole and downloading the entire site. After that, it specifically blacklists (with the minus signs in front) the blog, secure, support, and tutorial sections of the site. This is just to be on the safe side.  This has worked well for all the sites we have tried, but keep an eye on it if you decide to try it.  I have not put this in the main body of the blog post but give it a shot.

Finally, another problem we've been having is that some pictures weren't showing up after a successful download. I suspect this is because of occasional heavy traffic clobbering the site. Try the following if you are having trouble:
  • From the same window the Scan Rules are entered in, select the "Flow Control" tab
  • In that tab, enter 5 into the Retries field. 
  • Everything else is as per usual. 
Good luck!

Update February 9th: Disable Photobucket Scan Rules

It sounds like some people are running issues where HTTrack wants to download half of Photobucket.  It looks like you will need to figure out more specific scan rules than the ones I have in there now.  I have removed references to Photobucket from the post.

Update February 8th: Fixes and the Addition of Catster!

I have updated the scan rules to fix a few things and have created a set of scan rules for Catster as well.  The new rules are in the main body of the post.  A shout-out to the Dogster (and Catster!) folks that have helped out so much.
  • The gift archive now works.  A new scan filter "+www.dogster.com/subscr/gift_archive.php?pet_id=590841" (or whatever your pet's number is) does the trick.
  • Thumbnails in photo comments now work.  Dogster, for some bizarre reason, has those thumbnails in a URL that looks like "+files.dogster.com./blahblahblah".  Did you catch the weird period between "com" and "/" in that last sentence?  Neither did I at first.  Tweaking the Scan Rule from "+files.dogster.com/*" to "+files.dogster.com*" did the trick.
  • Added a scan rule"+badge.dogster.com/*" to fix missing badges.
  • Added a few new scan rules that should help images from flickr, photobucket, and one other site I'd never heard of come through: "+*mytextgraphics.com" "+*.photobucket.com/*",  "+farm*.staticflickr.com/*", and "+farm*.static.flickr.com/*".  You can skip these if you don't have images off the main site, but leaving them in doesn't hurt anything.
  • Added a set of scan rules for Catster.  Did you know that the images on Catster are stored on servers named Dogster?  Neither did I at first.  For this reason, the Catster list will have a "+files.dogster.com*" entry in it on purpose.  It will also have a "+files.catster.com*" on it that I doubt is needed, but better safe than sorry.
  • Added a scan rule that pulls in a specific file used to format the display of the photo pages "+www.dogster.com/photos/photo.css", though I didn't really see a difference when it was added.
  • Reordered the list of scan rules to be a little more sane
Attempts by the Dogster folks and myself to display images in the Pup Pals pages have failed miserably.  I suspect that it has something to do with that being a page generated on the fly with PHP and this is a known issue with HTTrack, but the gift history is also PHP and it works.  Weird.

It doesn't hurt to test the archive out by disconnecting your Internet connection, clearing your browsers cache (Google is your friend here), and then bringing up the web page created by HTTrack for your pet to see if anything is unexpectedly missing.  Note that the page might be slow to load this way because it is trying to reach out to some sites like Facebook, Google, and Twitter that I have intentionally not mirrored.  Your browser will wait for a bit, give up, and then load the archive anyway.  These links don't affect the display of your stuff and they'll be there long after Dogster Doomsday.  Once you connect the Internet back up, it will reach these sites normally anyway

If you are an old hand at this archive process, the only substantial changes to this post are in the "Specify The Options" part.  The rest is the same, so you can save yourself some reading.
Finally, some of you might be wondering why this archive takes so damn long sometimes.  I was mystified by this for a while too until I ran a test on a cat that had 36 pages (!) of diary entries.  I checked out the folder where the diaries are stored and there were a ton more entries than that.

WHY?

Well, there might be 36 pages of diary entries, but there are also five or six diary entries per page.  If you click on a "Comments" link, a whole new page opens up for just that diary entry.  Same thing for photos.  So if you have ten pages of diary entries and ten pages of photos, you don't end up downloading twenty pages.  You download twenty pages where entries are grouped together PLUS over a hundred pages dedicated to each individual diary entry and photo.  Yeah, that is a lot, but that is the only way to see the comments.  It also doesn't help that the download speeds from Dogster and Catster seems to be less than speedy in the first place.

"Beepers" on the Dogster forum posted a suggestion on how to speed up an update if you already have an existing download.
  • On the first option page, you can choose "Existing project name".  Click the arrow to choose the one you want to update.
  • On the next page/screen, in the "Action" block, click the arrow again and choose *Update existing download.
  • Then click on "Set options" and the "Scan Rules" tab as usual.  All your rules for the previous save will be there.  Just add the new rules at the bottom and proceed as usual.
Give it a shot!
          

Update February 5th:

The Bad News

Folks on the Dogster forums groups discovered that the archives would not work when they had no Internet connection.  That implied that the download would stop working once Dogster shut down.  I verified that this is a problem and am very sorry to say that all the downloads that everyone has done to this point will be useless once Dogster shuts down. The web browser was doing some stuff behind the scenes that I wasn't aware of.

The Good News

I have a fix that I would like people to try. I have tested this on a couple of pages now with my browser cache cleared and our internet disconnected and it seems to work perfectly. It still has the same limitations as before (can't click on gifts to get details, etc) but all the important stuff will be there. You will still be able to navigate around the page just like you did before.

The Fix

A new set of Scan Rules is now in the main body of the post.  The rest of the steps should be the same.  Try these new scan rules out and post feedback in the comments.  If you are computer savvy, you can double check by clearing your browser cache, disconnecting your Internet connection, and loading the archived page.  If everything looks good, you are ready for Doomsday when Dogster shuts down.

Please test this out and give feedback in the comments.  Once again, I'm sorry for my error. If I knew what I was doing here, it would help!

P.S.

Some people have been worried about seeing stuff like this in their browser address bar.

file:///C:/My%20Web%20Sites/cocopuffondogster/www.dogster.com/dogs/500107.html

The worry is that www.dogster.com is showing up there still.  That isn't actually a problem as long as the start of the address starts with "file:///C:/blahblahblah".  In this case the "www.dogster.com" part in the middle is actually now a directory on your hard drive.  You can use Windows Explorer or whatever to actually navigate to that directory and below.  There is all kinds of neat stuff tucked away in there!

          

Update Jan 25th:

See near the bottom of the page for instructions on how to save your videos!  A couple limitations of this technique are also discussed.  And after all of this, look who was made Dog of The Day for January 25th, 2014!!!


          

One of the saddest times of my life was when our dear dog Abby passed. She was my best friend and a big part of our lives. That was about a year and a half ago now and it still brings a lump to my throat just thinking about that awful time.

In the days that followed, I was struck by the sympathy and compassion expressed by My Lovely Wife’s friends in the Dogster community. Dogster is a website that dog lovers from all over the world congregate to share photos, stories, and advice on their best friends. While I don't doubt that some of these folks might be a few Milk Bones short of a full bag, My Lovely Wife has developed a true friendship with many people on that site, none of whom she has ever met in person. Our dog now gets more Christmas cards than we do.

Unfortunately, word went out a short time ago that Dogster will be closing down. All of the pet pages with the photos, diaries, and associated comments will disappear. People are understandably upset because they don't know how to save all of those memories. Some are printing the pages off, some are resorting to screenshots.  And some are just at a loss.

But I think I know a better way. And I'll show you how to do it yourself. Step by step.  When you are done, you'll have all of your stuff for your dog.  It won't copy forum discussions and stuff like that.  But it will copy all of your diary entries, all of your photos, and all of the comments on that stuff.  And it will store all that away on your local hard drive.

Ready to go?  Good.  Start with...

Read This Whole Thing Through

Like a recipe, I highly recommend reading this through once or twice to get some idea of what you'll be doing.  It does assume you know your way around your computer a little bit, but you don't need to be a guru or anything like that.  If you are comfortable installing a program on your computer and navigating around the various files on your PC, you should be just fine.

Download HTTRack

HTTrack bills itself as a website copier.  Click on this link, download the appropriate file for your PC, and install it on your computer.  There are a bunch of different versions for the various flavors Windows and whether you are running the 32-bit or 64-bit version, so choose wisely.  You'll be out of luck if you are on a Mac (sorry) unless you know how to compile your own programs.  There looks to be versions for various Linux distributions though for the 0.001% of Dogster users on that operating system.

During the installation process, the program will ask you if you want to put an icon on the Desktop and in the Start Menu.  Let it do so.

Start WinHTTrack

Click the icon the installer put on your Desktop.  The program should start up, displaying one of the ugliest user interfaces in existence.  That's OK.  We aren't using it for its looks.  When you get the screen below, hit the "Next >" button to continue.


Start a New Project

We start out by defining a new project as follows:
  • New project name: This is what the program will name the directory where it stores the files you will download.  I'll be using Abby's Dogster page as an example, so I called my project "AbbyOnDogster".  Use whatever name you like here.
  • Project category: Just leave this blank
  • Base path: If you were going to download multiple Dogster pages, then all of them would go into this directory.  You can use the default "C:\My Web Sites" (it works fine) or specify any other folder you like.

Once you're entered that information, hit the "Next >" button to continue.

Specify the Site To Mirror

So far so good, but now it starts getting a little trickier.  Fill out the next window as follows.
  • Action: Stick with the default of "Download web site(s)"
  • Web Addresses: (URL): The best way to fill this in is to navigate to the Dogster page you want to clone, select the address area, copy it (Control-C), and paste it (Control-V).  Or just type it in from scratch.  The window below shows the address for Abby's page.  It will look something like http://www.dogster.com/dogs/590841.  Click that link to see what I mean.
  • The tricky part is coming up.  Do not hit the "Next >" button yet.  Instead, select the "Set options..." button above it.

Specify the Options

(This Section updated February 5th and then on February 8th to fix the Scan Rules as mentioned at the top of this post).

When you hit the "Set options...." button, there will be a bunch of tabs on top.  Click on the tab that says "Scan Rules".  Don't worry about any of the other tabs.  See the area I have circled in blue?  Click your mouse in that area and delete every single character in there.  You want it to be perfectly empty.  Do not hit the "Exclude link(s)..." button.  Do not hit the "Include link(s)..." button.


Now, copy the four thirteen all of the lines of text below and paste it into the now empty area that has the blue circle above.  Cut and paste is your friend here.
-*
+www.dogster.com/dogs/590841
+www.dogster.com/dogs/590841/*
+www.dogster.com/subscr/gift_archive.php?pet_id=590841
+www.dogster.com/static/*
+www.dogster.com/files*
+www.dogster.com/images/*
+badge.dogster.com/*
+files.dogster.com*
+www.dogster.com/photos/photo.css
+*.cdnsters.com/*
+tetra.saymedia.com/*
+*amazonaws.com/*
+use.typekit.com/*
+*mytextgraphics.com*
+farm*.staticflickr.com/*
+farm*.static.flickr.com/*
--disable-security-limits
--max-rate 1500000
--assume php=text/html
Note that there is now a * after "+files.dogster.com".  This is a change from my first and second cracks at this.  Don't miss that one.

What if you have a cat?  Other than having to vacuum hairballs off the carpet on a regular basis, you want to use this set of scan rules instead.  Abby was not a cat, but work with me here.  Again, cut and paste is your friend.
-*
+www.catster.com/cats/590841
+www.catster.com/cats/590841/*
+www.catster.com/subscr/gift_archive.php?pet_id=590841
+www.catster.com/static/*
+www.catster.com/files*
+www.dogster.com/files*
+www.catster.com/images/*
+badge.catster.com/*
+files.catster.com*
+files.dogster.com*
+www.catster.com/photos/photo.css
+*.cdnsters.com/*
+tetra.saymedia.com/*
+*amazonaws.com/*
+use.typekit.com/*
+*mytextgraphics.com*
+farm*.staticflickr.com/*
+farm*.static.flickr.com/*
--disable-security-limits
--max-rate 1500000
--assume php=text/html
As explained up top, there are lines for both "+files.catster.com*" and "+files.dogster.com*" because Catster's images are actually stored on Dogster's servers.

This might look like Greek to you, but every single character here is important.  Make sure that these four thirteen lines get copied EXACTLY into the area circled in blue above.  That first line is indeed a minus sign followed by an asterisk.  All the other lines start with a plus.  All of this is important.

Or almost all of it.  The "+*mytextgraphics.com/*" won't be necessary for most people and could be safely left out.  One of our friends had a link to this website for an animated image of her pets name so this had to be included to get that to show up.  Others had images from Flickr (+farm*.staticflickr.com/*) and Photobucket (+*.photobucket.com/*).  Again, you can leave these out if your page doesn't link to these sites, but leaving them in there doesn't hurt anything either.  You would have to do something similar for any other off-Dogster sites that you link to for special images like that.  Just be sure to start the name with a plus and follow the format I've used.

You should end up with something that looks exactly like this when you are done.  Unfortunately the Scan Rules list is kind of long now so stuff is getting cut off on the bottom of the list.  But you get my drift.

Now if we were to proceed on from this point, it would copy Abby's page on Dogster because her Dogster ID number is 590841.  What you need to do now is replace the number 590841 with your own dog's ID number in all three places: the second, third, and fourth lines of the list.  Your dog's ID number is the one that shows up in the address bar of your web browser whenever you go to your dog's pet page.  It is usually six or seven digits long.  Do not add or subtract asterisks, slashes, or plus signs, or anything else unless you really know what you are doing.  Just change the number.  Get this wrong and you could end up downloading half of YouTube.  Ask me how I know...

Once you have changed 590841 to your own dog's ID number, hit the "OK" button at the bottom of the window and pat yourself on the back.  The hard part is done.

After hitting the OK button in the window above, you'll be back to the window that offered you the "Set Options" button in the first place.  You've already done that, so you can hit the "Next" button to Continue.


Breeze Past Connection Parameters

The next screen you'll see is shown below.  This is just getting fancy now.  You shouldn't have to worry about anything on this window, so hit the "Finish" button at the bottom.  And cross your fingers, because once you hit "Finish" the download will begin.


Watch the Download

Here is where it gets exciting.  The program is now going to go out and fetch your Dogster page, with all the associated diary entries, photos, and comments.  It is going to store them on your hard drive and change all the links around so that everything works on your local computer.  What it won't do is  create a copy of all the forum discussions or download all of your friends pages.  It gets your stuff for your dog.  And that is the most important thing.


How long this part takes depends on how much stuff you put on Dogster in the first place and the speed of your Internet connection.  Our connection isn't that great but there is a fair bit of stuff on Abby's page, and it still took around five fifteen minutes (the bigger set of Scan Rules from my first crack at this causes a fair bit more stuff to be downloaded).  As it runs, you'll hopefully see some familiar text going by.  The window above has some text that says "...bys_adventures", short for "Abby's Adventures".  This kind of thing told me I was on the right track.

Success!

When your pet's page has been copied, you should see a screen like this. Click "Browse Mirrored Website" and hopefully what you'll be looking at is a copy of your pet's Dogster page.

 

The actual page will be found where you specified it in that very first screen.  In this example, it would be in a place called "C:\My Web Sites\AbbyOnDogster".  That file will have a directory in it called "index.html".  Just click on that anytime you like and you should see a replica of your dog's pet page.  For our example, the address bar should look something like this.


See how it says "file:///C:/My Web Sites...".  That means that this file is on my local hard drive.  Contrast this with what it says when I access it over the web:

If everything went well, you'll have a copy of your dog's pet page tucked away nice and safe on your hard drive.  Back it up to a USB stick, move the directory around, or do whatever you like.  Have more than one dog on Dogster?  Just repeat the process again as many times as you like.  The ID number is the key.  To be on the safe side,it might be best to use a different project name each time.

Please note that I've put together this method and this writeup in a hurry.  There might be some cases where the process doesn't work.  If you run into trouble, leave me a message in the comments section and I'll try to help you out.  I'll also try to update this page based on people's feedback to clarify any spots where I haven't been clear.

Now I know that not everybody is going to be computer-savvy enough to do this.  But some will be.  All I ask is that those who can figure it out pay it forward and help out those who can't.  Back up their page, zip up the file, and email it to them.  They'll be incredibly grateful, and you'll feel good for helping them out.

Update - January 25th, 2014

First of all, I've been made aware of a couple limitations of this technique:
  • the link to the "Rosette, Star, and Special Gift History" doesn't work
  • clicking on those items from the main page doesn't give the pop-up message from the sender
  • the link to "See all my pup pals" doesn't work
  • the link to the video page doesn't work and the videos aren't downloaded
Now, I am no web guru but it looks like all these things have something in common: the links are not "static" but are dynamically generated when the link is clicked.  That is something that the web mirroring software used in this technique can't handle.  Other web mirroring software is similarly handicapped.

I was asked in one of the comments about videos and, while I can't get that to work as part of this process, I have found a workaround that will let you save each of your videos to your computer as separate files in case you no longer have the original version.

Basically, we are going to set up a "flash downloader".  This is generally an add-on to your web browser that lets you save the videos that you normally don't have an option to save.  The videos on Dogster are in something called "flash video" format, so you'll need a "player" for that too once the file has been downloaded.  I get into that as well.

Other methods besides the one I have tested below are bound to work and you are free to give this a shot with a different browser or technique, but I probably won't be able to help you much if you veer off this beaten path.  And this method should work for everybody on any operating system.

Want to get your videos back?  Here is how.

Step 1: Download Firefox If You Don't Already Have It

Why Firefox?  Because that is what I use, it worked for me, it is awesome, and it is free.  If you already have Firefox, you are awesome and can skip this step.  If you don't, download it from this link and become awesome.  Go ahead.  I'll wait.

Step 2: Open This Post in Firefox

If you are already using Firefox, skip this step as well.  If not, copy the address link for this post from your current browser to Firefox

Step 3: Get the Download Flash and Video Add-On

Like other browsers, Firefox's functionality can be extended with things called Add-Ons.
Install the Download Flash and Video Add-On from this link and clicking the "Add to Firefox" button that shows up in big letters on something like the snapshot below.

Firefox might give you a big scary warning like the one below.  No worries here.  There will be a number that counts down on the greyed out "Install" button on a window...

After a few seconds, the button will change to say "Install now" and it will no longer be greyed out.  Click on "Install Now".  The add-on will install and Firefox will tell you that it will be enabled when you restart Firefox.  Select "Restart Now".  Firefox should restart and bring you back to this page.

Step 4: Show Add-On Bar

Firefox Add-Ons are shown by default on an Add-On bar that is at the bottom of your browser window.  If you don't see a little box with a down arrow in the bottom right hand corner of your browser, hit the "Control" and "/" keys at the same time to make it appear, like so (I've enlarged it to make it easier to see).

Step 5: Get Your Video

So far, so good.  Next thing you want to do is open up your Dogster page and click on the link to open the page showing all of your videos using the "See my Video Book" link on the left side of your pet page.  What you are going to do is...
  • Start the video
  • Pause the video once it starts playing  (it seems to be important that you do this).
When you do this, you'll see the little icon in the bottom right change color.  Click on the icon and you should see something like the window below.  Ignore the "Flash Files to Download" on top.  Click on the video title under "Videos to Download" and the file should download to your computer!

I expect that the name of the downloaded file will look like some random collection of letters and numbers.  You'll certainly want to rename it to something that is understandable.

Step 6: Play the Video

I won't go into too much detail here.  Some computers might already have the software installed to play these videos.  Try opening / double clicking the file to see if it plays for you.  If it does, you are all set and can proceed with downloading all of your other videos.  If not, you'll want to install a piece of software to do so.  I recommend VideoLAN, as it is free, fantastic, and can play just about any kind of video file you throw at it.  It also runs on just about any computer out there.  Get it from this link.

          

Good luck retrieving the memories of your dog and those of your friends.  Mine are incredibly important to me.

Saturday, September 14, 2013

Dog Days of Summer No More

Back when my Lovely Wife and I first married, we bought ourselves a nice starter home in the city.  It was great, with friendly neighbors, a good sized yard, and lots of trees.  I love a nice tree.

The weeping birch tree in the front yard was one of the most spectacular in town.  The almost as tall tamarack tree in the front yard was very cool, as it is one of the very few pines that turns orange and loses all of its needles in the fall.  Sadly, both trees succumbed not long after we moved out: the weeping birch from bugs and the tamarack from lightning (!).
My Weeping Birch in Fall with Tamarack at Left
The backyard was nicely treed as well: several big spruce, a small oak, a nice birch, an apple tree, and a lovely Shubert chokecherry.  The latter had been pruned to grow as a tree with several main trunks that arched over your head as you walked under it.  Lovely.

There was also something about the neighborhood that I hadn't counted on: competition.  Many of the houses there had been built thirty years ago, and many of the original owners still lived there.  That meant a lot of these folks were coming up on or already retired and had a lot of time to put into their yards.  The neighbors on our one side were semi-retired and their yard was beautiful.  The neighbors on the other side were even worse: they were both young school teachers and had all summer off to work in their yards, and that they did.  The pressure to have a nice yard in the neighborhood was constant and intense.  I had to kick things up a notch if I were to hold my head up.

So I did.  I bought a really nice cedar gazebo kit and put it up underneath the chokecherry.  It was gorgeous, with its delicate railings and cedar shake roof.  It fit the setting perfectly, and the chokecherry looked like it had grown up around the gazebo.  It was beautiful and it bought me some good cred in the neighborhood but it wasn't enough.
Beautiful, But Not Enough
So I built an enormous pond at the edge of one of the gazebo's edges, and made it as deep as city bylaws would allow.  I stocked it with goldfish and koi, and even built my own floating lights that were powered by the rest of the low voltage lights in the surrounding flower beds.  The fish were really cool, and would swim up to us looking for food whenever we walked by.
Olympic Size
The pond became a veritable black hole of my time and energy.  Things would spin rapidly out of control.  I built a ridiculously long stream from the back edge of the yard that ended with a small waterfall at the pond.  This ridiculously long stream was made even more ridiculous long by meandering it along the way.  A 1200 gallon per hour pump provided water circulation.  The sound of babbling water that crept into our open bedroom window as we went to sleep every night was hypnotically comforting.
This is Only About Half of It
The stream cut the yard in half so that drove me to build a Pete's Pond Page bridge across it.  Its minimalist design was a perfect complement to the rest of the yard.
Heavy Rocks are Heavy
And then at the head end of the stream, I built something made to look a bit like a monstrous beaver dam / waterfall.  This was really big, but it was big for a reason: it hid my single stage Pete's Pond Page biofilter built from a 100 gallon stock watering tank.  Cotton batting served as a filter media and a small bag of barley straw in there prevented algae growth as if by magic.
That Was Easy!
We enjoyed this beautiful yard for several years before moving to another city in search of bigger and better things.  We sold the house to a nurse, and we were hopeful that she would keep the yard up.  What we would learn later was that she actually bought the place for her out-of-control son.  Her son and his friends then turned the basement into a crystal meth lab.  After several years of turning the neighborhood upside down, the bank foreclosed on them.  The chemicals from the drug making process seeped into the walls, and the entire lower half of the house had to be stripped down to the 2x4's and rebuilt before the house could be put back on the market.

Something tells me the drug dealers didn't much worry about cleaning the pond filter on a regular basis.  We moved back into the area a few years later, and I could not bear to drive by the place for many years after, fearing that all the work I had put into the place would have been destroyed by a bunch of stupid dope fiends.  It broke my heart.

Fast forward to present day.  We have been on our acreage outside the city for ten years now.  Much of that time we had The World's Greatest Dog on patrol.  We are just past the one year anniversary of her passing, and our new dog Buddy is now keeping an eye on the place.  Now the thing about Buddy is that he doesn't much like the sun.  Black Siberian Husky crosses would much rather be running across the frozen tundra than soaking up the rays on a hot summer day.

The problem we have now is that we don't have much for mature trees in our yard, especially in the area where my lovely wife spends so much of her time in the summer - the garden.  No big trees, no shade where a dog can hang out to help beat the heat.  There had to be a better way.  There is.  I was taking a stroll through Costco the other day and came upon this bad boy.
Meet the Alexa Playvilion Sandbox
The gears immediately started turning.  I would build Buddy a gazebo to call his own.

Careful inspection of the display unit built up at the store showed an impressive level of quality for the thing given its $100 price tag:
  • It was made of real wood that was already pre-stained
  • There were a ton of screws holding it together.  Screw holes were pre-drilled and counter-sunk
  • There were several nice finishing touches, like small ledges near the bottom and decorative railings at the top
  • The fabric cover was nice and heavy
Construction began the next day.  Normally I don't have too much trouble with the "Put Screw A in Piece 1" type instructions, but I was was thrown off by a couple things.  There were two different types of "Piece 1" pieces for the left and right edges of each side.  And I apparently have just enough dyslexia going on that I kept getting confused as to which piece should be on which side.  Finally, I got the first few sides together and took stock of the situation.

It would not do.  I held a piece of plywood up to the roof line around 11am and saw that the shade cast by the wood fell about six feet back from where the bottom of the gazebo.  The sides were too high to cast enough useful shade over the course of the day.  The happy young children pictured on the box the gazebo came in are doomed to die from skin cancer for this reason.
Sorry Kids, But I Got Bad News For You
Modifications would be in order.  It would be a tall order for someone with the woodworking skills of Homer Simpson, but I'd be damned if I was going to do a half-assed job of this.
His Spice Rack is Also a Classic
It took plenty of cursing and more than a little swearing, but I shortened the supports by around 18".  This would give a gazebo three feet high at the roofline.  The pre-drilling and countersinking of the new screw holes that would attach the bottom boards was the second worst part of it.  The worst part was doing that twelve times for each of the support posts in the kit.  But once that was out of the way and a test fit against the end customer proved successful, things moved along quickly.

I got each of the sides built up and screwed a few of them together.  Everything seemed to be fitting together pretty well.

The six sides are together now.  The picture on the box also had six sides.  I appear to be on the right track.

Here it is with the ledges attached on the bottom pieces and the roof supports up.  They are hard to see, but there are also chunks of wood angled at 120 degrees screwed across each of the corners.  This makes the whole structure surprisingly solid.  Note that I put something on top of the concrete in the driveway to prevent the wood from getting all scratched up.

Like any good engineer would do, we had to do a final test for fit and finish.  The end customer seems to approve.  Note also how my Lovely Wife has to duck down now that I've chopped the roofline down to Buddy size.

And here is the finished product in place.  We put it up on the north side of a small Scots Pine at the corner of our garden to help cast additional shade.  Note the enclosed pool that my Lovely Wife picked up early this summer at 50% off.

So the job is done so I know what you must be asking yourself.  Does he like it?  Well...
Damn Straight, He Likes It
As I tell my friends, I like all the places I live to have a pond and gazebo.  Anything else would be uncivilized.

Saturday, April 6, 2013

Happy Birthday, Buddy Boy

Around April 1st, our dog Buddy turned a year old.  I say "around" because we're not exactly sure when his birthday is.  He is a rescue dog, and it turns out he is lucky to have gotten as far as he has.

I've blogged about the experience we had when we first came across the little guy.  He basically went right through somebody to come and greet us when we first visited the shelter.  "There was something about Buddy", we said back then.  One thing led to another, and we ended up bringing the little guy into our home last August.

After we got him home, we found him to be a little different than we expected.  I would say he was either On or Off.  When he was On, he was tearing around as you'd expect a puppy to tear around.  When he was Off,  he was powered down and very low energy.  We thought it was maybe because he hadn't had the best start in life.  Now that he was living with us, he was getting the food he needed to finally get growing, and all that growing would take a lot of energy.  We were wrong.

Buddy was battling bladder infections from the first weeks that we brought him home.  We were lucky to catch this and get him to the vet for treatment.  He would go onto antibiotics for a couple weeks and would seem to do OK while he was on them.  He still wasn't a dynamo, but he'd spend less time "Off" and a little more time "On".  Then the antibiotics would finish up and he'd be fine.  For a couple days.

Then he'd get sick again.  And then again.  The poor little guy went through five rounds of antibiotics for his bladder infection.  Different meds, different durations, and each time we thought that this time would do it.  He'd do OK while he was on the meds and for a couple days after they ran out, and then he'd get sick again.

His fifth round of meds wrapped up while I was off traveling on business and, as per usual, he seemed to be doing OK.  Then he got sick one night.  Really sick.  My Lovely Wife stayed up with him all night and rushed him into the vet the next day.  The news was not good.  Based on their initial look at him, they thought he might be in either liver failure or kidney failure.  My wife was girding herself for having to make a terribly difficult decision with me a few thousand miles away, and with the loss of our last dog Abby still weighing on her mind.

But we caught a break.  The blood tests came back and what they discovered was the infection in his bladder had moved on to his prostate.  They hadn't looked for this previously because prostate infections happen in six year old dogs, not six month old dogs.  Buddy was the youngest by far of any dog they had seen with this problem.  It was the astute observations of Buddy's behavior that my wife relayed on to the vet that caused them to look down this road.  The vet told her that Buddy wouldn't have made it if it were not for her.

Now prostate infections are nasty bastards.  The wall of the prostate is very thick, and it is difficult for the drugs to work their way in there.  The course of treatment the vet called up would be 12 weeks long, with medication given twice a day.  This treatment ended a month ago.  When it did, we held our breath and waited to see if the infection would come back.  My Lovely Wife watched him like a hawk.

Days passed.  Then weeks.  And now a month, with no sign of the infection reappearing.  Buddy is now "On" pretty much all the time.  He has tons of energy.  He is strong.  He tears through the house.  He runs everywhere, blasting through deep snow like a plow.
That Name Again is Mr. Plow
Buddy seems to be making up for lost time.  The infections and subsequent treatments had robbed him of his energy.  The vet was also afraid that his growth could be stunted.  But this pup is a fighter and will not be denied his youth.  He eats like ten dogs plus two and is putting on some solid size.  He now stands around 24" at the withers, and is pretty close in size to what Abby used to be.  I keep thinking he looks a lot smaller, but some pictures we have tell a different story.  Plus, big dogs tend to grow until they are 14 - 18 months, so he might have a few pounds yet to go.

An interesting side note in Buddy's time with us here was that, besides not knowing when his birthday was, we didn't know his breed either.  I mean, we had no clue as to what his breed was.  Many people saw German Shepard in him.  Some saw Rottweiler.  A few people guessed Alaskan Malmute.  I hate not knowing stuff, so we got all CSI-like and had his DNA analyzed by DNA My Dog.  For $50, you too can have a cheek swab from your dog analyzed.  What we got back was...

  • Level 2 Golden Retriever (?!?!?)
  • Level 3 Siberian Husky

Level 1 would indicated a purebred and we knew for sure he wasn't that.  The Siberian Husky made a lot of sense to me (his massive forelegs should have been a dead giveaway) but the Golden Retriever didn't seem to add up.  Then a few months went by and golden-colored bits of hair started to show up around his eyes, legs, and tail.  Looks like they were right on after all.
Not To Mention An Arse Almost As Hairy As Mine...
Buddy's lineage explains his love for the snow.  But another trait of Siberian Huskies is that they apparently like to bury things.  That explains stuff like this...
This Spells Doom For Our Garden This Year

But where we really seem to be lucking out is his temperament.  He seems to be quite a good natured little guy and will capture your heart if you give him half a chance.  He has also been incredibly well behaved as a puppy.  You hear horror stories from people with a new puppy that have their furniture torn apart.  The worst we've suffered is Buddy chewing a bit of a hole into the heel of a slipper.  He's had pretty much the run of the house whether we are home or not since he's been around eight months old, and has never made a mess in the house except when he was sick.  His crate sits downstairs unused and empty.

This is a story that certainly could have gone another way.  Could have but didn't.  We seem to have a healthy, happy, and well-behaved puppy on our hands.  That's what we had last time around with Abby too, and she turned out to be the best dog that we could have possibly hoped for.  Hopefully lightning strikes twice.

Tuesday, January 1, 2013

2012: The Year That Was

Today is the first day of 2013.  I sit at my kitchen table in front of my laptop with a compile of MESS going in the background.  Like many people today, I sit here finding myself thinking back over the last 365 days.

Certainly, the biggest thing that stands out for me was the passing of our dear dog, Abby.  She was a constant and faithful companion for her eleven and a half years, and was a far better dog than we could have hoped for.  I think about her all the time.
Abby:  January 2001 - August 2012
We now have Buddy in our lives.  Buddy is quite a different dog than Abby was, and certainly a lot more will be written about him in the days and weeks ahead.  He has scared us with some health issues and he has entertained us with his puppy-dog antics.  I look at him each day and wonder what kind of dog he'll turn out to be.  The one thing we learned from Abby is that this is pretty much impossible to predict.
Impossible, Except To Say That He Is Going To Be Trouble
Anyhoo, I sat down and set some goals for myself in 2012 around this time last year.  This was actually a very useful thing to do.  I like to cross things off my TODO list, and I found that putting this list out there was a pretty strong motivator in getting me off my butt.  I need to mull this over a bit still, but I certainly want a new list going in to 2013.  In the meantime, why not take a look back while waiting for the compile to finish to see how I've done in 2012?

Working Out

Goal #1 Hit: "Deadlift 405lbs for a single rep. That's four wheels a side. This goal should be doable. I just have to do it."

It wasn't long after I wrote this that I wrote some more about how much it sucked to have written that in the first place.  In a nutshell, why was I talking about something I could do rather than just going and doing it?  So I went and did it, and made it with pounds to spare.  The year went by and my deadlift continued to improve, culminating with this bad boy.
435 lbs, Baby

Goal #2 Missed (barely): "Squat 280lbs for a single rep below parallel.  285lbs - 290lbs would be even better, as this would be 2x bodyweight."

This was a case of "close, but no cigar".  I hit a 275 lb squat in May, a weight that was indeed 2x my bodyweight at the time.  But 275 lbs is not 280 lbs, so I did not reach this goal.  It wasn't for lack of trying though.  I hit that 275 after several runs of Sheiko, an extremely high volume routine designed to bring your numbers up.

This is a worthy goal to keep shooting for.  Unfortunately, a long stint in Mexico has caused my strength to drop off sharply and my squat seems to have been hit the hardest.  It is coming up again since my return, but a second trip is on the horizon and back down I'll go.  Such is life.

Hacking

Goal #3 Missed: "Get some basic home monitoring going by Christmas 2012."

I put some considerable time into this one but didn't hit it either.  I ran into a couple of snags.  First was the aforementioned  long stint in Mexico.  Second was that my WRT-54G router decided to start acting flaky as I sat down to implement some of this stuff.  The idea was to hack the router so I could plug a Jeenode into it to act as a receiver to other remote Jeenodes around the house.  I added the serial port and SD card mods, but my attempts to get Optware installed on the thing were randomly failing and I couldn't figure out why.  I had suspected bugs in the custom firmware and kept trying various options to see if that would make the problem go away.  Then the router fell over altogether so I bought the mighty Asus RT-NT16 to replace it.  That router now runs Tomato by Shibby with Optware installed just fine.

Again, this is a worthy goal to keep pursuing in 2013.

Goal #4 - Hit: "Get a standalone receiver picking up the transmissions from a Davis outdoor sensor suite by the end of 2012."

I hit this baby back in April and was pretty psyched at having done so.  After that I had to spend a bunch of time figuring out what those transmissions actually carried.  First I sorted out rain and followed that up with outdoor humidity.  The deciphering of all the weather related parameters is now laid bare on github.
This Took Forever To Get Right
I want to keep plugging away at this stuff going into 2013.  I wrote last time about how Davis' recent antics were making me pretty grumpy.  It is my data, and I don't want people trying to take it away from me.

Goal #5 - Hit: "Keep this blog going, share the adventure, and enjoy the ride."

I put up 25 posts in the past year.  Not incredibly prolific, but far from abandoned.  I wrote some stuff that made people laugh, and I wrote some stuff that made people cry.  The goal of this blog was never just to put something out there.  If it wasn't going to be interesting or entertaining, it wouldn't be worth the effort.  Hope you think that it has been.

Have a good 2013 from all of us here at Mad Scientist Labs.  Enjoy the ride

Monday, October 8, 2012

The Graduate

It has been a little more than a month since we brought our new dog Buddy into our home.   And like anyone bringing a new puppy into their home, we've had quite a ride so far.

My favorite story about Buddy so far goes back to My Lovely Wife, who would always say to our first dog Abby: "Abby, where's your food?!?!".  Abby of course knew where her food was and would run to the small hall closet where it was kept.  There she would wait for My Lovely Wife to walk over to the closet and get her some food, or maybe even a treat.  Out of habit, My Lovely Wife asked Buddy: "Buddy, where's your food?!?!".  Buddy took one look at her and then ran to that small hall closet.  The door just happened to be ajar, so he pushed his nose in and opened it wide.  Then he grabbed the bag of food in his mouth and started dragging the bag along the floor to her.

My Lovely Wife watched this in utter amazement.  At this point we had had Buddy for only four days.  Four days at our place and he is retrieving bags of food.  We had made no attempt whatsoever to train him how to do this.  I was stunned when I heard the story, especially since he had been living chained up outside his whole life before coming to live with us.  It is a good thing that Buddy doesn't have opposable thumbs or I think we'd all be in serious trouble.
Speaking Of Trouble...
One thing about Buddy that we noticed right away was that he loves chasing after bugs.  Dragonflies are great.  Grasshoppers are awesome.  He'll be following along beside us and the next thing we know he is chasing down a bug and eating it up.  We both thought this was pretty entertaining for a couple of days.  That was until I realized that he probably ate bugs to survive at his previous home because he wasn't given enough food to eat.  "Don't worry, Buddy" I told him.  "There will always be lots of food here to eat."  But he still eats bugs anyway.

Speaking of eating, he does this.  A lot.  He is a growing pup, and he's got some lost time to make up for the insufficient amount of food he used to get.  Buddy is putting on over two pounds of solid weight a week.  It seems like every day he looks a little bigger.  Every day he takes up just a bit more space on the floor.  Every day, the old collar of Abby's that he wears seems to fit just a little bit tighter.  To quote the Simpsons - "A dog like that, you've got to feed every day."
World's Largest Paws
He is coming along in so many ways.  He used to have very little confidence: the slightest touch and he would drop to his back with his paws in the air.  Now he'd sit there, get petted, and soak up the adoration.  His training is coming along nicely as long as there aren't a lot of bugs around.  And he is no longer deathly afraid of brooms; one day just after we got him, My Lovely Wife went to sweep the floor and Buddy instantly cowered in the corner.  Obviously, he was taught early on that a broom can be used for more than just cleaning the floor.  I'd like to teach his previous owners the same thing one of these days.

Oh, and I almost forgot to mention that he was house-broken almost immediately and was sleeping next to our bed after only three weeks.  And that he had free run of most of the house pretty much right off the bat, yet has not chewed any furniture or done any other damage (not counting one unfortunate Ethernet cable).  This despite the fact that he seems to have razor blades for teeth.
Needs A New Seat Belt
About the only thing dragging the little man down has been a bladder infection.  Symptoms of this showed up just a couple days after we got him, and my guess is it was somehow a complication from when he was neutered.  His condition improved almost immediately after being put on antibiotics for a two week run.  Unfortunately, the infection reappeared just a day after the meds finished up, so he went back on a different prescription for a couple weeks.  Those ran out just this past Thursday, and the symptoms reappeared the very next day.  We kind of saw this coming, so we were fortunate that the vet gave us meds for another five days to tide us over the long weekend we are enjoying now.  But we'll need to get Buddy in another appointment first thing next week to to see what the heck is going on there.

I'll tell ya though.  When that plumbing is working right, that dog can take one mean pee.  With Abby, I would count steamboats: "One steamboat, two steamboats...".  Abby would sometimes get to six and rarely to nine.  Buddy knocked out a 20 steamboat pee yesterday.  If I had to take a 20 steamboat pee, well...

It is that camel-like ability that brings another of Buddy's oddities to light.  Every dog I've ever known LOVES to go outside.  Going outside IS THE BEST THING EVER.

Unless you are a dog named Buddy.  Buddy could usually give two shits as to whether he goes outside or not.  The other night we had to actually drag him and his sorry ass off his bed to get him outside to do his business.  And then when he got out there, he had a poo.  And then he had another.  I'll tell ya... if I had two poos in me, I'd be breaking down that damn door to get outside.

And every morning is the same thing.  My lovely wife gets up first and goes to the bathroom.  Then she heads for the door to take the dog out and I get up.  Buddy would much rather sit at the side of the bed and demand my attention while My Lovely Wife waits at the door for him to go outside.

One thing My Lovely Wife was really enjoying was Puppy Club ("The first rule of Puppy Club is that you don't talk about Puppy Club").  Puppy Club is put on by our vet every Thursday.  They give a little talk about some aspect of puppy rearing, and then the rest of the evening is a wild free-for-all where the puppies cut loose and spend the night smelling each other's assess.  What's not to like?

What's not to like is when you can't go anymore.  Last time My Lovely Wife was there, they pointed out that Buddy best-guessed birthday of April 1st makes him six months old now.  That means that Buddy is considered "graduated" from puppy club after only going three times.

This graduation is one of those little markers in the course of owning a dog.  One minute they are nothing but fur and energy, the next minute you are left wondering how so many wonderful years went by so quickly.  Matthew Inman (perhaps the greatest cartoonist of our time) put it this way in this snippet from his incredible comic about dogs.  Click that link - you have to read the whole thing.

Buddy isn't quite the dog we expected him to be, but I think he'll be the dog we need.

Sunday, September 2, 2012

You Don't Find The Dog, The Dog Finds You

Followers of my blog will know that we lost our faithful dog, Abby, in early August.  In my last post I talked a bit about our progress in finding another dog to fill the void she left behind, and how the search wasn't going that well.  I left you with this.
The search continues.  We have actually come close once or twice, but no cigar.  We'll have to be patient and wait until the dog that is right for us comes along.  Or, as the fellow we bought Abby from told us: "You don't find the dog.  The dog finds you."
As we searched, we focused on getting a rescue.  We liked the idea of giving a good dog a second chance, and we weren't hung up on the whole purebread thing.
Loved him in "Oh Brother, Where Art Though?"
As I mentioned above, we had a few near misses.  We fell in love with one dog at the local SPCA, only to find out that she had already been adopted out earlier that afternoon.  Strike One.  Later that week, My Lovely Wife dropped by the SPCA one afternoon and saw another great puppy dog with loads of energy that she was very excited about.  It was gone by the time I got there after work.  Strike Two.  Things were not going our way.

We spent a lot of time on Petfinder, a website that collects listings from rescued animals across North America.  They make it easy to find dogs and other pets up for adoption in your area, and it also lets you filter by criteria such as size (I always checked off "Large" and "Extra Large").  Since we weren't having much luck, we started to expand our search a little to dogs we considered as "maybes".  "Nothing ventured, nothing gained", I would say to My Lovely Wife.  Many of the descriptions on Petfinder were pretty terse, and it was very possible that a real gem of a dog could be hidden by a lousy description.

That led us to head out one Friday evening to look at "Sunny", who was being fostered at an acreage not too far from where we live.  Sunny was a good looking dog, make no mistake, but she just didn't have that spark we were looking for that made Abby the incredible dog that she was.  "Sunny" was also more submissive than we'd like and it didn't look like she would grow to the size we were looking for.  At least we tried.

While we chatted with The Nice Lady fostering Sunny, we learned that she was fostering something like 15 other dogs with a comparable number that she called her own.  Many of these were dogs with various difficulties that weren't really adoptable.  The Nice Lady is a real gem, not one of those crazy old ladies you think of that has a house with 100 cats in it.  These dogs lived out on her acreage, had a great big area to run around in, a pond in which to cool off, and lots of trees to grab some shade in.  All the dogs looked happy and healthy.

As we talked, The Nice Lady's husband tried to join us in the backyard with yet another dog trying to break by him and join us.  "Don't let him out", she yelled to him.  "We have enough dogs out here."

The Nice Man tried to push this one energetic puppy back in to the house, but seemed to be fighting a losing battle.  This puppy was strong and would not be denied.  The Nice Lady turned to us and said "That's Buddy.  He's going to be a monster when he grows up."

My Lovely Wife and I looked at each other.  "Could we see Buddy?"

Release The Hound!  The Nice Man let Buddy out and he immediately started running around all over the place.  He seemed to take an immediate liking to My Lovely Wife.  It was apparent that this was one solid puppy dog.
His Legs Are Larger Than Mine
We peppered The Nice Lady with questions about Buddy but she didn't know that much about him yet: the little guy had shown up at her place only the day before.  He wasn't up for adoption yet and so was not yet on Petfinder.  Nobody outside The Nice Lady knew about him yet.  We had tripped over Buddy by accident.

It turns out that this pup didn't have the easiest start in life.  It spent all day chained up in the owner's yard, and didn't get enough food to eat.  But it just so happened that Buddy lived only three doors down from the President of the animal rescue that The Nice Lady was a part of.  She had seen the treatment that Buddy was getting and finally convinced the owner to give him up.  Buddy had caught a break.

The Nice Lady was wonderfully forthright with her concerns about Buddy.  Spending so much of his early life chained up could have affected both his physical and mental development.  She was concerned that his hips hadn't developed properly because of the sway in his arse when he ran.  She also stated that she didn't think he wouldn't grow up to be "a rocket scientist".
More Looks than Brains???
However, "there was something about Buddy".  This was a phrase My Lovely Wife and I would use over and over again in our discussions later.  In our long drive home from the home of The Nice Lady, we didn't talk about Sunny at all.  It was all about Buddy, and how something seemed to click.  I wondered aloud if our dog had found us, rather than us finding our dog.

My Lovely Wife phoned The Nice Lady the next morning (Saturday) to express our interest in Buddy.  Unfortunately, she got the message over the phone that perhaps Buddy might not be the dog for us.  Dogs rescued from the area he was in get off to a tough start, and that can mean that the adopter might not appreciate what they could be getting in to.  Could he have some brain damage or other development disabilities that weren't apparent yet?  She had only had him for a few days and couldn't say for sure, but her first impressions suggested that Buddy could have some challenges ahead of him that we weren't really prepared to take on.  Strike Three.

This really put a damper on our spirits.  It was back to Petfinder but it was without a lot of enthusiasm.  We had considered and looked at a lot of dogs by now, and each time we found one that looked like the one for us, it went for naught.  The search was starting to feel hopeless.  I felt pretty down over the next couple of days.

Monday evening I convinced my wife to phone Buddy's foster mom back to touch base.  Maybe we had gotten the wrong impression?  I'm glad she made that call.  The Nice Lady had nothing but good things to say after getting to know Buddy for just a couple more days.  For one thing, Buddy escaped from the kennel the night we saw him while fifteen other dogs watched.  They found him the next morning curled up on their porch.  They then had to put him back in the kennel to watch him break out again so they could figure out how he was doing it.  Smart?  Check.

Buddy also jumped up behind her one day, knocked her over, and kept right on going.  Strong?  Enthusiastic?  Check.

Buddy was learning fast and doing well.  We were excited by this good news and wanted to take the next step.  In this case, it would be a home visit.  This rescue does its homework and makes sure that every dog they adopt out goes to a home that is safe and will take good care of them.  Our home visit turned out to be the very next day!  It must have gone well, because The Nice Lady asked us then and there if we'd like to write up the papers and put down a deposit.  Yes.  Yes we would.

There was just one more obstacle that Buddy had to get over.  He had a vet appointment scheduled the following week where he would get checked out and get neutered.  That was a long week to wait through.  We were worried that the vet would find problems with Buddy because of the early challenges he faced.  But there were no such problems: his heart was strong, his lungs were clear, and his hips were solid.  He was given a perfect bill of health, minus testicles.

Fast forward to this past Friday evening...
On His Way To His Forever Home
Our home is complete once again.  We know that Buddy will never replace Abby in our hearts.  Not possible, and not expected from him.  What he will do is make a place of his own in there, and for that there is plenty of room.  We look forward to many laughs and many adventures together in the years ahead.  I'll be sure to share a few of them along the way.

Oh hell.  One more picture.