<?xml version="1.0" encoding="UTF-8"?>
<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/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>jeffrey-parker.com</title>
	<atom:link href="http://jeffrey-parker.com/blog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://jeffrey-parker.com/blog</link>
	<description></description>
	<lastBuildDate>Fri, 06 Aug 2010 03:43:58 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title></title>
		<link>http://jeffrey-parker.com/blog/?p=133</link>
		<comments>http://jeffrey-parker.com/blog/?p=133#comments</comments>
		<pubDate>Fri, 06 Aug 2010 03:43:26 +0000</pubDate>
		<dc:creator>jeff</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://jeffrey-parker.com/blog/?p=133</guid>
		<description><![CDATA[After filling up with gas, this debug output came out along with my receipt. Leftover from previous maintenance?

]]></description>
			<content:encoded><![CDATA[<p>After filling up with gas, this debug output came out along with my receipt. Leftover from previous maintenance?</p>
<p style="text-align: center;"><a href="http://jeffrey-parker.com/blog/wp-content/uploads/Gas-Station-Debug-Info.jpg"><img class="size-medium wp-image-132 aligncenter" title="Gas Station Debug Info" src="http://jeffrey-parker.com/blog/wp-content/uploads/Gas-Station-Debug-Info-116x300.jpg" alt="" width="116" height="300" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://jeffrey-parker.com/blog/?feed=rss2&amp;p=133</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ThreatFire silently blocks Plants vs Zombies and other steam games from running</title>
		<link>http://jeffrey-parker.com/blog/?p=118</link>
		<comments>http://jeffrey-parker.com/blog/?p=118#comments</comments>
		<pubDate>Wed, 24 Feb 2010 03:45:17 +0000</pubDate>
		<dc:creator>jeff</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://jeffrey-parker.com/blog/?p=118</guid>
		<description><![CDATA[Apparently there&#8217;s an incompatibility between ThreatFire and steam. Trying to play Plants vs Zombies just results in it trying to load and then silently failing without any error messages. Simply disabling ThreatFire protection isn&#8217;t good enough; I recommend uninstalling completely.
There&#8217;s a forum threat on the issue &#8211; http://www.pctools.com/forum/showthread.php?t=65000
]]></description>
			<content:encoded><![CDATA[<p>Apparently there&#8217;s an incompatibility between ThreatFire and steam. Trying to play Plants vs Zombies just results in it trying to load and then silently failing without any error messages. Simply disabling ThreatFire protection isn&#8217;t good enough; I recommend uninstalling completely.</p>
<p>There&#8217;s a forum threat on the issue &#8211; http://www.pctools.com/forum/showthread.php?t=65000</p>
]]></content:encoded>
			<wfw:commentRss>http://jeffrey-parker.com/blog/?feed=rss2&amp;p=118</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Use Google Docs as a lightweight &#8217;syncable&#8217; shareable shopping list for your mobile phone</title>
		<link>http://jeffrey-parker.com/blog/?p=113</link>
		<comments>http://jeffrey-parker.com/blog/?p=113#comments</comments>
		<pubDate>Tue, 23 Feb 2010 04:01:12 +0000</pubDate>
		<dc:creator>jeff</dc:creator>
				<category><![CDATA[lifehacks]]></category>
		<category><![CDATA[phone]]></category>

		<guid isPermaLink="false">http://jeffrey-parker.com/blog/?p=113</guid>
		<description><![CDATA[I&#8217;ve been looking for an ideal way to have a shopping list I can easily edit on my PC and then access with my mobile phone while I&#8217;m at the grocery store. Evernote and other programs which provide true file &#8217;syncing&#8217; work okay, but just felt a bit too heavyweight for my task.
Enter: Google docs. [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been looking for an ideal way to have a shopping list I can easily edit on my PC and then access with my mobile phone while I&#8217;m at the grocery store. Evernote and other programs which provide true file &#8217;syncing&#8217; work okay, but just felt a bit too heavyweight for my task.</p>
<p>Enter: Google docs. I have a spreadsheet named &#8216;Shopping list&#8217; that I can very quickly edit from *any* PC connected to the net. On my phone, I use Opera Mobile and have a bookmark directly to that specific spreadsheet. With saved passwords enabled, it&#8217;s only a few taps total to bring up the list. The mobile version also supports limited doc editing, although it&#8217;s too slow be all that useful.</p>
<p>*Bonus* &#8211; If you share write access to your shopping list doc, your significant other/housemates can add to the list without your intervention!</p>
<p>I&#8217;ve been using this system for a few months and found it to work wonderfully. Of course you won&#8217;t be able to access your list if you don&#8217;t have cell coverage at the store, but that&#8217;s never been a problem for me.</p>
]]></content:encoded>
			<wfw:commentRss>http://jeffrey-parker.com/blog/?feed=rss2&amp;p=113</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Personal IRC logging for easy remote reading</title>
		<link>http://jeffrey-parker.com/blog/?p=102</link>
		<comments>http://jeffrey-parker.com/blog/?p=102#comments</comments>
		<pubDate>Tue, 26 May 2009 03:47:27 +0000</pubDate>
		<dc:creator>jeff</dc:creator>
				<category><![CDATA[lifehacks]]></category>
		<category><![CDATA[irc]]></category>
		<category><![CDATA[nas]]></category>
		<category><![CDATA[perl]]></category>

		<guid isPermaLink="false">http://jeffrey-parker.com/blog/?p=102</guid>
		<description><![CDATA[There&#8217;s a plethora of knowledge and insightful conversations that continue 24/7 on IRC. I&#8217;ve looked into easy ways to read these conversations at my leisure, but all the &#8216;ready-made&#8217; apps came up short. I ended up using some scripts on my NAS to maintain a current archive of conversations in HTML format viewable remotely from [...]]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s a plethora of knowledge and insightful conversations that continue 24/7 on IRC. I&#8217;ve looked into easy ways to read these conversations at my leisure, but all the &#8216;ready-made&#8217; apps came up short. I ended up using some scripts on my NAS to maintain a current archive of conversations in HTML format viewable remotely from any browser.<span id="more-102"></span></p>
<p>I&#8217;ll start off by mentioning my requirements and the apps I tried.</p>
<p>Requirements:</p>
<ul>
<li>Run remotely on either my NAS (preferable) or my always-on Windows XP &#8217;server&#8217; box.</li>
<li>Easily view logs from my main desktop, and preferably any other box I give access to.</li>
<li>Doesn&#8217;t require a separate IRC &#8216;presence&#8217; like a bot. (Bots aren&#8217;t always welcome, and I want the ability to send messages from the name I&#8217;m always logged-in as)</li>
</ul>
<p>Apps Tried:</p>
<ul>
<li>mIRC &#8211; I actually started off using mIRC with logging enabled on my Windows &#8217;server&#8217; box. The plain-text logs are quite hard to read though, and I couldn&#8217;t get the only mIRC to HTML converter I could find (ircLOG2HTML) to work. X-Chat 2 also had the same types of problems.</li>
<li>A variety of Windows IRC logger &#8216;bots&#8217; (e.g. ircA). These worked somewhat, but their log formats still weren&#8217;t all that great, and they had the disadvantages of being similar to bots (see &#8216;Requirements&#8217;)</li>
</ul>
<p>Having tried many of the Windows clients, I decided to try out the (argueably?) best linux client, <a href="http://irssi.org/">Irssi</a>, on my NAS. I&#8217;d used Irssi before, but I found referencing <a href="http://quadpoint.org/articles/irssi">this guide to using Irssi and screen</a> invaluable. I used the following settings to automatically generate logs without the noisy join/leave messages and to auto-create a different log file for each channel and day.</p>
<p style="text-align: left;"><code><br />
"fe-common/core" = {<br />
autolog_path = "/root/irclogs/$tag/$0.%Y-%m-%d.log";<br />
autolog = "yes";<br />
autolog_level = "all -crap -clientcrap -ctcps -joins -parts -quits -nicks";<br />
};</code></p>
<p style="text-align: left;">So now I had text logs being output. But they still looked ugly when viewed in a browser, so they needed to be html-ified. Enter <a href="http://www.jwz.org/hacks/irc2html.pl">irc2html.pl</a> (yes a perl script). Feed it a log file and it outputs a nice-looking html page. I ran into some issues with that script where large sections of text would have a black background (making them unreadable unless highlighted with the mouse), so I commented out a few lines which seems to have fixed the issue. You can get my version of the script <a href="http://jeffrey-parker.com/blog/wp-content/uploads/2009/05/irc2html_revised.zip">here</a>.</p>
<p style="text-align: left;">I then created a simply bash script that would check for any irc log files modified in the last 5 minutes and run the perl script on them, dumping the html output in a different directory (<a href="http://jeffrey-parker.com/blog/wp-content/uploads/2009/05/log_converter.sh">get it here</a>). Then it was just a matter of adding a crontab entry to run this this script every 5 minutes.</p>
<p>To easily remotely access these logs, I set up lighttpd on the NAS, sharing the html output directory. (lighttpd was incredibly easy to setup, I highly recommend it for other simple projects like this!). Now any computer on my LAN can browse to the server and easily browse and read all of the logs.</p>
<p>This whole project was definitely more work than I intended it to be, but the resulting setup is perfectly tailored to me. I can comfortably browse the IRC logs at my leisure from any computer on my LAN, and if I want to start talking in the conversation, I can fairly easily ssh into my NAS and talk in Irssi. (My next blog post will likely be on remotely accessing the logs using SSH port forwarding, fun stuff!)</p>
<p>As a side note, please do not post the logs online for others to view (i.e. publicly log) without consent from the channel admin. (See the <a href="http://www.techcrunch.com/2007/11/30/will-irseek-have-a-chilling-effect-on-irc-chat/">IRSeek</a> incident)</p>
]]></content:encoded>
			<wfw:commentRss>http://jeffrey-parker.com/blog/?feed=rss2&amp;p=102</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using email filters to reduce distractions</title>
		<link>http://jeffrey-parker.com/blog/?p=91</link>
		<comments>http://jeffrey-parker.com/blog/?p=91#comments</comments>
		<pubDate>Wed, 22 Apr 2009 19:24:45 +0000</pubDate>
		<dc:creator>jeff</dc:creator>
				<category><![CDATA[fuze]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[gmail]]></category>
		<category><![CDATA[phone]]></category>

		<guid isPermaLink="false">http://jeffrey-parker.com/blog/?p=91</guid>
		<description><![CDATA[I use gmail as my main email provider, and have been checking it using both Gmail Notifier and IMAP on my Fuze mobile phone. I never realized how much &#8216;junk&#8217; went into my main inbox until my phone started alerting me upon every received message. I&#8217;m not talking about actual spam, but newsletters and notifications [...]]]></description>
			<content:encoded><![CDATA[<p>I use gmail as my main email provider, and have been checking it using both <a href="http://toolbar.google.com/gmail-helper/notifier_windows.html">Gmail Notifier</a> and IMAP on my Fuze mobile phone. I never realized how much &#8216;junk&#8217; went into my main inbox until my phone started alerting me upon every received message. I&#8217;m not talking about actual spam, but newsletters and notifications that aren&#8217;t really important but which I still enjoy reading in my downtime. I could have just disabled the alert, but that would be admitting defeat and negating a potentially useful capability of the phone.</p>
<p><span id="more-91"></span>Instead, I wanted to only be alerted when a message I really cared about and possibly had some importance/urgency arrived. This means I needed a mechanism to separate out the &#8216;good&#8217; messages from the rest of the cruft. Luckily, the phone (and Google&#8217;s Gmail Notifier) are only aware of new messages in the inbox. As long as only &#8216;important&#8217; messages end up in the inbox, I won&#8217;t receive unwanted notifications.</p>
<p>This can easily be accomplished using Gmail&#8217;s filters. Some of the optional actions are to &#8216;Skip the inbox&#8217; and &#8216;apply label&#8217;. Any message that I consider unimportant never goes to my inbox and is automatically given a &#8216;Junkish&#8217; label. I&#8217;ve never explicitly notified of these messages, but I can easily see if there are any new ones once I&#8217;m in the main Gmail interface.</p>
<p>Of course the last step is to actually filter out the unimportant messages. This is definitely the most time-consuming part of the process, so I do it gradually as the new messages come in. The &#8217;simple&#8217; solution for most newsletters/notifications etc is to just add the sender&#8217;s email address to the filter so that anything sent from that address will be caught.</p>
<p>For any new website signups/subscriptions, I&#8217;ve been taking advantage of Gmail&#8217;s &#8216;<a href="http://mail.google.com/support/bin/answer.py?hl=en&#038;ctx=mail&#038;answer=10313#">dot addressing&#8217;</a>, which means that if your email is john@doe.com, an email sent to jo.hn@doe.com will also reach you. When signing up for possibly spammy sites, I add an extra dot in my email address. Then I have one Gmail filter that automatically junks all emails sent to that specific address. This way you don&#8217;t need to update your filter for each new sender of junky email.</p>
<p>I know this system is rather simple and probably common sense, but it definitely cut down my distractions and I highly recommend that anyone else who receives email notifications try it out.</p>
]]></content:encoded>
			<wfw:commentRss>http://jeffrey-parker.com/blog/?feed=rss2&amp;p=91</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Remote control Xbox 360 music using a cell phone (or PC)</title>
		<link>http://jeffrey-parker.com/blog/?p=83</link>
		<comments>http://jeffrey-parker.com/blog/?p=83#comments</comments>
		<pubDate>Thu, 05 Mar 2009 19:45:40 +0000</pubDate>
		<dc:creator>jeff</dc:creator>
				<category><![CDATA[fuze]]></category>
		<category><![CDATA[media]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[phone]]></category>
		<category><![CDATA[remote]]></category>
		<category><![CDATA[winamp]]></category>
		<category><![CDATA[windowsmobile]]></category>
		<category><![CDATA[xbox360]]></category>

		<guid isPermaLink="false">http://jeffrey-parker.com/blog/?p=83</guid>
		<description><![CDATA[Since my AT&#38;T Fuze is basically a portable computer, I&#8217;ve been trying to find cool (if not entirely useful) uses for it. For my latest project, I wanted to use it as a remote control for my Xbox 360&#8217;s music playing. Ideally, I&#8217;d like to use my 360 as a music player during a party [...]]]></description>
			<content:encoded><![CDATA[<p>Since my AT&amp;T Fuze is basically a portable computer, I&#8217;ve been trying to find cool (if not entirely useful) uses for it. For my latest project, I wanted to use it as a remote control for my Xbox 360&#8217;s music playing. Ideally, I&#8217;d like to use my 360 as a music player during a party and have the ability to remotely control the song selection without navigating the clunky Xbox interface which lacks any search features. What follows is a guide on what works (and especially what doesn&#8217;t work) for accomplishing this.</p>
<p><span id="more-83"></span></p>
<p>The Xbox 360 doesn&#8217;t have any built-in methods for being remotely controlled. This immediately narrowed down the possibilities to one apparent option: internet streaming radio. If the 360 could play a streaming radio station, then I could probably remotely control that.</p>
<p>Unfortunately, the 360 doesn&#8217;t natively support streaming radio internally (i.e. you can&#8217;t just copy a .asx or .pls file onto it or manually enter a web address). It does, however, support streaming radio when accessed from a DLNA capable server. I tested a sample radio stream from shoutcast.com with both TVersity (a PC app that acts as a DLNA server) and my Buffalo LinkStation NAS which has an embedded Twonky DLNA server. Both work pretty well, but I noticed that the 360 seems to buffer streaming radio from TVersity (i.e. if you <span class="gI">choose to stop listening on the 360, then soon after start listening again, it will begin playback from when you initially started listening). For this reason, I give a slight edge to using a NAS/Twonky if you have the option.</span></p>
<p><span class="gI">Now that we can stream radio, we need our own radio station. I used Winamp with the edcast plugin and DNAS application. This basically allows you to create your own shoutcast station. I won&#8217;t go into much detail on this, since the guide <a href="http://www.shoutcast.com/download">here</a> is pretty straightforward. You *should* be able to use the Shoutcast DSP plugin from the guide, but I instead used the edcast plugin available <a href="http://www.oddsock.org/tools/edcast/">here</a>. Note that Winamp/DNAS will need to be continually running for the 360 to access the music stream.</span></p>
<p><span class="gI">The 360 will need to access this station through a playlist file. I created a very simple .m3u file with the following contents (you&#8217;ll need to change the IP address to that of the PC running Winamp/DNAS):</span></p>
<p><code>#EXTM3U<span style="block;"><br />
#EXTINF:-1,[connecting to host] http://192.168.0.105:8000/<span style="block;"></p>
<p>http://192.168.0.105:8000/</span></span></code></p>
<p><span class="gI">Make this file accessible from either TVersity or your NAS, and play it on your 360.  I won&#8217;t go into detail on this because there are already plenty of guides found on Google (such as <a href="http://forum.teamxbox.com/showthread.php?t=563196">this one</a>). At this point your 360 should be playing whatever Winamp is playing (with a 5-30 second delay). If you simply want to control your 360&#8217;s music from your PC, then you&#8217;re all set; simply choose your songs in Winamp. </span></p>
<p><span class="gI">For me, this was all just a setup to use my phone to control the music. Ideally, I now wanted to remotely access Winamp from my Windows Mobile phone. I found some Windows Mobiles apps that claim to do just that, but they were all commercial, and I strongly prefer free software (either open source or plain freeware). (Note that I&#8217;m using my phones WiFi connection to get a local IP address, you can do this over the data connection, but you&#8217;ll need to forward the appropriate ports on your home router).<br />
</span></p>
<p><span class="gI">If I can&#8217;t use a native Windows Mobile app, then the next best thing would be a Winamp web interface to access using my phone&#8217;s browser. This also has the added advantage of being inherently cross-platform. There are many existing Winamp plugs that give remote access via a web interface. Unfortunately, <strong>none </strong>of the ones I tried fully met my needs. I&#8217;d used <a href="http://www.ajaxamp.com/">AjaxAMP</a> before, and while it works pretty well when used on another PC, the interface doesn&#8217;t work so well on a small mobile device. It is technically usable and very simple to setup, so I would still offer trying this before moving on. I had very high hopes for <a href="http://www.enusbaum.com/blog/welcome-to-enusbaumcom-home-to-eric-nusbaum-and-all-his-ramblings/about_wwwinamp/">WWWinamp</a> which seems similar to AjaxAMP but even supports a skin for mobile devices! But after an hour of tinkering with it, I still couldn&#8217;t get it communicating with my Winamp installation.</span></p>
<p><span class="gI">In the end, I gave up on the Winamp web interfaces and settled for a whole PC web interface using VNC. I used the Windows Mobile VNC viewer <a href="http://blownfuze.org/files/vnc-E4_2_7b5-arm_pocketpc_viewer.CAB">here </a>(direct link to cab on blownfuze.org) and <a href="http://www.uvnc.com/">UltraVNC </a>on my PC. The Winamp interface can be a bit hard to navigate using it, but it does allow me to use all Winamp features such as searching my library and accessing playlists. The obvious downside to this is that the PC shouldn&#8217;t be used locally while being accessed by VNC. If this were to be a commonly used setup, I&#8217;d strongly recommend running this on a separate server PC if possible.</span></p>
<p><span class="gI">And there you have it! You can now control the music played by your 360 from anywhere using your phone. It&#8217;s currently not simple enough to be all that practical, but it was definitely fun to set up and play with!</span></p>
<p><span class="gI">Current issues/annoyances:</span></p>
<ul>
<li><span class="gI">Requires an &#8216;always on&#8217; PC for running the streaming server and being remote controlled</span></li>
<li><span class="gI">Changing songs isn&#8217;t noticed for up to 30 seconds or so due to the buffering. I&#8217;d much prefer the instant satisfaction of choosing a song and hearing it immediately.<br />
</span></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://jeffrey-parker.com/blog/?feed=rss2&amp;p=83</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bulk upload data when using app-engine-patch</title>
		<link>http://jeffrey-parker.com/blog/?p=76</link>
		<comments>http://jeffrey-parker.com/blog/?p=76#comments</comments>
		<pubDate>Wed, 04 Feb 2009 02:24:23 +0000</pubDate>
		<dc:creator>jeff</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[appengine]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://jeffrey-parker.com/blog/?p=76</guid>
		<description><![CDATA[I&#8217;ve been interested in learning more about both Django and Google&#8217;s App Engine, so I&#8217;ve been playing with app-engine-patch, a project that simplifies using Django on App Engine. I like it so far; it seems pretty simply, and it&#8217;s really easy to just extract the sample project and start modifying it.
Many of the personal projects [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been interested in learning more about both Django and Google&#8217;s App Engine, so I&#8217;ve been playing with <a href="http://code.google.com/p/app-engine-patch/"><span style="text-decoration: none; color: #000000;">app-engine-patch</span></a>, a project that simplifies using Django on App Engine. I like it so far; it seems pretty simply, and it&#8217;s really easy to just extract the sample project and start modifying it.</p>
<p>Many of the personal projects I&#8217;ve been working on have needed some kind of &#8216;preset&#8217; data. E.g. makes of cars, categories of food, etc. Data that won&#8217;t change frequently, but should most likely live in a database. It probably *could* just permantly live in a database, but since I&#8217;d rather not do that since I haven&#8217;t yet committed to a schema (or really even framework!). I&#8217;d prefer to keep the data in a simple external file like a spreadsheet if possible.</p>
<p><span id="more-76"></span></p>
<p>As it turns out, App Engine has the built-in <a href="http://code.google.com/appengine/articles/bulkload.html">Bulk Data Uploader</a> which greatly simplifies loading data from a csv file. I couldn&#8217;t find any webpages mentioning using this in conjunction with app-engine-patch, so I thought I&#8217;d give it a shot.</p>
<p>Happily, Google&#8217;s instructions work pretty-much unmodified with app-engine-patch. Nevertheless, I created a small sample which can be extracted to the app-engine-patch sample project and demonstrates bulk uploading. <del datetime="2009-05-20T00:28:06+00:00"><a href="http://jeffrey-parker.com/blog/wp-content/uploads/2009/02/bulk-upload-sample.zip">Download here</a></del>.<br />
<strong>UPDATE 5/19/09:</strong> Now that app-engine-patch 1.0 is stable, download the updated example <a href="http://jeffrey-parker.com/blog/wp-content/uploads/2009/02/bulk-upload-sample-10.zip">here</a>. A readme is included which states exactly what to do.</p>
<p>Now I can store all of my data in a plain csv, and simply bulk load it into my project when necessary!</p>
<p>WARNING: This sample doesn&#8217;t place any security restrictions on uploading. If you run this code unmodified on your production site, anyone will be able to post data to it!</p>
<p><del datetime="2009-05-20T00:28:06+00:00">NOTE: If you&#8217;re using the repository/1.0 version of app-engine-patch, you&#8217;ll need to modify the sample a little. That version prepends every model name with the name of the app. So instead of bulk loading data into &#8216;Person&#8217;, you&#8217;ll have to load it into &#8216;myapp_Person&#8217;.</del><br />
<strong>UPDATE 5/19/09:</strong> You shouldn&#8217;t need to change anything when using my newer example; it should work out-of-the-box with app-engine-patch 1.0/1.1beta</p>
]]></content:encoded>
			<wfw:commentRss>http://jeffrey-parker.com/blog/?feed=rss2&amp;p=76</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Successfully modded my Wii</title>
		<link>http://jeffrey-parker.com/blog/?p=74</link>
		<comments>http://jeffrey-parker.com/blog/?p=74#comments</comments>
		<pubDate>Thu, 29 Jan 2009 23:11:48 +0000</pubDate>
		<dc:creator>jeff</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://jeffrey-parker.com/blog/?p=74</guid>
		<description><![CDATA[There&#8217;s something incredibly appealing about giving hardware extra features just by loading some code. Now my Wii joins my Xbox and PSP in being opened up to the homebrew community.
There are tons of guides on Wii modding online. After reading through most of the current ones and comparing/contrasting them, I settled on a relatively straightforward [...]]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s something incredibly appealing about giving hardware extra features just by loading some code. Now my Wii joins my Xbox and PSP in being opened up to the homebrew community.</p>
<p>There are tons of guides on Wii modding online. After reading through most of the current ones and comparing/contrasting them, I settled on a relatively straightforward guide at <a href="http://forums.afterdawn.com/thread_view.cfm/735325">afterdawn</a>. The process was relatively straightforward; the only stumbling block I ran into was when I received a cryptic error while trying to install the homebrew channel. Turns out I was using a bad/incompatible SD card, using a different card worked fine.</p>
<p>My biggest unexpected surprise came from the <a href="http://wiibrew.org/wiki/Homebrew_Browser">Homebrew Browser</a>. This ingenious app acts just like the Shopping channel, but hosts free homebrew games and utilities. You simply click the app you want, and it automatically downloads and &#8216;installs&#8217; to your SD card. It&#8217;s amazing that the homebrew scene can put together a more cohesive experience than some commercial platforms.</p>
<p>Unfortunately, I haven&#8217;t yet found a way to run commercial games off of an external USB hard drive. I&#8217;m not interested in piracy, but my Wii quite frequenty has problems reading game discs. I already spent $60 to get it &#8216;repaired&#8217; by Nintendo, but the problems started again a month or so later.</p>
<p>Looking forward to whatever else the homebrew scene has in store&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://jeffrey-parker.com/blog/?feed=rss2&amp;p=74</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Building Windows Mobile apps using QT</title>
		<link>http://jeffrey-parker.com/blog/?p=71</link>
		<comments>http://jeffrey-parker.com/blog/?p=71#comments</comments>
		<pubDate>Sat, 17 Jan 2009 20:18:01 +0000</pubDate>
		<dc:creator>jeff</dc:creator>
				<category><![CDATA[fuze]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[qt]]></category>

		<guid isPermaLink="false">http://jeffrey-parker.com/blog/?p=71</guid>
		<description><![CDATA[Because I use multiple platforms on a daily basis, I&#8217;m a big fan of cross-platform software. I&#8217;d been previous considering writing my personal apps in python/wxPython for this purpose, but with the recent announcement of QT going LGPL, I thought I&#8217;d try out QT and see if I could compile a program to use on [...]]]></description>
			<content:encoded><![CDATA[<p>Because I use multiple platforms on a daily basis, I&#8217;m a big fan of cross-platform software. I&#8217;d been previous considering writing my personal apps in python/wxPython for this purpose, but with the recent <a href="http://www.qtsoftware.com/about/news/lgpl-license-option-added-to-qt">announcement </a>of QT going LGPL, I thought I&#8217;d try out QT and see if I could compile a program to use on my Fuze running WM 6.1 Professional.</p>
<p><span id="more-71"></span>Setting up the build environment has quite a few steps, but I hit surprisingly few snags along the way.</p>
<p>First, you&#8217;ll need an environment to build standard (not QT) Windows Mobile apps. I had an existing install of Visual Studio 2005, so I simply installed the <a href="http://msdn.microsoft.com/en-us/windowsmobile/default.aspx">Windows Mobile 6 Professional SDK Refresh</a> and was then able to build and run apps for my Fuze. (I&#8217;m curious to know if this QT procedure would also work with this <a href="http://www.codeproject.com/KB/mobile/WiMoSansVS.aspx">tutorial</a> on building windows mobile apps using the free SharpDevelop).</p>
<p>To add QT support, I simply followed the <a href="http://doc.trolltech.com/4.5/install-wince.html">official instructions</a> (substituting wm60 for 50 where appropriate, since I&#8217;m building for Windows Mobile 6).  I used the 4.5 tech preview source availabile <a href="ftp://ftp.trolltech.com/qt/source/qt-embedded-wince-opensource-src-4.5.0-beta1.zip">here</a>. To test it all out, I opened up one of the example &#8216;.sln&#8217; project files in Visual Studio and successfully compiled an exe. Copying this, along with the required .dll files from the QT/lib directory and &#8216;msvcr80.dll&#8217; from &#8216;Microsoft Visual Studio 8\VC\ce\Dll\armv4i&#8217; to my device allowed it to run perfectly.</p>
<p>I&#8217;m a bit worried about the size of the QT dlls on a mobile device (one is over 10MB), but I think the tradeoff is worth it (especially when compared to requiring a python interpreter being installed for python apps).</p>
<p>It&#8217;s amazing that with one set of code, I can have a program that will run on Windows, Mac, Linux, Windows Mobile, and <a href="http://www.qtsoftware.com/developer/technical-preview-qt-for-s60">soon Symbian S60</a>. I have a feeling that I&#8217;ll probably end up doing most of my desktop/mobile coding in QT. Time to brush up on my C++&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://jeffrey-parker.com/blog/?feed=rss2&amp;p=71</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Didiom Review &#8211; Stream music from desktop to phone</title>
		<link>http://jeffrey-parker.com/blog/?p=51</link>
		<comments>http://jeffrey-parker.com/blog/?p=51#comments</comments>
		<pubDate>Sun, 11 Jan 2009 04:29:16 +0000</pubDate>
		<dc:creator>jeff</dc:creator>
				<category><![CDATA[fuze]]></category>
		<category><![CDATA[media]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[streaming]]></category>
		<category><![CDATA[windowsmobile]]></category>

		<guid isPermaLink="false">http://jeffrey-parker.com/blog/?p=51</guid>
		<description><![CDATA[I'm constantly looking for new media/phone software to play with, and just came across Didiom, a free pair of programs that lets you stream all your home pc music onto your phone over your data connection.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m constantly looking for new media/phone software to play with, and just came across <a href="http://www.didiom.com/">Didiom</a>, a free pair of programs that lets you stream all your home pc music onto your phone over your data connection.</p>
<p><span id="more-51"></span></p>
<p>After creating an account on the website, download and installation was very straightforward. The desktop version of the program automatically selected &#8216;My Music&#8217; folder to index. There was absolutely no noticeable CPU usage while indexing (unlike Orb, JukeFly, SimplifyMedia, etc). I was a bit concerned that it actually wasn&#8217;t indexing. (It was)</p>
<p>The Windows Mobile installation was just as simple. Upon logging in, I found a *very* slick interface complete with animated menus and hi-res album covers of promoted artists. I choose to browse &#8216;All&#8217; my music, and in a few seconds a paginated list of my music was displayed. After choosing a song, I was listening to it within another few seconds. The sound quality was pretty good (but be sure to go into options and change the bitrate from 32kbps to 128kbps if you have a decent data connection!)</p>
<p>The interface makes it pretty easy to find the songs you want, allowing either browsing or searching by album/artist/song. Unfortunately, album browsing/searching seems to be a bit broken, as they don&#8217;t return an actual list of albums, but simply a list of songs that contain the term in their album title. This makes it hard to listen to whole albums in the correct track order. One other small complaint is that the menus are slightly hard to accurately navigate without a stylus. Most of the menus only have a few options and could easily be made to have bigger finger-friendly buttons.</p>
<p>It seems Didom&#8217;s business model is completely dependent on people buying songs through their online store. I didn&#8217;t notice any ads while streaming my own personal music (besides the Album covers for songs they sell).</p>
<p>For personal music streaming from desktop to phone, I highly recommend checking out Didiom.</p>
<p>Pros:</p>
<ul>
<li>Low desktop CPU usage</li>
<li>Slick interface</li>
<li>Pretty good sound quality</li>
<li>No buffering issues</li>
<li>Music continues playing while app is minimized, enabling multitasking</li>
</ul>
<p>Cons:</p>
<ul>
<li>Can&#8217;t play whole albums easily</li>
<li>Takes a few seconds to load songlists / songs</li>
<li>Menus could be a bit more finger-friendly</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://jeffrey-parker.com/blog/?feed=rss2&amp;p=51</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
