<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;A0MGR3o-eSp7ImA9WhRUEko.&quot;"><id>tag:blogger.com,1999:blog-8608636833409525289</id><updated>2012-01-22T16:43:46.451-08:00</updated><category term="Network camera" /><category term="Prepaid mobile phone" /><category term="Photography" /><category term="Backup server" /><category term="HDTV MythTV" /><category term="Wireless router" /><category term="Laptop digital photo frame" /><category term="Geo location Mac widget" /><category term="USB battery charging" /><category term="Mac location tracking" /><title>Ben's tech cents</title><subtitle type="html">My two cents (opinion) on tech (technology) stuff.  Independent (I don't get compensated or paid by anyone for this) gadget (consumer electronics) reviews and DIY (do-it-yourself) projects.</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://benstechcents.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://benstechcents.blogspot.com/" /><author><name>Ben</name><uri>http://www.blogger.com/profile/01678870097840459001</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>14</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/BensTechCents" /><feedburner:info uri="benstechcents" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;D08DRn09eCp7ImA9Wx9XFkk.&quot;"><id>tag:blogger.com,1999:blog-8608636833409525289.post-4169412890799617184</id><published>2011-01-09T23:30:00.000-08:00</published><updated>2011-01-09T23:51:17.360-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-01-09T23:51:17.360-08:00</app:edited><title>Modernizing a 1947 AM Radio</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_tQ0FsMlZ7qQ/TQV3R1v5DAI/AAAAAAAAATw/Q5CqKwhEtjU/s1600/IMG_1224.JPG"&gt;&lt;img style="float: right; margin: 0pt 0pt 10px 10px; cursor: pointer; width: 200px; height: 127px;" src="http://4.bp.blogspot.com/_tQ0FsMlZ7qQ/TQV3R1v5DAI/AAAAAAAAATw/Q5CqKwhEtjU/s200/IMG_1224.JPG" alt="" id="BLOGGER_PHOTO_ID_5549973264173435906" border="0" /&gt;&lt;/a&gt;For a while my wife has been asking me to modernize a Model 56E Gilfillan radio from 1947 that belonged to her great grandmother.  It's a very attractive wooden box with a vacuum tube AM radio inside.  It still worked but we don't listen to much AM radio these days, preferring our MP3 collection on our Squeezebox SLIMP3 player or someone's iPod. We've been using some wireless speakers around the house and been happy with their quality so I finally decided to transplant the innards of the wireless speaker into the radio box.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_tQ0FsMlZ7qQ/TQVuVllnm9I/AAAAAAAAATQ/bzscXXZ2iaY/s1600/IMG_1226.JPG"&gt;&lt;img style="float: right; margin: 0pt 0pt 10px 10px; cursor: pointer; width: 200px; height: 120px;" src="http://1.bp.blogspot.com/_tQ0FsMlZ7qQ/TQVuVllnm9I/AAAAAAAAATQ/bzscXXZ2iaY/s200/IMG_1226.JPG" alt="" id="BLOGGER_PHOTO_ID_5549963432950209490" border="0" /&gt;&lt;/a&gt;First I took out the insides of the old radio to see what I was going to be working with. The knobs on the front simply pulled off.  Underneath there were only 2 wood screws holding in all the electronics and they were all on a single metal frame that came out with no problems.&lt;br /&gt;&lt;br /&gt;&lt;span style="float: right;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_tQ0FsMlZ7qQ/TQVuV4UwfeI/AAAAAAAAATY/A0QKDXuKGa8/s1600/IMG_1227.JPG"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; cursor: pointer; width: 200px; height: 184px;" src="http://3.bp.blogspot.com/_tQ0FsMlZ7qQ/TQVuV4UwfeI/AAAAAAAAATY/A0QKDXuKGa8/s200/IMG_1227.JPG" alt="" id="BLOGGER_PHOTO_ID_5549963437979762146" border="0" /&gt;&lt;/a&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_tQ0FsMlZ7qQ/TQVuU5sVipI/AAAAAAAAATA/qS4BEk0uLnY/s1600/IMG_1223.JPG"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; cursor: pointer; width: 102px; height: 184px;" src="http://4.bp.blogspot.com/_tQ0FsMlZ7qQ/TQVuU5sVipI/AAAAAAAAATA/qS4BEk0uLnY/s200/IMG_1223.JPG" alt="" id="BLOGGER_PHOTO_ID_5549963421167225490" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;I used the guts from a &lt;a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16882339035&amp;amp;cm_re=wireless_speaker-_-82-339-035-_-Product"&gt; CABLES UNLIMITED SPK-VELO-002 900mHz Wireless Speaker&lt;/a&gt;. These are nice speakers with static free sounds and they don't interfere with WiFi networks. It took a while to find and remove all the screws holding it together, but once it was dissected I had the circuit board, buttons, and speaker that I needed for the operation.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_tQ0FsMlZ7qQ/TQVucBJVffI/AAAAAAAAATo/erGIfRO7_wc/s1600/IMG_1320.JPG"&gt;&lt;img style="float: right; margin: 0pt 0pt 10px 10px; cursor: pointer; width: 200px; height: 185px;" src="http://1.bp.blogspot.com/_tQ0FsMlZ7qQ/TQVucBJVffI/AAAAAAAAATo/erGIfRO7_wc/s200/IMG_1320.JPG" alt="" id="BLOGGER_PHOTO_ID_5549963543426989554" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_tQ0FsMlZ7qQ/TQVuWE6bf4I/AAAAAAAAATg/o4KnT4jpnG4/s1600/IMG_1318.JPG"&gt;&lt;img style="float: right; margin: 0pt 0pt 10px 10px; cursor: pointer; width: 200px; height: 112px;" src="http://3.bp.blogspot.com/_tQ0FsMlZ7qQ/TQVuWE6bf4I/AAAAAAAAATg/o4KnT4jpnG4/s200/IMG_1318.JPG" alt="" id="BLOGGER_PHOTO_ID_5549963441358995330" border="0" /&gt;&lt;/a&gt; I did some soldering to transplant the buttons, and used a generous amount of cardboard and hot glue to achieve my objective.  In the end it looks just like the original and we now have an attractive retro way to listen to music in another room.  It was a fun project and is a unique conversation piece to show guests.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8608636833409525289-4169412890799617184?l=benstechcents.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/IETJfE3HC135p8H2qElPotgWJd0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/IETJfE3HC135p8H2qElPotgWJd0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/IETJfE3HC135p8H2qElPotgWJd0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/IETJfE3HC135p8H2qElPotgWJd0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BensTechCents/~4/pKsNPEL_Sug" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://benstechcents.blogspot.com/feeds/4169412890799617184/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8608636833409525289&amp;postID=4169412890799617184" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8608636833409525289/posts/default/4169412890799617184?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8608636833409525289/posts/default/4169412890799617184?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BensTechCents/~3/pKsNPEL_Sug/modernizing-1947-am-radio.html" title="Modernizing a 1947 AM Radio" /><author><name>Ben</name><uri>http://www.blogger.com/profile/01678870097840459001</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_tQ0FsMlZ7qQ/TQV3R1v5DAI/AAAAAAAAATw/Q5CqKwhEtjU/s72-c/IMG_1224.JPG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://benstechcents.blogspot.com/2011/01/modernizing-1947-am-radio.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0MEQns9eSp7ImA9Wx9WFU0.&quot;"><id>tag:blogger.com,1999:blog-8608636833409525289.post-8908574738775251888</id><published>2010-02-08T05:00:00.000-08:00</published><updated>2011-01-19T21:30:03.561-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-01-19T21:30:03.561-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Prepaid mobile phone" /><title>Prepaid mobile phone cost comparison</title><content type="html">Using a mobile phone with a traditional service plan is not a cheap way to make phone calls, but they are so useful they've become the ubiquitous gadget.  And while there's a lot of advertising that promotes the latest mobile phones, you'll have to look much harder to find out what the real cost of ownership will be to use it for a year.  My research into this shows that prepaid mobile phone service can save you a lot of money.&lt;br /&gt;&lt;br /&gt;A few years ago I had a standard cell phone family plan that I shared with my wife.  It was pretty basic with 500 minutes, free calling between our phones, and the standard free weekends, all for only $50 per month (really $64 after taxes and extra fees).  After our 2 year contracts expired I started shopping around and concluded that prepaid service was far more cost effective for us.&lt;br /&gt;&lt;br /&gt;Here is &lt;a href="http://spreadsheets.google.com/ccc?key=0AuMADrsq3g2RdDNqYWxVTFpRSkRMM29kcXMwVHc3NVE&amp;amp;hl=en"&gt;the spreadsheet&lt;/a&gt; I use to compare the real cost of each of the plans.  You can download a copy of the spreadsheet and adjust the numbers for yourself.  To use the spreadsheet  you need to add up all the minutes you used over a year (even if they were "free" minutes). We needed 2 phones so I only included family plans, and since we aren't heavy text message users I did not consider that in my calculations.  If you need lots of text messages or a data plan then you probably won't find a suitable prepaid plan today (sorry iPhone fans).  I'm hopeful that a data option will come to prepaid in the future but I'm not going to hold my breath.&lt;br /&gt;&lt;br /&gt;Prepaid services can get confusing too, with variable per minute cost and minute expiration periods.  The best ones I've found are &lt;a href="http://www.net10.com/"&gt;Net10&lt;/a&gt;, which is always 10 cents with only the expiration time varying (up to 6 months based on how much you spend upfront), and &lt;a href="http://www.t-mobile.com/shop/plans/prepaid-plans.aspx"&gt;T-Mobile&lt;/a&gt; which is 10 cents and last 1 year when you add $100 increments.&lt;br /&gt;&lt;br /&gt;Check them out and run the numbers for yourself.  If you have suggestions about how to improve the spreadsheet or tips for lower cost mobile phone services please share them in the comments.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8608636833409525289-8908574738775251888?l=benstechcents.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/beZO-WF1yJdzn13dJvMBbDf80Qg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/beZO-WF1yJdzn13dJvMBbDf80Qg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/beZO-WF1yJdzn13dJvMBbDf80Qg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/beZO-WF1yJdzn13dJvMBbDf80Qg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BensTechCents/~4/wT6_1W8w1U0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://benstechcents.blogspot.com/feeds/8908574738775251888/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8608636833409525289&amp;postID=8908574738775251888" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8608636833409525289/posts/default/8908574738775251888?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8608636833409525289/posts/default/8908574738775251888?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BensTechCents/~3/wT6_1W8w1U0/prepaid-mobile-phone-cost-comparison.html" title="Prepaid mobile phone cost comparison" /><author><name>Ben</name><uri>http://www.blogger.com/profile/01678870097840459001</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>1</thr:total><feedburner:origLink>http://benstechcents.blogspot.com/2010/02/prepaid-mobile-phone-cost-comparison.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkUDRnw6eip7ImA9WxBRGU4.&quot;"><id>tag:blogger.com,1999:blog-8608636833409525289.post-1467654092068299000</id><published>2010-01-07T23:00:00.000-08:00</published><updated>2010-01-07T23:04:37.212-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-07T23:04:37.212-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Wireless router" /><title>Upgrade a wireless router with Linux</title><content type="html">Wireless routers are cheap and often the firmware they come with shows it.&lt;br /&gt;It can be buggy, unstable and require you to reboot the router frequently to maintain your internet connection.  If you're a network geek like me you've probably heard you can run linux on your home firewall router. Projects like &lt;a href="http://www.dd-wrt.com/"&gt;dd-wrt&lt;/a&gt; and &lt;a href="http://openwrt.org/"&gt;OpenWrt&lt;/a&gt; both offer excellent ways to do that.&lt;br /&gt;&lt;br /&gt;You need a router that is supported and there are many so you may already own one. You can buy the Asus WL-520gU at &lt;a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16833320023"&gt;Newegg&lt;/a&gt; for under $40.  It's a bargain with it's USB ports and Linux compatibility.  Asus even mentions support for dd-wrt on their product description.&lt;br /&gt;&lt;br /&gt;I use OpenWRT at home and it's been great. I've also recently tried dd-wrt and it was so easy to install and setup that I figured I'd write about it to encourage others to try it.  If you're not comfortable configuring you current router this may not be something you want to attempt.&lt;br /&gt;&lt;br /&gt;Before you start I recommend reading the official documentation specific to your router. For my Asus router the &lt;a href="http://www.dd-wrt.com/wiki/index.php/Asus_WL-520GU"&gt;instructions are here&lt;/a&gt;. After reading that, you can follow the list below which summarizes the steps to install this new firmware.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;connect an ethernet cable between your computer and the router&lt;/li&gt;&lt;li&gt;configure your computer with the manual address 192.168.1.2&lt;/li&gt;&lt;li&gt;hold in the recessed reset button while you connect the power cable to the router&lt;/li&gt;&lt;li&gt;the router power light will flash slowly to indicate it is ready to receive the new firmware (then you can release the reset button)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;load the latest "Standard Generic" .bin &lt;a href="http://www.dd-wrt.com/site/support/router-database"&gt;firmware file&lt;/a&gt; for your router with the &lt;a href="http://www.dd-wrt.com/wiki/index.php/Asus_TFTP_Flash"&gt;tftp command&lt;/a&gt; &lt;/li&gt;&lt;li&gt;then wait 10 minutes and login to your router at http://192.168.1.1 and setup the admin password&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8608636833409525289-1467654092068299000?l=benstechcents.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/hGIcEFcEB1JTFIzXw6J0ordMCi4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hGIcEFcEB1JTFIzXw6J0ordMCi4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/hGIcEFcEB1JTFIzXw6J0ordMCi4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hGIcEFcEB1JTFIzXw6J0ordMCi4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BensTechCents/~4/r2UzmzBwIvo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://benstechcents.blogspot.com/feeds/1467654092068299000/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8608636833409525289&amp;postID=1467654092068299000" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8608636833409525289/posts/default/1467654092068299000?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8608636833409525289/posts/default/1467654092068299000?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BensTechCents/~3/r2UzmzBwIvo/upgrade-wireless-router-with-linux.html" title="Upgrade a wireless router with Linux" /><author><name>Ben</name><uri>http://www.blogger.com/profile/01678870097840459001</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://benstechcents.blogspot.com/2010/01/upgrade-wireless-router-with-linux.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0YBSX46eCp7ImA9WxNXE0s.&quot;"><id>tag:blogger.com,1999:blog-8608636833409525289.post-5379282578124615133</id><published>2009-09-30T18:30:00.000-07:00</published><updated>2009-09-30T18:39:18.010-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-30T18:39:18.010-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Photography" /><title>Eye-Fi and workflows</title><content type="html">What is your digital photography workflow? Most amateur photographers like me probably don't think about it very often.  It's the theme of this post because I bought an &lt;a href="http://www.eye.fi/"&gt;Eye-Fi Explorer card&lt;/a&gt;  for my new camera and it's whole purpose is to change how you handle digital photos.&lt;br /&gt;&lt;br /&gt;The story of the new camera is pretty standard.  My old Canon S230 broke (note to self: don't let a 2 year old use the new camera).  To replace it I got a Canon SD980 which records HD video (720p h264) and has a 24MM wide angle lens (the extra wide angle is nice).  Like most new cameras it uses SDHC flash cards and that research lead me to the Eye-Fi.&lt;br /&gt;&lt;br /&gt;The Eye-Fi card is an SHDC card that can connect WiFi networks and upload pictures to your computer.  The software that receives the pictures can then use the log of WiFi networks to &lt;a href="http://www.google.com/search?q=geotag"&gt;Geotag&lt;/a&gt; each picture. Okay, that really glosses over this amazing miniature technology but it's enough for this post.  At $100 it's significantly more expensive than a standard 4GB SHDC that are around $15 now, but I imagined all the cool things it could do and it seemed worth the premium.&lt;br /&gt;&lt;br /&gt;This is my workflow:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;After I take the photos, I put the SD card in a card reader and plug it into my computer.&lt;/li&gt;&lt;li&gt;Then I run a script which copies all the files on the card to a folder on my web server. I just tell it the name of the folder to put the files in.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Last I view the folder in my web browser on &lt;a href="http://benspicgallery.sourceforge.net/"&gt;my picture gallery&lt;/a&gt; site to add descriptions and delete any pictures that are not worth saving.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;I expected the Eye-Fi card would let me skip the first 2 steps, but quickly discovered a few of its limitations. First the Eye-Fi card won't delete files after it has transferred them to the server.  This puts a big kink in my plan, as I either have to manually delete each photo on the camera after verifying that it has been uploaded to the server or keep doing the first 2 steps.  The other issue I discovered was that the video recordings on my nice new SD980 had audio static noise caused by interference generated by the radio transmitter in the Eye-Fi card. This meant I couldn't use the Eye-Fi card in my new camera, and while the company was aware of the problem they couldn't provide any assurance that it would ever be fixed.&lt;br /&gt;&lt;br /&gt;There's no doubt the Eye-Fi card is an amazing device.  The company seems to be friendly to the small group of Linux users who have made &lt;a href="http://returnbooleantrue.blogspot.com/2009/04/eye-fi-standalone-server-version-20.html"&gt;a few&lt;/a&gt; &lt;a href="http://kin.klever.net/iii/"&gt;versions&lt;/a&gt; &lt;a href="http://randomtechmakings.blogspot.com/2009/01/i-bought-eye-fi-sd-card-few-weeks-ago.html"&gt;of the&lt;/a&gt; receiving software.  I even added geotagging to one for my own use.  If the issues I found are ever fixed will definitely try Eye-Fi card again.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8608636833409525289-5379282578124615133?l=benstechcents.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Fh_4nCuXHIWx7-HPlID8CL8Dt7w/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Fh_4nCuXHIWx7-HPlID8CL8Dt7w/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Fh_4nCuXHIWx7-HPlID8CL8Dt7w/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Fh_4nCuXHIWx7-HPlID8CL8Dt7w/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BensTechCents/~4/Ws54eHLDAw0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://benstechcents.blogspot.com/feeds/5379282578124615133/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8608636833409525289&amp;postID=5379282578124615133" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8608636833409525289/posts/default/5379282578124615133?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8608636833409525289/posts/default/5379282578124615133?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BensTechCents/~3/Ws54eHLDAw0/eye-fi-and-workflows.html" title="Eye-Fi and workflows" /><author><name>Ben</name><uri>http://www.blogger.com/profile/01678870097840459001</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://benstechcents.blogspot.com/2009/09/eye-fi-and-workflows.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkUNRns6cCp7ImA9WxNXEUw.&quot;"><id>tag:blogger.com,1999:blog-8608636833409525289.post-1358537847862468919</id><published>2009-07-24T23:00:00.000-07:00</published><updated>2009-09-27T22:04:57.518-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-27T22:04:57.518-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Photography" /><title>Hosting your own photo gallery</title><content type="html">If you're a serious shutterbug you probably know about &lt;a href="http://www.flickr.com/"&gt;Flickr&lt;/a&gt;, &lt;a href="http://picasa.google.com/"&gt;Picassa&lt;/a&gt;, and &lt;a href="http://www.smugmug.com/"&gt;SmugMug&lt;/a&gt;.  Here's another option: you can host your gallery on your own server for free!  There are numerous programs you can use to accomplish this and I've tried a lot of them (oh yes &lt;a href="http://gallery.menalto.com/"&gt;there&lt;/a&gt; &lt;a href="http://www.jakeo.com/software/fotopholder/"&gt;are&lt;/a&gt; &lt;a href="http://jalbum.net/"&gt;a&lt;/a&gt; &lt;a href="http://sourceforge.net/search/?type_of_search=soft&amp;amp;words=Picture+Gallery"&gt;lot&lt;/a&gt;!), but I never found one that was quite right for me.  I wanted something simple with an easy interface that would automatically process my pictures and store any descriptions I added inside the original jpeg file, so I wouldn't lose them if I switch to another program later.&lt;br /&gt;&lt;br /&gt;Being a software pro I decided to write my own program.  Late in 2006 I began working on my program and soon published my "&lt;a href="http://benspicgallery.sourceforge.net/"&gt;Ben's Picture Gallery&lt;/a&gt;" project on Sourceforge.  I realize the name isn't very creative but it's hard to choose a good one.  I worked on it through 2007 and then moved on to other projects.  This year I finally came back to this project and gave it a modern web standards-compliant upgrade.  Thanks to &lt;a href="http://jquery.com/"&gt;jQuery&lt;/a&gt; it got a lot of cool interface features.  It also plays much higher quality videos with h.264/mp4.&lt;br /&gt;&lt;br /&gt;I have over 16,000 photos that occupy 46 Gigabytes of hard disk space.  My collection is growing at a rate of about 10 Gigabytes per year, and I expect this rate will more than double if I buy a video camera.  That's a lot of photos!  At this rate I'm likely to stay well over the free quota limits of the popular sites like Flikr so I'll probably keep hosting my own pictures for a while.&lt;br /&gt;&lt;br /&gt;It's actually not that difficult to host this on your own stay at home server so your friends and family can view them anytime.  You need to run a web server and install your &lt;a href="http://benspicgallery.sourceforge.net/"&gt;photo gallery software&lt;/a&gt; (on a Mac it is as easy as turning on "Web Sharing" in the System Preferences).  You also need to get a dynamic DNS name from a service like &lt;a href="http://www.dyndns.com/"&gt;DynDNS&lt;/a&gt;.  Finally you'll need to open up port 80 on your router to let visitors access your web site.  That's it!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8608636833409525289-1358537847862468919?l=benstechcents.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/lSwWUmUGWWtiMhrNbIA2vWy8eUc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/lSwWUmUGWWtiMhrNbIA2vWy8eUc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/lSwWUmUGWWtiMhrNbIA2vWy8eUc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/lSwWUmUGWWtiMhrNbIA2vWy8eUc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BensTechCents/~4/3-Z367J-Y8c" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://benstechcents.blogspot.com/feeds/1358537847862468919/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8608636833409525289&amp;postID=1358537847862468919" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8608636833409525289/posts/default/1358537847862468919?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8608636833409525289/posts/default/1358537847862468919?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BensTechCents/~3/3-Z367J-Y8c/hosting-your-own-photo-gallery.html" title="Hosting your own photo gallery" /><author><name>Ben</name><uri>http://www.blogger.com/profile/01678870097840459001</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>1</thr:total><feedburner:origLink>http://benstechcents.blogspot.com/2009/07/hosting-your-own-photo-gallery.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUIFQ3c9cSp7ImA9WxBSF0s.&quot;"><id>tag:blogger.com,1999:blog-8608636833409525289.post-2148982667016430322</id><published>2009-03-19T21:30:00.000-07:00</published><updated>2009-12-25T09:51:52.969-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-25T09:51:52.969-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="USB battery charging" /><title>Homemade USB multi-charging</title><content type="html">USB is quickly becoming the worldwide standard for battery charging. Most new small electronic devices come with a USB cable that will charge it.  This is a great feature to look for when buying a new device.  It's more convenient for you and better for the environment when you use a single cable and power adapter to charge multiple devices.  Unfortunately due to myopic designers and legacy devices, many of us own devices that don't have USB connections.  Luckily it's not hard to fix many of these devices.&lt;br /&gt;&lt;br /&gt;I wanted to travel with a minimal charging equipment, and have convenient charging for multiple devices at home.  I had 2 mobile phones, an iPod, a GPS, 2 digital cameras, and a number of other devices that used AA and AAA batteries.  Except for the cameras I can now charge everything from a single USB hub.  I plan to make this a high priority next time I buy a camera.&lt;br /&gt;&lt;br /&gt;This is what I used:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;USB power adapter (search ebay for "usb charger"). They are cheap and small and you can get one for your home and car.&lt;/li&gt;&lt;li&gt;a USB hub (also cheap and small on ebay)&lt;/li&gt;&lt;li&gt;USB AA battery charger (ebay again, also charges AAA bateries)&lt;/li&gt;&lt;li&gt;a few old USB cables&lt;/li&gt;&lt;li&gt;a soldering iron, solder and heat shrink tubing&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_tQ0FsMlZ7qQ/ScU6hnmLfOI/AAAAAAAAAII/skOGaxc6pU0/s1600-h/multi-charging.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 273px;" src="http://1.bp.blogspot.com/_tQ0FsMlZ7qQ/ScU6hnmLfOI/AAAAAAAAAII/skOGaxc6pU0/s320/multi-charging.JPG" alt="" id="BLOGGER_PHOTO_ID_5315719284419951842" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;For small devices (like mobile phones) check the markings on the chargers.  The ones that output 5VDC (that's 5 Volts of DC power) can be converted to USB.  All you need to do is cut off the cable and replace the wall brick with a USB plug.  When you solder the USB plug just make sure the pins 1 and 4 match the polarity of the power adapter for your device. A basic multimeter and the &lt;a href="http://pinouts.ru/Slots/USB_pinout.shtml"&gt;USB pinout&lt;/a&gt; will help.&lt;br /&gt;&lt;br /&gt;For my phones I cut the plugs from the original charger and an old USB cable then soldered them together.  The GPS was new enought to charge with USB, but the iPod was more involved.&lt;br /&gt;&lt;br /&gt;You'll probably find out that iPods, and many other devices that use Mini USB charging cables only charge from the original cable.  This is because they have added extra resistors and designed the device to only charge when it detect them in the original "charger" cable.  The iPods have the resistors in the power brick so you need to make a &lt;a href="http://www.instructables.com/id/S689SIFFKHQCSIM/"&gt;special USB cable&lt;/a&gt; for it and add some resistors to convince the iPod to charge (four 47K resistors work well).  Motorola  put the resistors in the end of the mini-USB plug, so you can just cut the original cable and use the original plug.&lt;br /&gt;&lt;br /&gt;Have fun and don't forget good ventilation when you are soldering.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8608636833409525289-2148982667016430322?l=benstechcents.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/weEDRbq4SKNId3D47OG3eAPZQgg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/weEDRbq4SKNId3D47OG3eAPZQgg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/weEDRbq4SKNId3D47OG3eAPZQgg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/weEDRbq4SKNId3D47OG3eAPZQgg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BensTechCents/~4/E-kU1Sc7sy0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://benstechcents.blogspot.com/feeds/2148982667016430322/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8608636833409525289&amp;postID=2148982667016430322" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8608636833409525289/posts/default/2148982667016430322?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8608636833409525289/posts/default/2148982667016430322?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BensTechCents/~3/E-kU1Sc7sy0/homemade-usb-multi-charging.html" title="Homemade USB multi-charging" /><author><name>Ben</name><uri>http://www.blogger.com/profile/01678870097840459001</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_tQ0FsMlZ7qQ/ScU6hnmLfOI/AAAAAAAAAII/skOGaxc6pU0/s72-c/multi-charging.JPG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://benstechcents.blogspot.com/2009/03/homemade-usb-multi-charging.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEBRXo5fSp7ImA9WxBSF0s.&quot;"><id>tag:blogger.com,1999:blog-8608636833409525289.post-7693503321509149768</id><published>2009-03-09T13:00:00.000-07:00</published><updated>2009-12-25T09:54:14.425-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-25T09:54:14.425-08:00</app:edited><title>iCal reads Exchange calendars with Exchangeling</title><content type="html">Recently my workplace decided to require everyone to use Exchange 2007.  If you are a Mac or Linux user and work in an organization that uses Microsoft Exchange you know it's not much fun.  The email isn't reasonable cross platform since it supports IMAP (even if it has a few bugs), but the calendar virtually requires using Windows.&lt;br /&gt;&lt;br /&gt;If you have a Mac you can try to use Entourage but it's a resource hog and not well supported.  You might try to use the web version (Outlook Web Access) but unless you use Internet Explorer it's almost worthless.  You could also use Windows with Remote Desktop or a virtual machine but that's not very convenient.&lt;br /&gt;&lt;br /&gt;Luckily one of my co-workers found the Exchange &lt;a href="http://msdn.microsoft.com/en-us/library/aa566050.aspx"&gt;web service reference&lt;/a&gt; and we used it to build a Java application that converts calendars to the iCalendar format.  If you find any of this interesting you'll want to take a closer look at our &lt;a href="http://code.google.com/p/exchangeling/"&gt;Exchangeling project&lt;/a&gt;.  It's the missing iCalendar feature for Microsoft Exchange.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8608636833409525289-7693503321509149768?l=benstechcents.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/WSmCVtyLNXy56dhemF6RpkP3jE4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/WSmCVtyLNXy56dhemF6RpkP3jE4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/WSmCVtyLNXy56dhemF6RpkP3jE4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/WSmCVtyLNXy56dhemF6RpkP3jE4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BensTechCents/~4/njka7Ic07M8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://benstechcents.blogspot.com/feeds/7693503321509149768/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8608636833409525289&amp;postID=7693503321509149768" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8608636833409525289/posts/default/7693503321509149768?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8608636833409525289/posts/default/7693503321509149768?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BensTechCents/~3/njka7Ic07M8/ical-reads-exchange-calendars-with.html" title="iCal reads Exchange calendars with Exchangeling" /><author><name>Ben</name><uri>http://www.blogger.com/profile/01678870097840459001</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>2</thr:total><feedburner:origLink>http://benstechcents.blogspot.com/2009/03/ical-reads-exchange-calendars-with.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEFSHkycSp7ImA9WxBSF0s.&quot;"><id>tag:blogger.com,1999:blog-8608636833409525289.post-8997789580767955216</id><published>2009-01-05T23:00:00.000-08:00</published><updated>2009-12-25T09:53:39.799-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-25T09:53:39.799-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="HDTV MythTV" /><title>Making an AppleTV into a MythTV Frontend</title><content type="html">The AppleTV makes an excellent MythTV frontend that can play 1080i HDTV. Buying a used one on Ebay is probably the cheapest way to get a HD capable frontend for MythTV.&lt;br /&gt;&lt;br /&gt;I was curious about the stock AppleTV software, so I tried it for a few days but found it too restrictive.  The picture browsing was only usable for a small number of pictures and the video player could only play a few video formats.  The YouTube and Flickr features seemed nice but were not essential features to me.  If you like the iTunes store then you might want to keep using the AppleTV software as that's what it was designed for.&lt;br /&gt;&lt;br /&gt;But this is about MythTV and it's time to move on to the good stuff.&lt;br /&gt;As this is a followup to my &lt;a href="http://benstechcents.blogspot.com/2008/07/hdtv-on-macbook-with-mythtv.html"&gt;earlier MythTV post&lt;/a&gt; you'd already need the MythTV backend setup.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What you need:&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;an AppleTV&lt;br /&gt;&lt;/li&gt;&lt;li&gt;a USB flash drive 1GB or larger&lt;/li&gt;&lt;li&gt;a USB hub, keyboard, and mouse&lt;/li&gt;&lt;li&gt;a programmable universal remote control&lt;br /&gt;(my Harmony 550 from &lt;a href="http://newegg.com/"&gt;Newegg&lt;/a&gt; is great)&lt;/li&gt;&lt;/ol&gt;&lt;span style="font-weight: bold;"&gt;These are the steps&lt;/span&gt;:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Connect the AppleTV to your TV/projector with the HDMI cable and whatever audio cables you want to connect.&lt;br /&gt;I got my cables from &lt;a href="http://www.monoprice.com/"&gt;MonoPrice&lt;/a&gt; (they have HDMI to DVI cables if you need one)&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Create a &lt;a href="http://code.google.com/p/atv-bootloader/wiki/LinuxUSBPenBoot"&gt;bootable USB flash disk&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://code.google.com/p/atv-bootloader/wiki/ATVBackup"&gt;Backup the AppleTV&lt;/a&gt; software&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://code.google.com/p/atv-bootloader/wiki/PartitioningLinux"&gt;Reformat the internal drive&lt;/a&gt; for Linux&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://code.google.com/p/atv-bootloader/wiki/InstallMythBuntu"&gt;Install MythBuntu 8.10&lt;/a&gt; (I have upgraded to 9.04 without any problems)&lt;br /&gt;you'll need the keyboard and mouse for this&lt;br /&gt;choose the latest Nvida driver (I used version 177)&lt;br /&gt;enable VNC during the installation so you won't need the keyboard and mouse later&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;After installation remember to do the "&lt;a href="http://code.google.com/p/atv-bootloader/wiki/PostMythbuntuHardy"&gt;Post Boot Fixes&lt;/a&gt;"&lt;br /&gt;The ones for "Mythbuntu Hardy" also work for 8.10 (Intrepid)&lt;br /&gt;&lt;br /&gt;In the &lt;code&gt;/usr/sbin/nvidia_hang_fix.sh&lt;/code&gt; file I had to use &lt;code&gt;200,720&lt;/code&gt; for &lt;code&gt;GPU2DClockFreqs&lt;/code&gt; instead of the recommended &lt;code&gt;200,800&lt;/code&gt; (the 177 driver won't allow overclocking above 720).&lt;br /&gt;This fixes 1080i playback stability (no more green distortion and freezing).&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://code.google.com/p/atv-bootloader/wiki/UpdateIRDriver#Setup_LIRC"&gt;Setup the remote&lt;/a&gt; control (follow the instructions from this link)&lt;br /&gt;These are most of the files and commands you'll need to use.&lt;br /&gt;&lt;code&gt;/etc/lirc/hardware.conf&lt;/code&gt;&lt;br /&gt;&lt;code&gt;sudo /etc/init.d/lirc stop&lt;/code&gt;&lt;br /&gt;&lt;code&gt;sudo irrecord -H macmini -d /dev/usb/hiddev0 /etc/lirc/lircd-new&lt;/code&gt;&lt;br /&gt;&lt;code&gt;/etc/lirc/lircd.conf&lt;/code&gt;&lt;br /&gt;&lt;code&gt;~/.lirc/mythtv&lt;/code&gt;&lt;br /&gt;&lt;code&gt;~/.lirc/mplayer&lt;/code&gt;&lt;br /&gt;&lt;code&gt;irw /dev/lircd&lt;/code&gt;&lt;br /&gt;&lt;code&gt;sudo /etc/init.d/lirc start&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;The Apple remote has only 6 buttons, so have your programmable remote "learn" those 6 and then hold the menu and play button for 5 seconds and then the Apple remote will have 6 new codes for your programmable remote to learn.&lt;br /&gt;&lt;br /&gt;If the remote repeats buttons too quickly increase the &lt;code&gt;repeat&lt;/code&gt; value in &lt;code&gt;~/.lirc/mythtv&lt;/code&gt; (mine is set to &lt;code&gt;5&lt;/code&gt; and and the delay is &lt;code&gt;0&lt;/code&gt;)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Edit &lt;code&gt;/etc/X11/xorg.conf&lt;/code&gt; and remove all the extra screen resolutions&lt;br /&gt;(my projector is 1280x720 so I left that one and removed the rest)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Autostart irexec&lt;br /&gt;Applications -&gt; Settings -&gt; Settings Manager -&gt; Autostarted Apps&lt;br /&gt;add command "irexec -d"&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;The AppleTV CPU is not very powerful so you'll want to disable CPU intensive MythTV theme options&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Setup -&gt; Appearance&lt;br /&gt;"Use Transparent Boxes" unchecked&lt;br /&gt;"Popup Background Shading Method" None&lt;/li&gt;&lt;li&gt;Setup -&gt; TV Settings -&gt; Program Guide&lt;br /&gt;"Guide Shading Method" Eco&lt;/li&gt;&lt;li&gt;Setup -&gt; TV Settings -&gt; Playback&lt;br /&gt;"Current Video Playback Profile" CPU--&lt;br /&gt;"Display thumbnail preview images of recordings" unchecked&lt;br /&gt;"Display live preview of recordings" unchecked&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;I setup a rsync cron job to sync my pictures to the AppleTV hard drive&lt;br /&gt;&lt;code&gt;rsync -rl --delete --size-only --stats -h -e 'ssh -c blowfish' ~/photos/ appletv:/var/lib/mythtv/pictures/&lt;/code&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;I keep all my video files on my backend with the big hard drive and use NFS to mount them on the AppleTV.&lt;br /&gt;edit &lt;code&gt;/etc/exports&lt;/code&gt; on the backend to share the NFS directory&lt;br /&gt;edit &lt;code&gt;/etc/fstab&lt;/code&gt; on the frontend to automatically mount the NFS shared directory&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;One caveat is that the TV/projector needs to be turned on when the AppleTV is booted or Xorg won't detect/enable the display and won't startup.  If you know how to solve this please let me know.&lt;/span&gt;&lt;br /&gt;UPDATE:  This is resolved thanks to Will's comments.  The forum with the solution is here &lt;a href="http://ubuntuforums.org/showthread.php?t=913224"&gt;http://ubuntuforums.org/showthread.php?t=913224&lt;/a&gt;, and the concise version is:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;run &lt;code&gt;xvidtune -show&lt;/code&gt;&lt;br /&gt;edit the &lt;code&gt;/etc/X11/xorg.conf file&lt;/code&gt;&lt;br /&gt;add the output from xvidtune to the "Monitor" section as a "modeline"&lt;br /&gt;add &lt;code&gt;Option "ExactModeTimingsDVI" "True"&lt;/code&gt; to the "Screen" section&lt;br /&gt;add &lt;code&gt;Option "ConnectedMonitor" "DFP"&lt;/code&gt; to the "Screen" section&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;References:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://code.google.com/p/atv-bootloader/"&gt;http://code.google.com/p/atv-bootloader/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.mythbuntu.org/"&gt;http://www.mythbuntu.org/&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8608636833409525289-8997789580767955216?l=benstechcents.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/67RBXKOYXyesWfOOjDX9hY7e6lE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/67RBXKOYXyesWfOOjDX9hY7e6lE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/67RBXKOYXyesWfOOjDX9hY7e6lE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/67RBXKOYXyesWfOOjDX9hY7e6lE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BensTechCents/~4/jAPUi-cGioA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://benstechcents.blogspot.com/feeds/8997789580767955216/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8608636833409525289&amp;postID=8997789580767955216" title="10 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8608636833409525289/posts/default/8997789580767955216?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8608636833409525289/posts/default/8997789580767955216?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BensTechCents/~3/jAPUi-cGioA/making-appletv-into-mythtv-frontend.html" title="Making an AppleTV into a MythTV Frontend" /><author><name>Ben</name><uri>http://www.blogger.com/profile/01678870097840459001</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>10</thr:total><feedburner:origLink>http://benstechcents.blogspot.com/2009/01/making-appletv-into-mythtv-frontend.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CU8HR3s9cCp7ImA9WxBSF0s.&quot;"><id>tag:blogger.com,1999:blog-8608636833409525289.post-6145265636450183102</id><published>2008-11-01T17:20:00.000-07:00</published><updated>2009-12-25T09:57:16.568-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-25T09:57:16.568-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Geo location Mac widget" /><title>WiFi Location Mac Dashboard Widget</title><content type="html">&lt;a style="" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://7373.us/%7Ebenroy/software/LocateMe-widget.zip"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 79px; height: 80px;" src="http://4.bp.blogspot.com/_tQ0FsMlZ7qQ/SQzyehcrPXI/AAAAAAAAAHY/UO1C2rXYe_Y/s200/locateme.png" alt="" id="BLOGGER_PHOTO_ID_5263848670677908850" border="0" /&gt;&lt;/a&gt;LocateMe is &lt;a href="http://support.apple.com/kb/HT2492"&gt;a widget&lt;/a&gt; I built for the Mac that displays your current location and lets you click to see it on Google maps.  If you are ever lost with your laptop or just don't want to look at street signs this could be handy to have available.  You can &lt;a href="http://7373.us/%7Ebenroy/software/LocateMe-widget.zip"&gt;download it here&lt;/a&gt;, then just unzip it and double click to install it to the Dashboard.&lt;br /&gt;&lt;br /&gt;It uses the same system as the iPhone to determine your location based on the WiFi access points you can see (&lt;a href="http://www.skyhookwireless.com/"&gt;Skyhook Wireless&lt;/a&gt; also has an add on for browsers).  Someone has actually driven around many US cities and mapped all the wireless networks that are visible. All the widget does is send them a list of access points and it gets your latitude and longitude.&lt;br /&gt;&lt;br /&gt;You may be wondering how I built this?  Well it took about 4 hours using Dashcode.  The widget map comes from the &lt;a href="http://tiger.census.gov/cgi-bin/mapbrowse-tbl/"&gt;Tiger census&lt;/a&gt; system.  The information about accessing the location service came from &lt;a href="http://coderrr.wordpress.com/2008/09/10/get-the-physical-location-of-wireless-router-from-its-mac-address-bssid/"&gt;Steve's blog&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;It's a pretty cool, so try it out!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8608636833409525289-6145265636450183102?l=benstechcents.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/IBUysck6iJUt37znM_YnkFUHxxA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/IBUysck6iJUt37znM_YnkFUHxxA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/IBUysck6iJUt37znM_YnkFUHxxA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/IBUysck6iJUt37znM_YnkFUHxxA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BensTechCents/~4/DASRekGfevk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://benstechcents.blogspot.com/feeds/6145265636450183102/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8608636833409525289&amp;postID=6145265636450183102" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8608636833409525289/posts/default/6145265636450183102?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8608636833409525289/posts/default/6145265636450183102?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BensTechCents/~3/DASRekGfevk/wifi-location-mac-dashboard-widget.html" title="WiFi Location Mac Dashboard Widget" /><author><name>Ben</name><uri>http://www.blogger.com/profile/01678870097840459001</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_tQ0FsMlZ7qQ/SQzyehcrPXI/AAAAAAAAAHY/UO1C2rXYe_Y/s72-c/locateme.png" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://benstechcents.blogspot.com/2008/11/wifi-location-mac-dashboard-widget.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0cDRng9eCp7ImA9WxBbGEU.&quot;"><id>tag:blogger.com,1999:blog-8608636833409525289.post-8794366937191778816</id><published>2008-09-18T22:20:00.000-07:00</published><updated>2010-03-17T22:11:17.660-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-17T22:11:17.660-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Backup server" /><title>Building a secure network backup server</title><content type="html">I've been taking digital photos for a few years and now have a collection of photos and videos with significant value to me.  Most of these photos only exist on the hard disk in my computer.  Since hard disks do occasionally break, the only way I can be sure my photos will be preserved is to keep backup copies of the files.&lt;br /&gt;&lt;br /&gt;In this post I'll describe the backup system I built.  It automatically backs up each computer in my house and keeps a secure copy at my parent's house.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_tQ0FsMlZ7qQ/SHaHr-l7VZI/AAAAAAAAAE4/c3xn4nN0uT8/s1600-h/backup.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_tQ0FsMlZ7qQ/SHaHr-l7VZI/AAAAAAAAAE4/c3xn4nN0uT8/s200/backup.png" alt="" id="BLOGGER_PHOTO_ID_5221510007588869522" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;(Thanks to &lt;a href="http://theflyingpencil.blogspot.com/"&gt;MISS J&lt;/a&gt; for this illustration)&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;There were a number of  design goals for this system.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;It had to be fully automatic during daily use.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;It needed to backup multiple computers with hundreds of gigabytes of disk storage.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;It needed to only store changes between each backup, so that multiple copies would not consume excessive hard disk space.&lt;/li&gt;&lt;li&gt;It must only send the changes across the network connections, since there's not enough time or bandwidth to send everything every day.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;It needed to automatically maintain an off-site copy.&lt;/li&gt;&lt;li&gt;The off-site copy needed to be encrypted before it was sent over the network so there would be no expectation of security or privacy on the internet or at the off-site location.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;An overview of how it works:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Linux and Mac computers run backup scripts that perform these tasks:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;turn on the backup server&lt;/li&gt;&lt;li&gt;rotate a set of backups&lt;/li&gt;&lt;li&gt;use rsync + ssh + encfs to make a new backup&lt;/li&gt;&lt;li&gt;tell the backup server they are finished so it can turn itself off&lt;/li&gt;&lt;/ol&gt;The backup server is a computer with a big hard disk and no monitor.  It runs &lt;a href="http://www.debian.org/"&gt;Debian&lt;/a&gt; because it's very stable and easy to install without the graphic interface.  The OS is just the basic Debian installation plus a few extra packages.  If the off-site backup is more than 1 day old the server updates it before turning itself off.&lt;br /&gt;&lt;br /&gt;The off-site location can be any computer that you have ssh access to.  In my case there was an &lt;a href="http://openwrt.org/"&gt;OpenWRT&lt;/a&gt; router available that I attached a USB hard disk to and added my public ssh key to allow automated connections.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Setting up the backup server:&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;install &lt;a href="http://www.debian.org/"&gt;Debian&lt;/a&gt; on an old computer with a big hard drive.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;I am using a AMD 1.4Ghz with a 500GB SATA drive&lt;/li&gt;&lt;li&gt;desktop partitioning, 4GB for / and the rest for /home&lt;/li&gt;&lt;li&gt;don't install any extra packages from the installer&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;apt-get install ntpdate&lt;/code&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;install extra packages&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;apt-get install ssh&lt;/code&gt;&lt;/li&gt;&lt;li&gt;edit /etc/ssh/sshd_config&lt;br /&gt;&lt;code&gt;PermitRootLogin no&lt;/code&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;enable the serial console (optional)&lt;br /&gt;&lt;ul&gt;&lt;li&gt;edit /boot/grub/menu.lst&lt;br /&gt;&lt;code&gt;## display the grub menu on the serial port COM1 or the normal console&lt;br /&gt;serial --unit=0 --speed=9600 --word=8 --parity=no --stop=1&lt;br /&gt;terminal --timeout=10 serial console&lt;br /&gt;# kopt=root=/dev/hda1 ro console=ttyS0,9600 console=tty0&lt;br /&gt;&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;update-grub&lt;/code&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;edit /etc/inittab to enable login on serial port&lt;br /&gt;&lt;code&gt;T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100&lt;/code&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;enable wakeonlan&lt;br /&gt;&lt;ul&gt;&lt;li&gt;make sure the PC BIOS will wake from PCI events or Wake-on-Lan signals&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;apt-get install ethtool apmd&lt;/code&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;add the following line to /etc/network/interfaces&lt;br /&gt;&lt;code&gt;up ethtool -s eth0 wol g&lt;/code&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;reboot then test sending a wakeonlan command&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;install fuse/encfs&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;apt-get install module-assistant build-essential&lt;/code&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;module-assistant prepare&lt;/code&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;module-assistant auto-install fuse&lt;/code&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;apt-get install encfs&lt;/code&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;modprobe fuse&lt;/code&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;add "fuse" to /etc/modules&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;setup sudo permissions in /etc/sudoers so all backup users can touch files in /var/run&lt;br /&gt;&lt;ul&gt;&lt;code&gt;User_Alias  USERS = user1, user2&lt;br /&gt;Cmnd_Alias  SHUTDOWN = /usr/bin/touch /var/run/*&lt;br /&gt;root    ALL=(ALL) ALL&lt;br /&gt;USERS   ALL = NOPASSWD: SHUTDOWN&lt;br /&gt;&lt;/code&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;setup shutdown_when_idle script&lt;br /&gt;&lt;ul&gt;&lt;li&gt;add &lt;a href="http://7373.us/%7Ebenroy/software/shutdown-when-idle.sh.txt"&gt;shutdown_when_idle script&lt;/a&gt; to /etc/crontab to run every minute&lt;br /&gt;&lt;/li&gt;&lt;li&gt;add &lt;a href="http://7373.us/%7Ebenroy/software/offsite-backup-sync.sh.txt"&gt;offsite-backup-sync.sh&lt;/a&gt; to /root&lt;/li&gt;&lt;li&gt;add &lt;a href="http://7373.us/%7Ebenroy/software/delayed-kill"&gt;delayed-kill&lt;/a&gt; to /root&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Setup the backup script on each client&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;del&gt;Mac users&lt;/del&gt;&lt;br /&gt;[UPDATE 3/18/2009 rsync on a Mac does not preserve the resource fork of files like fonts so I'm no longer using this.  I'm trying &lt;a href="http://www.crashplan.com"&gt;CrashPlan&lt;/a&gt; now.]&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;del&gt;put the &lt;a href="http://7373.us/%7Ebenroy/software/backup-script"&gt;backup script&lt;/a&gt; in /Applications/Utilities/backup-script.sh&lt;/del&gt;&lt;/li&gt;&lt;li&gt;&lt;del&gt;edit the backup script so that it uses the appropriate settings for you&lt;br /&gt;&lt;/del&gt;&lt;/li&gt;&lt;li&gt;&lt;del&gt;edit the backup_excludes.txt file and add any files you do not want to backup&lt;/del&gt;&lt;/li&gt;&lt;li&gt;&lt;del&gt;copy your ssh public key to the ~/.ssh/authorized_keys file on the backup server&lt;br /&gt;&lt;/del&gt;&lt;/li&gt;&lt;li&gt;&lt;del&gt;put the &lt;a href="http://7373.us/%7Ebenroy/software/backup.plist"&gt;backup.plist&lt;/a&gt; file /Library/LaunchDaemons/backup.plist&lt;/del&gt;&lt;ul&gt;&lt;li&gt;&lt;del&gt;this will run the backup script every time your network connections change or every few hours&lt;/del&gt;&lt;/li&gt;&lt;li&gt;&lt;del&gt;the backup script checks that it is connected to your home network and does the backup if it has been more than 20 hours since the last one&lt;/del&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ol&gt;Linux users&lt;br /&gt;&lt;ol&gt;&lt;li&gt;put the &lt;a href="http://7373.us/%7Ebenroy/software/backup-script"&gt;backup script&lt;/a&gt; in your home directory&lt;ul&gt;&lt;li&gt;I put mine in ~/backups/backup-script.sh&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;edit the backup script so that it uses the appropriate settings&lt;/li&gt;&lt;li&gt;edit the backup_excludes.txt file and add any files you do not want to backup&lt;/li&gt;&lt;li&gt;copy your ssh public key to the ~/.ssh/authorized_keys file on the backup server&lt;/li&gt;&lt;li&gt;add a cron job to run the backup script every day or as frequently as you want&lt;/li&gt;&lt;/ol&gt; &lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Always&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; room for improvement&lt;/span&gt;:&lt;br /&gt;An encryption method that is rsync friendly and could hide the directory structure would make the system more secure.  One other system that looks like it may also fulfill my requirements is &lt;a href="http://areca.sourceforge.net/"&gt;Areca Backup&lt;/a&gt;, and I may give it more consideration in the future.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8608636833409525289-8794366937191778816?l=benstechcents.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/cBxF6_xaCkeX96ZOXFgcEOCj37c/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/cBxF6_xaCkeX96ZOXFgcEOCj37c/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/cBxF6_xaCkeX96ZOXFgcEOCj37c/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/cBxF6_xaCkeX96ZOXFgcEOCj37c/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BensTechCents/~4/HZr1DJmIQr8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://benstechcents.blogspot.com/feeds/8794366937191778816/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8608636833409525289&amp;postID=8794366937191778816" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8608636833409525289/posts/default/8794366937191778816?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8608636833409525289/posts/default/8794366937191778816?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BensTechCents/~3/HZr1DJmIQr8/building-secure-network-backup-server.html" title="Building a secure network backup server" /><author><name>Ben</name><uri>http://www.blogger.com/profile/01678870097840459001</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://bp2.blogger.com/_tQ0FsMlZ7qQ/SHaHr-l7VZI/AAAAAAAAAE4/c3xn4nN0uT8/s72-c/backup.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://benstechcents.blogspot.com/2008/07/building-secure-network-backup-server.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEMRX8yeip7ImA9WxBSF0s.&quot;"><id>tag:blogger.com,1999:blog-8608636833409525289.post-880309542433046770</id><published>2008-07-09T20:00:00.000-07:00</published><updated>2009-12-25T09:54:44.192-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-25T09:54:44.192-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="HDTV MythTV" /><title>HDTV on a Macbook with MythTV</title><content type="html">Mini HOWTO setup MythTV to watch HDTV on a Mac:&lt;br /&gt;&lt;br /&gt;This is a brief reference on how I setup MythTV for local HDTV broadcast stations (it works the same for unencrypted cable channels)&lt;br /&gt;&lt;ol&gt;&lt;li&gt;install Debian (or &lt;a href="http://www.ubuntu.com/"&gt;Ubuntu&lt;/a&gt;)&lt;ul&gt;&lt;li&gt;since this is just the backend a slow computer works well, mine is a 866 Mhz P3&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;buy a HDHomeRun device from &lt;a href="http://www.silicondust.com/"&gt;silicondust.com&lt;/a&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;they also provides &lt;a href="http://www.silicondust.com/wiki/hdhomerun/instructions/mythtv"&gt;detailed instructions&lt;/a&gt;&lt;/li&gt;&lt;li&gt;connect a UHF antenna (8vsb) or connect it to cable (qam256)&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;add debian-multimedia to your /etc/apt/sources.list (not needed on Ubuntu)&lt;br /&gt;&lt;ul&gt;&lt;li&gt;deb http://www.debian-multimedia.org stable main&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;install mythtv&lt;br /&gt;&lt;ul&gt;&lt;li&gt;aptitude install mythtv-backend&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;get an account with &lt;a href="http://www.schedulesdirect.org/"&gt;Schedules Direct&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;setup the MythTV backend&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;/etc/init.d/mythtv-backend stop&lt;br /&gt;&lt;/li&gt;&lt;li&gt;su - mythtv&lt;br /&gt;&lt;/li&gt;&lt;li&gt;mythtv-setup&lt;br /&gt;&lt;/li&gt;&lt;li&gt;tell mythtv to use the local IP address so that it works for frontends on other hosts&lt;br /&gt;&lt;/li&gt;&lt;li&gt;comment out bind-address in /etc/mysql/my.conf to let mysql talk to frontends on other hosts&lt;br /&gt;&lt;/li&gt;&lt;li&gt;For a headless backend you can run the mythtv-setup over ssh to a remote X-windows system like X11 on a Mac or Linux desktop&lt;br /&gt;&lt;ul&gt;&lt;li&gt;ssh -Y mythbackend-box&lt;br /&gt;&lt;/li&gt;&lt;li&gt;su -&lt;br /&gt;&lt;/li&gt;&lt;li&gt;/etc/init.d/mythtv-backend stop&lt;br /&gt;&lt;/li&gt;&lt;li&gt;chmod a+r /home/username/.Xauthority&lt;br /&gt;&lt;/li&gt;&lt;li&gt;su - mythtv&lt;br /&gt;&lt;/li&gt;&lt;li&gt;export DISPLAY=localhost:10.0;export XAUTHORITY=/home/username/.Xauthority&lt;br /&gt;&lt;/li&gt;&lt;li&gt;mythtv-setup -O Theme=blue -O Style=Windows -O ThemePainter=opengl --geometry 800x600+20+20&lt;br /&gt;&lt;/li&gt;&lt;li&gt;mythfilldatabase&lt;br /&gt;&lt;/li&gt;&lt;li&gt;/etc/init.d/mythtv-backend start&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;install &lt;a href="http://www.mythtv.org/wiki/index.php/Myth_on_Mac_OS_X"&gt;MythFrontend on a Mac&lt;/a&gt; (needs &gt; 1.6 Ghz CoreDuo CPU for HDTV playback)&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;That's it!  Now have fun getting to know your new MythTV software.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8608636833409525289-880309542433046770?l=benstechcents.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/IGyT9vf1XxbbC9JnOI5Nt3fQ8OY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/IGyT9vf1XxbbC9JnOI5Nt3fQ8OY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/IGyT9vf1XxbbC9JnOI5Nt3fQ8OY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/IGyT9vf1XxbbC9JnOI5Nt3fQ8OY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BensTechCents/~4/AKZ7A3rC9LQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://benstechcents.blogspot.com/feeds/880309542433046770/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8608636833409525289&amp;postID=880309542433046770" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8608636833409525289/posts/default/880309542433046770?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8608636833409525289/posts/default/880309542433046770?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BensTechCents/~3/AKZ7A3rC9LQ/hdtv-on-macbook-with-mythtv.html" title="HDTV on a Macbook with MythTV" /><author><name>Ben</name><uri>http://www.blogger.com/profile/01678870097840459001</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://benstechcents.blogspot.com/2008/07/hdtv-on-macbook-with-mythtv.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkcDQ388cSp7ImA9WxBSF0s.&quot;"><id>tag:blogger.com,1999:blog-8608636833409525289.post-8020036907483644775</id><published>2008-06-18T21:30:00.000-07:00</published><updated>2009-12-25T10:01:12.179-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-25T10:01:12.179-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Laptop digital photo frame" /><title>Building a networked digital photo frame from an old laptop</title><content type="html">&lt;h1&gt;Building a networked digital photo frame with DOS&lt;/h1&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Background&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Back in 2003 I was given an old laptop.  I have a hard time turning down any offer of a free electronic device and this was one of those times.  I didn't really know what to do with it then, but I took it thinking  there must be something interesting I could use it for.  For about 6 months, it just sat in my closet with all the other old junk I haven't been willing to part with yet.&lt;br /&gt;&lt;br /&gt;A few years later (2006) I finally decided that the best use for this machine would be to build a digital photo frame out of it.  I had seen a few articles where other people described doing this, and it seemed like a worthwhile project.  The only commercially available versions at the time had much smaller screens and were not cheap.  I searched the internet for all the articles I could find about this sort of project, and found many great descriptions and some beautiful craftsmanship.&lt;br /&gt;&lt;br /&gt;I decided to document my work as when I found that none of the other articles were quite what I wanted.  Many people were using hardware that was newer than anything I would ever dream of tearing apart to build something like this.  Others were using the Windows OS which I wanted to avoid if possible.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The Goal&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I wanted a photo frame that would look attractive and be very simple to use.&lt;br /&gt;It needed a network connection so that I could easily change the photos by just&lt;br /&gt;updating them on my web server.  I also wanted to use only free software to keep this inexpensive and so that other people could easily adapt this for their own use.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The Hardware&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The laptop was an old Compaq Armada 1120 from around 1996 with:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;24 MB of RAM&lt;/li&gt;&lt;li&gt;810 MB hard drive&lt;/li&gt;&lt;li&gt;10.4 inch color STN display&lt;/li&gt;&lt;li&gt;1.44 MB floppy disk drive&lt;/li&gt;&lt;li&gt;two PCMCIA slots&lt;/li&gt;&lt;li&gt;a trackball&lt;/li&gt;&lt;li&gt;Pentium 100 Mhz processor&lt;/li&gt;&lt;/ul&gt;Clearly this isn't state of the art anymore, which is why I got it for free!&lt;br /&gt;&lt;br /&gt;Since I still needed a network adapter, I purchased a Hawking 10/100 PC card from &lt;a href="http://www.newegg.com/" name="newegg.com link"&gt;Newegg&lt;/a&gt; that was compatible with the pcnet_cs Linux PCMCIA driver.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The Software&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The software is the most important part of this project.  Without something that is easy to use, unobtrusive, and attractive, the whole project would not have resulted in a useful device.  This is also the part that took the longest to find an acceptable solution.&lt;br /&gt;&lt;br /&gt;I decided that I would use wget to retrieve photos from my website, and a full screen console slide show program to display the photos.  I really wanted to use Linux for the OS.  I wanted to find a small distribution that could run from a floppy, and would have PCMCIA networking support, a simple slide show program, and I would only need to make a few custom shell scripts to get exactly what I wanted.&lt;br /&gt;&lt;br /&gt;I tried a number of Linux floppy distributions but I could not find any that supported the network card well.  Those that did, lacked a packaged slide show program so I would need to compile my own from the source.  Since I didn't have many good experiences compiling packages from source code I wanted to avoid that if possible.&lt;br /&gt;&lt;br /&gt;I gave up on the floppy Linux distribution idea and moved on to looking for a slightly larger (but still small) distribution that could fit on one of my spare 16 or 32 MB compact flash cards. I even purchased a compact flash to IDE adapter on ebay to try to make this work. As with the floppy search there were few options and none were very simple.&lt;br /&gt;&lt;br /&gt;I finally gave up on the quest to use Linux for this project after I installed Debian on the original 810 MB hard drive, and discovered that the Cirrus Logic GD 7543 display chipset was not supported by the VESA framebuffer drivers in the Linux kernel. This meant that I would need to step up to a X-windows environment in order to have any hope of using Linux.  Since this laptop has some serious memory limitations, I decided to just try to find something else.&lt;br /&gt;&lt;br /&gt;What I found was &lt;a href="http://freedos.org/" name="FreeDOS link"&gt;FreeDOS&lt;/a&gt;.  I choose this instead of the old MS-DOS because I wanted the option to redistribute this software, to make it easier for other people to build their own digital photo frames. FreeDOS is pretty cool, at least for DOS.  For the slideshow program I found &lt;a href="http://hplx.pgdn.de/" name="LxPic link"&gt;LxPic&lt;/a&gt;. It's a great little program that can do a full screen slide show of JPEG files easily.&lt;br /&gt;&lt;br /&gt;With these two software pieces, I could boot from a floppy and play a slide show of all the photos on the floppy or hard drive.  That was close, but I wanted network support too.  To get the photos from the website I needed to get my network card working and a have program to retrieve the files. As it turns out there's a DOS version of the &lt;a href="http://www.rahul.net/dkaufman/" name="wget link"&gt;wget&lt;/a&gt; program that I had planned to use with Linux, so it was just what I needed.&lt;br /&gt;&lt;br /&gt;The only other piece I needed to make the network connection work was the DOS network drivers that were provided with my PCMCIA Ethernet card. I ran the installer for the network driver and ended up getting two files and two lines added to my autoexec.bat script.&lt;br /&gt;&lt;br /&gt;LANEN&lt;br /&gt;LE100PD 0x62 5 0x300&lt;br /&gt;&lt;br /&gt;Putting all these pieces together didn't take long and after a bit I had a working floppy disk that would boot the computer, download the photos, and play a slide show continuously.  Pretty cool!&lt;br /&gt;&lt;br /&gt;One thing still needed some work.  The laptop kept turning off the screen after about 10 minutes, because there was no mouse or keyboard activity. I tried adjusting this in the BIOS, but that had no effect.  I found a bunch of &lt;a href="http://short.stop.home.att.net/freesoft/keyb.htm" name="DOS programs site link"&gt;DOS programs to simulate keystrokes&lt;/a&gt;, and picked one called keypress.com (keyprs30.zip) which solved the problem nicely.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The Construction&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_tQ0FsMlZ7qQ/SB_ynNQVYsI/AAAAAAAAACQ/p4cpFoTeJTI/s1600-h/img_5493.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp2.blogger.com/_tQ0FsMlZ7qQ/SB_ynNQVYsI/AAAAAAAAACQ/p4cpFoTeJTI/s200/img_5493.jpg" alt="" id="BLOGGER_PHOTO_ID_5197139250395833026" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_tQ0FsMlZ7qQ/SB_zXtQVYyI/AAAAAAAAADA/hd_RcGFzKcM/s1600-h/img_5500.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp0.blogger.com/_tQ0FsMlZ7qQ/SB_zXtQVYyI/AAAAAAAAADA/hd_RcGFzKcM/s200/img_5500.jpg" alt="" id="BLOGGER_PHOTO_ID_5197140083619488546" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_tQ0FsMlZ7qQ/SB_--9QVY_I/AAAAAAAAAEo/Hv74uhtNlgY/s1600-h/img_5497.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 150px; height: 200px;" src="http://bp1.blogger.com/_tQ0FsMlZ7qQ/SB_--9QVY_I/AAAAAAAAAEo/Hv74uhtNlgY/s200/img_5497.jpg" alt="" id="BLOGGER_PHOTO_ID_5197152852557259762" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_tQ0FsMlZ7qQ/SB_zX9QVY1I/AAAAAAAAADY/-YutTV62au8/s1600-h/img_5503.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 150px; height: 112px;" src="http://bp1.blogger.com/_tQ0FsMlZ7qQ/SB_zX9QVY1I/AAAAAAAAADY/-YutTV62au8/s200/img_5503.jpg" alt="" id="BLOGGER_PHOTO_ID_5197140087914455890" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_tQ0FsMlZ7qQ/SB_0JtQVY4I/AAAAAAAAADw/7AQnPMMeCJ4/s1600-h/img_5506.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 150px; height: 112px;" src="http://bp0.blogger.com/_tQ0FsMlZ7qQ/SB_0JtQVY4I/AAAAAAAAADw/7AQnPMMeCJ4/s200/img_5506.jpg" alt="" id="BLOGGER_PHOTO_ID_5197140942612947842" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_tQ0FsMlZ7qQ/SB_0fdQVY9I/AAAAAAAAAEY/KNZPzE6K64s/s1600-h/img_5511.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; cursor: pointer; width: 150px; height: 112px;" src="http://bp3.blogger.com/_tQ0FsMlZ7qQ/SB_0fdQVY9I/AAAAAAAAAEY/KNZPzE6K64s/s200/img_5511.jpg" alt="" id="BLOGGER_PHOTO_ID_5197141316275102674" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The final product&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_tQ0FsMlZ7qQ/SB_0ftQVY-I/AAAAAAAAAEg/e3HfQCjQYX0/s1600-h/img_5654.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; cursor: pointer;" src="http://bp0.blogger.com/_tQ0FsMlZ7qQ/SB_0ftQVY-I/AAAAAAAAAEg/e3HfQCjQYX0/s200/img_5654.jpg" alt="" id="BLOGGER_PHOTO_ID_5197141320570069986" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Concluding thoughts&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The general concept looked and worked great.  There was a heat problem that caused the screen to fade to black after about 20 minutes of running.  I think this was a result of the close proximity to the motherboard, but I haven't had time to get back to this project and fix it.  If you have any suggestions on how to solve that issue please comment on this post.  Some options would be to add a fan and cut some vent holes, or just put a foam core board divider to insulate between the screen and the main board.  I'll update this post when I solve this last issue.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8608636833409525289-8020036907483644775?l=benstechcents.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/NuayWS_VnoqibVFEuc1oBudtlnQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/NuayWS_VnoqibVFEuc1oBudtlnQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/NuayWS_VnoqibVFEuc1oBudtlnQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/NuayWS_VnoqibVFEuc1oBudtlnQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BensTechCents/~4/gVl8zhowwxc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://benstechcents.blogspot.com/feeds/8020036907483644775/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8608636833409525289&amp;postID=8020036907483644775" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8608636833409525289/posts/default/8020036907483644775?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8608636833409525289/posts/default/8020036907483644775?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BensTechCents/~3/gVl8zhowwxc/building-networked-digital-photo-frame.html" title="Building a networked digital photo frame from an old laptop" /><author><name>Ben</name><uri>http://www.blogger.com/profile/01678870097840459001</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://bp2.blogger.com/_tQ0FsMlZ7qQ/SB_ynNQVYsI/AAAAAAAAACQ/p4cpFoTeJTI/s72-c/img_5493.jpg" height="72" width="72" /><thr:total>3</thr:total><feedburner:origLink>http://benstechcents.blogspot.com/2008/06/building-networked-digital-photo-frame.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak8ERX89eSp7ImA9WhdQFEw.&quot;"><id>tag:blogger.com,1999:blog-8608636833409525289.post-1952892356560512594</id><published>2008-05-13T21:50:00.000-07:00</published><updated>2011-08-15T07:33:24.161-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-15T07:33:24.161-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Mac location tracking" /><title>Tracking a stolen Macbook</title><content type="html">A friend of mine recently had a Powerbook stolen when his home was burglarized.  Even though he had serial numbers for most of the large items that were taken, the police told him there was little chance he would ever get back any of the items.  Luckily no one was home during the incident.  Having the security of your home violated sucks, but it is a little better if the thief gets caught and you get your stuff back.&lt;br /&gt;
&lt;br /&gt;
A few years ago I read a story on &lt;a href="http://it.slashdot.org/article.pl?sid=06/05/22/1044253"&gt;Slashdot&lt;/a&gt; that described someone who happened to have a remote access program installed on his Mac and was able to use it to track down the thief after it was stolen.  I had just bought a Macbook Pro and I decided that I needed a program to help me locate my new laptop if it were ever stolen.  Being too cheap and not wanting to trust a commercial service, I chose to write my own scripts for this.  Last weekend there was yet another article on &lt;a href="http://entertainment.slashdot.org/entertainment/08/05/11/0133232.shtml"&gt;Slashdot&lt;/a&gt; about recovering a stolen Macbook, so it seems to be a recurring topic and I hope this post helps someone looking for an inexpensive solution to this problem.  Of course there are a few services that you can pay to help recover your Mac, but they all cost money and I think that's kind of like buying those extended warranties for electronics.  The odds of it being worthwhile are so low you're better off just saving the money.&lt;br /&gt;
&lt;br /&gt;
For Macbook owners a little upfront effort can greatly increase the probability of getting your Mac back if it's ever stolen.   The most important thing you can do is keep regular backups of your important data.  If you want to keep your data private then you can also turn on the "FileVault" feature to encrypt your files.  My script might help recover your laptop but there are no guarantees. So enough with the narrative and on to the details.&lt;br /&gt;
&lt;br /&gt;
UPDATE (May 16, 2011):  Not long after I finished this post the &lt;a href="http://preyproject.com/"&gt;Prey project&lt;/a&gt; was released.  Since then it's rapidly matured and I'd recommend using it instead of my scripts.  But please read on if you'd like to see the rest of the details of my original post.&lt;br /&gt;
&lt;br /&gt;
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_tQ0FsMlZ7qQ/SCpgQXn9kqI/AAAAAAAAAEw/4F0OMUzFHzM/s1600-h/checkin_camera.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; width: 100px; height: 75px; cursor: pointer;" src="http://bp2.blogger.com/_tQ0FsMlZ7qQ/SCpgQXn9kqI/AAAAAAAAAEw/4F0OMUzFHzM/s200/checkin_camera.jpg" alt="" id="BLOGGER_PHOTO_ID_5200074554088460962" border="0" /&gt;&lt;/a&gt;The script is pretty simple.  It checks a web page periodically which tells it whether everything is &lt;code&gt;"normal"&lt;/code&gt; or that is has been &lt;code&gt;"stolen"&lt;/code&gt;. If it has been stolen you just change the web page and the script will start uploading details of the network it is connected to, along with pictures of the screen, and photos from the built-in iSight camera (like the one of Mr. Bunny here). The goal is that the network details will help the police locate the laptop and the photos will provide a positive identification of the thief.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;Basic Requirements:&lt;/span&gt;&lt;ol&gt;&lt;li&gt;A Mac with OS X 10.4, 10.5 or 10.6 (that's all I've tried so far).&lt;/li&gt;
&lt;li&gt;You need to be comfortable editing text files&lt;br /&gt;
(&lt;a href="http://docs.info.apple.com/article.html?artnum=304779-en"&gt;TextEdit&lt;/a&gt; works fine if you set the "Format" to "Plain Text")&lt;/li&gt;
&lt;li&gt;You need to be have some knowledge of "&lt;a href="http://www.oreilly.com/pub/a/mac/2005/05/20/terminal1.html"&gt;Terminal&lt;/a&gt;"&lt;/li&gt;
&lt;li&gt;You need access to a web server that supports &lt;a href="http://en.wikipedia.org/wiki/PHP"&gt;PHP scripts&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Optionally you need a server where you can run a &lt;a href="http://en.wikipedia.org/wiki/Perl"&gt;Perl script&lt;/a&gt;&lt;br /&gt;
(if you want to be able to ssh back into your missing Mac)&lt;/li&gt;
&lt;/ol&gt;&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;Setup steps:&lt;/span&gt;&lt;ol&gt;&lt;li&gt;Download and install these scripts to your /Applications/Utilities/ folder&lt;br /&gt;
&lt;a href="http://7373.us/%7Ebenroy/software/checkin/checkin.txt"&gt;checkin&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.google.com/search?q=isightcapture"&gt;isightcapture&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://search.cpan.org/%7Eacg/tcpforward-0.01/tcpforward"&gt;tcpforward&lt;/a&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;Make checkin executable&lt;br /&gt;
You can do this in Terminal with the command&lt;br /&gt;
&lt;code&gt;"chmod +x /Applications/Utilities/checkin"&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Use TextEdit to edit checkin so the variables are appropriate for your installation&lt;/li&gt;
&lt;li&gt;Make checkin run periodically by creating the &lt;a href="http://7373.us/%7Ebenroy/software/checkin/checkin.plist"&gt;.plist file&lt;/a&gt; in &lt;code&gt;/Library/LaunchDaemons/checkin.plist&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Download and edit the variables in &lt;a href="http://7373.us/%7Ebenroy/software/checkin/filetransfer.phps"&gt;filetransfer.php&lt;/a&gt; and then copy it to your web server. (it needs to be configured with your email address and the folder path where it will save uploaded files)&lt;/li&gt;
&lt;li&gt;On the web server make sure the folder where the uploaded files are saved is writable by the web server&lt;br /&gt;
&lt;code&gt;"chmod a+rwx path/to/folder/"&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Use TextEdit to create a file named &lt;a href="http://7373.us/%7Ebenroy/software/checkin/macbook-checkin"&gt;macbook-checkin&lt;/a&gt; with only the word &lt;code&gt;"normal"&lt;/code&gt; in it.  Then copy it your web server.&lt;/li&gt;
&lt;/ol&gt;&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;How to use it:&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
If your Mac is stolen (or to test it) change the word &lt;code&gt;"normal"&lt;/code&gt; to &lt;code&gt;"stolen"&lt;/code&gt; in the macbook-checkin file on your web server.  Then every 20 minutes it will upload files to your web server.&lt;br /&gt;
&lt;br /&gt;
If you want to login to the Mac with ssh run this command on the server you configured as the TUNNELHOST in the checkin script&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;"perl tcpforward -l TUNNEL_HOST_IP:26969 -l TUNNEL_HOST_IP:26922"&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
This lets the checkin script create the reverse TCP tunnel to get you past most firewalls.  After the checkin script runs the next time you will be able to login with this command.&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;"ssh -p 26922 TUNNEL_HOST_IP"&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
(of course you'll want to change TUNNEL_HOST_IP and the ports so that they are correct for your setup)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
That's it!  Hopefully you'll never need to use it, but it's nice to know it's there if you needed it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8608636833409525289-1952892356560512594?l=benstechcents.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/jQAIhzGcFT43BG5yo8bNGqBWqXE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jQAIhzGcFT43BG5yo8bNGqBWqXE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/jQAIhzGcFT43BG5yo8bNGqBWqXE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jQAIhzGcFT43BG5yo8bNGqBWqXE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BensTechCents/~4/yeq3l-ObMZk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://benstechcents.blogspot.com/feeds/1952892356560512594/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8608636833409525289&amp;postID=1952892356560512594" title="11 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8608636833409525289/posts/default/1952892356560512594?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8608636833409525289/posts/default/1952892356560512594?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BensTechCents/~3/yeq3l-ObMZk/tracking-stolen-macbook.html" title="Tracking a stolen Macbook" /><author><name>Ben</name><uri>http://www.blogger.com/profile/01678870097840459001</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://bp2.blogger.com/_tQ0FsMlZ7qQ/SCpgQXn9kqI/AAAAAAAAAEw/4F0OMUzFHzM/s72-c/checkin_camera.jpg" height="72" width="72" /><thr:total>11</thr:total><feedburner:origLink>http://benstechcents.blogspot.com/2008/05/tracking-stolen-macbook.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0IEQ3YycCp7ImA9WxFTEko.&quot;"><id>tag:blogger.com,1999:blog-8608636833409525289.post-646803344953515514</id><published>2008-04-24T21:50:00.000-07:00</published><updated>2010-04-02T22:11:42.898-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-04-02T22:11:42.898-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Network camera" /><title>Zonet ZVC7610 network camera review</title><content type="html">&lt;span style=";font-family:arial;font-size:100%;"  &gt;I've had a network camera attached to the side of my house for a few years now and it's been quite handy but one day it just died.   The picture looked a bit fuzzy, so I went out to wipe the glass in front of the lens.  That didn't help so I unplugged it to take a closer look.  I didn't see anything wrong with the lens so I plugged it back in, but it never turned on again.  I even opened it and replaced a big capacitor (the only non SMT part on the board), but it was not going to come back to life. This event suddenly put me in the market for a new network camera, so I went over to &lt;a href="http://newegg.com/"&gt;Newegg&lt;/a&gt; and looked around at their net cams.&lt;br /&gt;&lt;br /&gt;I use a &lt;a href="http://www.debian.org/"&gt;Debian Linux&lt;/a&gt; server with the &lt;a href="http://www.lavrsen.dk/twiki/bin/view/Motion/WebHome"&gt;motion camera software&lt;/a&gt; to record motion on the camera, so I needed something that was compatible with that software.  All the motion software needs is a URL to a jpeg or mjpeg file.  My previous camera was a &lt;a href="http://www2.panasonic.com/consumer-electronics/shop/Computers-Networking/Network-Cameras/PetCams/model.BL-C1A"&gt;Panasonic BL-C1A&lt;/a&gt;, which worked quite well in Firefox, Safari, IE and with my motion recording software.  On the Newegg site there were a number of similarly priced cameras that had many neat features that my old camera lacked.  I needed to avoid anything that required IE and ActiveX to work, as that almost always means a buggy piece of junk.  I found the Linksys WVC54GC and the &lt;a href="http://www.zonetusa.com/products-68.aspx"&gt;Zonet ZVC7610&lt;/a&gt; which both seemed to have mjpeg and mpeg4 features, and seemed promising.  The Linksys camera seemed to be supported by motion, but it was a bit larger than my old camera and could not do mpeg4 and mjpeg simultaneously.  The Zonet camera however claimed to be able to do both, was only slightly larger than my old camera and after the rebate would cost about $50.  I ordered it and a few days later it arrived at my house.&lt;br /&gt;&lt;br /&gt;That brings me to the rest of the review... the things that you won't find in the datasheet or on the manufacturer's website.&lt;br /&gt;&lt;br /&gt;The physical dimensions are:&lt;br /&gt;3.8" high, 2.8" wide, 2" deep (2.6" with the power plug inserted)&lt;br /&gt;&lt;br /&gt;The camera does not actually have the mpeg4 feature. I've sent a request to Zonet's tech support to confirm this, and I'll modify this if I hear back, but it's been a week now so I'm not holding my breath.   I think they probably just copied the datasheet for their more expensive ZVC7630 product.&lt;br /&gt;&lt;br /&gt;The camera is set to use DHCP by default so it will start working immediately, but you'll have to find it on your network. I used &lt;a href="http://fping.sourceforge.net/"&gt;fping&lt;/a&gt; to find it on my network.&lt;br /&gt;&lt;br /&gt;The image quality seems good, but not as sharp as my old camera. You have to turn the lens to focus it, and this allows it to focus as close as a few inches. &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_tQ0FsMlZ7qQ/SBFerdQVYmI/AAAAAAAAABc/8ohVb1FkxME/s1600-h/image.jpg"&gt;&lt;img style="cursor: pointer; float: right; width: 100px; height: 75px;" src="http://bp1.blogger.com/_tQ0FsMlZ7qQ/SBFerdQVYmI/AAAAAAAAABc/8ohVb1FkxME/s200/image.jpg" alt="" id="BLOGGER_PHOTO_ID_5193035946015416930" border="0" /&gt;&lt;/a&gt; Here's an image from my camera, about 6" from the bunny finger puppet. The low light performance is reasonable, and the frame rate seems to be close to the advertised 30fps.&lt;br /&gt;&lt;br /&gt;The mjpeg URL is not documented in the manual anywhere.  I fired up &lt;a href="http://www.wireshark.org/"&gt;wireshark&lt;/a&gt; to find the URL which is http://admin:admin@[camera IP address]/cgi/mjpg/mjpeg.cgi.  Unfortunately the format of this mjpeg stream is not compatible with motion.  It's also not compatible with Firefox or Safari's native mjpeg support, which is why Zonet had to include a Java applet to handle their custom mjpeg stream format.  This is unfortunate.&lt;br /&gt;&lt;br /&gt;The single jpeg images are accessed at the URL http://admin:admin@[camera IP address]/cgi/jpg/image.cgi.  This wasn't documented either, but it was quite obvious once I looked at the open source files provide by Trendnet for their version of this hardware the IP110.&lt;br /&gt;&lt;br /&gt;This brings me to the open source topic and the GPL issues.  It seems that Zonet and Trendnet are selling the same hardware with re-branded firmware that appears to come from Allnet for their model 2281 camera.  Some of the software in the camera has the name of &lt;a href="http://www.fitivision.com/pdt/pdt1_1.htm"&gt;Fitivision Technology&lt;/a&gt; and the hardware matches their CS-100A device, so they seem to be the likely OEM for this device.  They even have a &lt;a href="http://www.fitivision.com/fiti_spec_cs10x3.html"&gt;live demo&lt;/a&gt; of a similar camera. The camera software is built with Linux and makes heavy use of &lt;a href="http://www.busybox.net/"&gt;BusyBox&lt;/a&gt;, so it seems that Zonet is violating the GPL by not providing source code anywhere.  I've asked them to provide me with  a copy of the source code, so maybe they will rectify this situation.  I've heard that the BusyBox developers have had some success enforcing the GPL in court so hopefully the device manufacturers are becoming aware of their obligations when using GPL software.&lt;br /&gt;&lt;br /&gt;A nice discovery came when I scanned the camera with nmap.  It turns out the camera is running it's web server on port 80 and a telnet server on port 15566.  The telnet server provides direct access to a root shell and no password is required.  I'm still exploring the filesystem and applications on the camera, but I've been able to use the tftp client to move files to an from the camera. Eventually I hope to be able to replace or fix the mjpeg.cgi application with one that provides Firefox compatible mjpeg streams.&lt;br /&gt;&lt;br /&gt;By now I've decided to keep the camera and I mailed in my rebate request.  The next logical step was to get out my screwdriver and crack open the case to see what's inside.&lt;br /&gt;&lt;br /&gt;Here are some photos of what I found.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_tQ0FsMlZ7qQ/SBAuudQVYcI/AAAAAAAAAAM/4JoPosr5wMM/s1600-h/cam-front.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 122px; height: 150px;" src="http://bp0.blogger.com/_tQ0FsMlZ7qQ/SBAuudQVYcI/AAAAAAAAAAM/4JoPosr5wMM/s200/cam-front.jpg" alt="" id="BLOGGER_PHOTO_ID_5192701746020180418" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_tQ0FsMlZ7qQ/SBAuwNQVYdI/AAAAAAAAAAU/yy1JTvyhdA0/s1600-h/cam-back.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 107px; height: 150px;" src="http://bp3.blogger.com/_tQ0FsMlZ7qQ/SBAuwNQVYdI/AAAAAAAAAAU/yy1JTvyhdA0/s200/cam-back.jpg" alt="" id="BLOGGER_PHOTO_ID_5192701776084951506" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_tQ0FsMlZ7qQ/SBAuwdQVYeI/AAAAAAAAAAc/pjmuuaQ9R7Q/s1600-h/cam-opened.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; cursor: pointer; width: 121px; height: 150px;" src="http://bp0.blogger.com/_tQ0FsMlZ7qQ/SBAuwdQVYeI/AAAAAAAAAAc/pjmuuaQ9R7Q/s200/cam-opened.jpg" alt="" id="BLOGGER_PHOTO_ID_5192701780379918818" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_tQ0FsMlZ7qQ/SBAuwtQVYfI/AAAAAAAAAAk/vcrOxmiVJgQ/s1600-h/camera-open-front.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 120px; height: 150px;" src="http://bp1.blogger.com/_tQ0FsMlZ7qQ/SBAuwtQVYfI/AAAAAAAAAAk/vcrOxmiVJgQ/s200/camera-open-front.jpg" alt="" id="BLOGGER_PHOTO_ID_5192701784674886130" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_tQ0FsMlZ7qQ/SBAuwtQVYgI/AAAAAAAAAAs/vUeVZ9MfKSM/s1600-h/cam-opened-back.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 105px; height: 150px;" src="http://bp1.blogger.com/_tQ0FsMlZ7qQ/SBAuwtQVYgI/AAAAAAAAAAs/vUeVZ9MfKSM/s200/cam-opened-back.jpg" alt="" id="BLOGGER_PHOTO_ID_5192701784674886146" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_tQ0FsMlZ7qQ/SBA0ptQVYlI/AAAAAAAAABU/IAeX3OkhD5E/s1600-h/cam-faceplate.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; cursor: pointer; width: 107px; height: 150px;" src="http://bp1.blogger.com/_tQ0FsMlZ7qQ/SBA0ptQVYlI/AAAAAAAAABU/IAeX3OkhD5E/s200/cam-faceplate.jpg" alt="" id="BLOGGER_PHOTO_ID_5192708261485568594" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_tQ0FsMlZ7qQ/SBAvStQVYiI/AAAAAAAAAA8/1OKj9nF27ww/s1600-h/cam-board-lens-back.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 130px; height: 130px;" src="http://bp1.blogger.com/_tQ0FsMlZ7qQ/SBAvStQVYiI/AAAAAAAAAA8/1OKj9nF27ww/s200/cam-board-lens-back.jpg" alt="" id="BLOGGER_PHOTO_ID_5192702368790438434" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_tQ0FsMlZ7qQ/SBAvStQVYjI/AAAAAAAAABE/tLpcvVKaJ1g/s1600-h/cam-board-jacks.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 140px; height: 130px;" src="http://bp1.blogger.com/_tQ0FsMlZ7qQ/SBAvStQVYjI/AAAAAAAAABE/tLpcvVKaJ1g/s200/cam-board-jacks.jpg" alt="" id="BLOGGER_PHOTO_ID_5192702368790438450" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_tQ0FsMlZ7qQ/SBAvS9QVYkI/AAAAAAAAABM/cHlHiCjB49c/s1600-h/cam-board-main.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; cursor: pointer; width: 140px; height: 130px;" src="http://bp2.blogger.com/_tQ0FsMlZ7qQ/SBAvS9QVYkI/AAAAAAAAABM/cHlHiCjB49c/s200/cam-board-main.jpg" alt="" id="BLOGGER_PHOTO_ID_5192702373085405762" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The major chips are&lt;br /&gt;Ethernet&lt;br /&gt;IP100A&lt;br /&gt;http://www.icplus.com.tw/pp-IP100A.html&lt;br /&gt;&lt;br /&gt;Flash storage&lt;br /&gt;EN29LV320&lt;br /&gt;http://www.eonsdi.com/pdf/EN29LV320.pdf&lt;br /&gt;&lt;br /&gt;Fiti&lt;br /&gt;ARM CPU?&lt;br /&gt;&lt;br /&gt;The conclusion: I think the Zonet camera is a good piece of hardware, and it's cheap which is always nice.  Since much of the software is open source, I have some hope that I will eventually be able to get mjpeg streams compatible with Firefox.  I think the Panasonic is a better choice due to it's superior browser compatibility, and I'll pick that one next time I need another camera.  The Zonet camera has potential, but still has a lot of room for improvement to the software.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Update July 6, 2009:&lt;/span&gt;&lt;br /&gt;I got side tracked with an IP-9100A camera server and recently took another look at this camera.  I searched for firmware updates that might fix the problems but the only company that seems to provide any &lt;a href="http://trendnet.com/downloads/list_subcategory.asp?SUBTYPE_ID=1171"&gt;updates is Trendnet.&lt;/a&gt;  I found that if I edited /etc/info.conf and set ModelName = TV-IP110 and ModelNumber = 1.0.0-16 it would accept the Trendnet firmware. Unfortunately the firmware (build 57) didn't fix the mjpeg stream and it disabled telnet access, but I had saved an earlier copy of the firmware (build 16) which restored the telnet access.&lt;br /&gt;&lt;br /&gt;I've also learned that this hardware is the same as the &lt;a href="http://www.micronet.info/model_detail.aspx?series_no=11&amp;amp;sno=639"&gt;Micronet SP5511&lt;/a&gt; and like Zonet they do not provided any firmware updates or GPL source code.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8608636833409525289-646803344953515514?l=benstechcents.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/__BwOjz8gyX5tE5M5G_pkcRE1aY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/__BwOjz8gyX5tE5M5G_pkcRE1aY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/__BwOjz8gyX5tE5M5G_pkcRE1aY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/__BwOjz8gyX5tE5M5G_pkcRE1aY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BensTechCents/~4/vGh56Pnka7E" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://benstechcents.blogspot.com/feeds/646803344953515514/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8608636833409525289&amp;postID=646803344953515514" title="14 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8608636833409525289/posts/default/646803344953515514?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8608636833409525289/posts/default/646803344953515514?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BensTechCents/~3/vGh56Pnka7E/zonet-zvc7610-network-camera-review.html" title="Zonet ZVC7610 network camera review" /><author><name>Ben</name><uri>http://www.blogger.com/profile/01678870097840459001</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://bp1.blogger.com/_tQ0FsMlZ7qQ/SBFerdQVYmI/AAAAAAAAABc/8ohVb1FkxME/s72-c/image.jpg" height="72" width="72" /><thr:total>14</thr:total><feedburner:origLink>http://benstechcents.blogspot.com/2008/04/zonet-zvc7610-network-camera-review.html</feedburner:origLink></entry></feed>

