<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4767023536930727704</id><updated>2011-11-27T19:19:07.251-05:00</updated><category term='space'/><category term='Dojo'/><category term='resolutions'/><category term='PS3'/><category term='Vanishing Point'/><category term='organization'/><category term='NYC'/><category term='NIN'/><category term='Free Software'/><category term='thanksgiving'/><category term='cheap'/><category term='hosts'/><category term='disk'/><category term='instructions'/><category term='knights of cydonia'/><category term='imaging'/><category term='pikmin 2'/><category term='JpGraph'/><category term='modding'/><category term='analysis'/><category term='iPod'/><category term='sampp'/><category term='yp voice'/><category term='video'/><category term='domain'/><category term='windows'/><category term='app'/><category term='launch'/><category term='ezSQL'/><category term='fair use'/><category term='mashup'/><category term='Ruby on Rails'/><category term='solaris'/><category term='naming'/><category term='training'/><category term='utility'/><category term='turkey'/><category term='diy'/><category term='St. Patrick&apos;s Day'/><category term='Muse'/><category term='Subversion'/><category term='WebSVN'/><category term='photography'/><category term='Javascript'/><category term='php'/><category term='Syracuse'/><category term='turducken'/><category term='tagverse'/><category term='politics'/><category term='bitpim'/><category term='cell phone'/><category term='best practices'/><category term='backing up'/><category term='music'/><category term='goals'/><category term='wii'/><category term='cloud'/><category term='networking'/><category term='Google'/><category term='pdf'/><category term='tag clouds'/><category term='GPL'/><category term='certification'/><category term='android'/><category term='TorrentFlux'/><category term='wireless'/><category term='Linux'/><category term='phpMyEdit'/><category term='intellectual property'/><category term='KompoZer'/><category term='oswego'/><category term='server'/><category term='duck'/><category term='Nvu'/><category term='projector'/><category term='Ubuntu'/><category term='film'/><category term='race'/><category term='chicken'/><category term='blogging'/><category term='writing'/><category term='snow'/><category term='conventions'/><category term='the confluence'/><category term='parade'/><category term='dodge challenger'/><category term='GameCube'/><category term='system administration'/><title type='text'>dissension</title><subtitle type='html'>Jon Peck's writings about web programming, free and open source software, and other technology related topics of interest.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://jonpeck.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://jonpeck.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Jon</name><uri>http://www.blogger.com/profile/15647634292152200889</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-IxHPX90Hvkk/Tl5RebRAGcI/AAAAAAAAAVw/njDgSoIYIaA/s220/Logo-v01-20110812-827x827.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>31</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4767023536930727704.post-6243438395991934522</id><published>2011-08-31T10:33:00.000-05:00</published><updated>2011-08-31T10:33:29.358-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Subversion'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='WebSVN'/><title type='text'>Dynamic subversion repositories with WebSVN</title><content type='html'>&lt;p&gt;I am a careful man.  For every development project, I have a corresponding &lt;a href="http://subversion.apache.org/" title="Apache Subversion"&gt;Subversion&lt;/a&gt; repository that stores all assets relating to the project.  For browsing (and &lt;strike&gt;blaming&lt;/strike&gt; diffs), I use &lt;a href="http://websvn.tigris.org/" title="WebSVN"&gt;WebSVN&lt;/a&gt; to provide a friendly interface.  I currently use &lt;a href="http://www.dreamhost.com/r.cgi?1150537" title="DreamHost"&gt;DreamHost&lt;/a&gt; to host my repositories.&lt;/p&gt;&lt;p&gt;However, I got tired of updating the WebSVN configuration every time I added a repository.  Therefore, I developed a short, dynamic method of just listing them all without need for reconfiguration.  Add the following snippet to your &lt;code&gt;config.php&lt;/code&gt;:&lt;/p&gt;&lt;p&gt;&lt;pre&gt;
$repository_root = '/CHANGE/TO/YOUR/PATH/svn/';

foreach(glob($repository_root . '*', GLOB_ONLYDIR) as $repository_dir) {
  $repository = basename($repository_dir);
  $config-&gt;addRepository($repository, 'file://' . $repository_root . $repository);
  $config-&gt;useAuthenticationFile($repository_root . $repository . '.access', $repository, $repository);
}
&lt;/pre&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4767023536930727704-6243438395991934522?l=jonpeck.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jonpeck.blogspot.com/feeds/6243438395991934522/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4767023536930727704&amp;postID=6243438395991934522' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/6243438395991934522'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/6243438395991934522'/><link rel='alternate' type='text/html' href='http://jonpeck.blogspot.com/2011/08/dynamic-subversion-repositories-with.html' title='Dynamic subversion repositories with WebSVN'/><author><name>Jon</name><uri>http://www.blogger.com/profile/15647634292152200889</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-IxHPX90Hvkk/Tl5RebRAGcI/AAAAAAAAAVw/njDgSoIYIaA/s220/Logo-v01-20110812-827x827.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4767023536930727704.post-7546600430414597041</id><published>2011-07-08T07:42:00.001-05:00</published><updated>2011-07-08T08:17:32.434-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='app'/><category scheme='http://www.blogger.com/atom/ns#' term='cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='music'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><category scheme='http://www.blogger.com/atom/ns#' term='android'/><title type='text'>Google Music - first impressions of the cloud-based music streaming service</title><content type='html'>&lt;p&gt;I enjoy listening to music, and keeping my collection synchronized across computers and devices can be arduous.  I am fastidious about tagging, using tools like &lt;a title="TagScanner" href="http://www.xdlab.ru/en/"&gt;TagScanner&lt;/a&gt; to author and normalize the tags, file names and folders.  My playback and library needs are minimal; &lt;a title="foobar2000" href="http://www.foobar2000.org/"&gt;foobar2000&lt;/a&gt; has served my needs nicely for close to a decade.&lt;/p&gt;
&lt;p&gt;I wasn't impressed by &lt;a title="Amazon Cloud Drive" href="https://www.amazon.com/clouddrive"&gt;Amazon Cloud Drive&lt;/a&gt; and Cloud Player; their overtly commercial approach (understandable in context), the clunky interface, and limitations of the service turned me off.  &lt;a title="Amazon Announces Storage Plans for Amazon Cloud Drive" href="http://phx.corporate-ir.net/phoenix.zhtml?c=176060&amp;p=irol-newsArticle&amp;ID=1582734&amp;highlight="&gt;Amazon has since offered unlimited storage&lt;/a&gt; for music if you subscribe at the $20/year level or higher.&lt;/p&gt;
&lt;p&gt;Recently, I was invited to try the &lt;a title="Google Music" href="http://music.google.com/about"&gt;Google Music Beta&lt;/a&gt;, their new streaming music service.  Given my previous experience, I was hesitant, but willing to give a competitor a try.&lt;/p&gt;
&lt;h2&gt;Client&lt;/h2&gt;
&lt;p&gt;The desktop client download and installation was fairly smooth, except you needed an application specific password.  The client linked to the help page that contained in the middle of the content a link to generate that password, which was obtuse.  Once I was beyond that, I used the wizard to select a folder to sync, and walked away for the night.  The next morning, about 2/3 of the ~5GB folder I had selected had been uploaded.&lt;/p&gt;
&lt;p&gt;The next step was to try the &lt;a title="Music Android Player" href="https://market.android.com/details?id=com.google.android.music"&gt;android app&lt;/a&gt;, which I downloaded from the Android Market.  Overall, the interface is nicer than the stock app.  I have not tried Bluetooth playback yet.&lt;/p&gt;
&lt;h2&gt;Android App&lt;/h2&gt;
&lt;p&gt;Music that had been uploaded was available to be streamed; I picked the first track of an album, and hit play.  It churned for somewhere between five and ten seconds, then started playing.  Sounded fine.  Once you start playing a track, the player will download sequential tracks in the background to avoid this delay.  Playback sounded fine.&lt;/p&gt;
&lt;p&gt;I tagged and transferred music manually to my android device for a long time before I started using Google Music.  When I installed Google Music on my desktop, it uploaded my collection.  I installed the app on my device, which correctly listed all the local music along with all the music available to stream.&lt;/p&gt;
&lt;p&gt;However, music that was already physically on my device was also listed as available to stream, resulting in two entries for every album and track.  This is undesirable, and I &lt;a title="Google Music Contact" href="http://www.google.com/support/music/bin/request.py?contact_type=feedback"&gt;shared my feedback with the Music Beta Team.&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;What happens to your music?&lt;/h2&gt;
&lt;p&gt;As an experiment, I removed one of the local albums, then downloaded it ("make it available offline") using the app.  I used the Wi-Fi connection, and a ~75 MB album only took a couple minutes to transfer.&lt;/p&gt;
&lt;p&gt;The music transferred to &lt;tt&gt;Android\data\com.google.android.music\cache\music&lt;/tt&gt; with a numeric file name (ex: 534.mp3), a rewritten track number, and missing the embedded artwork, Album Artist, Total Tracks, Disc Number, Total Discs, and Publisher.  The tag type was rewritten from id3v2.3|id3v1 to id3v1.  The content looks untouched; same number of samples, bitrate, and so on,  The artwork is stored separately, in &lt;tt&gt;cache\artwork&lt;/tt&gt;.  The file size was nearly identical, in proportion to the missing artwork and tags.&lt;/p&gt;
&lt;p&gt;Both the cache and artwork folder have a &lt;tt&gt;.nomedia&lt;/tt&gt; file (tells default apps like Gallery and Music to not index it).&lt;/p&gt;
&lt;p&gt;I understand why they are normalizing tag data (save space - especially with album art, and excludes non-standard or unsupported fields), but it's irritating to have two different file versions.&lt;/p&gt;
&lt;p&gt;It's not impossible to copy out the music from your android device once it's in there (if you want to copy an album from your device to another computer, for example).  You cannot download the music from their web interface.  They want you to use their application to listen to it, and they're avoiding the slippery slope of making it easy to duplicate your collection.&lt;/p&gt;
&lt;p&gt;I have a guess about why they chose 20,000 songs as the limit; FAT32 directories can contain up to 65,536 entries, and each file/directory uses between 1 and 13 entries (depending on the length of the name), so that arbitrary song limit is well within the technical specification.&lt;/p&gt;
&lt;h2&gt;Overall impression&lt;/h2&gt;
&lt;p&gt;Google Music is a strong, interesting contender in the streaming music market; while it's certainly not the most open approach, I am liking Google Music more than the other music streaming alternatives that I'm aware of and it's quite mature and usable.  That'll do, Pig. That'll do.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4767023536930727704-7546600430414597041?l=jonpeck.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jonpeck.blogspot.com/feeds/7546600430414597041/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4767023536930727704&amp;postID=7546600430414597041' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/7546600430414597041'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/7546600430414597041'/><link rel='alternate' type='text/html' href='http://jonpeck.blogspot.com/2011/07/google-music-first-impressions-of-cloud.html' title='Google Music - first impressions of the cloud-based music streaming service'/><author><name>Jon</name><uri>http://www.blogger.com/profile/15647634292152200889</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-IxHPX90Hvkk/Tl5RebRAGcI/AAAAAAAAAVw/njDgSoIYIaA/s220/Logo-v01-20110812-827x827.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4767023536930727704.post-1821726335909690803</id><published>2007-11-23T10:20:00.001-05:00</published><updated>2011-07-08T07:37:40.806-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='duck'/><category scheme='http://www.blogger.com/atom/ns#' term='thanksgiving'/><category scheme='http://www.blogger.com/atom/ns#' term='turkey'/><category scheme='http://www.blogger.com/atom/ns#' term='chicken'/><category scheme='http://www.blogger.com/atom/ns#' term='turducken'/><title type='text'>Turducken: Slaughter with Laughter</title><content type='html'>It's been a while.  I switched from public education to a private company back in March and haven't had the time to write.  I've gone through some life changes recently, and in short I will have more time to write for Free Software Magazine, compose technical articles on PHP development, and much more.  I will back-date some content, mostly photography related.  Thank you for sticking around, I appreciate it.&lt;br /&gt;
&lt;h2&gt;
Turducken&lt;/h2&gt;
I made a short, twisted video about what, why and how my family made a Turducken, a turkey stuffed with duck stuffed with chicken. A veritable avian Matryoshka tsunami of culinary urban legend, few have attempted to create this carnage loaf.&lt;br /&gt;
&lt;object height="355" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/fIVWW-0guQs&amp;rel=1"&gt;
&lt;/param&gt;
&lt;param name="wmode" value="transparent"&gt;
&lt;/param&gt;
&lt;embed src="http://www.youtube.com/v/fIVWW-0guQs&amp;rel=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4767023536930727704-1821726335909690803?l=jonpeck.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jonpeck.blogspot.com/feeds/1821726335909690803/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4767023536930727704&amp;postID=1821726335909690803' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/1821726335909690803'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/1821726335909690803'/><link rel='alternate' type='text/html' href='http://jonpeck.blogspot.com/2007/11/turducken-slaughter-with-laughter.html' title='Turducken: Slaughter with Laughter'/><author><name>Jon</name><uri>http://www.blogger.com/profile/15647634292152200889</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-IxHPX90Hvkk/Tl5RebRAGcI/AAAAAAAAAVw/njDgSoIYIaA/s220/Logo-v01-20110812-827x827.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4767023536930727704.post-8628906495575670807</id><published>2007-03-19T21:57:00.001-05:00</published><updated>2011-07-08T08:21:44.853-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='photography'/><category scheme='http://www.blogger.com/atom/ns#' term='parade'/><category scheme='http://www.blogger.com/atom/ns#' term='St. Patrick&apos;s Day'/><category scheme='http://www.blogger.com/atom/ns#' term='Syracuse'/><title type='text'>Syracuse St. Patrick's Day Photos</title><content type='html'>&lt;h2&gt;Photography&lt;/h2&gt;
&lt;p&gt;On Saturday, March 17th, I attended the &lt;a href="http://www.flickr.com/photos/theconfluence/sets/72157600005593026/"&gt;St. Patrick's Day Parade in Syracuse&lt;/a&gt;.   I was experimenting with the Nikon N70, and I did my best to put it to good use.&lt;/p&gt;

&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm1.static.flickr.com/160/424604358_65a95671e4.jpg?v=0"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px;" src="http://farm1.static.flickr.com/160/424604358_65a95671e4.jpg?v=0" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm1.static.flickr.com/175/424603520_60de47a6a4.jpg?v=1174176474"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px;" src="http://farm1.static.flickr.com/175/424603520_60de47a6a4.jpg?v=1174176474" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can also view the &lt;a href="http://www.flickr.com/photos/theconfluence/sets/72157600005593026/show/"&gt;set of 60 photos as a slideshow.&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Consolidation&lt;/h2&gt;
&lt;p&gt;My apologies for my SAMPP entry; it was way, way too long.  I've consolidated it on my web host using the dojo toolkit to make tabs.  You can view the amended version at &lt;a href="http://theconfluence.org/projects/sampp"&gt;theconfluence.org/projects/sampp&lt;/a&gt; .&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4767023536930727704-8628906495575670807?l=jonpeck.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jonpeck.blogspot.com/feeds/8628906495575670807/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4767023536930727704&amp;postID=8628906495575670807' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/8628906495575670807'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/8628906495575670807'/><link rel='alternate' type='text/html' href='http://jonpeck.blogspot.com/2007/03/syracuse-st-patricks-day-photos.html' title='Syracuse St. Patrick&apos;s Day Photos'/><author><name>Jon</name><uri>http://www.blogger.com/profile/15647634292152200889</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-IxHPX90Hvkk/Tl5RebRAGcI/AAAAAAAAAVw/njDgSoIYIaA/s220/Logo-v01-20110812-827x827.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4767023536930727704.post-6537617082053383116</id><published>2007-03-08T10:11:00.000-05:00</published><updated>2007-03-19T21:49:20.983-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='system administration'/><category scheme='http://www.blogger.com/atom/ns#' term='sampp'/><category scheme='http://www.blogger.com/atom/ns#' term='instructions'/><category scheme='http://www.blogger.com/atom/ns#' term='solaris'/><title type='text'>Compiled SAMPP build instructions</title><content type='html'>&lt;p&gt;I was recently asked to do create and document a containerless configuration of a Solaris 10 web server with Apache 2.2.4, MySQL 5.0.33, PHP 5.2.1, and Perl 5.8.7. Apache, MySQL, and PHP have complete compilation instructions. I will include the necessary configuration files (Apache in particular; built from scratch) or modification instructions. &lt;/p&gt;
&lt;p&gt;Notes:&lt;/p&gt;
&lt;ol&gt;
  &lt;li&gt;This instructions assume that Solaris 10 is already installed and configured.&lt;/li&gt;
  &lt;li&gt;These instructions assume you're root. &lt;/li&gt;
  &lt;li&gt;Apache includes a self-signed SSL certificate, user directories, mod_perl, authnz-ldap, server-status and daily log rotation.&lt;/li&gt;
  &lt;li&gt;I was requested to consolidate everything web related into /web for ease of administration and backup.&lt;/li&gt;
  &lt;li&gt;This is not a fully optimized build, as there is no universal configuration that will work equally well for everyone.  Therefore, read the manual and tweak where necessary (especially Apache).&lt;/li&gt;
  &lt;li&gt;Additional Applications
    &lt;ol&gt;
      &lt;li&gt;AWStats 6.6 with automatic log analysis&lt;/li&gt;
      &lt;li&gt;phpMyAdmin 2.9.2 for MySQL administration&lt;/li&gt;
    &lt;/ol&gt;
  &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;These instructions are culled and edited from my notes. Please let me know if I got something out of order or left something out.&lt;/p&gt;
&lt;h2&gt;Notes&lt;/h2&gt;
&lt;p&gt;LDAP .htaccess files (you'll have to tweak the LDAP URL for your environment) &lt;/p&gt;
&lt;pre&gt;AuthName "Password"
AuthType Basic
AuthBasicProvider ldap
AuthLDAPURL ldap://ldap:389/ou=people?uid
AuthzLDAPAuthoritative off 
require ldap-user "username"&lt;/pre&gt;
&lt;h2&gt;Link&lt;/h2&gt;
&lt;h3&gt;&lt;a href="http://theconfluence.org/projects/sampp"&gt;theconfluence.org - Compiled SAMPP build instructions&lt;/a&gt;&lt;/h3&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4767023536930727704-6537617082053383116?l=jonpeck.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jonpeck.blogspot.com/feeds/6537617082053383116/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4767023536930727704&amp;postID=6537617082053383116' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/6537617082053383116'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/6537617082053383116'/><link rel='alternate' type='text/html' href='http://jonpeck.blogspot.com/2007/03/compiled-sampp-build-instructions.html' title='Compiled SAMPP build instructions'/><author><name>Jon</name><uri>http://www.blogger.com/profile/15647634292152200889</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-IxHPX90Hvkk/Tl5RebRAGcI/AAAAAAAAAVw/njDgSoIYIaA/s220/Logo-v01-20110812-827x827.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4767023536930727704.post-1407136997089411588</id><published>2007-03-07T13:12:00.000-05:00</published><updated>2007-03-07T13:14:52.276-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='server'/><category scheme='http://www.blogger.com/atom/ns#' term='system administration'/><category scheme='http://www.blogger.com/atom/ns#' term='best practices'/><title type='text'>Jon's best practices for servers</title><content type='html'>&lt;p&gt;This is a consolidation of general best practices for servers I've learned and developed over the years.  Feel free to share some of your own as well!&lt;/p&gt;
&lt;ol&gt;
  &lt;li&gt;Never use telnet or ftp - use ssh or sftp instead.&lt;/li&gt;
  &lt;li&gt;Never use HTTP with anything that could compromise the integrity of your system. &lt;/li&gt;
  &lt;li&gt;Never login as root.&lt;/li&gt;
  &lt;li&gt;If you install it, keep it up to date.&lt;/li&gt;
  &lt;li&gt;If you don't use it, remove it.&lt;/li&gt;
  &lt;li&gt;Always check the changelog before updating.&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/4767023536930727704-1407136997089411588?l=jonpeck.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jonpeck.blogspot.com/feeds/1407136997089411588/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4767023536930727704&amp;postID=1407136997089411588' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/1407136997089411588'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/1407136997089411588'/><link rel='alternate' type='text/html' href='http://jonpeck.blogspot.com/2007/03/jons-best-practices-for-servers.html' title='Jon&apos;s best practices for servers'/><author><name>Jon</name><uri>http://www.blogger.com/profile/15647634292152200889</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-IxHPX90Hvkk/Tl5RebRAGcI/AAAAAAAAAVw/njDgSoIYIaA/s220/Logo-v01-20110812-827x827.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4767023536930727704.post-862792214664739489</id><published>2007-03-07T13:09:00.000-05:00</published><updated>2007-03-07T13:11:26.086-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='system administration'/><category scheme='http://www.blogger.com/atom/ns#' term='hosts'/><category scheme='http://www.blogger.com/atom/ns#' term='naming'/><category scheme='http://www.blogger.com/atom/ns#' term='networking'/><title type='text'>Host Naming Conventions</title><content type='html'>&lt;p&gt;There
  are different philosophies for hostname conventions.  In my
  experience, using a common theme and context adds logic to a
  potentially complicated network.&lt;/p&gt;
&lt;p&gt;At home, I use
  spells from old &lt;a href="http://en.wikipedia.org/wiki/Infocom"&gt;Infocom&lt;/a&gt; interactive fiction games as my naming convention.  While it
  may seem silly, my home network is small enough that I can remember the
  purpose of machines, and I've got a large corpus of potential names.
  I've also seen others use names of characters from
  television, movies or books.  Use your imagination!&lt;/p&gt;
&lt;p&gt;At
  work or in a shared environment, I use more descriptive names, such as
  web-dev-01 for a development web server.  Security through
  obscurity causes more headaches than it's worth as it makes it more
  difficult for others to understand the layout, and the illusion of
  security that comes from giving a machine a wacky name will not protect
  you from malicious users.&lt;/p&gt;
&lt;p&gt;Either way, once you've
  developed a schema, stick with it; mixing naming conventions just makes
  things more difficult. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4767023536930727704-862792214664739489?l=jonpeck.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jonpeck.blogspot.com/feeds/862792214664739489/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4767023536930727704&amp;postID=862792214664739489' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/862792214664739489'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/862792214664739489'/><link rel='alternate' type='text/html' href='http://jonpeck.blogspot.com/2007/03/host-naming-conventions.html' title='Host Naming Conventions'/><author><name>Jon</name><uri>http://www.blogger.com/profile/15647634292152200889</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-IxHPX90Hvkk/Tl5RebRAGcI/AAAAAAAAAVw/njDgSoIYIaA/s220/Logo-v01-20110812-827x827.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4767023536930727704.post-543186294206317798</id><published>2007-02-18T01:07:00.000-05:00</published><updated>2007-02-18T01:10:44.678-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='yp voice'/><category scheme='http://www.blogger.com/atom/ns#' term='snow'/><category scheme='http://www.blogger.com/atom/ns#' term='race'/><category scheme='http://www.blogger.com/atom/ns#' term='oswego'/><title type='text'>Crazy Costume Race 2007 Video</title><content type='html'>&lt;p&gt;On Saturday, February 3rd, &lt;a href="http://www.ypvoiceofoswego.org"&gt;YP Voice of Oswego&lt;/a&gt; hosted its second annual Crazy Costume Race, part of the &lt;a href="http://www.warmuposwego.com"&gt;Warm Up Oswego Festival&lt;/a&gt;.  I filmed the event and edited the video.  Three teams, three sleds, one block.  Who will win?&lt;/p&gt;
&lt;p&gt;&lt;object width="425" height="350"&gt;&lt;param name="movie" value="http://www.youtube.com/v/TY73ktXuWOI"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/TY73ktXuWOI" type="application/x-shockwave-flash" width="425" height="350"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4767023536930727704-543186294206317798?l=jonpeck.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jonpeck.blogspot.com/feeds/543186294206317798/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4767023536930727704&amp;postID=543186294206317798' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/543186294206317798'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/543186294206317798'/><link rel='alternate' type='text/html' href='http://jonpeck.blogspot.com/2007/02/crazy-costume-race-2007-video.html' title='Crazy Costume Race 2007 Video'/><author><name>Jon</name><uri>http://www.blogger.com/profile/15647634292152200889</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-IxHPX90Hvkk/Tl5RebRAGcI/AAAAAAAAAVw/njDgSoIYIaA/s220/Logo-v01-20110812-827x827.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4767023536930727704.post-335711160597847240</id><published>2007-02-12T08:37:00.000-05:00</published><updated>2007-02-12T09:16:10.932-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wii'/><category scheme='http://www.blogger.com/atom/ns#' term='Free Software'/><category scheme='http://www.blogger.com/atom/ns#' term='pdf'/><category scheme='http://www.blogger.com/atom/ns#' term='blogging'/><title type='text'>Making PDFs with free software and Wii are on the way</title><content type='html'>&lt;h2&gt;&lt;a href="http://www.freesoftwaremagazine.com/blogs/making_pdfs"&gt;Making PDFs with free software&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Recently, &lt;a href="http://www.adobe.com/aboutadobe/pressroom/pressreleases/200701/012907OpenPDFAIIM.html"&gt;Adobe announced&lt;/a&gt; that it intends to release the Portable Document Format (PDF) 1.7 specification for publication by the International Organization for Standardization (ISO).  Also, the editorial in Issue 16 of Free Software Magazine &lt;i&gt;&lt;a href="http://www.freesoftwaremagazine.com/articles/editorial_16"&gt;Paper is dead - has PDF followed suit?&lt;/a&gt;&lt;/i&gt; makes a case about the perceived decline of the PDF format.  In my opinion, PDF isn't dead, so this week I've compiled several techniques for &lt;i&gt;&lt;a href="http://www.freesoftwaremagazine.com/blogs/making_pdfs"&gt;making PDF files with free software&lt;/a&gt;&lt;/i&gt;.&lt;/p&gt;
&lt;p&gt;My intention for the postscript was to emphasize content and not the delivery mechanism, and is in subtle defense of &lt;i&gt;&lt;a href="http://www.freesoftwaremagazine.com/blogs/so_why_has_the_pdf_gone"&gt;FSM dropping their PDF version of their issues&lt;/a&gt;&lt;/i&gt;.  I feel that the medium doesn't matter as much as the message, but one still should take care in selecting the proper delivery method.  The &lt;i&gt;Making PDF files&lt;/i&gt; entry has &lt;a href="http://www.digg.com/software/Making_PDFs_with_free_software"&gt;done well on digg.com&lt;/a&gt; - 851 diggs so far, which I appreciate.&lt;/p&gt;
&lt;h2&gt;Wii are on the way&lt;/h2&gt;
&lt;p&gt;My brother, who lives on the west coast, has sent a belated Christmas present after insisting that I shouldn't give him anything this year... a check for a Nintendo Wii.  I'm floored; it's an incredible gift, and I really, really appreciate it.  So far, no store has any Wiis in stock (but they do have several PS3s collecting dust), but I'll keep trying.  Alex, thank you!  This really means a lot to me.  I will be driving out sometime this summer to visit.&lt;/p&gt;
&lt;h2&gt;HDR Chernobyl Photos&lt;/h2&gt;
&lt;p&gt;I highly recommend reading Trey Ratcliff's entry &lt;i&gt;&lt;a href="http://stuckincustoms.com/?p=1062"&gt;Nuclear Winter in Chernobyl&lt;/a&gt;&lt;/i&gt;, a description and HDR photo tour of the reactor and Pripyat.  It features beautiful, high resolution and haunting imagery of the abandoned power plant, ferris wheel, apartment buildings and playgrounds.  If you just want to &lt;a href="http://www.flickr.com/photos/stuckincustoms/sets/72157594514491393/show/"&gt;see the slideshow&lt;/a&gt;, they're hosted on flickr.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4767023536930727704-335711160597847240?l=jonpeck.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jonpeck.blogspot.com/feeds/335711160597847240/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4767023536930727704&amp;postID=335711160597847240' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/335711160597847240'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/335711160597847240'/><link rel='alternate' type='text/html' href='http://jonpeck.blogspot.com/2007/02/making-pdfs-with-free-software-and-wii.html' title='Making PDFs with free software and Wii are on the way'/><author><name>Jon</name><uri>http://www.blogger.com/profile/15647634292152200889</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-IxHPX90Hvkk/Tl5RebRAGcI/AAAAAAAAAVw/njDgSoIYIaA/s220/Logo-v01-20110812-827x827.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4767023536930727704.post-2318330947129456777</id><published>2007-02-05T10:08:00.000-05:00</published><updated>2007-02-05T10:40:37.962-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GameCube'/><category scheme='http://www.blogger.com/atom/ns#' term='pikmin 2'/><category scheme='http://www.blogger.com/atom/ns#' term='Free Software'/><category scheme='http://www.blogger.com/atom/ns#' term='iPod'/><category scheme='http://www.blogger.com/atom/ns#' term='blogging'/><category scheme='http://www.blogger.com/atom/ns#' term='writing'/><title type='text'>Unlocking your iPod's potential and building life skills with free software</title><content type='html'>&lt;h2&gt;Managing your iPod with free software&lt;/h2&gt;
&lt;p&gt;In the end of December of 2006, I wrote my first article for &lt;a href="http://www.freesoftwaremagazine.com/"&gt;Free Software Magazine&lt;/a&gt;.  It was accepted, and it was published today in &lt;a href="http://www.freesoftwaremagazine.com/issues/issue_016"&gt;Issue 16&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;While iTunes is a powerful application, it does have its limitations, mostly stemming from both Digital Rights Management (DRM) restrictions and the Recording Industry Association of America’s (RIAA) interest in preventing unauthorized copying of music, regardless of fair use and personal flexibility. The free software community believes that the ability to freely copy content you own between your iPod and a computer is a right, not a privilege. I discuss how to fully manage the content on your iPod using completely free software in &lt;i&gt;&lt;a href="http://www.freesoftwaremagazine.com/articles/managing_your_ipod_without_itunes"&gt;Managing your iPod without iTunes&lt;/a&gt;&lt;/i&gt;.&lt;/p&gt;
&lt;h2&gt;Using free software to build professional and life skills&lt;/h2&gt;
&lt;p&gt;I've found that many of the skills I've developed using free software and just plain "doing it myself" has been useful in my professional endeavors.  This week at FSM, I considered some of the more abstract fringe benefits of using free software in &lt;i&gt;&lt;a href="http://www.freesoftwaremagazine.com/blogs/using_free_software_to_build_professional_and_life_skills"&gt;Using free software to build professional and life skills&lt;/a&gt;&lt;/i&gt;.&lt;/p&gt;
&lt;h2&gt;&lt;a href="http://www.amazon.com/gp/product/B00009WAUE?ie=UTF8&amp;tag=dissension-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=B00009WAUE"&gt;Pikmin 2&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=dissension-20&amp;l=as2&amp;o=1&amp;a=B00009WAUE" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /&gt;&lt;/h2&gt;
&lt;p&gt;I've been looking for good games for the GameCube, and this week I've discovered that &lt;a href="http://www.amazon.com/gp/product/B00009WAUE?ie=UTF8&amp;tag=dissension-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=B00009WAUE"&gt;Pikmin 2&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=dissension-20&amp;l=as2&amp;o=1&amp;a=B00009WAUE" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /&gt; is a joy to play.  You play as two tiny aliens followed by a a crowd of eager-to-please creatures that look and act like friendly carrots.  You're on Earth, trying to search out objects that can be used to pay back a loan and save your company.  As your company is trying to market the objects, they come up with marketing names, such as "Sunseed Berry" for a strawberry, "Director of Destiny" for a compass, and "Quenching Emblem" for a 7-up bottle cap.  The difficulty and learning curve ramp up very appropriately, and overall it's just &lt;i&gt;fun&lt;/i&gt;.&lt;p&gt;Now, if I can wrap my head around &lt;a href="http://www.amazon.com/gp/product/B0002A6CPK?ie=UTF8&amp;tag=dissension-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=B0002A6CPK"&gt;Killer 7&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=dissension-20&amp;l=as2&amp;o=1&amp;a=B0002A6CPK" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /&gt;...&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4767023536930727704-2318330947129456777?l=jonpeck.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jonpeck.blogspot.com/feeds/2318330947129456777/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4767023536930727704&amp;postID=2318330947129456777' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/2318330947129456777'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/2318330947129456777'/><link rel='alternate' type='text/html' href='http://jonpeck.blogspot.com/2007/02/unlocking-your-ipods-potential-and.html' title='Unlocking your iPod&apos;s potential and building life skills with free software'/><author><name>Jon</name><uri>http://www.blogger.com/profile/15647634292152200889</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-IxHPX90Hvkk/Tl5RebRAGcI/AAAAAAAAAVw/njDgSoIYIaA/s220/Logo-v01-20110812-827x827.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4767023536930727704.post-5050051621524482875</id><published>2007-01-29T09:54:00.000-05:00</published><updated>2007-01-29T10:30:55.436-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Free Software'/><category scheme='http://www.blogger.com/atom/ns#' term='film'/><category scheme='http://www.blogger.com/atom/ns#' term='NIN'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Critiquing the Ubuntu Installer for Windows, Autism</title><content type='html'>&lt;h2&gt;Critiquing the Ubuntu Installer for Windows&lt;/h2&gt;
&lt;p&gt;My latest entry at FSM is about the Ubuntu Installer for Windows, &lt;a href="https://wiki.ubuntu.com/install.exe"&gt;install.exe&lt;/a&gt;. In short, it’s a way to install Ubuntu onto the same file system as Microsoft Windows without repartitioning your drive. Justifications include minimizing the risk of data loss during repartitioning, a more user-friendly installation process, and eliminating the need of burning a CD to install.  I analyze the need and justification in &lt;i&gt;&lt;a href="http://www.freesoftwaremagazine.com/blogs/do_we_need_an_ubuntu_installer_for_windows"&gt;Do we need an Ubuntu installer for Windows?&lt;/a&gt;&lt;/i&gt;  This is my most popular FSM entry to date; it made the &lt;a href="http://digg.com/linux_unix/Do_we_need_an_Ubuntu_installer_for_Windows"&gt;Digg front page&lt;/a&gt; and currently has nearly eleven thousand views.&lt;/p&gt;
&lt;h2&gt;Short Film about Autism&lt;/h2&gt;
&lt;p&gt;I highly recommend watching &lt;i&gt;&lt;a href="http://www.youtube.com/watch?v=JnylM1hI2jc"&gt;In My Language&lt;/a&gt;&lt;/i&gt;, a beautifully crafted 8'35" video by an autistic that challenges your perspective and prejudices.  It's one of the most powerful pieces of film making I've seen in a very long time, and I applaud the author both for their bravery and for the excellent presentation and editing.&lt;/p&gt;
&lt;h2&gt;Nine Inch Nails - Beside You in Time DVD&lt;/h2&gt;
&lt;p&gt;After missing a concert last year due to a scheduling conflict, I've been awaiting the &lt;a href="http://www.amazon.com/dp/B000LXH3BK?tag=dissension-20&amp;camp=14573&amp;creative=327641&amp;linkCode=as1&amp;creativeASIN=B000LXH3BK&amp;adid=02F4E80YRZE1PRRQDVQJ&amp;"&gt;Nine Inch Nails - Beside You in Time DVD, which Amazon has for $13.99 pre-order.&lt;/a&gt;  That's an excellent deal for live concert footage of the [with_teeth] tour.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4767023536930727704-5050051621524482875?l=jonpeck.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jonpeck.blogspot.com/feeds/5050051621524482875/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4767023536930727704&amp;postID=5050051621524482875' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/5050051621524482875'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/5050051621524482875'/><link rel='alternate' type='text/html' href='http://jonpeck.blogspot.com/2007/01/critiquing-ubuntu-installer-for-windows.html' title='Critiquing the Ubuntu Installer for Windows, Autism'/><author><name>Jon</name><uri>http://www.blogger.com/profile/15647634292152200889</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-IxHPX90Hvkk/Tl5RebRAGcI/AAAAAAAAAVw/njDgSoIYIaA/s220/Logo-v01-20110812-827x827.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4767023536930727704.post-6003152056469296286</id><published>2007-01-24T09:44:00.000-05:00</published><updated>2008-12-12T00:44:19.102-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='analysis'/><category scheme='http://www.blogger.com/atom/ns#' term='tag clouds'/><category scheme='http://www.blogger.com/atom/ns#' term='tagverse'/><category scheme='http://www.blogger.com/atom/ns#' term='the confluence'/><title type='text'>tagverse launch, State of the Union analysis</title><content type='html'>&lt;p&gt;I've cleaned up, formalized and published my application that I used to &lt;a href="http://jonpeck.blogspot.com/2007/01/analyzing-president-bushs-speech-on.html"&gt;analyze Bush's speech on Iraq&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Ever needed to analyze a document and visualize the most important terms?  Enter a plain text document with at least three paragraphs, and &lt;strong&gt;&lt;a href="http://theconfluence.org/projects/tagverse/"&gt;tagverse&lt;/a&gt;&lt;/strong&gt; will generate a tag cloud from extracted key terms.&lt;p&gt;

&lt;p&gt;I will be making the source code available in the near future.&lt;/p&gt;

&lt;h2&gt;State of the Union analysis&lt;/h2&gt;

&lt;p&gt;I provided &lt;strong&gt;tagverse&lt;/strong&gt; with the text of Bush's 2007 State of the Union address.&lt;/p&gt;

&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2kZsHzNQI7E/RbdzAa6jeKI/AAAAAAAAAA8/_NEghWyYOe0/s1600-h/sotu_2007.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_2kZsHzNQI7E/RbdzAa6jeKI/AAAAAAAAAA8/_NEghWyYOe0/s400/sotu_2007.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5023610360417188002" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Compare this result to &lt;a href="http://jonpeck.blogspot.com/2007/01/analyzing-president-bushs-speech-on.html"&gt;the Iraq speech&lt;/a&gt;; note the inclusion of "diplomacy", and the avoidance of "sectarian" and "nuclear weapons".  While this analysis is purely algorithmic and arbitrary, you can use it to see trends, especially in this sort of context.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4767023536930727704-6003152056469296286?l=jonpeck.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jonpeck.blogspot.com/feeds/6003152056469296286/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4767023536930727704&amp;postID=6003152056469296286' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/6003152056469296286'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/6003152056469296286'/><link rel='alternate' type='text/html' href='http://jonpeck.blogspot.com/2007/01/tagverse-launch-state-of-union-analysis.html' title='tagverse launch, State of the Union analysis'/><author><name>Jon</name><uri>http://www.blogger.com/profile/15647634292152200889</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-IxHPX90Hvkk/Tl5RebRAGcI/AAAAAAAAAVw/njDgSoIYIaA/s220/Logo-v01-20110812-827x827.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_2kZsHzNQI7E/RbdzAa6jeKI/AAAAAAAAAA8/_NEghWyYOe0/s72-c/sotu_2007.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4767023536930727704.post-170810016078721100</id><published>2007-01-22T23:54:00.003-05:00</published><updated>2011-07-08T08:01:01.135-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Vanishing Point'/><category scheme='http://www.blogger.com/atom/ns#' term='Muse'/><category scheme='http://www.blogger.com/atom/ns#' term='knights of cydonia'/><category scheme='http://www.blogger.com/atom/ns#' term='mashup'/><category scheme='http://www.blogger.com/atom/ns#' term='dodge challenger'/><title type='text'>Vanishing Knights - an adrenaline-filled orgy of muscle car and guitar rock</title><content type='html'>&lt;p&gt;I've been listening to British rock band Muse's &lt;b&gt;Black Holes and Revelations&lt;/b&gt; (2006) on my commute, and it's gotten stuck in my head.  The final song, &lt;i&gt;Knights of Cydonia&lt;/i&gt; is a grandiose, bombastic and triumphant progressive-rock cacophony.  Bellamy croons, “No one's gonna take me alive... the time has come to make things right... you and I must fight for our rights... you and I must fight to survive.”&lt;/p&gt;

&lt;p&gt;I really enjoyed the official video, which was done in the style of a post-apocalyptic old spaghetti western film.  The over-the-top, bigger than life stylish combination of that song and visuals reminded me of &lt;b&gt;Vanishing Point&lt;/b&gt; (1971); a film whose success derived mostly from its visceral feel and powerful sounds.&lt;/p&gt;

&lt;p&gt;Vanishing Point is the ultimate car chase movie, starring Barry Newman and a 1970 Dodge Challenger R/T.  Kowalski, a car delivery driver at the end of his rope, decides to drive at high speed from Denver to San Fransisco.  Filmed in the desert, mountains and small towns throughout Colorado, Utah, and Nevada, the film features beautiful landscapes and powerful imagery.  Kowalski continually evades the law to the delight of the public in the form of the last American hero.&lt;/p&gt;

&lt;p&gt;I've been working on editing together a mashup over the last two weeks, maintaining the story line and themes of the film and closely following the song.  I'm very pleased with the result; it's an exciting, six-and-a-half minute adrenaline-filled orgy of muscle car and guitar rock.  I make no claims to the content; I merely edited things together.&lt;/p&gt;

&lt;p&gt;EDIT: The audio was disabled by YouTube / lawyers, so despite my opinion that it was fair use, I have removed the video entirely.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4767023536930727704-170810016078721100?l=jonpeck.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jonpeck.blogspot.com/feeds/170810016078721100/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4767023536930727704&amp;postID=170810016078721100' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/170810016078721100'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/170810016078721100'/><link rel='alternate' type='text/html' href='http://jonpeck.blogspot.com/2007/01/vanishing-knights-adrenaline-filled.html' title='Vanishing Knights - an adrenaline-filled orgy of muscle car and guitar rock'/><author><name>Jon</name><uri>http://www.blogger.com/profile/15647634292152200889</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-IxHPX90Hvkk/Tl5RebRAGcI/AAAAAAAAAVw/njDgSoIYIaA/s220/Logo-v01-20110812-827x827.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4767023536930727704.post-2673968414703780466</id><published>2007-01-19T11:53:00.000-05:00</published><updated>2007-01-19T11:56:34.184-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='domain'/><category scheme='http://www.blogger.com/atom/ns#' term='the confluence'/><category scheme='http://www.blogger.com/atom/ns#' term='blogging'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='ezSQL'/><title type='text'>Free desktop revolution, new domain and using ezSQL</title><content type='html'>&lt;p&gt;Inspired by a recent experience, my latest entry at FSM offers my perspective on the question, &lt;a href="http://www.freesoftwaremagazine.com/blogs/has_the_free_desktop_revolution_arrived"&gt;has the free desktop revolution arrived?&lt;/a&gt;  My wife's computer had hardware issues, so as a stop-gap I gave her an account on my Ubuntu desktop, then asked her about her experience.&lt;/p&gt;

&lt;p&gt;I registered a new domain through &lt;a href="http://www.dreamhost.com/r.cgi?266463"&gt;DreamHost&lt;/a&gt;.  They have very reasonable plans, starting at $7.95 a month, and I've used their services for several other sites that I've administered and had a positive experience working with them.  My new site, &lt;i&gt;&lt;a href="http://theconfluence.org/"&gt;the confluence&lt;/a&gt;&lt;/i&gt; is intended to be a collection of web applications that I've written and released to the public.  Most programs will be released as GPL, as I believe fully in contributing to the community.&lt;/p&gt;

&lt;p&gt;I'm working finishing a few applications; the tag cloud generator (name pending), eManiuplator (email address extraction, validation and list operations), eBrother (visualizes server usage), an email newsletter generator (name pending), and a service inspired by the old lowbrow.com site.  The first three work, but need to be secured and cleaned up.  The last two are in development.&lt;/p&gt;

&lt;p&gt;I've discovered a new database class that assists in rapid application development; &lt;a href="http://www.jvmultimedia.com/portal/node/6"&gt;ezSQL v2.00&lt;/a&gt;.  In their words, "ezSQL is a class that makes it ridiculously easy to use mySQL, Oracle8, SQLite (PHP), within your PHP script."  It's got automatic query caching, built-in debugging functions, and works with &lt;a href="http://smarty.php.net/"&gt;Smarty&lt;/a&gt;.  I really, really like the way it returns responses and the built-in functions are very useful.  I suggest you give it a try.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4767023536930727704-2673968414703780466?l=jonpeck.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jonpeck.blogspot.com/feeds/2673968414703780466/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4767023536930727704&amp;postID=2673968414703780466' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/2673968414703780466'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/2673968414703780466'/><link rel='alternate' type='text/html' href='http://jonpeck.blogspot.com/2007/01/free-desktop-revolution-also-new-domain.html' title='Free desktop revolution, new domain and using ezSQL'/><author><name>Jon</name><uri>http://www.blogger.com/profile/15647634292152200889</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-IxHPX90Hvkk/Tl5RebRAGcI/AAAAAAAAAVw/njDgSoIYIaA/s220/Logo-v01-20110812-827x827.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4767023536930727704.post-3184308073848303037</id><published>2007-01-11T23:12:00.000-05:00</published><updated>2007-01-19T11:53:19.221-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Free Software'/><category scheme='http://www.blogger.com/atom/ns#' term='phpMyEdit'/><category scheme='http://www.blogger.com/atom/ns#' term='blogging'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>Finding Linux replacements for Windows software, developing with phpMyEdit</title><content type='html'>&lt;p&gt;When discussing ways to switch to GNU/Linux, one of the biggest difficulties I've found is finding answers to the question, "What can I replace this program with?" It's completely understandable; people don't want to lose functionality. However, Googling for answers can easily lead to confusion and frustration if you don't have the background or knowledge to be able to differentiate between the wheat and the chaff.  In my new entry for FSM, I discuss resources that can be used for &lt;a href="http://www.freesoftwaremagazine.com/node/2003"&gt;&lt;i&gt;Finding GNU/Linux replacements for Windows software&lt;/i&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Good news; the article that I wrote for Free Software Magazine has been accepted!  Once it's published, I'll link to it here.  I'm proud; it's my first real published article, not just an opinion, letter or article in a student publication.&lt;/p&gt;
&lt;p&gt;Today, I've been going through my notes, snippets and ideas from the past few weeks and tried to catch up on some back entries (my apologies to the feed subscribers).  I've posted everything chronologically, so if you look at the blog itself, it should sense.&lt;/p&gt;
&lt;p&gt;Yesterday, I tried using &lt;a href="http://www.phpmyedit.org/"&gt;phpMyEdit&lt;/a&gt; to develop a forms based front-end to a MySQL database.  I've found it to be simultaneously useful, simple, complex, flexible, and limited.  It allows for rapid development of CRUD (Create, Read, Update and Destroy) forms, which greatly reduces development time.  However, when you want to use an advanced MySQL join or contextual input, you start to find a bit of roughness.&lt;/p&gt;
&lt;p&gt;The documentation does a decent, but not thorough job of listing all the functionality.  I'm particularly annoyed by the comment, "Note that the above example contains additional features..." yet there are no instructions on how to use the new functionality anywhere else in the manual.&lt;/p&gt;
&lt;p&gt;Another issue I have with the documentation is the inclusion of code examples that only apply to "future development" and not the current version... this sort of thing should be in the bug tracker, not the production documentation.&lt;/p&gt;
&lt;p&gt;I've asked a question on how to do contextual input on their support forums, and if I get a response, I'll publish it here.  Overall, I think phpMyEdit is a good free tool for PHP development.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4767023536930727704-3184308073848303037?l=jonpeck.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jonpeck.blogspot.com/feeds/3184308073848303037/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4767023536930727704&amp;postID=3184308073848303037' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/3184308073848303037'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/3184308073848303037'/><link rel='alternate' type='text/html' href='http://jonpeck.blogspot.com/2007/01/finding-linux-replacements-for-windows.html' title='Finding Linux replacements for Windows software, developing with phpMyEdit'/><author><name>Jon</name><uri>http://www.blogger.com/profile/15647634292152200889</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-IxHPX90Hvkk/Tl5RebRAGcI/AAAAAAAAAVw/njDgSoIYIaA/s220/Logo-v01-20110812-827x827.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4767023536930727704.post-4895608447155927144</id><published>2007-01-10T21:41:00.000-05:00</published><updated>2008-12-12T00:44:19.276-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tag clouds'/><category scheme='http://www.blogger.com/atom/ns#' term='Free Software'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='politics'/><title type='text'>Analyzing President Bush's Speech on Iraq with a Tag Cloud</title><content type='html'>&lt;p&gt;In the build-up to President Bush's speech on Iraq, I've heard a lot of speculation on what the emphasis of the speech was going to be about, and how the content was going to be less rhetoric and catch phrases and more of a persuasive argument.  Out of curiosity and inspired by the &lt;a href="http://chir.ag/phernalia/preztags/"&gt;US Presidential Speeches Tag Cloud&lt;/a&gt;, I used an application I wrote using free tools and scripts that extracts key phrases and words from a document and represents the results as a tag cloud (weighted list).  Here are the results of the tag cloud analysis of the &lt;a href="http://www.foxnews.com/story/0,2933,242958,00.html"&gt;transcript of the speech&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2kZsHzNQI7E/RaWkRhOj4-I/AAAAAAAAAAw/RrhKmHjwKfs/s1600-h/bush_20070110.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_2kZsHzNQI7E/RaWkRhOj4-I/AAAAAAAAAAw/RrhKmHjwKfs/s400/bush_20070110.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5018597980658459618" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Background&lt;/h2&gt;

&lt;p&gt;One of my tasks as a programmer was to find a way to process a large body of text (committee suggestions), pick out key phrases or words that occurred more often, and display them in an easily understood format.  However, if I just did a word count, then I'd get high occurrences of out-of-context nouns, adverbs and verbs, which wouldn't be useful.&lt;/p&gt;

&lt;h2&gt;Term Extraction&lt;/h2&gt;

&lt;p&gt;The &lt;a href="http://developer.yahoo.com/"&gt;Yahoo! Developer Network&lt;/a&gt; offers a very useful tool as part of their Content Analysis Web Services - &lt;a href="http://developer.yahoo.com/search/content/V1/termExtraction.html"&gt;Term Extraction&lt;/a&gt;.  The service "provides a list of significant words or phrases extracted from a larger content."  To use the service, you'll need a free &lt;a href="http://developer.yahoo.com/faq/index.html#appid"&gt;Yahoo! Application ID&lt;/a&gt;.  The only limit on the service is 5,000 queries per IP address per day, which for most users is more than sufficient.  To get around some hosting limitations, I used the &lt;a href="http://netevil.org/node.php?nid=937&amp;SC=1"&gt;HTTP POST from PHP without cURL&lt;/a&gt; script from netevil.org&lt;/p&gt;

&lt;p&gt;As the service provides a unique terms, I couldn't just submit the whole body of text, which would have resulted in a few key words and phrases occurring only once.  I had to split the source text into individual paragraphs, submit each paragraph separately, and push each resulting term into an array.&lt;/p&gt;

&lt;h2&gt;Tag Clouds&lt;/h2&gt;

&lt;p&gt;A fairly recent innovation in web development has been the use of tag clouds.  A tag cloud is an alphabetized way of visually representing the frequency of a word or phrase using font sizes that correspond to precedence, or some other similar emphasis.  If a word or phrase occurs more often, it'll be displayed larger than the other members of the list.  For more information and the history of tag clouds, &lt;a href="http://en.wikipedia.org/wiki/Tag_cloud"&gt;read the wikipedia entry&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I combined the Term Extraction with a modified version of the excellent free &lt;a href="http://www.15tags.com/blog/tagcloud-demo-with-source/"&gt;PHP tag cloud generator&lt;/a&gt; from 15tags.  The script just counts the occurrences of strings within an array and displays the top few items that occurred the most often in a tag cloud.  You can adjust the number of items in the tag cloud; while I've displayed over 100 items, it works best with around 25-30.&lt;/p&gt;

&lt;h2&gt;Results&lt;/h2&gt;
&lt;p&gt;I took the committee suggestions, pasted them into the tool, pasted the result into a word processor, added a little formatting, and gave the printed document to my supervisor.  She found the results useful and visually interesting; it a good tool for arbitrary analysis, and the resulting tag cloud could be used as the basis of a cover for the report.  I think tag clouds are a useful method of visually representing the importance of a term, tag, or key words.&lt;/p&gt;

&lt;p&gt;For fun, I also ran the application on some erotic literature and IRC logs.  I won't share the results in public, but believe me, it's a hoot.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4767023536930727704-4895608447155927144?l=jonpeck.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jonpeck.blogspot.com/feeds/4895608447155927144/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4767023536930727704&amp;postID=4895608447155927144' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/4895608447155927144'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/4895608447155927144'/><link rel='alternate' type='text/html' href='http://jonpeck.blogspot.com/2007/01/analyzing-president-bushs-speech-on.html' title='Analyzing President Bush&apos;s Speech on Iraq with a Tag Cloud'/><author><name>Jon</name><uri>http://www.blogger.com/profile/15647634292152200889</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-IxHPX90Hvkk/Tl5RebRAGcI/AAAAAAAAAVw/njDgSoIYIaA/s220/Logo-v01-20110812-827x827.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_2kZsHzNQI7E/RaWkRhOj4-I/AAAAAAAAAAw/RrhKmHjwKfs/s72-c/bush_20070110.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4767023536930727704.post-6505393716997714572</id><published>2007-01-08T22:41:00.000-05:00</published><updated>2007-01-11T22:44:51.708-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='intellectual property'/><category scheme='http://www.blogger.com/atom/ns#' term='fair use'/><title type='text'>Protecting intellectual property</title><content type='html'>&lt;p&gt;An unfortunate side effect of the "Wii-diculous" video is that it's become viral.  Not in the way I'd like it to be, mind you... some individuals have downloaded the movie from either &lt;a href="http://www.youtube.com/watch?v=lzfJUHVrWhs"&gt;YouTube&lt;/a&gt; or &lt;a href="http://www.gametrailers.com/umwatcher.php?id=29969"&gt;GameTrailers&lt;/a&gt;, transcoded it, and uploaded the result to different sites.  In the process, the content I authored loses the proper description and the link to my blog, gains watermarks, and is presented as someone else's content without credit.  I find it particularly amusing that it's gone full circle; I found at least four different copies of the video with the same title on YouTube, which I had removed through their admirably fast and painless copyright infringement contact.&lt;/p&gt;

&lt;p&gt;Now, I'm not trying to make money off of this.  I'm just trying to make sure that the people who deserve credit for their work are acknowledged; myself, Ed, and Chris, along with the others named in the credits and my blog entry.  I don't understand why people don't even check if a video is already there before uploading it themselves.&lt;/p&gt;

&lt;p&gt;There's a difference between sharing content you've found and branding it as your own and implying ownership.&lt;/p&gt;

&lt;p&gt;I've been contemplating a mash-up of a particular Muse song and a 1970's movie that I really enjoy.  Trust me, there's a lot of bad mash-ups, and I don't want to make one more.  I've planned it out in my head; following both the story line of the movie and the lyrics in a sequential manner, with the climax of each matching.  Even the rough cut is making me giddy... but now I'm second guessing myself.  Would it be hypocrisy if I published it on YouTube?  I wouldn't be taking credit for the content, just the editing.&lt;/p&gt;

&lt;p&gt;In a perfect world, I'd request the permission of both the movie studio and the record label, and they'd undoubtedly say no or ask for so much money that I couldn't afford it.  However, there are thousands of mash-ups that survive without getting take-down notices.  I could just post it and run the risk of having it removed... absolute worst case scenario, I'm fined, even if I was using it in a non-commercial context.&lt;/p&gt;

&lt;p&gt;This is not an easy question... fair use vs. intellectual property vs. corporate interest.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4767023536930727704-6505393716997714572?l=jonpeck.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jonpeck.blogspot.com/feeds/6505393716997714572/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4767023536930727704&amp;postID=6505393716997714572' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/6505393716997714572'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/6505393716997714572'/><link rel='alternate' type='text/html' href='http://jonpeck.blogspot.com/2007/01/protecting-intellectual-property.html' title='Protecting intellectual property'/><author><name>Jon</name><uri>http://www.blogger.com/profile/15647634292152200889</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-IxHPX90Hvkk/Tl5RebRAGcI/AAAAAAAAAVw/njDgSoIYIaA/s220/Logo-v01-20110812-827x827.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4767023536930727704.post-6459903909039992836</id><published>2007-01-04T21:57:00.000-05:00</published><updated>2007-01-11T21:58:27.344-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GameCube'/><category scheme='http://www.blogger.com/atom/ns#' term='Free Software'/><category scheme='http://www.blogger.com/atom/ns#' term='modding'/><category scheme='http://www.blogger.com/atom/ns#' term='blogging'/><title type='text'>Usability, a wii-diculously large response, and GameCube modding</title><content type='html'>&lt;p&gt;Happy New Year!  Sleep is for the weak, so let's get back to business.&lt;/p&gt;

&lt;p&gt;Have you ever found a new piece of software that sounds like it's the perfect match for your needs, only to get bogged down by bad documentation or a horrendous interface? Many people will quickly discard programs out of frustration caused by avoidable usability issues. Read about ways software developers can avoid disenfranchising potential users in my Free Software Magazine entry &lt;i&gt;&lt;a href="http://www.freesoftwaremagazine.com/blogs/how_usability_inhibits_good_software"&gt;How usability inhibits good software&lt;/a&gt;&lt;/i&gt;.&lt;/p&gt;

&lt;p&gt;The &lt;i&gt;&lt;a href="http://jonpeck.blogspot.com/2006/12/wii-diculous.html"&gt;Wii-diculous&lt;/a&gt;&lt;/i&gt; video has gotten frighteningly popular; over 300,000 views on YouTube so far!  I figured I'd get a few thousand hits... Ed, Chris and I are very pleasantly surprised by its success.  We're currently planning a follow-up...&lt;/p&gt;

&lt;p&gt;Reading over the comments on my entry about learning Ruby on Rails and using generated CRUD forms, I found a nice suggestion; &lt;a href="http://platon.sk/projects/main_page.php?project_id=5"&gt;phpMyEdit&lt;/a&gt;.  It's an "instant MySQL Table Editor and PHP code generator."  Thanks to Niraj for pointing it out!  I'll take a look at it in the coming weeks.&lt;/p&gt;

&lt;p&gt;I've been researching ways to mod my used GameCube... ultimately, I'd like to replicate the functionality that I have with my modded Xbox w/ XBMC; the ability to use home brew (network media player, emulators, Linux) and to play backups.&lt;/p&gt;

&lt;p&gt;It looks to me like the easiest solution is to use a &lt;a href="http://dextrose.com/_forum/showthread.php?t=10709"&gt;XenoGC 2.0 modchip&lt;/a&gt;  (&lt;a href="http://www.eurasia.nu/shop/product_info.php?products_id=300"&gt;$15&lt;/a&gt;), buy a Gamebit screwdriver (about $8), and a replacement case (around $30) or top (around $20) so I can use full-size DVDs.  Also, I should get a GameCube Broadband Adapter, which runs about $20 off eBay (unless I can find it locally).&lt;/p&gt;

&lt;p&gt;I've learned a few things...  Full-size DVDs apparently reduce the lifespan of the optical drive motor, but the exact amount is up in the air.  Also, you can "make" your own Gamebit screwdriver by melting a pen for each screw, but I'd rather just buy the right tool rather than ruining a bunch of pens.  Playback of backups is affected by the type of media; adjusting the potentiometer may resolve some skipping issues.  Finally, while it's theoretically possible to hack an IDE hard drive into a GC, it's a square peg in a round hole.&lt;/p&gt;

&lt;p&gt;However, the more I look at the GameCube homebrew scene, the more I'm second guessing whether or not I should do this.  My GameCube is working just fine as a game playing device, and I don't mind having both a GameCube and an Xbox.  I can't afford to replace it if I screw up.  Oh well...&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4767023536930727704-6459903909039992836?l=jonpeck.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jonpeck.blogspot.com/feeds/6459903909039992836/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4767023536930727704&amp;postID=6459903909039992836' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/6459903909039992836'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/6459903909039992836'/><link rel='alternate' type='text/html' href='http://jonpeck.blogspot.com/2007/01/usability-wii-diculously-large-response.html' title='Usability, a wii-diculously large response, and GameCube modding'/><author><name>Jon</name><uri>http://www.blogger.com/profile/15647634292152200889</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-IxHPX90Hvkk/Tl5RebRAGcI/AAAAAAAAAVw/njDgSoIYIaA/s220/Logo-v01-20110812-827x827.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4767023536930727704.post-3886709747403076536</id><published>2006-12-28T18:44:00.000-05:00</published><updated>2007-01-11T18:49:12.598-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='resolutions'/><category scheme='http://www.blogger.com/atom/ns#' term='GameCube'/><category scheme='http://www.blogger.com/atom/ns#' term='blogging'/><title type='text'>New Year's resolutions, GameCube</title><content type='html'>&lt;p&gt;I'm currently in Pennsylvania with my in-laws over the holidays, so I've been pretty much off the grid.    We've had a grand time visiting, exchanging presents, eating too much good food, and building a potato cannon.  Seeing as 2007 is fast approaching, it's time to start thinking of resolutions.  From exercising more, eating fewer snacks, or remembering to call your mother on her birthday, we all think of various ways we can improve our lives, by starting good habits or ending bad ones. I took some time off this afternoon and compiled a few suggested resolutions that will assist you in your pursuit of free software.  Check out the entry at Free Software Magazine entitled &lt;i&gt;&lt;a href="http://www.freesoftwaremagazine.com/blogs/free_software_new_years_resolutions "&gt;Free software New Year's resolutions&lt;/a&gt;&lt;/i&gt;.&lt;/p&gt;

&lt;p&gt;As the Nintendo Wii is still a bit difficult to get a hold of and there's a persistent rumor about it dropping to $200 and having DVD playback in early 2007, I decided to purchase a used Nintendo GameCube for the time being.  I know there's a homebrew scene, there's a Linux distribution available, and I've heard of people hacking IDE drives onto the thing.  Oh, and there's a fairly large number of excellent games for the GameCube that are pretty cheap right now, so I should be able to finally play The Legend of Zelda: The Wind Waker, Cubivore, Killer7, Donkey Konga and a few other titles that have been recommended to me.  I'll write more about the GameCube mod scene when I can do some more research.&lt;/p&gt;

&lt;p&gt;My wife and I wish you and yours the very best in the years to come!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4767023536930727704-3886709747403076536?l=jonpeck.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jonpeck.blogspot.com/feeds/3886709747403076536/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4767023536930727704&amp;postID=3886709747403076536' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/3886709747403076536'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/3886709747403076536'/><link rel='alternate' type='text/html' href='http://jonpeck.blogspot.com/2007/01/new-years-resolutions-gamecube.html' title='New Year&apos;s resolutions, GameCube'/><author><name>Jon</name><uri>http://www.blogger.com/profile/15647634292152200889</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-IxHPX90Hvkk/Tl5RebRAGcI/AAAAAAAAAVw/njDgSoIYIaA/s220/Logo-v01-20110812-827x827.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4767023536930727704.post-2434244096222235845</id><published>2006-12-22T16:10:00.000-05:00</published><updated>2008-12-12T00:44:19.881-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wii'/><category scheme='http://www.blogger.com/atom/ns#' term='projector'/><category scheme='http://www.blogger.com/atom/ns#' term='wireless'/><category scheme='http://www.blogger.com/atom/ns#' term='diy'/><title type='text'>Wii-diculous</title><content type='html'>&lt;h2&gt;&lt;a href="http://www.youtube.com/watch?v=lzfJUHVrWhs&amp;eurl="&gt;Demonstration&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;object width="425" height="350"&gt;&lt;param name="movie" value="http://www.youtube.com/v/lzfJUHVrWhs"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/lzfJUHVrWhs" type="application/x-shockwave-flash" width="425" height="350"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;
&lt;p&gt;One of my
friends is a
manager at a local movie theater, which uses a digital projector to
show advertisements between features. After seeing
the &lt;a href="http://www.youtube.com/watch?v=wuR7_fWgxU4"&gt;&lt;i&gt;It Burns When I Wii&lt;/i&gt;
video&lt;/a&gt;, we
figured we could one-up it with the equivalent of a 344" television
screen. We wanted to use my friend's Nintendo Wii in the
theater,
but we didn't want to have to deal with yards of cabling. 
Inspired by &lt;a href="http://doctabu.livejournal.com/64758.html"&gt;doctabu's
design&lt;/a&gt;, I built my own wireless sensor bar for less than
$20. 
Doctabu left out something important; a resistor, which is needed to
limit the
current to the LEDs.&lt;/p&gt;&lt;h2&gt;Parts - what's essential:&lt;/h2&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2kZsHzNQI7E/RYxM-p8mr_I/AAAAAAAAAAk/_mp64RUC-2w/s1600-h/wiisensor.png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_2kZsHzNQI7E/RYxM-p8mr_I/AAAAAAAAAAk/_mp64RUC-2w/s320/wiisensor.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5011465124652167154" /&gt;&lt;/a&gt;&lt;ul&gt;&lt;li&gt;4
x
Infrared 5MM LEDs (Radio Shack # 2760143)&lt;/li&gt;&lt;li&gt;1 x 15
ohm 1/2 watt
resistor (Radio Shack # 2711102)&lt;/li&gt;&lt;li&gt;1 x Battery Holder
for 4 AAA
(Radio Shack # 2700413)&lt;/li&gt;&lt;li&gt;4 x AAA battery&lt;/li&gt;&lt;li&gt;Small
gauge
electrical wire (at least 7 1/2")&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;Parts
- what I
recommended:&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;2 x Project Enclosure
(3"x2"x1") (Radio Shack
# 2701801)&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Housing for your device.&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;1/4"
drill
bit&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Drill holes in the housing for the
LEDs and wire.&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;1
x Package of 5 LED Snap-Holders (Radio Shack # 2760079)&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Keeps
the LEDs in place.&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;1 x SPST Submini
Toggle Switch (Radio
Shack # 2750612)&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Turn it on and off.&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Four
small cable ties&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Place on either sides of
the wire where it
goes through the hole and trim. Keeps the wires from pulling
out.&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;p&gt;My
design consists of two IR emitters connected by a single piece
of
wire in a series circuit. I left the battery holder on the
outside to make it easier to change the batteries.&lt;/p&gt;&lt;p&gt;When
you build
your own and you're finished soldering it together, put the batteries
in, take it in a dark room and flip the switch. The LEDs will
have a very faint, flickering red glow. Infrared is beyond
the
range human sight, but there's a little bleed-through into the visual
frequencies. Some cameras with will be able to pick it up as
a
greenish glow. To use the emitters, turn the device on and
place
it on a level surface with about 6-7 inches between the two inner LEDs.&lt;/p&gt;&lt;h2&gt;Implementation&lt;/h2&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2kZsHzNQI7E/RYxKoJ8mr-I/AAAAAAAAAAU/JtVxL89Vttw/s1600-h/wii-sensor-bar.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_2kZsHzNQI7E/RYxKoJ8mr-I/AAAAAAAAAAU/JtVxL89Vttw/s320/wii-sensor-bar.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5011462539081854946" /&gt;&lt;/a&gt;&lt;p&gt;I
built the wireless sensor bar, brought it over to the theater and
tested it on a regular television. Fortunately, it
worked! 
After the patrons left, we hooked the Wii up to the data projector and
house sound, put in Wii Sports, and brought the controllers and the
wireless sensor bar downstairs. We set the emitters on the
backs
of two chairs and stood a few rows back. The wireless range
of
the controllers was great enough to work! We suffered no
technical glitches from the distance; we could even play up on stage,
craning our necks up at the gigantic image, immersing ourselves in the
game.&lt;/p&gt;&lt;p&gt;In
conclusion, there's
more than one way one can Wii, and sometimes, size does matter.&lt;/p&gt;
&lt;p&gt;Edit - Thank you, &lt;a href="http://www.makezine.com/blog/archive/2006/12/diy_wii_megatv.html"&gt;Make Blog&lt;/a&gt;, &lt;a href="http://digg.com/videos/gaming/Wii_diculous_Playing_the_Wii_in_a_Movie_Theater"&gt;Digg&lt;/a&gt;,  &lt;a href="http://www.engadget.com/2006/12/24/wii-in-a-theater-we-dont-need-no-stinkin-pixels/"&gt;Engadget,&lt;/a&gt;  &lt;a href="http://meneame.net/story/si-tengo-cine-puedo-jugar-wii"&gt;men&amp;eacute;ame&lt;/a&gt;,  &lt;a href="http://elotrolado.net/showthread.php?threadid=668414"&gt;ElOtroLado.net&lt;/a&gt;, &lt;a href="http://www.kotaku.com/gaming/clips/wii--now-playing-in-theatres-224022.php"&gt;Kotaku&lt;/a&gt;, &lt;a href="http://www.kottke.org/remainder/06/12/12480.html"&gt;Kottke.org&lt;/a&gt;, &lt;a href="http://www.qj.net/Giant-Miis-Wii-gaming-on-a-theater-screen/pg/49/aid/77119"&gt;QJ.net&lt;/a&gt;, &lt;a href="http://www.gizmodo.com/gadgets/games/wii-coming-to-theatres-soon-224052.php"&gt;Gizmodo&lt;/a&gt;, and GameTrailers.com for hosting a &lt;a href="http://www.gametrailers.com/umwatcher.php?id=29969"&gt;high resolution version&lt;/a&gt;!&lt;/p&gt;&lt;p&gt;Edit 2 - Over 500,000 views on YouTube and almost 800,000 views on a bootleg version on &lt;a href="http://www.break.com/index/life_sized_wii_sports.html"&gt;break.com&lt;/a&gt;!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4767023536930727704-2434244096222235845?l=jonpeck.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jonpeck.blogspot.com/feeds/2434244096222235845/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4767023536930727704&amp;postID=2434244096222235845' title='30 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/2434244096222235845'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/2434244096222235845'/><link rel='alternate' type='text/html' href='http://jonpeck.blogspot.com/2006/12/wii-diculous.html' title='Wii-diculous'/><author><name>Jon</name><uri>http://www.blogger.com/profile/15647634292152200889</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-IxHPX90Hvkk/Tl5RebRAGcI/AAAAAAAAAVw/njDgSoIYIaA/s220/Logo-v01-20110812-827x827.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_2kZsHzNQI7E/RYxM-p8mr_I/AAAAAAAAAAk/_mp64RUC-2w/s72-c/wiisensor.png' height='72' width='72'/><thr:total>30</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4767023536930727704.post-7358039215829228244</id><published>2006-12-21T00:13:00.000-05:00</published><updated>2006-12-27T00:21:47.776-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Free Software'/><category scheme='http://www.blogger.com/atom/ns#' term='backing up'/><category scheme='http://www.blogger.com/atom/ns#' term='blogging'/><category scheme='http://www.blogger.com/atom/ns#' term='imaging'/><title type='text'>Backing up your system, finding balance</title><content type='html'>&lt;p&gt;My new entry, &lt;a href="http://www.freesoftwaremagazine.com/blogs/backing_up_your_system_with_free_software"&gt;&lt;i&gt;Backing up your system with free software&lt;/i&gt;&lt;/a&gt; is up at FreeSoftwareMagazine.com.  Originally titled &lt;i&gt;I ain't afraid of Norton Ghost&lt;/i&gt; (I'm learning to be more graceful about editorial changes), it describes some free tools and techniques one can use to back up and make an image of their workstation.&lt;/p&gt;
&lt;p&gt;I still feel like I'm still fumbling around a bit
there.  While a weekly writing deadline has been very good for
me, I don't think I've quite found the right groove yet at FSM.&lt;/p&gt;
&lt;p&gt;Part of the difficultly has stemmed from the definition of
"free".  I originally thought free meant not having to pay for
it, and classified closed-source freeware, no-nag shareware and open
source software as free.  Their definition is a bit more
strict; if it's not open source, it's not truly free.  It's a
challenge to shift your perspective in that manner, but it's manageable.&lt;/p&gt;
&lt;p&gt;My other stumbling block is finding the right equation for
success; what's popular?  I can't predict what will be hit
yet, even looking at other people's work.  Sometimes, an entry
that I think is substandard will generate tens of thousands of hits,
and another that I thought was stellar only gets a few hundred.&lt;/p&gt;
&lt;p&gt;Obviously, there's no black and white solution; it's a matter
of being in the right place at the right time with the right message.&lt;/p&gt;
&lt;p&gt;With this particular definition of free, it's easy to slip
into the anti-corporate role, railing against Microsoft or other large
companies... extremists are obnoxious, and that's not my
style.  I feel more moderate; it's okay to find balance, and
while I lean in a particular direction, I don't want to go off the deep
end.  I don't think Steve Ballmer is the devil.&lt;/p&gt;
&lt;p&gt;However, I do like the 37signals approach, which is to pick an
enemy and make something better than what they're doing. 
Hence, my title, "I ain't afraid of Norton Ghost" - I intentionally
picked a popular commercial package and made it a target, and my
weapons were free and open source software.  Such a violent
analogy and a confrontational tactic, yet that's a proven method of
success.&lt;/p&gt;
&lt;p&gt;In the end, the entry title was changed but the structure
remained the same, and I got an above-average number of hits. 
So it goes.&lt;/p&gt;
&lt;p&gt;I'm putting the finishing touches on my first article for Free
Software Magazine... if accepted, it'll be in Issue 16.  I
haven't forgotten about the home server security, but real life and
some other priorities have taken precedence.  Also, I've got
something big and fun planned in the next day or so...&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4767023536930727704-7358039215829228244?l=jonpeck.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jonpeck.blogspot.com/feeds/7358039215829228244/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4767023536930727704&amp;postID=7358039215829228244' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/7358039215829228244'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/7358039215829228244'/><link rel='alternate' type='text/html' href='http://jonpeck.blogspot.com/2006/12/backing-up-your-system-finding-balance.html' title='Backing up your system, finding balance'/><author><name>Jon</name><uri>http://www.blogger.com/profile/15647634292152200889</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-IxHPX90Hvkk/Tl5RebRAGcI/AAAAAAAAAVw/njDgSoIYIaA/s220/Logo-v01-20110812-827x827.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4767023536930727704.post-4500979822330590828</id><published>2006-12-16T11:45:00.000-05:00</published><updated>2006-12-27T00:49:38.193-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='goals'/><category scheme='http://www.blogger.com/atom/ns#' term='certification'/><title type='text'>Zend Certification and a drink recipe</title><content type='html'>&lt;p&gt;As of Friday, December 15th, I earned the title of Zend Certified Engineer.  As best as I can remember, the exam concentrated primarily on precedence, casting, array manipulation, and file operations.&lt;/p&gt;
&lt;p&gt;To get an idea of what the test process was like, take an 8oz tumbler, add a few ice cubes, fill it with 2oz vodka, 2oz Rose's Lime Juice, and 2oz of Triple Sec.  Stir gently, then jam the whole glass into your left eye.  Okay, so it wasn't that bad; while stressful, it's manageable... and coincidentally, is a recipe for a Kamikaze.&lt;/p&gt;
&lt;p&gt;Certification tests are one of those necessary evils that one must suffer through in the pursuit of professional development.  I feel my strengths lie in concepts and structure, and my greatest weakness is the ability to memorize and regurgitate.  This is advantageous when doing systems analysis, but it doesn't help when taking a standardized exam specifically designed to test your knowledge by requiring the selection and differentiation between a series of extremely similar solutions.&lt;/p&gt;
&lt;p&gt;I'm aware that just because you're good at taking a certification exam doesn't mean you're a good programmer.  I do feel that the training that led up to the certification helped me as a programmer as it delved into some of the more obscure aspects of the language.  In addition, networking with my classmates was invaluable.  I'm glad I went through that process, and I'm equally glad that it's over.&lt;/p&gt;&lt;p&gt;So, what's my next goal?  Zend PHP 5?  Solaris 10?  We'll see...&lt;/p&gt;&lt;p&gt;I'm going to let the dust settle a bit with the fast approaching holidays, and I've got a couple big projects coming up in early 2007; writing a PHP tool to analyze survey results stored in MySQL, writing a working prototype of a job description database in Ruby on Rails, and working with the rest of my department to upgrade the web server, including transitioning from PHP4 to PHP5.  That's in addition to my regular writing duties for FreeSoftwareMagazine.com and whatever scraps of a social life I can squeeze out... but first, time to celebrate and relax with my wife.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4767023536930727704-4500979822330590828?l=jonpeck.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jonpeck.blogspot.com/feeds/4500979822330590828/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4767023536930727704&amp;postID=4500979822330590828' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/4500979822330590828'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/4500979822330590828'/><link rel='alternate' type='text/html' href='http://jonpeck.blogspot.com/2006/12/zend-certification-and-drink-recipe.html' title='Zend Certification and a drink recipe'/><author><name>Jon</name><uri>http://www.blogger.com/profile/15647634292152200889</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-IxHPX90Hvkk/Tl5RebRAGcI/AAAAAAAAAVw/njDgSoIYIaA/s220/Logo-v01-20110812-827x827.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4767023536930727704.post-6126681352311186559</id><published>2006-12-14T08:58:00.000-05:00</published><updated>2006-12-14T11:53:19.588-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='training'/><category scheme='http://www.blogger.com/atom/ns#' term='Free Software'/><category scheme='http://www.blogger.com/atom/ns#' term='Nvu'/><category scheme='http://www.blogger.com/atom/ns#' term='NYC'/><category scheme='http://www.blogger.com/atom/ns#' term='KompoZer'/><title type='text'>KompoZer - Unofficial Bugfix Stopgap for Nvu</title><content type='html'>&lt;p&gt;My
latest entry at Free Software Magazine, &lt;a
 href="http://www.freesoftwaremagazine.com/blogs/kompozer_unofficial_bugfix_stopgap_for_nvu"&gt;&lt;i&gt;KompoZer
- Unofficial Bugfix Stopgap for Nvu&lt;/i&gt;&lt;/a&gt; is now up. Nvu,
the free cross-platform WYSIWYG HTML editor reached its acclaimed
final 1.0 release in June of 2005. Official development then ceased to
allow work on its successor, Mozilla Composer 2.0, leaving users with
no bugfixes and patches. The post discusses the history and controversy
of KompoZer, the unofficial community
stopgap release of Nvu.&lt;/p&gt;&lt;p&gt;I'm really enjoying my week
in Manhattan.  The Zend PHP Certification boot camp is
progressing smoothly, in spite of a delay in getting the official books
(we had print outs of the PDF instead, so I had to transcribe all my
notes once the books arrived).  It's a small class in a small
room; only four students and a teacher.  However, this kind of
setting is well suited for this kind of material and allows more
individualized training.  I'm fairly confident that I'll be
prepared for the exam on Friday.&lt;/p&gt;&lt;p&gt;I've been to the IFC
Center twice, the first time on Sunday to see &lt;a
 href="http://www.www.inlandempirecinema.com"&gt;David
Lynch's &lt;i&gt;Inland Empire&lt;/i&gt;&lt;/a&gt;,
then last night to see the premiere a new print and revival of &lt;a
 href="http://www.villagevoice.com/film/0650,hoberman,75276,20.html"&gt;&lt;i&gt;
 El Topo&lt;/i&gt;, the
"first" NYC midnight movie&lt;/a&gt;.  Inland Empire was
everything that a David Lynch movie could be; emotional, surreal, and
building a complex character and structure only to completely break it
down without any compassion for the viewer.  I liked it, but
it was difficult to follow and felt more like an in-joke than a story.&lt;/p&gt;&lt;p&gt;Before
&lt;i&gt;Inland Empire&lt;/i&gt;,
an advertisement for &lt;i&gt;El
Topo&lt;/i&gt; stated that the 7:20p show would have a
special guest, so I bought an advance ticket.  As it was John
Lennon and Yoko Ono's favorite movie, I guessed that Yoko Ono would be
there to say a few words since Lennon was busy elsewhere.  The
night of the show, they announced that she was supposed to be there,
but due to unforeseen circumstances she was unable to attend.
 Instead, they played a section of &lt;a
 href="http://www.imdb.com/title/tt0095360/"&gt;&lt;i&gt;
 Imagine&lt;/i&gt;&lt;/a&gt;
and read a letter from her saying that she wished she could be there
and gave her love to the audience.  The newly restored print
was absolutely beautiful, and I really enjoyed the movie, even
more than &lt;i&gt;Inland Empire&lt;/i&gt;.&lt;/p&gt;&lt;p&gt;This morning,
the &lt;a
 href="http://www.nypost.com/seven/12142006/news/regionalnews/yoko_2m_extort_ordeal_regionalnews_murray_weiss__erin_calabrese________and_kieran_crowley.htm"&gt;New
York Post reported&lt;/a&gt; that Yoko was the victim of a $2 million
extortion scheme from her chauffeur, complete with death threats, videos
and photos.  I suppose that's a legitimate excuse for not being
at the premiere.&lt;/p&gt;&lt;p&gt;After &lt;i&gt;
 El Topo&lt;/i&gt;, I went to
Benny's Burritos in the Village, only a few blocks away.  I
remembered their Mojitos from previous trips and asked for one, only to
be politely told that they didn't make them anymore.  I
ordered a margarita instead, then was pleasantly surprised when the
waiter brought over a Mojito, saying the bartender did have the
supplies after all.  My jerk chicken on a curry tortilla
was tasty and what I needed.  While Benny's isn't
haute cuisine, it is a nice place to get a good meal for a reasonable
price with personable service.&lt;/p&gt;&lt;p&gt;Late that night when
I was exiting the subway station, I happened to look up.  The
top Empire State Building was piercing the low-lying cloud cover,
reflecting and diffusing its holiday red and green lights in an
ethereal mist.  I like this city, and I wish I could spend
more time here.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4767023536930727704-6126681352311186559?l=jonpeck.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jonpeck.blogspot.com/feeds/6126681352311186559/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4767023536930727704&amp;postID=6126681352311186559' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/6126681352311186559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/6126681352311186559'/><link rel='alternate' type='text/html' href='http://jonpeck.blogspot.com/2006/12/kompozer-unofficial-bugfix-stopgap-for.html' title='KompoZer - Unofficial Bugfix Stopgap for Nvu'/><author><name>Jon</name><uri>http://www.blogger.com/profile/15647634292152200889</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-IxHPX90Hvkk/Tl5RebRAGcI/AAAAAAAAAVw/njDgSoIYIaA/s220/Logo-v01-20110812-827x827.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4767023536930727704.post-5578801327289232127</id><published>2006-12-07T17:42:00.000-05:00</published><updated>2006-12-27T00:51:21.078-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blogging'/><title type='text'>Serendipity</title><content type='html'>&lt;p&gt;&lt;a href="http://lifehacker.com/software/disk-space/geek-to-live--visualize-your-hard-drive-usage-219058.php"&gt;This is extremely frustrating and unfortunate.&lt;/a&gt;  I finished writing my entry at around the same time that this other one was posted, and the Gina's currently has over 1000 diggs.  At least I know it was a good idea, and Gina's article was well written and a slightly different perspective on the same issue.  Congratulations!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4767023536930727704-5578801327289232127?l=jonpeck.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jonpeck.blogspot.com/feeds/5578801327289232127/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4767023536930727704&amp;postID=5578801327289232127' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/5578801327289232127'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/5578801327289232127'/><link rel='alternate' type='text/html' href='http://jonpeck.blogspot.com/2006/12/serendipity.html' title='Serendipity'/><author><name>Jon</name><uri>http://www.blogger.com/profile/15647634292152200889</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-IxHPX90Hvkk/Tl5RebRAGcI/AAAAAAAAAVw/njDgSoIYIaA/s220/Logo-v01-20110812-827x827.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4767023536930727704.post-2438880962169827704</id><published>2006-12-06T16:24:00.000-05:00</published><updated>2006-12-14T11:47:05.393-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='disk'/><category scheme='http://www.blogger.com/atom/ns#' term='space'/><category scheme='http://www.blogger.com/atom/ns#' term='Free Software'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='utility'/><title type='text'>Visualize Your Disk Usage, Console Hacking</title><content type='html'>&lt;p&gt;I've posted a new entry titled &lt;i&gt;&lt;a href="http://www.freesoftwaremagazine.com/blogs/visualize_your_disk_usage"&gt;Visualize Your Disk Usage&lt;/a&gt;&lt;/i&gt; at Free Software Magazine.  Ever wonder about what's been eating up your free space in Windows?  Two free utilities that graphically represent disk utilization are analyzed and compared.&lt;/p&gt;

&lt;p&gt;Continuing the discussion about subjugating game consoles... Over the last week, hackers have had a field day with the Wii.  &lt;a href="http://carl.kenner.googlepages.com/glovepie"&gt;The WiiMote can be used in Windows using GlovePIE&lt;/a&gt; (see &lt;a href="http://www.wiili.org/Windows_Wiimote_HowTo"&gt;this HowTo for the script&lt;/a&gt;) and on &lt;a href="http://blog.hiroaki.jp/2006/12/000433.html"&gt;OSX with DarwiinRemote&lt;/a&gt;.  There's a &lt;a href="http://www.youtube.com/watch?v=asY_I8y6C0M"&gt;video demo of the Wii-Mote controlling Half-Life 2 in Windows&lt;/a&gt;.  If you're interested in Wii (well, Gamecube) home brew and emulators, check out &lt;a href="http://wii-news.dcemu.co.uk/running-homebrew-and-emulators-on-the-wii-console-tutorial-44842.html"&gt;wraggster's tutorial on how to exploit the GC Action Replay&lt;/a&gt; for just that.&lt;/p&gt;

&lt;p&gt;PlayStation 3 Linux has also gotten some notice as it's &lt;a href="http://www.ehomeupgrade.com/entry/3310/rip_blu-ray_movie"&gt;pretty easy to just create an image of a Blu-ray disc&lt;/a&gt;, including movies and games.  Inevitable and not particularly shocking, but &lt;a href="http://boards.1up.com/zd/board/message?board.id=general&amp;message.id=345920"&gt;some people just get the wrong idea and think that Linux is a piracy enabler&lt;/a&gt;.  A tool is a tool; it's up to the user to decide whether or not to use it for good.&lt;/p&gt;

&lt;p&gt;I've been teaching myself Ruby on Rails at work.  It's turning out to be a great way of making CRUD (Create, Retrieve, Update, and Delete) based applications quickly and easily.  I ran through part one of the classic &lt;a href="http://www.onlamp.com/pub/a/onlamp/2005/01/20/rails.html"&gt;Rolling with Ruby on Rails&lt;/a&gt; tutorial, turned around and in less than an hour created a prototype application that would have taken me at least a day to get to the same point in PHP.  I do like how it pretty much forces you to use the &lt;a href="http://en.wikipedia.org/wiki/Model_View_Controller"&gt;Model-View-Controller (MVC) design pattern&lt;/a&gt;, separating business from presentation.  Much to learn and even more to do before it's even close to production ready...&lt;/p&gt;

&lt;p&gt;Speaking of PHP, I'm traveling to New York City on December 10th for a week-long Zend PHP Certification Boot Camp.  While I've been using PHP and developing applications for a couple years now, it'll be nice to have some formalized training and certification.  In my free time, when I'm not studying or visiting friends, I'm planning on watching David Lynch's &lt;a href="http://www.inlandempirecinema.com/"&gt;&lt;i&gt;Inland Empire&lt;/i&gt;&lt;/a&gt; and maybe even catch &lt;a href="http://www.avenueq.com/"&gt;&lt;i&gt;Avenue Q&lt;/i&gt;&lt;/a&gt;, the subversive Sesame Street parody.&lt;p&gt;

&lt;p&gt;I'm currently writing a follow-up for to the &lt;i&gt;&lt;a href="http://jonpeck.blogspot.com/2006/11/how-to-configure-80-fileserver-in-45.html"&gt;How to Configure an $80 File Server in 45 Minutes&lt;/a&gt;&lt;/i&gt; entry.  I'll discuss how to take steps to protect, audit and secure your server.  Imagine the relief you'll feel when you eliminate the script kiddie dictionary attacks from your auth.log!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4767023536930727704-2438880962169827704?l=jonpeck.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jonpeck.blogspot.com/feeds/2438880962169827704/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4767023536930727704&amp;postID=2438880962169827704' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/2438880962169827704'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/2438880962169827704'/><link rel='alternate' type='text/html' href='http://jonpeck.blogspot.com/2006/12/visualize-your-disk-usage-console.html' title='Visualize Your Disk Usage, Console Hacking'/><author><name>Jon</name><uri>http://www.blogger.com/profile/15647634292152200889</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-IxHPX90Hvkk/Tl5RebRAGcI/AAAAAAAAAVw/njDgSoIYIaA/s220/Logo-v01-20110812-827x827.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4767023536930727704.post-2395004190240154441</id><published>2006-11-30T08:42:00.000-05:00</published><updated>2006-11-30T08:44:35.499-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wii'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Free Software'/><category scheme='http://www.blogger.com/atom/ns#' term='PS3'/><category scheme='http://www.blogger.com/atom/ns#' term='blogging'/><title type='text'>Why hack your game console?</title><content type='html'>&lt;p&gt;My first blog entry at FreeSoftwareMagazine.com, &lt;i&gt;&lt;a href="http://www.freesoftwaremagazine.com/blogs/why_hack_your_game_console"&gt;Why hack your game console&lt;/a&gt;&lt;/i&gt;, has been posted. It's a topical overview of why and how game consoles can be utilized and extended using home brew software and Linux.  Check it out!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4767023536930727704-2395004190240154441?l=jonpeck.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jonpeck.blogspot.com/feeds/2395004190240154441/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4767023536930727704&amp;postID=2395004190240154441' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/2395004190240154441'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/2395004190240154441'/><link rel='alternate' type='text/html' href='http://jonpeck.blogspot.com/2006/11/why-hack-your-game-console.html' title='Why hack your game console?'/><author><name>Jon</name><uri>http://www.blogger.com/profile/15647634292152200889</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-IxHPX90Hvkk/Tl5RebRAGcI/AAAAAAAAAVw/njDgSoIYIaA/s220/Logo-v01-20110812-827x827.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4767023536930727704.post-746919994325253738</id><published>2006-11-20T10:02:00.000-05:00</published><updated>2006-11-22T23:02:39.320-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bitpim'/><category scheme='http://www.blogger.com/atom/ns#' term='GPL'/><category scheme='http://www.blogger.com/atom/ns#' term='Free Software'/><category scheme='http://www.blogger.com/atom/ns#' term='organization'/><category scheme='http://www.blogger.com/atom/ns#' term='cell phone'/><title type='text'>Getting Your Cell Phone Under Control Using BitPim</title><content type='html'>&lt;p&gt;I had some issues with managing my cell phone.&amp;nbsp; I had
dozens of work contacts that I wanted to import instead of using the keypad to manually enter them.&amp;nbsp; Also, I had dozens of pictures that I had taken with my phone's camera that I wanted to easily organize and transfer without being charged.&amp;nbsp;
After some research, I found the &lt;a href="http://global.mobileaction.com/product/product_USB.jsp"&gt;Mobile Action USB Data Suite&lt;/a&gt; - a USB
cable, &lt;a href="http://global.mobileaction.com/download/download.jsp"&gt;drivers&lt;/a&gt;, and syncing software for around $20.&amp;nbsp; However, I felt the
included software was too bloated and limiting.&amp;nbsp; I installed only the drivers and turned to Google, where I found &lt;a href="http://www.bitpim.org/"&gt;BitPim&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;To quote BitPim.org...&lt;/p&gt;
&lt;p style="margin-left: 40px;"&gt;&lt;a href="http://technorati.com/tag/bitpim" rel="tag"&gt;BitPim&lt;/a&gt; is a program that
allows you to view and manipulate data on many CDMA phones from LG,
Samsung, Sanyo and other manufacturers. This includes the PhoneBook,
Calendar, WallPapers, RingTones (functionality varies by phone) and the
Filesystem for most Qualcomm CDMA chipset based phones.&lt;/p&gt;
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/x/blogger2/1816/581912052847989/1600/265748/bitpim.png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/x/blogger2/1816/581912052847989/320/842448/bitpim.png" border="0" alt="" /&gt;&lt;/a&gt;
&lt;h2&gt;Contacts&lt;/h2&gt;
&lt;p&gt;The ability to import contacts was what initially brought me
to BitPim.&amp;nbsp; I synchronized the existing contacts from the
phone, converted a Excel spreadsheet of contacts into a CSV, and used
BitPim's import function.&amp;nbsp; After some categorizing and
tweaking, I transferred the new list with my phone.&amp;nbsp; I
checked, and everything was there as I wanted!&amp;nbsp; I saved myself
from some very tedious data entry.&amp;nbsp; BitPim's import also
supports a variety of different sources for contacts and calendars,
including Outlook, Google Calendar, iCalendar, and more.&lt;/p&gt;
&lt;h2&gt;Images&lt;/h2&gt;
&lt;p&gt;I wanted to organize the images I had taken with the phone's
camera.&amp;nbsp; Under Media, you can see thumbnails or a detailed
list of the images.&amp;nbsp; I renamed the images and even added some
from my computer to use as wallpaper, which BitPim resized
automatically.&amp;nbsp; A quick sync, and now my images were under
control.&lt;/p&gt;
&lt;p&gt;When importing or exporting, the pictures taken with the
camera were under "Wallpaper", even though they're listed under Media -
images in the tree view.&amp;nbsp; Also, if you rename or upload an
image, make sure it has the proper file extension (eg .JPG) - my
LG-VX5200 will reset when it tries to display an image without the
extension.&lt;/p&gt;
&lt;h2&gt;Ring Tones and Sounds&lt;/h2&gt;
&lt;p&gt;Many people have custom ring tones... why can't I?&amp;nbsp;
However, I'm cheap and I like to do things myself.&amp;nbsp; I edit a
short sound clip, saved it as a .WAV file, and dragged it into the
ringers panel.&amp;nbsp; BitPim automatically converted the file to MP3
upon import.&amp;nbsp; One sync later, and I now have a four bar
section of "The Gonk" as my ringtone.&lt;/p&gt;
&lt;h2&gt;Other Functions&lt;/h2&gt;
&lt;p&gt;The Memo and Todo functionality worked without
issue.&amp;nbsp; Data entry using a computer's keyboard is much faster
than using a phone's keypad, which saves time and
frustration.&amp;nbsp; I did not use the Calendar function because we
use Meeting Maker, a proprietary format that is notoriously inflexible
and nigh-impossible to export.&lt;/p&gt;
&lt;h2&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;I feel that BitPim is an excellent, mature program for
managing cell phones; it has the functionality and versatility that I
needed without the bloat.&amp;nbsp; The emphasis in this program seems
to be function over form; the graphics and layout are bland and
cluttered, but it works beautifully.&amp;nbsp; Best of all, it's open
source and free (GPL).&amp;nbsp; To see if your phone is supported,
&lt;a href="http://www.bitpim.org/help/phones-featuressupported.htm"&gt;check their matrix of supported phones and features&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4767023536930727704-746919994325253738?l=jonpeck.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jonpeck.blogspot.com/feeds/746919994325253738/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4767023536930727704&amp;postID=746919994325253738' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/746919994325253738'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/746919994325253738'/><link rel='alternate' type='text/html' href='http://jonpeck.blogspot.com/2006/11/getting-your-cell-phone-under-control.html' title='Getting Your Cell Phone Under Control Using BitPim'/><author><name>Jon</name><uri>http://www.blogger.com/profile/15647634292152200889</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-IxHPX90Hvkk/Tl5RebRAGcI/AAAAAAAAAVw/njDgSoIYIaA/s220/Logo-v01-20110812-827x827.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4767023536930727704.post-8977777306859701986</id><published>2006-11-19T05:04:00.000-05:00</published><updated>2006-11-20T11:25:43.525-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='launch'/><category scheme='http://www.blogger.com/atom/ns#' term='wii'/><category scheme='http://www.blogger.com/atom/ns#' term='Syracuse'/><title type='text'>Waiting for the Wii</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/x/blogger2/1816/581912052847989/1600/500955/1119060445b.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/x/blogger2/1816/581912052847989/320/800532/1119060445b.jpg" border="0" alt="" /&gt;&lt;/a&gt;
&lt;p&gt;It's almost 5am, and I've been waiting in line at the Best Buy in Carousel Center in Syracuse, NY to get one of the approximately 120 Nintendo Wii's at launch.  Someone who identified himself as a former Best Buy employee has been writing place numbers on people's hands in an effort to prevent line cutting.  I talked to the guy who was #2; he was here at 7pm.  I got there at about 11:30pm, and I'm #71.&lt;/p&gt;

&lt;p&gt;The Circuit City downstairs has 38 units, and there's a much smaller line.  I guess people just didn't think of it.  I visited the Cicero Wal-Mart at 10:30pm, and they had already given out their Wii vouchers to the people who had been in line.  Some people have mentioned that the Wal-Mart sales people were getting increasingly testy and rude to potential customers, and apparently all the Wal-Marts in the area were completely sold out of their Wii consoles before midnight even hit.&lt;/p&gt;

&lt;p&gt;Most people in line in the hallway closest to the Best Buy are sleeping.  The crowd is mostly 20 somethings, but there are some exceptions; a business man in his 50's, a man with his 12 year old son, and a few older women playing Scrabble.&lt;/p&gt;

&lt;p&gt;People have laptops, consoles, TVs, and boom boxes.  As the night wore on, the energy level has dropped.  Smashbrothers tournaments have started, people have Nintendo DS systems playing head to head... the atmosphere is very friendly.  The only rumors are about launch numbers nation wide, not about how one store really has a smaller number or anything negative like that.&lt;/p&gt;

&lt;p&gt;Someone already has a Wii from another store and is letting people play a round or two.  People queue up politely, play a round, and hand it to the next in line.  Very cordial.  Nobody has gotten angry, violent, or unruly the entire night.&lt;/p&gt;

&lt;p&gt;I've been asking people if they're here for business or pleasure.  Interestingly enough, most people are here to buy and play this system, and after playing a round of Wii Sports (boxing), I can see why.  It's a hell of a lot of fun.&lt;/p&gt;

&lt;p&gt;Update - 9:45am, I walked out of Best Buy with a Wii and The Legend of Zelda: Twilight Princess.&lt;/p&gt;

&lt;p&gt;Update #2 - &lt;a href="http://xkcd.com/c186.html"&gt;great xkcd comic on the subject of console lines.&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4767023536930727704-8977777306859701986?l=jonpeck.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jonpeck.blogspot.com/feeds/8977777306859701986/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4767023536930727704&amp;postID=8977777306859701986' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/8977777306859701986'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/8977777306859701986'/><link rel='alternate' type='text/html' href='http://jonpeck.blogspot.com/2006/11/waiting-for-wii.html' title='Waiting for the Wii'/><author><name>Jon</name><uri>http://www.blogger.com/profile/15647634292152200889</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-IxHPX90Hvkk/Tl5RebRAGcI/AAAAAAAAAVw/njDgSoIYIaA/s220/Logo-v01-20110812-827x827.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4767023536930727704.post-7666911579441150024</id><published>2006-11-18T20:46:00.000-05:00</published><updated>2006-12-05T21:54:38.788-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='server'/><category scheme='http://www.blogger.com/atom/ns#' term='cheap'/><category scheme='http://www.blogger.com/atom/ns#' term='TorrentFlux'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Free Software'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>How to Configure an $80 File Server in 45 Minutes</title><content type='html'>&lt;p&gt;I use a modded Xbox and &lt;a
 href="http://www.xboxmediacenter.com/"&gt;Xbox
Media Center&lt;/a&gt; for playing media files across the network on
my television and sound system. &amp;nbsp;I also download large files,
such as Linux ISOs, via BitTorrent. &amp;nbsp;However, leaving my
primary computer on all the time seemed
like a waste of energy. &amp;nbsp;I wanted a cheap, small
headless machine that I could
use as a Samba server and BitTorrent client so I could leave
my&amp;nbsp;workstation off when I wasn't using it.&lt;/p&gt;
&lt;p&gt;I
was in luck; HCDI Trading had a great "Fall
Extravaganza" deal - a &lt;a href="http://www.hcditrading.com/Shop/Control/Product/fp/vpid/2622254/vpcsid/0/SFV/29664"&gt;Dell
OptiPlex GX150 Desktop for $47.91&lt;/a&gt; (around $30 s/h).
&amp;nbsp;The specs:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Desktop Form Factor (it fits on a shelf in a media center)&lt;/li&gt;
  &lt;li&gt;Intel Celeron 700 MHz&lt;/li&gt;
  &lt;li&gt;128MB RAM&lt;/li&gt;
  &lt;li&gt;10GB HD&lt;/li&gt;
  &lt;li&gt;CD-Rom&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Not cutting edge, but perfect for what I needed and priced
very reasonably.
&amp;nbsp;Instead of using X11 and remote clients, I felt that web
interfaces would be&amp;nbsp;optimal out of simplicity. &amp;nbsp;If I
configured the server as a LAMP (Linux, Apache, MySQL, and PHP), then
I could use web GUIs
for configuration, administration, and file transfers.&lt;/p&gt;
&lt;p&gt;Out of the popular Linux distributions, I'm most familiar with
&lt;a href="http://www.gentoo.org/"&gt;Gentoo&lt;/a&gt; and &lt;a
 href="http://www.ubuntu.com/"&gt;Ubuntu&lt;/a&gt;.
&amp;nbsp;Gentoo didn't seem appropriate; it would take hours and hours
to get everything set up, configured and updated (even from a Stage 3
install), and any performance gain from the optimization would be
negligible. &amp;nbsp;Ubuntu has a history of reliability and ease of
set up, so I used the Edgy Eft release as the basis my server.&lt;/p&gt;
&lt;h2&gt;The Applications&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;Remote Console - &lt;a href="http://www.openssh.com/"&gt;OpenSSH&lt;/a&gt;&lt;/li&gt;
  &lt;ul&gt;
    &lt;li&gt;The free version of the SSH connectivity tools.
&amp;nbsp;Use it for
secure access to the console.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;li&gt;Web Server - &lt;a href="http://www.apache.org/"&gt;Apache&lt;/a&gt;&lt;/li&gt;
  &lt;ul&gt;
    &lt;li&gt;It's free, fast, well supported and documented&lt;/li&gt;
  &lt;/ul&gt;
  &lt;li&gt;Network Fileshare - &lt;a href="http://www.samba.org"&gt;Samba&lt;/a&gt;&lt;/li&gt;
  &lt;ul&gt;
    &lt;li&gt;Creates file shares that can be easily accessed from
Windows.
&amp;nbsp;Notoriously obnoxious to configure by hand, the&amp;nbsp;&lt;a
 href="http://samba.org/samba/docs/man/Samba-HOWTO-Collection/SWAT.html"&gt;Samba
Web Administration Tool&lt;/a&gt; (SWAT) simplifies the process
immensely.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;li&gt;Database - &lt;a href="http://www.mysql.com/"&gt;MySQL&lt;/a&gt;&lt;/li&gt;
  &lt;ul&gt;
    &lt;li&gt;The popular free database server. &amp;nbsp;While I can
use a command
line to administrate MySQL, I prefer using &lt;a
 href="http://www.phpmyadmin.net/"&gt;phpMyAdmin&lt;/a&gt;.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;li&gt;P2P Client - BitTorrent&lt;/li&gt;
  &lt;ul&gt;
    &lt;li&gt;&lt;a href="http://www.torrentflux.com/"&gt;TorrentFlux&lt;/a&gt;
is
a decent web interface for &lt;a href="http://www.bittornado.com/"&gt;BitTornado&lt;/a&gt;.
&amp;nbsp;Useful for downloading Linux ISOs or media from places
like&amp;nbsp;&lt;a href="http://www.legaltorrents.com/index.htm"&gt;LegalTorrents.com&lt;/a&gt;.&lt;/li&gt;
  &lt;/ul&gt;
&lt;/ul&gt;
&lt;h2&gt;Directions&lt;/h2&gt;
&lt;ol&gt;
  &lt;li&gt;Download and burn the &lt;a
 href="http://www.ubuntu.com/products/GetUbuntu/download?action=show&amp;amp;redirect=download"&gt;Ubuntu
Server 6.10 i386 install CD&lt;/a&gt;.&lt;br&gt;
  &lt;/li&gt;
  &lt;li&gt;Install Ubuntu Server&lt;/li&gt;
  &lt;ol&gt;
    &lt;li&gt;When asked about Software Installation, choose LAMP.&lt;/li&gt;
    &lt;li&gt;When the installation is finished,&amp;nbsp;take out the
CD (I flip it over and leave it in the drive for the next time I need
it) and reboot.&lt;/li&gt;
  &lt;/ol&gt;
  &lt;li&gt;Logon as the regular user that you created during setup.&lt;/li&gt;
  &lt;li&gt;Give root a password.&lt;br&gt;
    &lt;pre&gt;sudo passwd root&lt;/pre&gt;
  &lt;/li&gt;
  &lt;li&gt;We're going to modify the file sources list to allow us
access to all the required files. &amp;nbsp;Uncomment the edgy
universe, edgy-security main restricted, edgy-security universe, edgy
multiverse, edgy-backports main restricted universe multiverse, and
edgy-commercial main. &amp;nbsp;In addition, Ubuntu leaves the install
CD as one of the file sources
after installation, so you'll need to remove the CD from the source
list. &amp;nbsp;Comment out the CD from the list and save.
    &lt;pre&gt;sudo nano -w /etc/apt/sources.list&lt;br&gt;&lt;/pre&gt;
  &lt;/li&gt;
  &lt;li&gt;Update apt-get to use the new sources.&lt;br&gt;
    &lt;pre&gt;sudo apt-get update&lt;/pre&gt;
  &lt;/li&gt;
  &lt;li&gt;Install OpenSSH server&lt;br&gt;
    &lt;pre&gt;sudo apt-get install openssh-server&lt;/pre&gt;
  &lt;/li&gt;
  &lt;li&gt;Turn off the computer.&lt;br&gt;
    &lt;pre&gt;sudo shutdown -h now&lt;/pre&gt;
  &lt;/li&gt;
  &lt;li&gt;Disconnect the monitor, keyboard, and set the computer
wherever it's going to lurk for the next couple years.&lt;/li&gt;
  &lt;li&gt;Turn on the computer and wait about a minute for it to boot.&lt;/li&gt;
  &lt;li&gt;Using your preferred SSH client, connect to the machine.
&amp;nbsp;I prefer &lt;a
 href="http://www.chiark.greenend.org.uk/%7Esgtatham/putty/"&gt;PuTTY&lt;/a&gt;
for Windows.&lt;/li&gt;
  &lt;li&gt;Install Samba and SWAT.&lt;br&gt;
    &lt;pre&gt;sudo apt-get install samba smbfs swat xinetd&lt;/pre&gt;
  &lt;/li&gt;
  &lt;li&gt;Create a Samba user.&lt;br&gt;
    &lt;pre&gt;sudo smbpasswd -a username&lt;/pre&gt;
  &lt;/li&gt;
  &lt;li&gt;Add SWAT to the xinet configuration and save.
    &lt;pre&gt;sudo nano -w /etc/xinetd.d/swat&lt;/pre&gt;
    &lt;pre&gt;# description: SAMBA SWAT&lt;br&gt;service swat&lt;br&gt;{&lt;br&gt; disable = no&lt;br&gt; socket_type = stream&lt;br&gt; protocol = tcp&lt;br&gt; #should use a more limited user here&lt;br&gt; user = root&lt;br&gt; wait = no&lt;br&gt; server = /usr/sbin/swat&lt;br&gt;}&lt;/pre&gt;
  &lt;/li&gt;
  &lt;li&gt;Reload Xinetd with the new configuration.&lt;br&gt;
    &lt;pre&gt;sudo dpkg-reconfigure xinetd&lt;/pre&gt;
  &lt;/li&gt;
  &lt;li&gt;Verify that SWAT is up and running. &amp;nbsp;If you don't
get any response, start &lt;a
 href="http://www.google.com/search?hl=en&amp;amp;q=ubuntu+xinetd+swat&amp;amp;btnG=Google+Search"&gt;Googling&lt;/a&gt;.&lt;br&gt;
    &lt;pre&gt;sudo netstat -tap | grep swat&lt;/pre&gt;
  &lt;/li&gt;
  &lt;li&gt;Make the shared directory for TorrentFlux.&lt;br&gt;
    &lt;pre&gt;sudo mkdir /share&lt;br&gt;sudo mkdir /share/incoming&lt;br&gt;sudo chmod 777 /share/incoming/&lt;/pre&gt;
  &lt;/li&gt;
  &lt;li&gt;Create the Samba share. &amp;nbsp;Using a web browser, go
to http://hostname:901/shares&lt;/li&gt;
  &lt;ol&gt;
    &lt;li&gt;path /share/incoming&lt;/li&gt;
    &lt;li&gt;valid users - username&lt;/li&gt;
    &lt;li&gt;read only - no&lt;/li&gt;
    &lt;li&gt;Commit Changes&lt;/li&gt;
  &lt;/ol&gt;
  &lt;li&gt;Install phpMyAdmin&lt;br&gt;
    &lt;pre&gt;sudo apt-get install phpmyadmin&lt;/pre&gt;
  &lt;/li&gt;
  &lt;li&gt;Connect to phpMyadmin using a web browser -
http://hostname/phpmyadmin&lt;/li&gt;
  &lt;ol&gt;
    &lt;li&gt;Secure MySQL / phpMyAdmin&lt;/li&gt;
  &lt;/ol&gt;
  &lt;ol&gt;
    &lt;ol&gt;
      &lt;li&gt;login: root (no pass)&lt;/li&gt;
      &lt;li&gt;Privileges&lt;/li&gt;
    &lt;/ol&gt;
    &lt;ol&gt;
      &lt;ol&gt;
        &lt;li&gt;Add a password to both root accounts&lt;/li&gt;
      &lt;/ol&gt;
      &lt;li&gt;Create a database for TorrentFlux&lt;/li&gt;
      &lt;ol&gt;
        &lt;li&gt;Databases - Create New - torrentflux&lt;/li&gt;
      &lt;/ol&gt;
    &lt;/ol&gt;
  &lt;/ol&gt;
  &lt;li&gt;Install TorrentFlux&lt;br&gt;
    &lt;pre&gt;sudo apt-get install torrentflux&lt;/pre&gt;
  &lt;/li&gt;
  &lt;ol&gt;
    &lt;li&gt;Ignore the libphp-adodb message.&lt;/li&gt;
    &lt;li&gt;Configure database for torrentflux with dbconfig-common?
- yes&lt;/li&gt;
    &lt;li&gt;Password - blank (generates random)&lt;/li&gt;
    &lt;li&gt;Restart Apache? - Yes&lt;/li&gt;
  &lt;/ol&gt;
  &lt;li&gt;Configure TorrentFlux using a web browser -
http://hostname/torrentflux/&lt;/li&gt;
  &lt;ol&gt;
    &lt;li&gt;Username / Password - root / root&lt;/li&gt;
    &lt;li&gt;Configuration&lt;/li&gt;
    &lt;ol&gt;
      &lt;li&gt;Path - /share/incoming/&lt;/li&gt;
      &lt;li&gt;Save&lt;/li&gt;
    &lt;/ol&gt;
    &lt;li&gt;Click My Profile&lt;/li&gt;
    &lt;ol&gt;
      &lt;li&gt;Update your password&lt;/li&gt;
    &lt;/ol&gt;
    &lt;li&gt;Create a user account&lt;/li&gt;
    &lt;ol&gt;
      &lt;li&gt;Admin - New User&lt;/li&gt;
    &lt;/ol&gt;
  &lt;/ol&gt;
  &lt;li&gt;Remove the Apache default documents from web root.&lt;br&gt;
    &lt;pre&gt;sudo rm -Rf /var/www/apache2-default/&lt;/pre&gt;
  &lt;/li&gt;
  &lt;li&gt;Create a basic web launchpad for easy access your services.&lt;/li&gt;
  &lt;pre&gt;sudo nano -w /var/www/index.php&lt;br&gt;&lt;br&gt;&amp;lt;?php $hostname = $_SERVER['HTTP_HOST']; ?&amp;gt;&lt;br&gt;&amp;lt;ul&amp;gt;&lt;br&gt; &amp;lt;li&amp;gt;&amp;lt;a href="http://&amp;lt;?php echo $hostname; ?&amp;gt;/torrentflux"&amp;gt;Torrent Flux&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br&gt; &amp;lt;li&amp;gt;&amp;lt;a href="http://&amp;lt;?php echo $hostname; ?&amp;gt;/phpmyadmin"&amp;gt;phpMyAdmin&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br&gt; &amp;lt;li&amp;gt;&amp;lt;a href="http://&amp;lt;?php echo $hostname; ?&amp;gt;:901/"&amp;gt;SWAT&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br&gt;&amp;lt;/ul&amp;gt;&lt;br&gt;&lt;/pre&gt;
&lt;/ol&gt;
&lt;h2&gt;Post Mortem&lt;/h2&gt;
&lt;p&gt;Overall, the installation and configuration&amp;nbsp;took me
about 45 minutes to go from&amp;nbsp;zero to a fully functional system.
&amp;nbsp;The Xbox can see the share, and I've got a new playground for
web development. &amp;nbsp;I would suggest cleaning up and securing
that home page a bit; research
.htaccess files to lock it down.&lt;/p&gt;
&lt;p&gt;I put my file server in my media
center underneath my&amp;nbsp;router, and&amp;nbsp;it takes up about
the same space
as a VCR. &amp;nbsp;For $80, I feel that I've made an excellent
investment.&lt;/p&gt;
&lt;p&gt;Update - 11.19.2006 - &lt;a href="http://digg.com/linux_unix/How_to_Configure_an_80_File_Server_in_45_Minutes"&gt;I've been Dugg!&lt;/a&gt;  Thank you all for your comments, compliments, corrections, criticisms, and suggestions!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4767023536930727704-7666911579441150024?l=jonpeck.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jonpeck.blogspot.com/feeds/7666911579441150024/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4767023536930727704&amp;postID=7666911579441150024' title='130 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/7666911579441150024'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/7666911579441150024'/><link rel='alternate' type='text/html' href='http://jonpeck.blogspot.com/2006/11/how-to-configure-80-fileserver-in-45.html' title='How to Configure an $80 File Server in 45 Minutes'/><author><name>Jon</name><uri>http://www.blogger.com/profile/15647634292152200889</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-IxHPX90Hvkk/Tl5RebRAGcI/AAAAAAAAAVw/njDgSoIYIaA/s220/Logo-v01-20110812-827x827.png'/></author><thr:total>130</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4767023536930727704.post-4298777368931741152</id><published>2006-11-17T16:54:00.000-05:00</published><updated>2006-11-19T13:25:08.697-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='Free Software'/><category scheme='http://www.blogger.com/atom/ns#' term='Dojo'/><category scheme='http://www.blogger.com/atom/ns#' term='JpGraph'/><title type='text'>The Dojo Javascript Toolkit - Powerful, but Unfinished</title><content type='html'>&lt;p&gt;Javascript toolkits are collections of tools that provide easy
interfaces to both basic and advanced functionality that allow
developers to concentrate on the business functionality of their
application.&amp;nbsp; However, some are more polished than others;
I'll tell you about a recent experience with&amp;nbsp;&lt;a
 href="http://dojotoolkit.org"&gt;Dojo&lt;/a&gt;, an
increasingly popular toolkit.&lt;/p&gt;
&lt;p&gt;I had written a simple PHP application to graph web server
statistics, such as HTTP daemons and MySQL connections.&amp;nbsp; The
application utilized&amp;nbsp;&lt;a href="http://www.aditus.nu/jpgraph"&gt;JpGraph&lt;/a&gt;
to generate graphs from tabular data.&amp;nbsp;&amp;nbsp; The first
page provided documentation and the interface to select the services to
graph and the date/time range, and the second parsed and displayed the
requested information.&amp;nbsp; For the date and time picker, I used
for loops and an array to generate options for the drop-down
lists.&amp;nbsp; It was ugly, but due to the low volume of use, it was
enough.&lt;/p&gt;
&lt;p&gt;However, as our organization started having more web server
performance related issues, we increasingly relied on the tool, and the
kludgy user interface became painfully obvious.&amp;nbsp; Wouldn't it
be easier to select a date on a calendar rather than scrolling through
an option list?&amp;nbsp; Can we have all the information and options
available on one page, yet have an uncluttered interface?&amp;nbsp;
While it was just a private utility, it needed improvement.&lt;/p&gt;
&lt;p&gt;Enter Dojo 0.4, the modular Open Source Javascript
toolkit.&amp;nbsp; A number of useful Widgets in its arsenal included a
date picker, time picker, tool tips, and tabbed content.&amp;nbsp; It
seemed like an ideal tool for overhauling the GUI without spending
undue amounts of time tweaking, and I had easily utilized the
collapsible TitlePane widget in another application.&lt;/p&gt;
&lt;p&gt;However, the lack of good documentation quickly became an
issue; a number of features or techniques mentioned in the incomplete
API didn't work out of the box.&lt;/p&gt;
&lt;p&gt;The date and time picker provided to be the hardest to deal
with.&amp;nbsp; The method of retrieving the selected date and the
selected time were different and incorrectly documented (DatePicker),
if at all (TimePicker).&amp;nbsp; In addition, there was no
documentation on how to ID the individiual widgets for retrieval.&lt;/p&gt;
&lt;p&gt;Google searches for documentation found developer discussion
threads such as, "Who broke the time picker?" but providing no working
examples that worked with a form submission.&amp;nbsp; I found an email
exchange between a user and a developer about another widget that
provided the key on how apply an ID, and a third discussion revealed
how to actually retrieve the value so it could be POSTed.&lt;/p&gt;
&lt;p&gt;Finally, I turned to the source code.&amp;nbsp; According to a
code comment, the published mechanism for getting the DatePicker value
was deprecated, and the function for TimePicker was completely
different than the DatePicker.&lt;/p&gt;
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/x/blogger2/1816/581912052847989/1600/864966/checkweb.png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/x/blogger2/1816/581912052847989/320/998577/checkweb.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;p&gt;Armed with the information from a variety of hard-to-find
sources, I finally got it to function... after wasting several hours
researching, experimenting, and adjusting.&amp;nbsp; Fortunately, the
tool tips and tabbed content were much easier to implement than the
date/time pickers.&lt;/p&gt;
&lt;p&gt;The end result was highly polished, easy to use and
beautiful.&amp;nbsp; I felt drained by the experience; a released
toolkit shouldn't be this hard to use.&amp;nbsp; Using the beta (or
alpha?) release as a justification for bad documentation is not an
acceptable excuse; if you want to help others, you need to take the
time to make sure they can use it.&lt;/p&gt;
&lt;p&gt;Moroha is the Japanese word for "double-edged," and it sums up
my experience with Dojo; it's powerful, but careful how you handle it.&lt;/p&gt;
&lt;h2&gt;Code:&lt;/h2&gt;
&lt;p&gt;To set up the two widgets, use the following HTML:&lt;/p&gt;
&lt;pre&gt;&amp;lt;div dojoType="DropDownDatePicker" widgetId="wid_from_date"&amp;gt;&amp;lt;/div&amp;gt;&lt;br&gt;&amp;lt;div dojoType="TimePicker" widgetId="wid_from_time"&amp;gt;&amp;lt;/div&amp;gt;&lt;/pre&gt;
&lt;p&gt;Somewhere within the form, you'll need a hidden value for
POSTing.&lt;/p&gt;
&lt;pre&gt;&amp;lt;input type="hidden" name="from" value=""&amp;gt;&lt;/pre&gt;
&lt;p&gt;And finally, the submit button. I used the Dojo widget.&lt;/p&gt;
&lt;pre&gt;&amp;lt;button dojoType="Button" onclick='submitform()'&amp;gt;Submit&amp;lt;/button&amp;gt;&lt;/pre&gt;
&lt;p&gt;The javascript (sans validation):&lt;/p&gt;
&lt;pre&gt;function submitform(form) {&lt;br&gt; var datepicker_from = dojo.widget.byId("wid_from_date");&lt;br&gt; var timepicker_from = dojo.widget.byId("wid_from_time");&lt;br&gt; document.forms[0].elements["from"].value = datepicker_from.getValue() + " "&lt;br&gt;  + timepicker_from.selectedTime['hour'] + ":"&lt;br&gt;  + timepicker_from.selectedTime['minute'] + " "&lt;br&gt;  + timepicker_from.selectedTime['amPm'];&lt;br&gt; document.myform.submit()&lt;br&gt;}&lt;/pre&gt;
&lt;p&gt;The result can be parsed with the PHP strtotime function.&lt;/p&gt;
&lt;pre&gt;$start = strtotime($_POST['from']);
&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4767023536930727704-4298777368931741152?l=jonpeck.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jonpeck.blogspot.com/feeds/4298777368931741152/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4767023536930727704&amp;postID=4298777368931741152' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/4298777368931741152'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/4298777368931741152'/><link rel='alternate' type='text/html' href='http://jonpeck.blogspot.com/2006/11/dojo-javascript-toolkit-powerful-but.html' title='The Dojo Javascript Toolkit - Powerful, but Unfinished'/><author><name>Jon</name><uri>http://www.blogger.com/profile/15647634292152200889</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-IxHPX90Hvkk/Tl5RebRAGcI/AAAAAAAAAVw/njDgSoIYIaA/s220/Logo-v01-20110812-827x827.png'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4767023536930727704.post-3309231009029639703</id><published>2006-11-09T16:59:00.000-05:00</published><updated>2006-11-18T19:08:30.230-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ruby on Rails'/><category scheme='http://www.blogger.com/atom/ns#' term='Free Software'/><category scheme='http://www.blogger.com/atom/ns#' term='conventions'/><title type='text'>Should I Drink the Flavor Aid?</title><content type='html'>&lt;p&gt;After coming back from an expo, you're ecstatic. You saw a
demonstration of a great new product; a Ruby on Rails podcasting system
with a Section 508 compliant AJAX interface with built-in automatic
transcription. Everyone else is doing it, it's got all the right
buzzwords, and it's free! This will expand your organization's horizons
and make you look like a technological genius. However, you need to
take a moment to reflect on some key points before even thinking about
installing your shiny new toy.&lt;/p&gt;
&lt;h2&gt;Justification&lt;/h2&gt;
&lt;p&gt;Why do you need it? Is this just to get in on what's hot, or
does it serve a legitimate purpose and serve your client's best
interests? Just because you can do something doesn't mean you should.&lt;/p&gt;
&lt;p&gt;Is it really the best solution? Do some research on what other
similar products are available; there may be better options that serve
your needs.&lt;/p&gt;
&lt;p&gt;Can everyone within your organization use it, or is your pet
project? When you're part of a group, you need to consider the needs of
others, not just yourself.&lt;/p&gt;
&lt;p&gt;If others may be using it, how hard will it be to train them?
You need to consider the lowest common denominator; it may be easy for
you to use, but it may be much more difficult or impossible for others
to use.&lt;/p&gt;
&lt;p&gt;Do they even want to use it? There's nothing wrong with asking
a few questions; you may find out that there's a better solution
available that you hadn't considered or were even aware of. Change can
be very scary and difficult for some individuals to handle; take that
into account when proposing a new solution.&lt;/p&gt;
&lt;h2&gt;Maintenance and Support&lt;/h2&gt;
&lt;p&gt;How easily does it integrate with your existing system? Think
of a square peg in a round hole. A hammer would get it in, but it would
take a lot of work and would damage both the peg and the hole. While
there may be no direct monetary cost for the software license, every
minute you spend configuring, rewriting, tinkering, and fixing is a
time cost.&lt;/p&gt;
&lt;p&gt;Is it an officially released, mature product, or is it still
in beta? If it's a mission critical application, then you don't want to
use an incomplete or untested product.&lt;/p&gt;
&lt;p&gt;How buggy is it? If the tool gets the job done, but only does
it 3 times out of 10, then it's not not an effective tool.&lt;/p&gt;
&lt;p&gt;Is the product the result of the work of a group, or an
individual? This adds to the fragility of a product; if the sole
developer is hit by a bus, then the project is also dead.&lt;/p&gt;
&lt;p&gt;What kind of support is available? Sometimes, all you get is a
20 line text file in broken English. Other times, a complete Wiki and
active forum or IRC communities can supplement the existing
documentation.&lt;/p&gt;
&lt;p&gt;Is the product still being actively developed? If there's a
missing feature, who will add it? If you report a bug, who will fix it?
It may have been great four years ago, but if nobody is working on it
anymore, then you should seek other solutions.&lt;/p&gt;
&lt;p&gt;Can anyone else in your organization maintain the new
application, or are you the only one who knows how to keep it up to
date? Once again, consider the hit-by-a-bus scenario. This isn't
necessary a deal breaker if you keep good internal documentation.&lt;/p&gt;
&lt;h2&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;Recently, I came back from a conference excited about Ruby on
Rails, a free web application framework. I watched a manager (not a
programmer!) create a feature complete forms-based front end to a
database in about 20 minutes, and I was sold. I did the research, asked
the questions, and it really does look like the best solution for some
specific applications that we need to develop. Sometimes, the hot
solution is popular for a reason. Just remember, while a great new
product may excite you so much that you just about wet your knickers,
take a deep breath, step back, and think it through.&lt;/p&gt;
&lt;h3&gt;Historical Note&lt;/h3&gt;
&lt;p&gt;In the 1978, approximately 913 followers of Jim Jones drank
cyanide-laced grape Flavor Aid in a mass cult suicide.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4767023536930727704-3309231009029639703?l=jonpeck.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jonpeck.blogspot.com/feeds/3309231009029639703/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4767023536930727704&amp;postID=3309231009029639703' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/3309231009029639703'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4767023536930727704/posts/default/3309231009029639703'/><link rel='alternate' type='text/html' href='http://jonpeck.blogspot.com/2006/11/should-i-drink-flavor-aid.html' title='Should I Drink the Flavor Aid?'/><author><name>Jon</name><uri>http://www.blogger.com/profile/15647634292152200889</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-IxHPX90Hvkk/Tl5RebRAGcI/AAAAAAAAAVw/njDgSoIYIaA/s220/Logo-v01-20110812-827x827.png'/></author><thr:total>0</thr:total></entry></feed>
