<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.2.3" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>Mark NelsonAudio &#187; </title>
	<link>http://marknelson.us</link>
	<description>Programming, mostly.</description>
	<pubDate>Thu, 26 Aug 2010 13:32:59 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.2.3</generator>
	<language>en</language>
			<item>
		<title>Help Needed</title>
		<link>http://marknelson.us/2007/11/24/help-needed/</link>
		<comments>http://marknelson.us/2007/11/24/help-needed/#comments</comments>
		<pubDate>Sat, 24 Nov 2007 20:44:16 +0000</pubDate>
		<dc:creator>Mark</dc:creator>
		
		<category><![CDATA[Audio]]></category>

		<guid isPermaLink="false">http://marknelson.us/2007/11/18/help-needed/</guid>
		<description><![CDATA[Hi loyal readers,
I&#8217;m doing a little background research for an article on music downloads, and as a result, need some people to fill out a survey. 
The goal of the survey is to get a little background on people&#8217;s attitudes, plus a comparison of differences in attitudes between old people (me) and young people (?).
The [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.byte.org/images/piracy_2Dkills_2Dmusic_2D.gif" width="225" height="156" align="right">Hi loyal readers,</p>
<p>I&#8217;m doing a little background research for an article on music downloads, and as a result, need some people to fill out a survey. </p>
<p>The goal of the survey is to get a little background on people&#8217;s attitudes, plus a comparison of differences in attitudes between old people (me) and young people (?).</p>
<p><img src="http://people.ucsc.edu/~blmurphy/cmpe3_www/napster.jpg" width="185" height="150" align="left">The survey is super-simple, 4 pages that should take no more than 3 minutes. If you&#8217;re interested in helping, the best of all possible worlds would be for you to fill it out completely, and if you&#8217;re over 25, strong-argm some under-25 type, like your kid, into filling it out as well.</p>
<p>The survey is <a href="http://www.surveymonkey.com/s.aspx?sm=_2fTj9OCAGKKKXA5OG_2f_2baVUQ_3d_3d" class="newpage">here</a>. A free survey on SurveyMonkey is limited to 100 respondents, so if it tells you to buzz off, that might mean I&#8217;ve got all the feedback I can afford.</p>
<p>Thanks!</p>
]]></content:encoded>
			<wfw:commentRss>http://marknelson.us/2007/11/24/help-needed/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Phishers take it to the next level</title>
		<link>http://marknelson.us/2007/07/24/voice-phish/</link>
		<comments>http://marknelson.us/2007/07/24/voice-phish/#comments</comments>
		<pubDate>Tue, 24 Jul 2007 19:12:41 +0000</pubDate>
		<dc:creator>Mark</dc:creator>
		
		<category><![CDATA[Scams]]></category>

		<category><![CDATA[Audio]]></category>

		<guid isPermaLink="false">/2007/07/24/voice-phish/</guid>
		<description><![CDATA[My email address shows up in a lot of public places, including domain registration records, hundreds of USENET posts, magazine articles, and various web sites. As a result, it has been harvested by every spammer known to mankind, and I get a lot of bad email.
This includes more than just spam. I show up as [...]]]></description>
			<content:encoded><![CDATA[<p>My email address shows up in a lot of public places, including domain registration records, hundreds of USENET posts, magazine articles, and various web sites. As a result, it has been harvested by every spammer known to mankind, and I get a lot of bad email.</p>
<p>This includes more than just spam. I show up as the return address in tons of virus attacks. I have a Gmail filter that automatically trashes email that looks like this:</p>
<blockquote><p>
***********************<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;  Virus Warning Message (from gemini4.ieee.org)</p>
<p>Found virus Possible_VBSDrpr in file private.hta<br />
The file is deleted.</p>
<p>If you have questions, contact virus-admin@ieee.org</p>
<p>***********************</p>
<p>Hi!!!!! You haven&#8217;t been writing for a long time. I began to worry) Where have you been? You remember, you&#8217;ve asked a progy from me? I&#8217;ve finally found it, so here it is. Check it out if this is what you&#8217;ve been looking for&#8230; bye
</p></blockquote>
<p> <a href="http://marknelson.us/2007/07/24/voice-phish/#more-84" class="more-link">(more&#8230;)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://marknelson.us/2007/07/24/voice-phish/feed/</wfw:commentRss>
<enclosure url="http://marknelson.us/attachments/2007/voice-phish/voice_phish.wav" length="140998" type="audio/x-wav" />
		</item>
		<item>
		<title>Yahoo Music Unlimited - you get what you pay for</title>
		<link>http://marknelson.us/2006/11/27/yahoo-music/</link>
		<comments>http://marknelson.us/2006/11/27/yahoo-music/#comments</comments>
		<pubDate>Mon, 27 Nov 2006 19:51:42 +0000</pubDate>
		<dc:creator>Mark Nelson</dc:creator>
		
		<category><![CDATA[Audio]]></category>

		<category><![CDATA[Complaining]]></category>

		<guid isPermaLink="false">/2006/11/27/yahoo-music/</guid>
		<description><![CDATA[I thought Yahoo! Music Unlimited was going to be the next great thing - until I started using the service. Buggy software and brick wall support lines soon showed me that sometimes a bargain is not all it is cracked up to be. Fortunately, a white knight rode up to the rescue: Visa's disputed charge system.]]></description>
			<content:encoded><![CDATA[<p><img src="http://marknelson.us/attachments/2006/yahoo-music/logo_ymu.gif" class="alignleft"/><br />
I'm a longtime user of rental music - I've had subscriptions to Rhapsody, Napster, Virgin, even Urge. So naturally I was pretty excited when Yahoo! created what looked like a decent music service that I could subscribe to at a huge discount - $5/month included the ability to download to my player, a service I was paying Rhapsody $15/month for.</p>
<p>Unfortunately, the proprietary Yahoo player software sucks. I've had a huge list of problems that include:</p>
<ul>
<li>The player will frequently refuse to play music that is available on Yahoo!’s site.</li>
<li>The player sometimes will play full tracks in 30 second preview mode.</li>
<li>The player will sometimes refuse to start at all.</li>
<li>The player sometimes crashes in the middle of play, giving an error message and shutting down.</li>
</ul>
<p>And guess what? To make this low-end service profitable, Yahoo! doesn't have phone support - you have to enter problems via a web interface. I submitted quite a few problem reports, and never got a satisfactory response – never received an answer that fixed any of my problems. (Uninstall and reinstall. WTF?)</p>
<p>I thought I was making some headway, when I received the following email, indicating that perhaps Yahoo! was going to start taking my problems seriously:</p>
<table border="1">
<tr>
<td>
<div class="igBar"><span id="lcode-1"><a href="#" onclick="javascript:showPlainTxt('code-1'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">CODE:</span>
<div id="code-1">
<div class="code">
<ol>
<li class="li1">
<div class="de1">Yahoo! Music Support Escalation Notification <span class="br0">&#40;</span>KMM69271493V98835L0KM<span class="br0">&#41;</span>&nbsp; &nbsp;</div>
</li>
<li class="li2">
<div class="de2">Hello,</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li2">
<div class="de2">We have carefully reviewed your Customer Care Support request and have</div>
</li>
<li class="li1">
<div class="de1">escalated it to a senior Care representative who specializes in</div>
</li>
<li class="li2">
<div class="de2">resolving issues related to your specific request. <span class="me1">The</span> representative</div>
</li>
<li class="li1">
<div class="de1">will respond to you within the <span class="nu0">24</span> hours.</div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="me1">Thank</span> you in advance for your patience and understanding. <span class="me1">We</span> look</div>
</li>
<li class="li2">
<div class="de2">forward to resolving your issue!</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li2">
<div class="de2">Sincerely,</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li2">
<div class="de2">Yahoo! Music Customer Care. </div>
</li>
</ol>
</div>
</div>
</div>
<p>
</td>
</tr>
</table>
<p>That was on July 9, and it formally marked the last time I heard from Yahoo!, despite zillions of follow-up inquries on my part.</p>
<p>In addition, Yahoo operates a brag site called <a href="http://ymusicblog.com/blog/">Yahoo! Music Blog</a>. They provide additional resources for contacting customer support. I have sent multiple emails to these addresses, and have never received a single response.</p>
<p>This kind of thing drives you crazy, of course. But fortunately, when you are done banging your head against the wall with a vendor who won't talk to you, there is one additional option: contesting the charge with your credit card company.</p>
<p>After taking the time to document my woes with Yahoo!, my Visa provider apparently agreed that I wasn't being treated properly. The copy of the letter below is victory enough for me:</p>
<p><img src="http://marknelson.us/attachments/2006/yahoo-music/yahoo-letter.jpg"/></p>
<p>And now I'm back to Rhapsody. I've used their phone support twice. Once because they have the hideous requirement that you call in to cancel the service (Hello, Mr. Retention Specialist!) and once with a real problem, which was resolved by the support person.</p>
<h4>Update</h4>
<p>Engadget <a href="http://www.engadget.com/2008/02/04/yahoo-music-unlimited-shuttered-customers-feel-the-rhapsody/" class="newpage">reports</a> that this service is going to bite the dust real soon now, with users being shifted over to Rhapsody. In their article they claim that this is due to basic weakness of the subscription model, but I think all Yahoo! Music Unlimited subscribes know the truth: Yahoo! was inept.</p>
]]></content:encoded>
			<wfw:commentRss>http://marknelson.us/2006/11/27/yahoo-music/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Windows MCE Replacement On a Budget</title>
		<link>http://marknelson.us/2006/08/14/windows-mce-replacement-on-a-budget/</link>
		<comments>http://marknelson.us/2006/08/14/windows-mce-replacement-on-a-budget/#comments</comments>
		<pubDate>Mon, 14 Aug 2006 15:06:23 +0000</pubDate>
		<dc:creator>Mark</dc:creator>
		
		<category><![CDATA[Web Articles]]></category>

		<category><![CDATA[Audio]]></category>

		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">/2006/08/14/windows-mce-replacement-on-a-budget/</guid>
		<description><![CDATA[

Dr. Dobb's Portal August, 2006
         Article on DDJ site
  


Over the years I've spent quite a bit of time and money experimenting with the best ways to implement networked music and video in my home. Back in 2004 I showed you how to build a home [...]]]></description>
			<content:encoded><![CDATA[<table border="0" width="500">
<tr>
<td width="300"><img alt="DDJ Portal Logo" src="http://marknelson.us/attachments/misc/logo_ddj.gif" /></td>
<td><strong>Dr. Dobb's Portal</strong> August, 2006<br />
         <a href="http://www.ddj.com/dept/linux/191801355" class="newpage">Article on DDJ site</a>
  </td>
</tr>
</table>
<p>Over the years I've spent quite a bit of time and money experimenting with the best ways to implement networked music and video in my home. Back in 2004 I showed you how to <a href="http://www.byte.com/documents/s=9032/byt1076349464330/0209_nelson.html" title="build a home video jukebox" class="newpage">build a home video jukebox</a>, albeit with a few compromises. Today you might think the best way to get this done is with a <a href="http://www.microsoft.com/windowsxp/mediacenter/default.mspx" title="Windows Media Center Edition" class="newpage">Windows Media Center Edition</a> PC (or perhaps its recent competitor, <a href="http://www.apple.com/imac/frontrow.html" title="Front Row" class="newpage">Front Row</a>). I'd like to offer up an alternative solution that offers a feature set that competes, and in some case beats the PC-based solution for a lot less money: the <a href="http://www.galaxymetalgear.com/Products/3500tvisto.html" title="Galaxy TVisto" class="newpage">GalaxyMetalGear TVisto</a> media player.</p>
<h4>The TVisto Concept</h4>
<p><img src="http://marknelson.us/attachments/tvisto-3500-review/tvisto1.gif"/ class="alignleft">The TVisto media player is basically nothing but a souped-up hard drive enclosure. GMG was already in the enclosure business when it must have occurred to them that adding a lightweight Linux distribution plus a little more CPU power, a media processor, and a remote-control driven UI would give them a box that could:</p>
<ul>
<li>Play video files encoded in MPEG-2 or DivX formats</li>
<li>Display picture files</li>
<li>Act as a music jukebox</li>
<li>Fill in as a removable hard drive</li>
</ul>
<p>In other words, do everything that a Windows MCE PC can do with the exception of recording live TV.</p>
<p>GMG sells this box without a hard drive, and with a little shopping you can find it for under $130 - I paid $125 for mine. Add the 5.25" hard drive of your choice and you are in business. My choice was a 300G Maxtor drive purchased at Fry's for $80 - making my total investment just a little over a couple hundred dollars. Because this is a simple hard drive enclosure, you also don't have to worry about a lot of the negatives associated with Media Center PC: no fan noise, small footprint, instant boot time - all big pluses in my book. Once I hooked it up and put it through its paces, I was sold on the value of this as a Media Center Edition replacement.</p>
<h4>Setup</h4>
<p>The hardware setup for the TVisto is identical to that for any hard drive enclosure: take out a few screws, open the case, connect the power and data cables to the drive, close the box up and you are done. I found the enclosure to be a bit cramped, and I was worried about damaging cables as I forced the drive in, but all went smoothly and that part of the setup took just 10 minutes. If you are comfortable with cracking the case on your PC to install drives or memory this will be a cake walk.</p>
<p>Once you have the drive installed, you connect it to your PC via a USB cable, power it up, and it should quickly appear as a removable drive. You can then format it as an NTFS, Mac OS Extended, or FAT32 drive (yes, this means you can use it with virtually any O/S.)</p>
<p>The next part of the setup gives you a hint about the simplistic nature of the software driving the TVisto. The instructions make it very clear that you have to create the folders shown in the figure below with exactly the correct names: Firmware, Movies, Music, and Pictures. As you will see when using the TVisto, there isn't a complicated database for music and video like you have with iTunes or Windows Media Player - the TVisto simply browses through folders, and it expects your media to be stored in the folder with the appropriate name.</p>
<p><center><br />
<img src="http://marknelson.us/attachments/tvisto-3500-review/ScreenShot001.gif"/></p>
<p>Figure 1<br/>The mandatory folder layout<br />
</center></p>
<p>Once you have the folders created, copying media from your PC is simply a drag and drop project, copying media files of the appropriate type to the correct folder. As you'll see later, large collections need to be organized at this point using a system of nested folders, and that is entirely up to you to do.</p>
<p><center><br />
<img src="http://marknelson.us/attachments/tvisto-3500-review/ScreenShot002.gif"/></p>
<p>Figure 2<br/>Copying media files to the TVisto<br />
</center></p>
<h4> The TV Connection </h4>
<p>After following safe ejection procedures from your PC, you can power down the TVisto and connect it to your TV. The unit ships with all the cables you need for NTSC viewing in stereo, and again, you should have no trouble connecting these standard inputs to your home video system.</p>
<p>One of the really great things about the TVisto was finding out that this little box also supports high quality audio and video. The standard unit ships with support for everything from Composite NTSC video up through 1080i, (although you need to purchase an optional cable for component HDTV connections). It also supports 5.1 audio via an SPDIF connector. Combining these two features means you can watch your stored DVDs without compromising on audio or video quality.</p>
<p>I purchased the add-on component cable so I could get the benefit of higher resolution DVD viewing - am annoying $30 expense, but if you have an HDTV it is well worth it.</p>
<p><center><br />
<img src="http://marknelson.us/attachments/tvisto-3500-review/component-cable.jpg"/></p>
<p>Figure 3<br/>The $30 component cable<br />
</center></p>
<p>Once you connect the TVisto to your TV, you may find that the default video settings aren't correct - this can be remedied by simply cycling through the various possibilities by repeatedly pressing the <em>TV Out</em> button on the remote. Eventually you'll see the menu shown in Figure 4. (Please note that these are low-res 640x480 screen captures - your HDTV viewing will be much crisper than what you see here.)</p>
<p><center><br />
<img src="http://marknelson.us/attachments/tvisto-3500-review/MainMenu.gif"/></p>
<p>Figure 4<br/>The intro menu for the TVisto 3500<br />
</center></p>
<p>A nice, simple interface. The place where you will spend most of your time is in <em>Movies</em>, <em>Music</em>, and <em>Pictures</em>. The only thing I've done in the <em>Settings</em> menu is pin down my video output settings, but you also have a few other options, such as <em>Languages</em>, <em>ScreenSaver</em>, and so on. </p>
<p>The three media buttons, <em>Movies</em>, <em>Music</em>, and <em>Pictures</em>, all have what amounts to nothing more than a folder browser interface. You plow through the files that you have loaded in the appropriate folder and select what you want to see, hear, or look at. Once you are in playback mode there are naturally quite a few more options, but the selection process is dead simple.</p>
<h4>Movies</h4>
<p>Even if you never use the TVisto 3500 for anything but a video jukebox, I think you'll find that it is worth the money. It supports multiple video formats, but I chose to go with the simplest and easiest format. I used the banned program <a href="http://fileforum.betanews.com/detail/DVD_Decrypter/1011845169/1" title="DVD Decrypter" class="newpage">DVD Decrypter</a>, and told it to rip my DVD to an ISO image. (By the way, if you want a good answer to the question "Is this legal" you might want to see what the Electronic Freedom Foundation has to <a href="http://www.eff.org/IP/fairuse/" class="newpage">say about it.</a>) I then simply copied those ISO images to my TVisto in the Movies folder, and was then able to browse them as shown in Figure 5:</p>
<p><center><br />
<img src="http://marknelson.us/attachments/tvisto-3500-review/movies-menu.gif" title="Figure 5"/></p>
<p>Figure 5<br/>Selecting a Movie<br />
</center></p>
<p>As you can see, selecting a movie is done simply by browsing file names, so you will want to be careful about naming your ISO files before installing them on the hard drive. There is no horizontal scrolling, either, so if your names are too long you will be in real trouble - the end of a title will simply be unreadable.</p>
<p>You can also see at the bottom of the list of files that I have put these six DVDs into a separate folder - I'm using a hierarchical storage system to make the navigation process a little easier to follow.</p>
<p>While all this may be a little crude, once you hit the play button the remote in order to start a movie, you will beging enjoing exactly the same playback experience you get from your DVD player - the full set of menus and features you expect:</p>
<p><center><br />
<img src="http://marknelson.us/attachments/tvisto-3500-review/alias-menu.gif" title="Alias Menu"/></p>
<p>Figure 6<br/>The Main Menu for Alias, Season 3, Disc 2<br />
</center></p>
<p>Figure 6 shows you a playback in progress, looking just as you would expect at the given resolution, with the English subtitles being overlaid on the screen. (Looks like Sydney is in the middle of a big operation!)</p>
<p><center><br />
<img src="http://marknelson.us/attachments/tvisto-3500-review/alias-playback.gif" title="Alias Playback"/></p>
<p>Figure 7<br/> Full Feature playback<br/><br />
</center></p>
<p>I couldn't be happier with this DVD emulation mode of the TVisto 3500. It does exactly what I want, the way I'm used to doing it. The ripping process is one-button-click simple, and I don't have to give up anything in terms of features or performance.</p>
<h4>Music</h4>
<p>I have to confess that I actually purchased the TVisto first as a music player. I like to have access to my entire music collection in my media room, and despite the efforts of all the manufacturers out there, have yet to have a satisfactory experience with a networked player. For example, the <a href="http://www.linksys.com/servlet/Satellite?c=L_Product_C2&amp;childpagename=US%2FLayout&amp;cid=1115416830950&amp;pagename=Linksys%2FCommon%2FVisitorWrapper" title="Wireless-B Media Adapter" class="newpage">Linksys Wireless-B Media Adapter</a> seems like solid product from the spec sheet, but it suffers from such a litany of shortcomings that I found it completely unusable. (Disclosure: I work for Linksys - or at least I did before this article was published.) My Windows Media Center Edition experiences were even more frustrating, again using a Linksys product, the <a href="http://www.linksys.com/servlet/Satellite?c=L_Product_C2&amp;childpagename=US%2FLayout&amp;cid=1115416829578&amp;pagename=Linksys%2FCommon%2FVisitorWrapper" title="Dual-Band Wireless A/G Media Center Extender" class="newpage">Dual-Band Wireless A/G Media Center Extender</a> (which notably seems to have stopped shipping.) In this case I blame most of the woes on Microsoft, not Linksys, for the unfriendly music experience.</p>
<p>So instead of hassling with a remote box that has to talk to a server, (always including some required server software), the TVisto offers an easier to manage remote experience with less hassle on my part. All I have to do is copy files to my Music Folder, and I'm in business.</p>
<p>Figure 8 shows the music navigation system in place, and just as you might have expected, it is simply a folder browser. This is both a strength and a shortcoming of the TVisto. Since it doesn't have to maintain a big database of titles, it is much simpler and more reliable. At the same time, that database of titles that you get with iTunes or Windows Media Player does make it easier to navigate through your songs.</p>
<p><center><br />
<img src="http://marknelson.us/attachments/tvisto-3500-review/music-nav.gif" title="Navigating through Music"/></p>
<p>Figure 8<br/>Navigating through the music collection<br />
</center></p>
<p>Note that again, in order to bring some help to the navigation problem of working through several hundred CDs, I've gone hierarchical, with each family member having their own folder, with artists under those, then albums under those. This is okay, but not optimal. If you want to play a specific CD it means you either have to know whose folder it is in or else spend a lot of time browsing - no search function available.</p>
<p>If your needs are restricted to listening to one CD at a time, you will find yourself in hog heaven. When you select a CD, you can either play individual songs of your selection or with one button press instantly play the entire CD.</p>
<p><center><br />
<img src="http://marknelson.us/attachments/tvisto-3500-review/music-playback.gif" title="Music Playback"/></p>
<p>Figure 9<br/>Music plaback in progress<br/><br />
</center></p>
<p>The one place where the GalaxyMetalGear team could really afford to work on firmware improvements would be here. Feature competition from Microsoft and Apple has really raised the bar on music playback, and a simple file-folder oraganized MP3 playback experience won't cut it for a lot of people. Things I'd like to see in updates to the current product would include:</p>
<ul>
<li>Big improvements in navigation, with an eye towards speed - pressing the page button 20 times to get to the end of a list is pretty annoying.</li>
<li>Support for playlists, ratings, and searching</li>
<li>Support for ID3V2 tags, including multiple Genres per song</li>
<li>Shuffle options</li>
<li>Display of album artwork and lyrics</li>
<li>Visualization options</li>
</ul>
<p>Despite these missing features, make no mistake about one thing, this is still an excellent replacement for the CD player in your media room. It performs the same function, but allows you to quickly access your entire collection and frees up the space that was occupied by that ugly CD rack you bought at Target 10 years ago.</p>
<h4>Pictures</h4>
<p>I consider the picture album feature almost a throwaway - it was easy to add, so it was included, but I don't know anyone who actually uses their TV to browse through their photos (my apologies to those of you out there who do!)</p>
<p>Basically, the photo album feature operates identically to the music feature, meaning you get to view one folder at a time. Figure 10 shows this in play on my TV, and its certainly nice, but the lack of tagging and organization makes it a bit lame compared to a web site like <a href="http://flickr.com/" title="Flickr.com" class="newpage">Flickr.com</a>.</p>
<p><center><br />
<img src="http://marknelson.us/attachments/tvisto-3500-review/Fig10.jpg" title="Viewing Photos"/></p>
<p>Figure 10<br/>Viewing Photos<br />
</center></p>
<h4>Conclusions</h4>
<p>If you're looking at price performance, I think the TVisto can't be beat. I won't be surprised if an iPod will be able to do all of these things soon (except for playing DVDs you've ripped yourself), but even then, the form factor will always mean you are paying a huge penalty for disk space. My $200 TVisto has 300G of disk space - an iPod with 1/5 that space costs twice as much.</p>
<p>The one thing that would take this product from second base to home would be network access. Given that it is running a standard Linux distribution, I have to believe that it would be fairly easy to support a USB network interface. If I could load new media on the TVisto without having to lug it from one room to another, I think I would then be able to say the TVisto 3500 is feature complete. (Opening this box up for community software development might be one way to get those new features in more quickly.)</p>
<p>A few notes on pros and cons to help you with your buying decision:</p>
<p><strong>Pro:</strong></p>
<ul>
<li>No fan</li>
<li>Small footprint</li>
<li>Very inexpensive</li>
<li>Plays ISO-ripped DVDs</li>
<li>Plays DivX compressed video</li>
<li>OS independent</li>
</ul>
<p><strong>Con:</strong></p>
<ul>
<li>No protected music</li>
<li>No network access</li>
<li>Lots of UI limitations - slow scan through music and photos</li>
<li>No playlists</li>
<li>No shuffling across folders</li>
<li>Doesn't read ID3V2 tags</li>
</ul>
<p>Look at it this way - in the worst case, you'll still get to use it as a portable hard drive!</p>
<h4>Reading Recommendations</h4>
<p>If you are interested in distributing media over the network, the texts below are all excellent reference material. If you purchase them after clicking through on the links below, you'll be expanding your knowledge and supporting this site at the same time. Thanks. (Note: all links will open in a new window.)<br />
<center></p>
<table border="0">
<tr>
<td>
<iframe src="http://rcm.amazon.com/e/cm?t=theinternetdatac&#038;o=1&#038;p=8&#038;l=as1&#038;asins=0764599844&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
</td>
<td>
<iframe src="http://rcm.amazon.com/e/cm?t=theinternetdatac&#038;o=1&#038;p=8&#038;l=as1&#038;asins=0471755494&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
</td>
<td>
<iframe src="http://rcm.amazon.com/e/cm?t=theinternetdatac&#038;o=1&#038;p=8&#038;l=as1&#038;asins=0764569783&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
</td>
</tr>
</table>
<p></center></p>
]]></content:encoded>
			<wfw:commentRss>http://marknelson.us/2006/08/14/windows-mce-replacement-on-a-budget/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Intellectual Property: A Modest Proposal</title>
		<link>http://marknelson.us/2005/10/03/ip-proposal/</link>
		<comments>http://marknelson.us/2005/10/03/ip-proposal/#comments</comments>
		<pubDate>Mon, 03 Oct 2005 09:14:28 +0000</pubDate>
		<dc:creator>Mark</dc:creator>
		
		<category><![CDATA[Web Articles]]></category>

		<category><![CDATA[Audio]]></category>

		<category><![CDATA[Complaining]]></category>

		<guid isPermaLink="false">http://marknelson.us/2005/10/03/ip-proposal/</guid>
		<description><![CDATA[My modest proposal could make the U.S. the first country to make a sensible adjustment of Intellectual Property laws to deal with realities in the 21st century.]]></description>
			<content:encoded><![CDATA[<table border="0" width="500">
<tr>
<td width="300"><img alt="DDJ Portal Logo" src="http://marknelson.us/attachments/misc/logo_ddj.gif" /></td>
<td><strong>Dr. Dobb's Portal</strong><br/>October, 2005<br />
         <a href="http://www.ddj.com/architect/184407836" class="newpage">Article on DDJ site</a>
  </td>
</tr>
</table>
<p>How important is music in your life? Chances are good that the answer ranges from <em>somewhat</em> to <em>very</em>. People like music. I don't think Science can tell us why yet, but the relationship between people and their music goes way beyond normal affection.</p>
<p>How many hours a day does the average cube dweller spend listening to music? If you are a knowledge worker of any ilk, and you don't have to use your telephone, odds are you listen to music eight hours a day or more. And odds are this is very important to your ability to make it through the day.</p>
<p>How many times have you or a friend of yours latched on to a catchy new song, only to have it playing over and over in your head for days on end? Depending on whether you actually like the song, this either sours your mood or puts a little extra spring in your step. Judging by what I see in my humble domicile, I'd have to say the net effect on total happiness in the world is very, very, positive.</p>
<h4>A Serious Problem</h4>
<p>Given the importance that music plays in our lives, I think we have a serious problem. The industry that controls the flow of music into our brains is having trouble adjusting to the new world we live in. Instead of making it easier and cheaper to listen to music, they're letting new technologies make it more expensive and difficult.<br />
 <a href="http://marknelson.us/2005/10/03/ip-proposal/#more-100" class="more-link">(more...)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://marknelson.us/2005/10/03/ip-proposal/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The Ultimate Home Jukebox</title>
		<link>http://marknelson.us/2000/01/01/the-ultimate-home-jukebox/</link>
		<comments>http://marknelson.us/2000/01/01/the-ultimate-home-jukebox/#comments</comments>
		<pubDate>Sat, 01 Jan 2000 15:59:17 +0000</pubDate>
		<dc:creator>Mark</dc:creator>
		
		<category><![CDATA[Audio]]></category>

		<category><![CDATA[Data Compression]]></category>

		<category><![CDATA[Magazine Articles]]></category>

		<guid isPermaLink="false">/2000/01/01/the-ultimate-home-jukebox/</guid>
		<description><![CDATA[An article written with Charlie Munro discussing ways to convert some extra hard drive space into a jukebox filled with hundreds of CDs.]]></description>
			<content:encoded><![CDATA[<table border="0">
<tr>
<td style="width: 33%"><img alt="DDJ Cover from January, 2000" id="image32" src="http://marknelson.us/attachments/2000/the-ultimate-home-jukebox/ddj_cover.jpg" /></td>
<td style="width: 66%"><strong>Dr. Dobb's Journal</strong> January, 2000<br/>by Charlie Munro and Mark Nelson</td>
</tr>
</table>
<p>This summer a remarkable thing happened in Dallas, and for once it didn’t have anything to do with triple digit temperatures or the Dallas Cowboys. In fact, this story didn’t even make the front page of the newspaper; it was buried in a garish Fry’s insert. What was it that made this advertisement newsworthy? Simply the news that an 18 GByte disk drive could be had for the price of $180.</p>
<p>What makes this price point so interesting is that it means we have now reached the point where a Megabyte of hard disk space can be had for the grand total of one cent. Doing the math led us to an inescapable conclusion: the ultimate home jukebox was now within our reach.</p>
<h4>Laying down tracks</h4>
<p>After a quick trip to Fry’s, followed by a few hours of rehab work on some older PCs, we had inexpensive home music servers that were ready to be loaded with our personal collections. The format of choice for recording music from CDs is MPEG-1 audio layer 3, popularly known as MP3. We found that most CDs can be digitally converted to MP3 format at a rate of 160 Kbps with no great loss of fidelity. (Trained ears or high quality audio gear might require higher rates.) This meant that our new 18Gbyte drives could hold up to 300 CDs, enough for a good-sized personal collection!</p>
<p>Creating MP3 recordings on your PC involves two steps: ripping and encoding. Ripping refers to the process of extracting the music from the CD itself. Ideally this is done digitally, reading the actual bits directly from disk. We were able to do digital ripping on most machines, most of the time, but in some situations had to fall back to analog ripping. This less-desirable method involves playing the CD tracks through your sound card, then digitizing its analog output. The slight loss of fidelity may be minimal, but it human psychology seems to magnify the loss out of proportion.</p>
<p>Once the tracks have been ripped to your hard disk, usually as WAV files, the encoder converts them to MP3 files. The MP3 files can be encoded at rates as low as 16 KBps ranging up to 320 Kbps. Our selected rate of 160 Kbps reduces the WAV file size by roughly 9 to 1.</p>
<p>Integrated programs that rip and encode generally also take advantage of online CD track databases. These databases keep playlists for as many titles as possible, and can be accessed via the Internet. (See www.cddb.com for more information on these databases.) The encoder can embed this track information in the MP3 file in an information element known as the ID3 tag.</p>
<p>A typical ripping session in progress is shown in Figure 1. The program in question, AudioCatalyst, is an integrated ripper/encoder from Xing, a company that is known for their multimedia compression and rendering engine.</p>
<p><center><br />
<img src="http://marknelson.us/attachments/2000/the-ultimate-home-jukebox/Figure-1.gif"><br />
Figure 1<br />
A rip/encode session in progress<br />
</center></p>
<h4>Getting organized</h4>
<p>The whole point of putting your entire CD collection on a hard drive is ease of access. Being able to play what you want, when you want, is like being the program director of your own radio station.</p>
<p>Making the database of music easy to work with involved a couple of different design decisions. The first decision we made was the naming scheme for the files and directories that would hold the music repository. Each CD was placed in its own directory, which fell under a virtual root using the directory naming scheme of Artist/Title. The individual songs were named according to the scheme <em>Track Number – Title.mp3</em>. A shot of the resulting organization is shown in Figure 2.</p>
<p><center><br />
<img src="http://marknelson.us/attachments/2000/the-ultimate-home-jukebox/Figure-2.gif"><br />
Figure 2<br />
The Music Repository Naming Scheme<br />
</center></p>
<p>This naming scheme was really designed for the human navigation. Regardless of the software we used to play our music, we knew we could find individual CDs or tracks quickly and easily. Using Windows drag and drop, it’s easy to quickly select individual tracks from a CD and drag them onto a player. This gives us the convenience of a simple database without any real programming.</p>
<p>This directory structure is good, but scanning it when looking for music can be time consuming. Asking the operating system to traverse the structure with a library of several hundred CDs can mean minutes of disk activity. To avoid doing this constantly, we also created a single directory of M3U playlists. By making our Playlist folder a Virtual Directory on the web server, we’ll have an easy way to link to these files from a web page.</p>
<p>Most popular MP3 players (including Windows Media Player) support the M3U format, which is actually just an ASCII list of files. A typical M3U file is shown in Figure 3.</p>
<p><center></p>
<table border="0">
<tr>
<td>
<code><br />
\\mark\d\My Music\Radiohead\The Bends\1_Planet Telex.mp3<br />
\\mark\d\My Music\Radiohead\The Bends\2_The Bends.mp3<br />
\\mark\d\My Music\Radiohead\The Bends\3_High And Dry.mp3<br />
\\mark\d\My Music\Radiohead\The Bends\4_Fake Plastic Trees.mp3<br />
\\mark\d\My Music\Radiohead\The Bends\5_Bones.mp3<br />
\\mark\d\My Music\Radiohead\The Bends\6_(Nice Dream).mp3<br />
\\mark\d\My Music\Radiohead\The Bends\7_Just.mp3<br />
\\mark\d\My Music\Radiohead\The Bends\8_My Iron Lung.mp3<br />
\\mark\d\My Music\Radiohead\The Bends\9_Bullet Proof..I Wish I Was.mp3<br />
\\mark\d\My Music\Radiohead\The Bends\10_Black Star.mp3<br />
\\mark\d\My Music\Radiohead\The Bends\11_Sulk.mp3<br />
\\mark\d\My Music\Radiohead\The Bends\12_Street Spirit (Fade Out).mp3<br />
</code><br />
</tr>
</td>
</table>
<p>Figure 3<br />
Contents of Radiohead - The Bends.m3u<br />
</center><br />
Note that the file names are given as network shared drives. This is critical for making your music playable on any system in your home network. It also allows us to expand our collection across disks or even machines. M3U files can be created using the command line DIR command, or using most popular players. We usually use WinAmp’s playlist editor to create ours.</p>
<p/>
<h4>The Friendly Front End</h4>
<p>Once you’ve gone to the trouble of setting up a home music server, you probably are already thinking about serving up HTML pages from the same system. We thought it would be nice to have a web page that listed all your music in a somewhat organized form. Better yet, the web page ought to be able to dynamically create the index based on the contents of an M3U directory.</p>
<p>It takes a bit more than plain HTML to accomplish this, but nothing too sophisticated. Since we decided to implement our directory using Active Server Pages we were committed to using Microsoft's servers. We’ve used both IIS and Microsoft’s Personal Web Server with good results.</p>
<p>Figure 4 shows a screen shot of the web page that organizes the music. Having the titles organized by artist, having all the artists in alphabetical order, and then having links that let you move quickly through the page all contribute to making it quick and easy to choose your selections. Each album name you see is a hot link to an M3U file. Clicking on it automatically launches your MP3 player and begins playing the CD.</p>
<p><center><br />
<img src="http://marknelson.us/attachments/2000/the-ultimate-home-jukebox/Figure-4.gif"><br />
Figure 4<br />
The Dynamically Generated Web Page<br />
</center></p>
<h4>The Script Behind the Page</h4>
<p>The web page that generates the screen in Figure 4 is not a static HTML page. Nearly all of the HTML for the page is generated when the page is loaded using some simple JavaScript. Listing 1, <em>default_js.asp</em>, contains all the code used by this page.</p>
<p>The routine that sets up all the data for this page to display is function <span class="inline_code">GetFileList()</span>. It uses an instance of the ASP <span class="inline_code">FileSystemObject </span>to create a list of all the M3U files our <em>Playlist</em> directory. The <span class="inline_code">Server.MapPath()</span> method lets us get the path to the M3U files from the virtual directory name. One thing to notice in the <span class="inline_code">GetFileList()</span> function is the way we loop through the files. Unlike VBScript, where you can iterate through members of a files collection using <span class="inline_code">For Each Item</span> In <span class="inline_code">CollectionObject</span>, JavaScript requires you to explicitly create an <span class="inline_code">Enumerator</span> object for the files collection. We then use the <span class="inline_code">object.item()</span> method to set a variable to the current file object in the collection.</p>
<p>These file names are stored in array <span class="inline_code">fileList[]</span> when the function is called near the top of the page. The list of files is then sorted using JavaScript's <span class="inline_code">array.sort()</span> method. Since the file names start with the artist, this clumps all the files for a given artist together in the list. One note of caution: Since the JavaScript <span class="inline_code">array.sort()</span> method uses ASCII sorting (A-Z before a-z) by default, it’s important to have all your file names start with uppercase letters.</p>
<p>After generating the HTML for the very start of the page, we create a dynamic list of hot links to each of the possible first letters in the artists in the collection. Once the index of single letter links has been written out, the rest of the page is created in a simple loop that iterates over each file in the <span class="inline_code">fileList[]</span> array. For every file in the list, we are going to create a link on the web page that has the name of the CD (with the artist name stripped off) and points to the M3U file. The code that does that is at the bottom of the loop:</p>
<div class="igBar"><span id="ljavascript-2"><a href="#" onclick="javascript:showPlainTxt('javascript-2'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">JavaScript:</span>
<div id="javascript-2">
<div class="javascript">
<ol>
<li class="li1">
<div class="de1">idx = fileName.<span class="me1">indexOf</span><span class="br0">&#40;</span><span class="st0">" - "</span><span class="br0">&#41;</span>; <span class="co1">// find the delimiter separating artist </span></div>
</li>
<li class="li2">
<div class="de2">title = fileName.<span class="me1">substring</span><span class="br0">&#40;</span>idx + <span class="nu0">3</span>, fileName.<span class="me1">length</span> - <span class="nu0">4</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">title = jTrim<span class="br0">&#40;</span>title<span class="br0">&#41;</span>;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">href = rootPath + pathSeparator + Server.<span class="me1">URLPathEncode</span><span class="br0">&#40;</span>fileName<span class="br0">&#41;</span>;</div>
</li>
<li class="li2">
<div class="de2">Response.<span class="kw1">Write</span><span class="br0">&#40;</span><span class="st0">"&lt;DD&gt;&lt;A HREF=<span class="es0">\"</span>"</span> + href + <span class="st0">"<span class="es0">\"</span>&gt;"</span> + title + <span class="st0">"&lt;/A&gt;&lt;/DD&gt;<span class="es0">\n</span>"</span><span class="br0">&#41;</span>; </div>
</li>
</ol>
</div>
</div>
</div>
<p>
In this part of the code, the title variable gets the album title portion of the file name, and it is what is displayed. The full path name is used as the actual link, but this is simply our virtual directory name and the file name. The formatting for the whole listing is accomplished using Definition List block elements (<span class="inline_code">&lt;DL&gt;</span>) for each letter, with each artist as a defined term (<span class="inline_code">&lt;DT&gt;</span>) and each title as a definition (<span class="inline_code">&lt;DD&gt;</span>).</p>
<p>We open and close the definition list elements using code executed conditionally at the top of the loop. For each title, we check to see if the Artist has changed by comparing <span class="inline_code">lastArtist </span>and <span class="inline_code">artist</span>. If the Artist has changed, we check to see if that artist is the first to start with a new letter. If it is the first, we call <span class="inline_code">doNextLetter()</span> which closes out the current list (<span class="inline_code">&lt;DL&gt;</span>) of titles, inserts a new anchor, starts the next definition list, and returns. For each new artist, we insert the artist name as a Defined Term (<span class="inline_code">&lt;DT&gt;</span>). If the artist for the current file is the same as <span class="inline_code">lastArtist</span>, then we write just the title as a definition (<span class="inline_code">&lt;DD&gt;</span>).</p>
<h4>References</h4>
<p><del datetime="2007-10-29T12:33:07+00:00">MP3’ Tech at www.mp3tech.org provides a great deal of technical and programming information regarding the MP3 format. </del>MP3.com at <a href="http://www.mp3.com" class="newpage">www.mp3.com</a> has links to popular freeware, shareware, and commercial players and track rippers. A few of the programs we’ve had success with are listed below.</p>
<dl>
<dt/><strong>Commercial Ripper/Player</strong></p>
<dd/>AudioCatalyst 2.x<br />
Xing Technology Corporation<br />
<del datetime="2007-10-29T12:33:07+00:00">www.xingtech.com</del> (Link is no longer available)</p>
<p/>
<dt/><strong>Free Ripper</strong></p>
<dd/>CDex 1.2 (beta)<br />
ALFA Technologies<br />
<del>www.surf.to/cdex</del> (Link is no longer available)</p>
<p/>
<dt/><strong>Shareware Player</strong></p>
<dd/>WinAmp 2.x<br />
Nullsoft, Inc.<br />
<a href="http://www.winamp.com" class="newpage">www.winamp.com</a></p>
<p/>
<dt/><strong>Commercial Player</strong></p>
<dd/>(Free download)<br />
Windows Media Player v 6.x<br />
Microsoft<br />
<a href="http://www.microsoft.com" class="newpage">www.microsoft.com</a></p>
<p/>
<dt/><strong>Commercial Ripper/Player</strong></p>
<dd/>(Crippled version is free)<br />
RealJukebox Plus<br />
Real Networks<br />
<a href="http://www.real.com" class="newpage">www.real.com</a>
</dl>
<h4>Listing</h4>
<p>The listing file contains <em>default_js.asp</em>, the javascript page that was created for this article.</p>
<p><a href="http://marknelson.us/attachments/2000/the-ultimate-home-jukebox/listing.zip">listing.zip </a></p>
<h4>Recommended Reading</h4>
<p>If you are interested in digital music, the material below might be helpful. If you make a purchase after clicking through one of the links below, you'll be expanding your knowledge and supporting this site at the same time. Thanks. (Note: all links will open in a new window.)<br />
<center></p>
<table border="0">
<tr>
<td><iframe src="http://rcm.amazon.com/e/cm?t=theinternetdatac&#038;o=1&#038;p=8&#038;l=as1&#038;asins=0028644840&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
</td>
<td>
<iframe src="http://rcm.amazon.com/e/cm?t=theinternetdatac&#038;o=1&#038;p=8&#038;l=as1&#038;asins=B000V9YXJ4&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
</td>
<td>
<iframe src="http://rcm.amazon.com/e/cm?t=theinternetdatac&#038;o=1&#038;p=8&#038;l=as1&#038;asins=0240516435&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
</td>
<td>
<iframe src="http://rcm.amazon.com/e/cm?t=theinternetdatac&#038;o=1&#038;p=8&#038;l=as1&#038;asins=1565926617&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
</td>
</tr>
</table>
<p></center></p>
]]></content:encoded>
			<wfw:commentRss>http://marknelson.us/2000/01/01/the-ultimate-home-jukebox/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
