Skip to main content.
September 28th, 2007

Checking the Integrity of Archived Files and DVDs

I just finished archiving our mini DV tapes to DVDs and an external hard-drive. In the process I found that I couldn’t pull a few minutes of data from one of the DV tapes. The tape was only 3 years old. I started thinking if the DV tapes can’t even hold data for 5 years, how safe are my DVD backups.

I started to calculate the MD5 sums of each video file and burn the hashes on the DVDs along with the video. I found a program named md5summer to automate the process for me. Md5summer will calculate the md5 hashes for every file in a directory, even recursively, and create a text file containing all the hashes. When it comes time to check the integrity of the files, just point md5summer to the directory and open the text file you previously created. Md5 summer will automatically check each file and give you either a red or green light by the file name.

What about checking the integrity of DVD’s I made before I started doing this. On the Ubuntu forums I found my answer. This post shows how to calculate the checksum for and entire DVD. Basically you pipe the output of dd right into md5sumlike this:

dd if=/dev/cdrom |md5sum

This is fine and well if you are on a linux box, but you need to modify the command like this if you want to use it in cygwin.

dd if=/dev/scd0 |md5sum

3bbf32d981ea7af2d0e6190d2f823ddb *-
100508+0 records in
100508+0 records out
51460096 bytes (51 MB) copied, 22.953 s, 2.2 MB/s

What do you do with this hexadecimal number,? Pputting it on the CD is quite problematical because changing the CD changes the md5sum. For now I am writing the resulting sum right on the disk.

Update: It turns out that I get a different checkusm under Linux that I do under Cygwin on Windows.  

Posted by benjamen as archive, dvd, linux, scripting at 7:01 AM MDT

No Comments »

July 3rd, 2007

My Firefox Extensions

Out of the umpteen extensions I have tried, I ultimately chose a few that I continue to use every day. What follows is a list of the extensions I installed in Firefox, what I like about each extension, and where to find it.

Adblock Plus:

You don’t like ads? This extension is for you.

Latest release page install size: 229 KB

All-in-One Sidebar:

I think this is the most powerful extension there is for Firefox. Simply put it manages all of you sidebars with one interface and adds sidebars you never even knew existed. One thing I really like about this extension is that it adds a toolbar to the left side of the browser.

Latest release page install size: 367 KB

Cookie Safe:

This extensions allows you to control cookies on a site-by-site basis. I have it set up to block all cookies unless I specifically enable them. This may sound a little paranoid, I really don’t like sites tracking what I’m doing, especially with third party cookies.

Latest release page install size: 192 KB

Custom Made Toolbar Buttons:

This is a neat build your own extension I found. Instead of downloading a gigantic extension to add tons of toolbar buttons for common tasks, this page allows you to choose only the toolbar buttons you want to use.

install size: 47K

del.icio.us Bookmarks:

This extension used to replace Firefox bookmarks. Now it leaves the standard Firefox bookmarks alone and creates another sidebar and toolbar where you can access your del.icio.us bookmarks. I use del.icio.us exclusively for bookmarking but I still use Firefox bookmarks for sites that I open in the sidebar (there’s no way to tell del.icio.us bookmarks to open in the sidebar yet).

Latest release page install size: 256 Kb

Greasemonkey:

I have a love hate relationship with this extension. Every time I find that I can’t live without it anymore and reinstall it, I find that Firefox’s memory footprint starts slowly creeping up until it starts taking 250Megs+ of memory and becomes really sluggish. I have no memory leak problems when I uninstall it. The benefits seem to be worth having to restart my browser every day though.

Greasemonkey allows you to run script on specific webpages to change the way they look and behave. For example Google Autopager allows you to scroll through all the result pages as if they were one long page. I am planning another post describing my favorite scripts.

Latest release page install size: 99 KB

Hide Menubar:

I just found this little gem. I previously used Tiny Menu to save toolbar space, but now I can hide the menubar completely without losing it’s functionality. If I really need to use a menu, I just press the ALT key when Firefox has the focus and the menubar temporarily pops back into place.

Latest release page install size 11 KB

Master Password Timeout:

I read about this extension over at lifehacker.com. I like using Firefox to store passwords for my online accounts, but I get nervous about the fact that once I enter the master password for a session it unlocks all my stored passwords until I close the browser. Normally this would be OK, but it keeps the stored passwords unlocked even if you hibernate and resume. Somebody could steal my computer while it was hibernating, boot it up, and have access to my online accounts. Now I have a strong password to log into my account after hibernate, but I’m scared by how easy it is do download and use software to crack windows passwords.

This extension give me a little extra piece of mind when I’m using the Firefox password manager.

Latest release page install size: 4 KB

NoScript:

Websites use way to much javascript and they use javascript for things that are easily done with html, such as creating hyperlinks. Also, there are many exploits that use scripting to install malicious software, or track what you are doing with your computer. I feel the safest way to browse the jungle that is the web today is to browse with scripting off. Unfortunately even great sites that I visit daily have limited usibility without scripting enabled. NoScript allow me to turn on scripting for only those sites that I wish.

It is surprising how many sites run scripts from a third party. Do you really want to give a site you didn’t visit permission to run scripts on your computer. Install this extension and you will be amazed at how much this occurs.

Latest release page install size: 195 KB

Tab Mix Plus:

Tab Mix plus is a way to control just about every aspect of tabbed browsing. The feature that I find indispensable is the ability to see a list of the most recently closed tabs and to selectively reopen one.

Latest release page install size: 329 KB

Video Downloader:

This plugin makes it simple to download the flash videos from youtube.

Latest release page install size: 14KB

Extensions I still want to try

Vertigo

Vertigo moves the tabs from on top of the browser window to the side, accomplishing two things, First you can see many more tabs open and the tab width stays the same so you can read what the contents of the tab are. Second, you gain slightly more space at the top of the tab.

Latest release page install size 15 KB

Posted by benjamen as XP, computer, extensions, firefox, linux at 11:48 AM MDT

No Comments »

April 23rd, 2007

Annoyance: Logitech Setpoint Asking for Administrator Privileges on User Login

I like using Logitech setpoint software to define the horizontal scroll and other extra buttons on my LX7 mouse. Unfortunately every time I would login as a non-administrative user the following message would pop up:

Logitech Update

Sorry You must have Administrator privileges to complete the task.

I found the kernel of the solution on this forum post. (pdf)

1) Login to an account with administrative privileges. 

2) Navigate explorer to C:\Program Files\Logitech\SetPoint.

3) Rename the two files named "LogitechUpdate.exe and Logitech Update2.exe" to something else.  I just added a "1" in front of the filename.

4) Logout of the account with administrative privileges.

5) Login to a limited user account to see no popup dialog.

I would note that you should probably turn off automatic updates in Setpoint; this fix will break that option. 

Posted by benjamen as XP, computer at 6:43 AM MDT

No Comments »

February 16th, 2007

Migrating Yahoo Mail to Gmail

I'm not going to go into detail about how to migrate; there are many sites like this one that explain the process.  The two programs I used were YPops 0.8.6.2 and gexodus 0.2.  To find a version of YPops for Linux I went to YPops sourceforge page. 

YPops for Linux doesn't have much documentation,  I had to figure out how to run it by trial and error.  Here are some of the little caveats…   

In ypops.ini, to specify which mail folders you want to download you need to edit the line Folders=.  For example if you want to download the mail in Sent and MyMail, set 'Folders=Sent, MyMail'.  Setting 'EmailCategory=97' means all mail in the inbox and specified folders will be downloaded.  Setting EmailCategory to 117 means only the unread messages will be downloaded.  I also set 'MaxEmails=400'.  This basically means that it would download all my email at once, since I had less than 400. 

In order to have ypops run at startup on my linux box I followed the instructions from this post on the ypops forums.

I used Thunderbird as my pop3 client.  I had problems downloading email with large attachments until I changes the value for connection timeout.  To do this go to Tools->Options->Advanced->General.  Then set Connection Timeout to 999

Gexodus is very straightforward.  But, after getting many errors trying to upload mail to my gmail account, I noticed that the emails that were causing the problem did not have subject lines.  Gexodus apparently won't mail messages without a subject line.  I solved that by editing the mbox file and adding an appropriate subject line to the offending emails.

Posted by benjamen as computer, linux at 9:41 AM MST

No Comments »

January 9th, 2007

Batch Downloading Numbered Files

    The following script will download a sequence of numbered files.

#! /bin/bash
for x in `seq -w 60 181`
do
   wget "http://www.site.com/DGW-"$x".mp3"
done

    So in this case it will download DGW-060.mp3, DGW-061.mp3 … DGW-181.mp3. 

    Getting the script to loop through a sequence of numbers was tricky until I found the seq command.  The -w parameter will pad the numbers with zeros so they all have the same number of digits.  

Posted by benjamenjohnson as computer, linux, scripting at 6:03 PM MST

Comments Off

December 20th, 2006

ffmpeg: Batch Converting

    I was getting tired of converting each individual flash video to mpg by hand, so I wrote a script to convert every .flv file in a directory.

#!/bin/sh
for f in *.flv ;
do FILE=${f%%.flv};
 ffmpeg -i "$FILE.flv" -target ntsc-dvd -s 320×240 "$FILE.mpg"
 done

    Using my favorite bash scripting tutorial: The Advanced Bash scripting Guide, I figured out how to strip the suffix and separating period from a file.  You can find it here, just search for '%%'.

    My biggest problem was to get ffmpeg to recognize filenames with spaces.  ffmpeg, for that matter most command line applications, see spaces as file separators.  After trying many things I found using double quotes did the trick. 

 

Posted by benjamenjohnson as computer, linux, scripting at 9:04 AM MST

Comments Off

November 15th, 2006

Snapfish/Costco Quick Upload in Firefox 2.0

    After upgrading my wife to Firefox 2.0, she complained to me that the Costco quick upload feature was no longer working.  She had to upload her photos the painfully slow way.

    It turns out if you change your User Agent to Firefox 1.5, Quick Uploader will work.  Here is how to get Snapfish/Costco's Quickloader plugin to work with Firefox 2.0. 

1) Type about:config into the url bar.

2)  Right click on some whitespace and select New->String

3) Enter general.useragent.override  for the preference name.

4) Enter you user agent string for the value.  I used Mozilla/5.0 (Windows; U; Windows NT 6.0; pt-BR; rv:1.8.0.7) Gecko/20060909 Firefox/1.5.0.7

5) Restart Firefox

6) Type about: in the url bar.  You should see your new user agent string in the build identifier.  

Be warned: this changes your user agent for all sites.  

References:

How to change the user agent in Firefox. 

List of User Agent strings.

 

UPDATE: Costco seems to have fixed this problem as of 2006.12.05

Posted by benjamenjohnson as computer, photo at 4:43 PM MST

3 Comments »

October 20th, 2006

ffmpeg: Converting Flash Video

    I had some flash videos I wanted play on my MythTV box.  I had tried just about every method of converting and playing the videos with unsatisfactory results.  Until now the best I had found was VLC.  I could at least watch some of the videos.  Unfortunately the other videos were unwatchable because of the lines through the video or bad color rendering.  I never was able to install VLC on my Mythbox anyway.  Riva FLV Encoder would not install properly on my XP box.  Media Coder gave me videos with the audio out of sync.  Normally I could have set an audio offset, but the amount of time the audio was out of sync changed with the progression of the video.

    Then a few days ago, I found this site.  I tried using ffmpeg to convert my flv videos to mpeg4 , borrowing from his command line.  For some reason the -bf option did not work on my linux box.  I tried transcoding with out it.  It worked perfectly.  This was the command I used.

ffmpeg -i video.flv -target ntsc-dvd -s 320×240 video.mpg

    After transcoding all my flash to ntsc-dvd format, I discovered some video are out of sync by maybe a tenth to a quarter of a second.   No big deal for now, I am just thrilled to watch the videos on my big screen from the comfort of my couch.

Posted by benjamenjohnson as computer, dvd, linux, mythtv at 7:16 PM MDT

No Comments »

October 13th, 2006

Moving to Wordpress

    I am in the process of moving from GoDaddy's Quick Blog to wordpress.  http://blog.electronsmith.com now points to the Wordpress blog.  http://oldblog/electronsmith.com points to the old Quick Blog blog.

    I have not moved all of my posts from the old blog yet because I can find no good way to import Quick Blog into Wordpress.   So, I am doing each post manually, trying to improve the formatting and correcting any spelling or grammar mistakes in the process.  I won't change any content without highlighting the changes.   

Posted by benjamenjohnson as blog at 1:36 PM MDT

No Comments »

On Installing Laminate Flooring

    After five years of listening to my wife complain about our dingy, dirty vinyl kitchen floor, I decided that I should install a new floor.  With a 2 year old daughter and my wife's work schedule, my free time comes at a premium.  As it was, I had only one weekend in September that I could put down a floor.  We really wanted ceramic or stone tile, but I did not feel I had enough time or patience at this point.  I knew laminate flooring had come a long way, so we decided to check it out.  We finally decided on Armstrong Armalock natural limestone biscuit tiles.

     After having struggled all weekend installing the floor, I have a few tips and things I would do differently. 

1) Do not install laminate flooring in the kitchen, especially locking glue-less laminate.  In kitchens and bathrooms the manufacturer recommends gluing the floor.  At Lowe's they recommended only gluing the spots where water might pool.  Well, obviously this sales person had neither dog nor two year old.  Everywhere in the kitchen has a potential for water pooling.  I tried gluing the entire floor.  This is a mistake.  No matter what anybody says, locking laminate is not designed to be glued.  The tolerances are too tight.  I ended up having to bang really hard on some pieces to get them to fit together properly.  This ruined the tongue and grooves which made installing the next piece or row more difficult.

    Also kitchen have cabinets to cut around; laminate is easy to install in a nice rectangular living room. It adds about 3x the amount of time it takes to do a living room of the same square footage.  Not to mention cutting the tongue on pieces you don't have clearance to lift up to lock.

2) Buy the right tools: an 18" tapping block, the pull bar with the widest tongue you can find, and a rubber mallet.  Do not use a waste piece of flooring to tap flooring tiles into place, which is what I have always done installing hardwood floors.  The laminate shatters and makes a mess.  The wider tongue on the pull bar will mar the locking grooves less.  Plus you can twist the bar, using the wall or cabinet as a fulcrum to lever the tiles together.  A rubber mallet is an ear saver.  Have you ever beat on a piece of metal with a hammer?  

3) When cutting floor vents, don't cut out the entire opening, only cut out a small hole so you know where the vent is.  Only when you are finished laying the floor, come back and cut out the final opening.  The floor will shift as you add rows.  If you cut a precise opening with 1/4" extra margin, you may find the cutout is no longer centered after you have installed the rest of the floor.  

4) Use spacers at the edge of every row of flooring and every two to three feet along he first row.  As you lay the floor, the whole floor will move if it can, especially if you have to do some tapping to get pieces to fit. If the whole floor can't move it will move along the joints.  For instance if you are tapping at the end of an unsupported row, that row will move in relation to the whole floor, leaving too small of an expansion gap.

5) Undercut all door jams and remove all trim in the room.  It just makes the job easier and look more professional.

6) Use the spacers when measuring the piece for the end of a row. 

7) Unless somebody trimmed the door bottoms incorrectly, cut all the doors by the same amount of thickness that the floor adds.  Especially for doors with thresholds. 

8) Be very careful no to chip the tiles, especially if you are using a custom ordered product.  Armstrong had no matching repair kit.  The sales person told me to use caulk that matched the color.  I now have to find some pigment to mix with an epoxy to patch the chips in the simulated grout, with no help from Lowe's or Armstrong.

 

Addendum 2006.10.20
    After working on the trim in the kitchen, I have discovered why it is called a floating floor.  They are not kidding, the floor really moves!  The hole I cut for the vent in list item 3 has now moved enough to show a gap.  Putting up the trim has been like trying to hit a moving target.  One day the gap between the floor and the wall is 3/8" a few days later it is 1/2".  

    Laminate is tough on blades.  I had to buy new blades for both my table saw and my miterbox.  I am going to have the old blades sharpened, but every place I have called taked at least a week.  I can not be without my tools for that long.  Good blades are a long term investment.  

Posted by benjamenjohnson as diy, home improvement at 1:17 PM MDT

No Comments »

« Previous Entries