<?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>Grant Pannell &#187; DigitalDJ</title>
	<atom:link href="http://digitaldj.net/author/admin/feed/" rel="self" type="application/rss+xml" />
	<link>http://digitaldj.net</link>
	<description>I am Grant. This is my site.</description>
	<lastBuildDate>Mon, 26 Jul 2010 03:57:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Every Single (Awesome) Game I’ve Played</title>
		<link>http://digitaldj.net/2010/07/20/every-single-awesome-game-ive-played/</link>
		<comments>http://digitaldj.net/2010/07/20/every-single-awesome-game-ive-played/#comments</comments>
		<pubDate>Mon, 19 Jul 2010 17:12:04 +0000</pubDate>
		<dc:creator>DigitalDJ</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://digitaldj.net/?p=2897</guid>
		<description><![CDATA[Today, I spent a couple of hours thinking back to how awesome the good ol&#8217; days of DOS games were and that now&#8230;I hardly play games. Mainly because I find them all pretty damn boring. I thought it&#8217;d be awesome to make a 1995 super-computer, say a couple of Pentium Pros and a kick-ass 3dfx <a href="http://digitaldj.net/2010/07/20/every-single-awesome-game-ive-played/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>Today, I spent a couple of hours thinking back to how awesome the good ol&#8217; days of DOS games were and that now&#8230;I hardly play games. Mainly because I find them all pretty damn boring. I thought it&#8217;d be awesome to make a 1995 super-computer, say a couple of Pentium Pros and a kick-ass 3dfx Voodoo card (or two), just to play some retro games. Alas, finding rare parts, even on eBay, is rather difficult and it&#8217;d probably be a pretty expensive ordeal. Guess I&#8217;ll just have to stick with DOSbox and VMware.</p>
<p>On another note, I present you with the list of awesome game I&#8217;ve played. You&#8217;ll notice how it begins with a shit-ton of DOS games, ventures briefly into Windows, then heads to the PSX, then to WoW, and finally, the world of casual gaming.</p>
<p><strong>The DOS Era (1991 &#8211; 1997)</strong><br />
Ancients<br />
Battle Chess 4000<br />
Bio Menace<br />
Blake Stone<br />
Blood<br />
Blues Brothers &#8211; Jukebox Adventure<br />
Bouncing Babies<br />
Captain Comic<br />
Carmageddon<br />
Catacombs 3-D<br />
CD-Man<br />
Command &amp; Conquer: Red Alert<br />
Commander Keen 1, 2, 3, 4, 5, Dreams, 6<br />
Companions of Xanth<br />
Cosmo&#8217;s Cosmic Adventure<br />
Crysal Caves<br />
Dangerous Dave<br />
Descent, 2<br />
Doom 1, 2<br />
Duke Nukem 1, 2, 3D (Atomic)<br />
Dune<br />
Earthworm Jim<br />
ElectroMan<br />
Epic Pinball<br />
Fantastic Dizzy<br />
Flashback<br />
Freddy Pharkas &#8211; Frontier Pharmacist<br />
Fuzzy&#8217;s World of Miniature Space Golf<br />
Gertrude&#8217;s Secrets<br />
Goldfields<br />
Gorillas (QBASIC)<br />
Grand Theft Auto 1, 2<br />
Heretic, Shadow of the Serpent Riders<br />
Hexen: Beyond Heretic, Deathkings of the Dark Citadel<br />
Hocus Pocus<br />
Hugo&#8217;s House of Horrors, Whodunit, Jungle of Doom<br />
IndyCar Racing<br />
Jazz Jackrabbit, 2<br />
Jetpack<br />
Ken&#8217;s Labyrinth<br />
King&#8217;s Quest 1, 2, 3, 4, 5, 6, 7<br />
Lamborghini: American Challenge<br />
Lemmings<br />
Links: The Challenge of Golf<br />
Lotus III: The Ultimate Challenge<br />
Mario Is Missing<br />
Monster Bash<br />
Need for Speed<br />
Nibbles (QBASIC)<br />
Oddworld: Abe&#8217;s Oddysee<br />
One Must Fall: 2097<br />
Prince of Persia<br />
Quake<br />
Raptor<br />
Reader Rabbit<br />
Rise of the Triad<br />
Sango Fighter<br />
Shadow Warrior<br />
Sherlock Holmes: Consulting Detective<br />
Sim City 2000<br />
Sim City Classic<br />
Sim Farm<br />
Stunts<br />
SWIV 3D<br />
Terminal Velocity<br />
The Incredible Machine<br />
Theme Park<br />
Tomb Raider<br />
Turok<br />
Wacky Wheels<br />
Warcraft 1, 2<br />
Wipeout<br />
Wolfenstein 3D (Spear of Destiny)<br />
WordMAX<br />
Worms<br />
Zool<br />
<strong>The Windows Era (~1995 &#8211; 2004)</strong><br />
3D Movie Maker<br />
3D Pinball for Windows<br />
Age of Empires 1, 2, 3<br />
Ballistics<br />
Battlefield 1942<br />
Catz<br />
Chip&#8217;s Challenge<br />
Counter Strike<br />
Crazy Taxi<br />
Daytona USA<br />
Deer Hunter<br />
Destruction Derby<br />
DogDay<br />
Doom 3<br />
Doom 3, Resurrection of Evil<br />
Dope Wars<br />
Elasto Mania<br />
Enter The Matrix<br />
FIFA 97<br />
Flight Simulator 2004<br />
Fury3<br />
Grim Fandango<br />
Half Life<br />
Halo<br />
Heretic II<br />
HeXen II, Portal of Praevus<br />
Hitman: Codename 47, 2: Silent Assassin, Contracts, Blood Money<br />
Hong Kong Mahjong<br />
Hover!<br />
I.G.I.<br />
Jurassic Park: Chaos Island<br />
Kid Pix<br />
Kingpin: Life of Crime<br />
Math Blaster<br />
Math Circus<br />
Max Payne, Max Payne II<br />
MechWarrior 2<br />
Metal Gear Solid 2<br />
Micro Machines V3<br />
Microsoft Golf<br />
MindMaze (that game in Microsoft Encarta!)<br />
Monster Truck Madness<br />
Motocross Madness 1, 2<br />
Myst, Riven, III, IV, V, realMYST<br />
Need for Speed 2<br />
Need for Speed: Underground, Underground 2<br />
Postal, 2<br />
Putt-Putt<br />
Pyst<br />
Quake II, The Reckoning, Ground Zero<br />
Quake III Arena, Team Arena, Quake Live,<br />
Rainbow Six: Rouge Spear<br />
Rally Championship<br />
Red Faction<br />
Redneck Rampage<br />
Sega Rally<br />
Sim Park<br />
SimTower<br />
SkiFree<br />
Soldier of Fortune<br />
Sonic CD<br />
Starcraft, Brood War<br />
SWAT<br />
The Land of Um<br />
The Sims<br />
Theme Hospital<br />
Titanic: Adventure Out Of Time<br />
ToCA Race Driver 2<br />
Typing of the Dead<br />
Unreal, Unreal Tournament, Unreal Tournament 2003, Unreal 2, Unreal Tournament 2004,<br />
Virtua Cop<br />
V-Rally<br />
Where In The World Is Carmen Sandiego?<br />
Yoot Tower<br />
<strong>The PSX Era (1999 &#8211; 2002)</strong><br />
Ace Combat 1, 2<br />
Colin McRae Rally 1, 2.0<br />
Crash Bandicoot, 2:Cortex Strikes Back, 3:Warped<br />
Croc 1, 2<br />
Die Hard<br />
Dino Crisis<br />
Driver<br />
Gex<br />
Gran Turismo 1, 2<br />
Metal Gear Solid: Integral<br />
Point Blank<br />
R4: Ridge Racer Type 4<br />
Silent Hill<br />
Siphon Filter<br />
Spyro the Dragon<br />
Tenchu<br />
Time Crisis<br />
Wargames: Defcon 1<br />
<strong>WoW Era (2005 &#8211; 2009)</strong><br />
World of Warcraft, Burning Crusade, Wrath of the Lich King<br />
<strong>Post-WoW Era (2008 &#8211; 2010)</strong><br />
Colin McRae: DiRT 1, DiRT 2<br />
Counter-Strike: Source<br />
Crysis<br />
Knytt, Stories<br />
Left 4 Dead 1, Left 4 Dead 2<br />
Portal<br />
Team Fortress 2<br />
Unreal Tournament 3<br />
Within A Deep Forest<br />
<strong>iPhone Era (2009 &#8211; 2010)</strong><br />
Angry Birds<br />
BubblePRO<br />
Doodle Jump<br />
Flight Control<br />
Need for Speed Undercover<br />
Paper Toss<br />
Peggle<br />
Plants vs. Zombies<br />
Rock Band<br />
Spikey&#8217;s Bounce Around<br />
Super Monkey Ball 1, 2<br />
Tap Tap Revenge<br />
<strong>Other</strong><br />
Donkey Kong Country (SNES)<br />
GoldenEye (N64)<br />
Granny&#8217;s Garden (C64)<br />
Guitar Hero (Xbox 360)<br />
Pokemon Red, Blue, Green, Yellow (GB)<br />
Sonic 1, 2, 3, &amp; Knuckles (Mega Drive)<br />
Super Mario World (SNES)<br />
Wayne Gretzky&#8217;s 3D Hockey (N64)<br />
Wii Sports (Wii)</p>
<p>I am sure to update this list as I can think of any DOS games that come to mind. I currently have one game racking my brain that I played a ton and just can&#8217;t remember the name, sigh.</p>
]]></content:encoded>
			<wfw:commentRss>http://digitaldj.net/2010/07/20/every-single-awesome-game-ive-played/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Making Vuze 64-bit (Windows)</title>
		<link>http://digitaldj.net/2010/07/09/making-vuze-64-bit-windows/</link>
		<comments>http://digitaldj.net/2010/07/09/making-vuze-64-bit-windows/#comments</comments>
		<pubDate>Thu, 08 Jul 2010 16:11:34 +0000</pubDate>
		<dc:creator>DigitalDJ</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://digitaldj.net/?p=2886</guid>
		<description><![CDATA[Today I ventured into making Vuze (the popular BitTorrent client) x64 compatible. At first, it seems like a pretty simple task, but it turns out it&#8217;s slightly more complicated than it seems. Here&#8217;s how to do it yourself. If you&#8217;re lazy, there&#8217;s a link at the bottom of this post with all the compiled files. <a href="http://digitaldj.net/2010/07/09/making-vuze-64-bit-windows/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>Today I ventured into making Vuze (the popular BitTorrent client) x64 compatible.</p>
<p>At first, it seems like a pretty simple task, but it turns out it&#8217;s slightly more complicated than it seems.</p>
<p>Here&#8217;s how to do it yourself. If you&#8217;re lazy, there&#8217;s a link at the bottom of this post with all the compiled files.</p>
<p><strong>Step 1: Get the 64-bit JRE</strong></p>
<p>First, download and install the 64-bit Java Runtime Environment (or JDK, whatever you want). Here&#8217;s a link to the JRE (make sure to download the Windows x64 version): <a href="https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/ViewProductDetail-Start?ProductRef=jre-6u21-oth-JPR@CDS-CDS_Developer" target="_blank">https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/ViewProductDetail-Start?ProductRef=jre-6u21-oth-JPR@CDS-CDS_Developer</a></p>
<p><strong>Step 2: Use the x64 Standard Widget Toolkit</strong></p>
<p>Secondly, we must replace the main GUI toolkit that Vuze uses (SWT) with the x64 equivalent. Download the &#8220;SWT Binary and Source&#8221; for Windows (x86_64) from: <a href="http://www.eclipse.org/swt/" target="_blank">http://www.eclipse.org/swt/</a> (make sure to click More). At the time of writing the stable version is at 3.5.2. Here&#8217;s a link to that version: <a href="http://download.eclipse.org/eclipse/downloads/drops/R-3.5.2-201002111343/download.php?dropFile=swt-3.5.2-win32-win32-x86_64.zip" target="_self">http://download.eclipse.org/eclipse/downloads/drops/R-3.5.2-201002111343/download.php?dropFile=swt-3.5.2-win32-win32-x86_64.zip</a></p>
<p>Extract swt.jar from the zip file and place it in the Vuze folder (%PROGRAMFILES(X86)%\Vuze), replacing the file. Note that once you do this, you can&#8217;t go back to the x86 version unless you download the x86 SWT or reinstall Vuze. At this point, we can actually use Vuze in 64-bit with the command line using the 64-bit JRE: java -jar Azureus2.jar &#8230;.but we aren&#8217;t done yet.</p>
<p><strong>Step 3: Make the iTunes plugin work</strong></p>
<p>New versions of Vuze come with an iTunes plugin that uses native code that is x86 only. This particular plugin uses some COM calls using a bridge called JACOB. Open up your Vuze plugins folder (%PROGRAMFILES(X86)%\Vuze\plugins), open the azitunes folder and look for a file that looks like &#8220;jacob-x.xx.x-x86.dll&#8221;. We need to find the x64 version of that DLL, and match the version. So if x.xx.x is 1.14.3, we need JACOB 1.14.3. You can find all the JACOB versions at SourceForge: <a href="http://sourceforge.net/projects/jacob-project/files/" target="_blank">http://sourceforge.net/projects/jacob-project/files/</a> Open the folder with the relevant version and grab the zip file that DOES NOT end in &#8220;_src&#8221;. Open up the zip, and extract jacob-x.xx.x-x64.dll to %PROGRAMFILES(X86)%\Vuze\plugins\azitunes.</p>
<p><strong>Step 4: Enabling Windows specific Vuze settings</strong></p>
<p>Vuze also uses a small portion of native code to perform some Windows specific tasks. These will be invisible to you until you compile aereg.dll into 64-bit. You will need to checkout the source code from the Vuze SVN respository and compile it with Visual Studio, making sure you target x64 rather than x86. To make it compile you&#8217;ll need the 64-bit JDK and to add some include paths to the project, specifically: jdkx.x.x_xx\include and jdkx.x.x_xx\include\win32. Don&#8217;t worry about the warnings, if you have any, they&#8217;re normal. Here&#8217;s the Vuze repository for aereg.dll: <a href="http://svn.vuze.com/public/client/trunk/azureus2/lib/libWIN32Access/" target="_blank">http://svn.vuze.com/public/client/trunk/azureus2/lib/libWIN32Access/</a> After you compile it to x64, <strong>make sure to RENAME IT to aereg64.dll</strong>. This took me quite some time to figure out, I had to do some source code digging to figure out why Vuze refused to load the 64-bit library.</p>
<p><strong>Step 5: Making Azureus.exe / AzureusUpdater.exe use the 64-bit JRE</strong></p>
<p>This is difficult since Vuze use commercial software, exe4j, to create the EXE launcher for the JAR. I went ahead and well&#8230;made it work. I have included the exe4j project files if you wish to compile the EXEs using exe4j by yourself. The final binaries are included at the end of the post. Vuze do not provide these projects, so it took me a while to mimic the exact project options that Vuze use to compile their EXEs. Here&#8217;s the projects: <a href="http://digitaldj.net/vuze/Vuze_exe4j.zip" target="_blank">http://digitaldj.net/vuze/Vuze_exe4j.zip</a></p>
<p><strong>Step 6: Edit the manifest</strong></p>
<p>This is a minor step, that doesn&#8217;t really need to be completed. Open up Azureus.exe.manifest and make sure to replace all references of &#8220;x86&#8243; with &#8220;amd64&#8243;.</p>
<p><strong>Step 7: Move Vuze to Program Files</strong></p>
<p>If you want, you can go ahead and move the Vuze folder to Program Files, instead of Program Files (x86)&#8230;.but it isn&#8217;t necessary. If you do this, you&#8217;ll have to update your shortcuts and make sure your file associations (.torrent) point to the new folder location.</p>
<p>Hooray! We&#8217;re done. Now double click Azureus.exe and bam, you&#8217;re now  using the 64-bit JRE. You can check task manager to ensure you&#8217;re not  using the 32-bit version (it&#8217;ll have a *32 next to the process name).</p>
<p>And for the lazy or non-technical. Here&#8217;s the files you need to make your Vuze 64-bit:<a href="http://digitaldj.net/vuze/Vuze_x64_1.20.zip" target="_blank"> http://digitaldj.net/vuze/Vuze_x64_1.20.zip</a> Simply extract the files (and overwrite all) to C:\Program Files (x86)\Vuze (these files are current to Azureus 4.4.0.6, and may work for future versions, but maybe not)</p>
<p>PS. Similar steps are taken for Linux and OSX. Minus the obvious. As far as I know, Linux has no native code, but OSX has a similar library to aereg.dll. You&#8217;d have to compile the source code here with XCode: <a href="http://svn.vuze.com/public/client/trunk/azureus2/lib/libOSXAccess/" target="_blank">http://svn.vuze.com/public/client/trunk/azureus2/lib/libOSXAccess/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://digitaldj.net/2010/07/09/making-vuze-64-bit-windows/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iOS4 Multitasking: Developer’s Hell</title>
		<link>http://digitaldj.net/2010/07/03/ios4-multitasking-developers-hell/</link>
		<comments>http://digitaldj.net/2010/07/03/ios4-multitasking-developers-hell/#comments</comments>
		<pubDate>Fri, 02 Jul 2010 20:24:55 +0000</pubDate>
		<dc:creator>DigitalDJ</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://digitaldj.net/?p=2875</guid>
		<description><![CDATA[I finally got around to installing iOS4, so I decided I&#8217;d go ahead and investigate what it takes to update the Fresh app (streaming radio) to support multitasking. Currently, my conclusion is that implementing ANY of the multitasking APIs is 110% hell unless you&#8217;re starting from scratch. First of all, your application has to play <a href="http://digitaldj.net/2010/07/03/ios4-multitasking-developers-hell/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>I finally got around to installing iOS4, so I decided I&#8217;d go ahead and investigate what it takes to update the Fresh app (streaming radio) to support multitasking. Currently, my conclusion is that implementing ANY of the multitasking APIs is 110% hell unless you&#8217;re starting from scratch.</p>
<p>First of all, your application has to play nice while it&#8217;s sitting in the background. This means that you&#8217;re basically required to implement a whole lot of &#8220;if backgrounded&#8221; checks, unless you want to soak up the battery. This involves stopping unnecessary timers, updating the UI when the application comes back to the foreground (rather than per a specific event), and saving non-critical alerts for when the user pops back into the application. This basically requires a crapton of refactoring&#8230;and we all love how that introduces bugs. If you have any sort of complicated app, you&#8217;ll be having to manage state saving so that fast app switching works nicely. Oh, and not to mention that iOS never guarantees that your application stays backgrounded. It can be killed depending on resource usage, available memory or even just idle time. Every task (other than a few specific exceptions) is time limited, so you are constantly having to check and request more time for your task.</p>
<p>Now, this particular application is meant to take advantage of the background audio multitasking API. Now, as an aside, Apple does not provide any &#8220;simple&#8221; API to stream audio. What they provide is a primitive and generic audio buffer/queue that suits both local files and network streams. Basically, this means that if you want to stream audio over the network, you have to implement the protocol, manually send the requests to get data (via HTTP for example), then feed that data into a buffer (where you have to handle the size of incoming data vs. the size of the buffer), THEN&#8230;play the audio from the buffer or handle any errors that occurred along the way. Now, in any half decent modern API, surely, you&#8217;d have a perfected version of the algorithm where you could simply plug in a URL and instruct a magical black box to play it. But alas no, each developer is to implement the over complicated, primitive audio queue&#8230; just for a streaming radio application. Now combine that with the following multitasking API, and you&#8217;re in developer hell.</p>
<p>One of the official pages on backgrounding is nearly impossible to find on the Apple site, so here it is: http://developer.apple.com/iphone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/BackgroundExecution/BackgroundExecution.html Now, if you look closely, you&#8217;ll see that most sections are detailed nicely&#8230;.except background audio, fantastic. So, taking a quick look at that section reveals that if you simply &#8220;flag&#8221; your application as one that streams audio, you&#8217;re good to go. Hooray right? Well, sort of, not really, no.</p>
<p><strong>Hurdle 1: Hooking into iPod controls</strong></p>
<p>Surprisingly, this is the EASIEST part of implementing background audio. It seems to &#8220;just work&#8221; as long as you have fairly simple start/stop/pause methods for your radio streamer. One gotcha is that state changes can now take place from both your play/stop button and the iPod controls&#8230; so, basically you should be using some sort of event system for state changes and to reupdate the UI whenever your app hits the foregound again.</p>
<p><strong>Hurdle 2: Interruptions</strong></p>
<p>Interruptions have existed since OS2. They cause your music to stop, usually when someone rings. However, now your application has to act more like the iPod application&#8230;except you can&#8217;t! Unlike the iPod application, which automatically restarts after you finish your call, the only way your application can automatically restart it&#8217;s stream is if the user brings it back to the foreground. Not only that, I&#8217;ve found that interruption events are very inconsistent. Sometimes they fire simultaneously with the interruption, sometimes they won&#8217;t fire until you bring the application to the foreground. On the times that they don&#8217;t fire with the interruption, I find that some sort of crazy auto deallocation of the streamer occurs which I can only fix with a terrible workaround. I am yet to find the actual cause of this.</p>
<p><strong>Hurdle 3: iPhone Simulator</strong></p>
<p>It sucks. Testing background audio with it is impossible! Even in the GM build, there is a bug that mutes all sound from your application when it is backgrounded. This makes it rather difficult to tell whether or not your application IS ACTUALLY SITTING IN THE BACKGROUND.</p>
<p><strong>Hurdle 4: You&#8217;re free to do whatever you want&#8230;except when you need do something</strong></p>
<p>So, as explained before, if you flag your application for streaming audio, your application can go ahead and play audio and do what it needs to do without any particular time limit or suspended state. Cool! Sort of like a free pass to do whatever the hell I want, right? Wrong. There&#8217;s a HUGE exception here: &#8220;if your application stops playing audio while in the background, your application is suspended.&#8221; Wow, that&#8217;s fantastic. So let me get this right&#8230;if my STREAMING AUDIO APPLICATION happens to need to BUFFER (i.e. STOP PLAYING AUDIO) while on a dodgy cellular connection, my application is essentially&#8230;fucked. Yes, that&#8217;s right. If you have a little bit of a network hiccup, and need to buffer, the user will need to jump back into the application to restart the audio stream! Not even the iPod controls (which are meant for external use) allow you restart the stream. I haven&#8217;t yet found a fix for this yet, but I&#8217;m assuming I&#8217;m going to have to go back to that mindfuck of a primitive audio queue to fill it with some sort of dummy audio while it buffers, so that iOS doesn&#8217;t fucking suspend my application in the middle of playing music. Doesn&#8217;t this found like fun?</p>
<p><strong>Hurdle 5:Backwards Compatibility</strong></p>
<p>Finally, as always, you need to aim for backwards compatibility. Apple  claims to have completely culled OS2.x, but let&#8217;s face it, there are  still 1st Generation iPod Touch users that DIDN&#8217;T pay the iOS3/4 upgrade  tax, that want to use apps. You have to, at a minimum, ensure your  application works on OS3 devices, which means making sure that some method calls, that are iOS4 specific, actually exist. Then using the simulator to test&#8230;&#8230;&#8230;. /facepalm.</p>
<p>FML.</p>
]]></content:encoded>
			<wfw:commentRss>http://digitaldj.net/2010/07/03/ios4-multitasking-developers-hell/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Creating a custom iOS4 IPSW with Game Center</title>
		<link>http://digitaldj.net/2010/06/28/creating-a-custom-ios4-ipsw-with-game-center/</link>
		<comments>http://digitaldj.net/2010/06/28/creating-a-custom-ios4-ipsw-with-game-center/#comments</comments>
		<pubDate>Mon, 28 Jun 2010 10:47:58 +0000</pubDate>
		<dc:creator>DigitalDJ</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://digitaldj.net/?p=2872</guid>
		<description><![CDATA[iOS4 has GM&#8217;d, but Apple is yet to finalize their Game Center app. Currently, there are two different versions of iOS 4.0. Firstly, the publicly available version and an developer&#8217;s version. The developers version is identical to the official update, but includes the Game Center app for developers. Unfortunately, tools like redsn0w, sn0wbreeze and PwnageTool <a href="http://digitaldj.net/2010/06/28/creating-a-custom-ios4-ipsw-with-game-center/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>iOS4 has GM&#8217;d, but Apple is yet to finalize their Game Center app. Currently, there are two different versions of iOS 4.0. Firstly, the publicly available version and an developer&#8217;s version. The developers version is identical to the official update, but includes the Game Center app for developers. Unfortunately, tools like redsn0w, sn0wbreeze and PwnageTool don&#8217;t support the developers IPSW. Fortunately, PwnageTool is incredibly customizable for patching firmware, so a few customizations makes it accept the developers IPSW.</p>
<p>1) Download and extract PwnageTool 4.01</p>
<p>2) View the package contents of PwnageTool.app and browse to PwnageTool.app/Contents/Resources/FirmwareBundles/&lt;Your iPhone/iPod firmware version&gt;.bundle</p>
<p>3) Within this bundle is an Info.plist, open it and make the following modifications to the following keys:</p>
<p>3a) <strong>RootFilesystem: </strong>needs to match the root FS dmg filename in the developer IPSW. Find this by opening the IPSW with a ZIP application and find the filename of the DMG that is approximately 300-400MB in size (it should be something like xxx-xxxx-xxx.dmg)</p>
<p>3b) <strong>RootFilesystemKey:</strong> each root FS is encrypted. Finding the key is difficult. Instead, search for the DMG filename in Google and you should find a few places that host the key for that particular DMG.</p>
<p>3c) <strong>RootFilesystemMountVolume:</strong> usually this is something like ApexXXXXX.iPhoneOS. Change this to ApexXXXXX.iPhone<em>Developer</em>OS.</p>
<p>3d) <strong>SHA1:</strong> this needs to match the SHA1 of the developer IPSW. You can find this by using the command &#8220;openssl sha1 &lt;IPSW filename&gt;&#8221;</p>
<p>4) Now you can save the Info.plist, open up PwnageTool and select the developer IPSW. Hooray!</p>
]]></content:encoded>
			<wfw:commentRss>http://digitaldj.net/2010/06/28/creating-a-custom-ios4-ipsw-with-game-center/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iPad: The Verdict</title>
		<link>http://digitaldj.net/2010/05/30/ipad-the-verdict/</link>
		<comments>http://digitaldj.net/2010/05/30/ipad-the-verdict/#comments</comments>
		<pubDate>Sun, 30 May 2010 10:35:30 +0000</pubDate>
		<dc:creator>DigitalDJ</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://digitaldj.net/?p=2865</guid>
		<description><![CDATA[Originally I intended to buy a netbook for overseas travel. After searching through an endless amount of models there was nothing I saw that has decent specs and a long battery life. Apple announced the iPad&#8230; At first I figured it&#8217;d be a useless heap of junk, but after thinking about it for a while, <a href="http://digitaldj.net/2010/05/30/ipad-the-verdict/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>Originally I intended to buy a netbook for overseas travel. After searching through an endless amount of models there was nothing I saw that has decent specs and a long battery life.</p>
<p>Apple announced the iPad&#8230; At first I figured it&#8217;d be a useless heap of junk, but after thinking about it for a while, it seemed like a logical netbook replacement. So, I bought one. A 64GB WiFi+3G one&#8230;with accessories. Here&#8217;s the review.</p>
<p><strong>The Hardware</strong></p>
<p>You can tell the iPad is a first generation Apple device. The screen isn&#8217;t 16:9, it has no front facing camera, let alone any camera. I&#8217;ve also found that the iPad has only 256MB of RAM. It&#8217;s essentially a giant iPhone. However, the only significant flaw of these, is the RAM. I&#8217;m still experimenting but even without backgrounding apps, things start to get a little low and laggy. Maybe I just need another factory restore. On the upside, it&#8217;s pretty fast, the screen is bright, it&#8217;s perfectly sized and the battery life is fantastic.</p>
<p>Another flaw is USB charging. The iPad requires a full 10W of power to charge and unfortunately most USB ports don&#8217;t supply that much power. Only ports that implement a new USB standard can charge the iPad (currently only new i7/i5 Macs). This sucks. It makes it impossible to keep your iPad fully charged and syncable at the same time. The only solution is the Wi-Fi Sync jailbreak app (which is fantastic, by the way) so that you can connect your iPad via the power connector and still sync. Without the jailbreak, this would be a show stopper for me as I intended to use the iPad in it&#8217;s dock next to my current monitors. Thank god for jailbreaking.</p>
<p><strong>The Accessories</strong></p>
<p>I bought the case, dock and camera kit. You could say I went all out.</p>
<p>The case is great, it adds a tilt that is great for movie watching and typing&#8230;but you can&#8217;t dock the iPad in it&#8217;s case. Not a huge deal, but it&#8217;s pretty hard to pull the iPad out of the case once it&#8217;s in it. The dock works okay too, but it has no weight, so you have to hold down the dock to pull the iPad out. It would be nice if the dock included some sort of TV out or way to connect both power and USB, but alas it doesn&#8217;t&#8230;but it does sit nicely next to my other screens. I haven&#8217;t tested the camera kit yet, but I bought this since there have been reports of connecting other devices to the iPad. As jailbreaking evolves, this seems like logical device to toy around with other peripherals with the iPad.</p>
<p><strong>The Operating System</strong></p>
<p>iPhone OS 3.2 seems like it was rushed. It works, but a significant amount of features are disabled from the operating system for no good reason. Upon booting for the first time I realized that there&#8217;s no Weather, Calculator, Voice Recorder, Compass, Stocks or Clock app. I can&#8217;t decide whether or not Apple rushed it out or if they wanted to leave it to the developers, but it&#8217;s rather annoying since some of these applications use a private API, only accessible to Apple (the alarm feature in the Clock app, for example). Either way, it&#8217;s a bit disappointing. The apps that Apple have ported are rather decent. The iPod app is like a miniature iTunes and Calendar app has a great UI.</p>
<p>Tethering is completely disabled. So is voice control, but at least the latter can be enabled with a simple hack. Since there is no camera, any application that has a camera feature often crashes since there is no check for the hardware. And hell, why isn&#8217;t there an SMS app or Phone app. They could have least enabled the API for developers.</p>
<p>Apple claims the iPad supports iPhone applications&#8230;and it does&#8230;but frankly it sucks. iPhone applications show up in small area of the screen&#8230;or you can use pixel doubling to make it look like an awesomely distorted JPEG image. If you think that you&#8217;ll use an iPhone app for something the iPad does not yet support, then you&#8217;re kidding yourself. Frankly, the iPad is only good for native iPad apps, iPhone apps are an absolute last resort.</p>
<p>Luckily, there&#8217;s a jailbreak solution, sort of. FullForce will force iPhone apps to the native iPad UI. Unfortunately, your mileage may vary depending on the app. It does however work well for the Facebook app, for which there is no native iPad app, yet. Keep in mind though, most applications are just mobile front ends to websites&#8230;and now that you have a giant screen, you can can get an excellent experience from MobileSafari.</p>
<p>Jailbreak users will be a bit disappointed, at least for now. There are several apps that simply don&#8217;t work with OS3.2. However, I spent some time going through jailbreak apps that I feel are 100% essential: ProSwitcher (Palm Pre style task manager), SBSettings (toggle pad that works in 3.2) and LockInfo (lock screen information). Luckily, at least ProSwitcher has active development. The github repository has partially working code for the iPad&#8230; And it&#8217;ll probably be ready soonish.</p>
<p>I feel OS4 will make the iPad shine. There are a couple of cool things in OS3.2 though: SpringBoard now rotates to landscape, there&#8217;s a rotation lock, and the keyboard is fantastically huge. Yes, I&#8217;m typing this article on an onscreen keyboard, and it&#8217;s actually productive!</p>
<p><strong>The Apps</strong></p>
<p>Even though the iPad has been out for a month or so, there is a lack of decent apps. No doubt, over time this will sort it self out. Also, you&#8217;ll find that app store prices are incredibly inflated at the moment. Angry Birds for iPad (a popular game for the iPhone) is 5, yes <strong>f i v e</strong>, times the price of the iPhone version&#8230;and to top it off, there are only 2 chapters in the iPad version vs. 4 in the iPhone version (say wut?!). Nevertheless, first I&#8217;ll go through some alternatives to the default iPhone apps (Weather, etc.) then I&#8217;ll cover some gems for the iPad.</p>
<p><strong><em>Alternatives</em></strong><br />
Compass: Compass-HD<br />
Weather: Pocket Weather<br />
Stocks: Bloomberg (really informative on the iPad)<br />
World Clocks: MyWorld Clock<br />
Calculator: Calculator HD for iPad<br />
Alarm: Weather Watch (has a fantastic UI that merges alarm clock and weather display)<br />
Voice Recorder: Voice Recorder for iPad</p>
<p><em><strong>iPad Gems</strong></em><br />
AirVideo: this application is one of the killer apps on iPad. It allows you to stream video from a computer to your iPad. It supports just about every type of video format as it transcodes on the fly using the server software you install on your computer (transcoding is done with ffdshow). The application just works. I&#8217;ve even used this with 3G by VPNing to home. Even with 256kbit upload, I was able to pull up a TV show with just 60 seconds of initial buffering. From then on in, the video played flawlessly. It automatically transcodes to an acceptable video bit rate depending on the amount of bandwidth available.</p>
<p>WunderRadio: this is also an iPhone app. It has a vast and extensive database of internet radio streams, including many of the Australian radio stations. Another app that just works.</p>
<p>iTap RDP: is a Windows remote desktop application. The 1024&#215;768 screen of the iPad makes these applications shine. iTap supports a ton of touch gestures and has a few innovations up its sleeve to make it easier to use on the iPad. Unfortunately, it doesn&#8217;t support files on the clipboard, but that&#8217;s where the next app comes in&#8230;</p>
<p>FileBrowser: supports file sharing and SMB share browsing, so you can grab files and send files between your iPad and computer. It also supports an &#8220;Open With&#8221; function so you can grab a word document and open it with Pages.</p>
<p>iSSH: if you want VNC instead of RDP, this is where it&#8217;s at. It also supports SSH, which is fantastic for jailbreak users since MobileTerminal isn&#8217;t yet iPad compatible.</p>
<p>Sociable: while MobileSafari is pretty pleasing experience&#8230;sometimes it&#8217;s nice to have a native app. Sociable is a good alternative for the iPhone Digg or iReddit app.</p>
<p>Twitterific: this is where it&#8217;s at in terms of Twitter clients. Nuff said.</p>
<p>Beejive: while I was rather pissed that I had to pay another $8 for Beejive, since I already had the iPhone app, it&#8217;s a worth while purchase. It supports MSN, Facebook, AIM, ICQ, Gtalk, Jabber, MySpace and Yahoo!</p>
<p>TWiTPad: a fan of Leo? Then this is for you.</p>
<p>Quota: a usage tracking application that works for just about any Australian mobile provider and ISP. It has a pretty damned good UI.</p>
<p>GlobeConvert: everyone needs a unit converter. This one has a fantastic UI and selection of units. The company also makes WordBook XL, an excellent offline dictionary and thesaurus.</p>
<p>Bento: is hard to explain. It&#8217;s like a journal&#8230;a library of things. A database? I&#8217;m not sure. It has a pretty UI and it seems like a decent application to store some&#8230;.stuff.</p>
<p>1Password: sort of like Bento, but with security. This is a great app to store all your sensitive information. It&#8217;s pretty much a wallet.</p>
<p>Penultimate: if you have a stylus&#8230;or want a OneNote style application, this is it.</p>
<p>Magic Piano: this is from the same company that made Ocarina. Fun++</p>
<p>Star Walk: if you like astronomy, you might wanna give this a go. It has support for the compass and accelerometer so you can figure out where constellations are.</p>
<p>Atomic Web Browser: this is an alternative web browser with a Firefox-ish layout and an adblocker.</p>
<p>Korg iELECTRIBE: if you&#8217;re a DJ, this is fantastic. It&#8217;s an easy to use interface for loops. It has a pretty decent database of synths and effects.</p>
<p>InstaPaper &amp; The Early Edition: these are two separate apps, but great if you like to read articles in a newspaper style. InstaPaper is able to save webpages for offline viewing and The Early Edition is a fancy RSS reader that lays out articles into a newspaper template.</p>
<p>The Apple Suite (iBooks, Pages, Numbers, Keynote): I was a tad pissed that these aren&#8217;t included on the iPad by default and that the prices of the office suite are in the $10 range. The apps however, are quality. Apple kept it simple and it worked. I would think that for people that read, iBooks is the killer app, but I don&#8217;t read&#8230;so I can&#8217;t comment on that.</p>
<p><strong>The Verdict</strong></p>
<p>I&#8217;m not quite sure I know the exact use for my iPad&#8230;yet, but I feel that once the apps evolve and OS4 comes out that it&#8217;ll be clear. If you haven&#8217;t yet got your iPad, and want one, I&#8217;d wait a month then test the waters. The few quality applications that are out nearly make it worth it, but somethings still need a bit of polish. If you do buy one, be prepared to change your work style for the iPad&#8230;as in it&#8217;s current state, I don&#8217;t think the iPad will influence the way you work. No doubt this is a luxury device, but I feel that Apple do have the price set a tad high.</p>
<p>Do I recommend one? If you have the money and you feel the iPad can fill a gap, then yes.</p>
<p>For now, I have tried to avoid using my laptop, and I&#8217;ve been fairly successful. The iPad can handle most of my day to day tasks&#8230;and if not, there&#8217;s remote desktop <img src='http://digitaldj.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Sent from my iPad&#8230; (WordPress.app)</p>
]]></content:encoded>
			<wfw:commentRss>http://digitaldj.net/2010/05/30/ipad-the-verdict/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Today I was over productive</title>
		<link>http://digitaldj.net/2010/05/07/today-i-was-productive/</link>
		<comments>http://digitaldj.net/2010/05/07/today-i-was-productive/#comments</comments>
		<pubDate>Thu, 06 May 2010 20:23:39 +0000</pubDate>
		<dc:creator>DigitalDJ</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://digitaldj.net/?p=2861</guid>
		<description><![CDATA[I don&#8217;t normally blog about personal crap, but today&#8230;oddly, I was over productive. It&#8217;s closing in on about a 20 hour day, but so far I&#8217;ve accomplished the following: Organised Mother&#8217;s Day presents Met to discuss iPhone App Development Had lunch a long lunch Organised seating arrangements for Hawaii trip Organised travel insurance Haircut Finished <a href="http://digitaldj.net/2010/05/07/today-i-was-productive/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t normally blog about personal crap, but today&#8230;oddly, I was over productive.</p>
<p>It&#8217;s closing in on about a 20 hour day, but so far I&#8217;ve accomplished the following:</p>
<p>Organised Mother&#8217;s Day presents<br />
Met to discuss iPhone App Development<br />
Had lunch a long lunch<br />
Organised seating arrangements for Hawaii trip<br />
Organised travel insurance<br />
Haircut<br />
Finished PhD Proposal Methodology (4 pages)<br />
Finished iPhone App Proposal (5 pages)<br />
Created a new CV<br />
Sorted a lot of files<br />
Updated a bunch of PCs with new software<br />
Hacked new Vuze version</p>
<p>On top of it all of that I managed to watch numerous episodes of TBBT and Seinfeld&#8230;.and play Angry Birds.</p>
<p>If I was this productive every day&#8230;well&#8230;who knows what would happen.</p>
<p>Time for bed.</p>
]]></content:encoded>
			<wfw:commentRss>http://digitaldj.net/2010/05/07/today-i-was-productive/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fixing a character spacing issue in Windows 7</title>
		<link>http://digitaldj.net/2010/05/01/fixing-a-character-spacing-issue-in-windows-7/</link>
		<comments>http://digitaldj.net/2010/05/01/fixing-a-character-spacing-issue-in-windows-7/#comments</comments>
		<pubDate>Fri, 30 Apr 2010 21:35:02 +0000</pubDate>
		<dc:creator>DigitalDJ</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://digitaldj.net/?p=2849</guid>
		<description><![CDATA[I&#8217;ve noticed this a couple of times: Windows decides to go a bit crazy with it&#8217;s UI font. Luckily, this is purely a cosmetic problem. Symptoms: Title bar text becomes compacted. Text is inconsistently spaced in some areas of the UI. For example, typing &#8220;this text is awesome&#8221; into the Start Menu search bar shows <a href="http://digitaldj.net/2010/05/01/fixing-a-character-spacing-issue-in-windows-7/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve noticed this a couple of times: Windows decides to go a bit crazy with it&#8217;s UI font. Luckily, this is purely a cosmetic problem.</p>
<p>Symptoms:</p>
<ul>
<li>Title bar text becomes compacted.</li>
<li>Text is inconsistently spaced in some areas of the UI. For example, typing &#8220;this text is awesome&#8221; into the Start Menu search bar shows  something along the lines of &#8220;th i s t ext is aweso me&#8221;.</li>
<li>Upon the first few seconds seeing your Desktop at start up, most fonts default to Arial (notably the Date/Time in the notification area). Something kicks in a few seconds later and fixes some of the fonts, but not all of them.</li>
</ul>
<p>It&#8217;s all quite odd. I have no idea what causes this exactly because generally, it occurs after a reboot and I don&#8217;t reboot for days on end. The default font for the Winodws UI is Segoe UI. I&#8217;m not sure if this problem is font specific as I&#8217;ve never used anything other than the default.</p>
<p>I haven&#8217;t seen anything critical in the Event Log or noticed any applications failing to work they way they should, but it bugged me enough to figure out how to fix it. I started at Google, which seemed to be of little help due to vague keywords. Generally, you&#8217;d find random people complaining about how to fix their character spacing in word processing applications.</p>
<p>I used a few steps to troubleshoot the issue. These commands are run as Administrator. You should probably reboot after each step:</p>
<ol>
<li>Rebuild the MUI cache: <strong>mcbuilder</strong></li>
<li>Rebuild the Font Cache:<br />
a) Stop the Windows Font Cache Service: <strong>net stop FontCache</strong><br />
b) Delete the Font Cache: <strong>del %WINDIR%\system32\FNTCACHE.DAT</strong><br />
c) Start the Windows Font Cache Service: <strong>net start FontCache</strong></li>
<li>If all else fails, check for corrupt system files and fonts:<br />
a) System File Checker scan: <strong>sfc /SCANNOW</strong><br />
b) Reapply any system file patches (e.g. tcpip.sys, termsrv.dll, uxtheme.dll, MUI watermark removers)</li>
<li>If all else fails (try to avoid this), copy all Fonts from a working machine of Windows 7<br />
a) Find a machine running the same build of Windows 7 (edition, i.e. Ultimate / Home Premium, does not matter) that does not have this problem<br />
b) Copy all fonts from the working install to the broken install. Fonts are located in <strong>%WINDIR%\Fonts</strong><br />
c) <strong>Repeat</strong> steps<strong> 1</strong> to <strong>3</strong>. This is important as you will rebuild caches with the working font files</li>
</ol>
<p>That should do the trick. If not, it&#8217;s probably time to reformat and reinstall&#8230; or live with it.</p>
]]></content:encoded>
			<wfw:commentRss>http://digitaldj.net/2010/05/01/fixing-a-character-spacing-issue-in-windows-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>This Is Apple&#8217;s Next iPhone</title>
		<link>http://digg.com/apple/This_Is_Apple_s_Next_iPhone</link>
		<comments>http://digg.com/apple/This_Is_Apple_s_Next_iPhone#comments</comments>
		<pubDate>Mon, 19 Apr 2010 17:14:51 +0000</pubDate>
		<dc:creator>DigitalDJ</dc:creator>
				<category><![CDATA[Digg]]></category>

		<guid isPermaLink="false">http://digg.com/apple/This_Is_Apple_s_Next_iPhone</guid>
		<description><![CDATA[
                You are looking at Apple's next iPhone. It was found lost in a Bar in Redwood City, camouflaged to look like an iPhone 3GS. We got it. We disassembled it. It's the real thing, and here are all the details:            ]]></description>
			<content:encoded><![CDATA[
                You are looking at Apple's next iPhone. It was found lost in a Bar in Redwood City, camouflaged to look like an iPhone 3GS. We got it. We disassembled it. It's the real thing, and here are all the details:            ]]></content:encoded>
			<wfw:commentRss>http://digitaldj.net/2010/04/20/this-is-apples-next-iphone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Facebook Delete Checker. Where is it?!</title>
		<link>http://digitaldj.net/2010/04/19/facebook-delete-checker-where-is-it/</link>
		<comments>http://digitaldj.net/2010/04/19/facebook-delete-checker-where-is-it/#comments</comments>
		<pubDate>Mon, 19 Apr 2010 06:52:22 +0000</pubDate>
		<dc:creator>DigitalDJ</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://digitaldj.net/?p=2842</guid>
		<description><![CDATA[I&#8217;ve had quite a few messages on Facebook from previous users of Delete Checker that can no longer find it. So here&#8217;s a quick blog post that&#8217;ll hopefully get indexed by Google and therefore make Delete Checker findable for those who used to use it&#8230;.or those that want a Delete Checker! On the 16th of <a href="http://digitaldj.net/2010/04/19/facebook-delete-checker-where-is-it/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve had quite a few messages on Facebook from previous users of Delete Checker that can no longer find it. So here&#8217;s a quick blog post that&#8217;ll hopefully get indexed by Google and therefore make Delete Checker findable for those who used to use it&#8230;.or those that want a Delete Checker!</p>
<p>On the 16th of April, Facebook removed the Delete Checker application without notice. A little research indicated that Facebook had removed all applications that added the unintended functionality of checking if users had deleted you from their friends list. For those interested, Section II, 5a of the <a href="http://developers.facebook.com/policy/" target="_blank">Facebook Developers Platform Policy</a> outlines that &#8220;You must not circumvent our intended limitations on core Facebook  features. For example: You must not inform a user that someone has removed the user as a  friend.&#8221; What&#8217;s funny is that Delete Checker was approved for the Facebook Application Directory, which is not an automated process. Before removal, Delete Checker had approximately 2,500 users&#8230;now it has 30.</p>
<p>But don&#8217;t fret! I&#8217;ve recreated the application so that is accessible to all. However, I have not published the application to the directory. This basically means that unless you know where to look, you won&#8217;t find the application. I had two &#8220;Delete Checker&#8221; applications, one for production and one for development. The development application was not removed by Facebook showing that it&#8217;s unlikely they will remove applications that are not published to the directory. The only possibility of removal is if someone explicitly reports the application&#8230;.but I&#8217;ll be sure to put it back up if it disappears, so check back here if it does!</p>
<p>So, here&#8217;s what you need to know:</p>
<p><strong>What is Delete Checker?</strong></p>
<p>Delete Checker keeps track of which friends deleted you on Facebook. It  also keeps track of when friends deactivate their account or someone  ignores your friend request. You can setup Delete Checker to automatically post  insults about deleted friends to your wall.</p>
<p><strong>Where is Delete Checker located?</strong></p>
<p>The application page, where you can install, review, discuss features/bugs and become a fan is currently located here: <a href="http://www.facebook.com/apps/application.php?id=109342089106138" target="_blank">http://www.facebook.com/apps/application.php?id=109342089106138</a></p>
<p>The direct link to the application is located here: <a href="http://apps.facebook.com/deletechecker_fo/" target="_self">http://apps.facebook.com/deletechecker_fo/</a></p>
<p><strong>What do I need to do to make it work?</strong></p>
<p>Both new users and previous users will need to re-authenticate the application for offline access (the application will prompt you, or follow the <a href="http://apps.facebook.com/deletechecker_fo/instructions.php" target="_blank">Instructions</a>). If you were a previous user and you had automatic stream posts enabled, you will need to re-authenticate the application for stream posting by visiting the <a href="http://apps.facebook.com/deletechecker_fo/settings.php" target="_blank">Settings</a> tab as this is not enabled by default. Previous users will still have their log intact as it is stored on my own server and untouchable by Facebook.</p>
<p><strong>I have a different question. Where&#8217;s more information?</strong></p>
<p>You can visit the <a href="http://apps.facebook.com/deletechecker_fo/instructions.php" target="_blank">FAQ</a> (highly recommended that you read this) for the application or post on the <a href="http://www.facebook.com/board.php?uid=109342089106138" target="_blank">application&#8217;s discussions board</a>.</p>
<p><strong>The application is in violation of the developer policy. Is my account at risk?</strong></p>
<p>While the application still violates the platform policy, users shouldn&#8217;t worry about the loss of their accounts. If anything, Facebook will just disable the application and possibly give me a warning about the application.</p>
]]></content:encoded>
			<wfw:commentRss>http://digitaldj.net/2010/04/19/facebook-delete-checker-where-is-it/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Facebook: The Reverse Lookup E-mail Directory</title>
		<link>http://digitaldj.net/2010/04/06/facebook-the-reverse-lookup-e-mail-directory/</link>
		<comments>http://digitaldj.net/2010/04/06/facebook-the-reverse-lookup-e-mail-directory/#comments</comments>
		<pubDate>Tue, 06 Apr 2010 09:45:29 +0000</pubDate>
		<dc:creator>DigitalDJ</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://digitaldj.net/?p=2836</guid>
		<description><![CDATA[Today I noticed a significant privacy hole within Facebook. I always knew that I could enter an e-mail address into the Facebook search bar and it would search my friends or people with public profiles to bring up the user with those credentials. Today I received an e-mail with a bunch of e-mail addresses in <a href="http://digitaldj.net/2010/04/06/facebook-the-reverse-lookup-e-mail-directory/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>Today I noticed a significant privacy hole within Facebook. I always knew that I could enter an e-mail address into the Facebook search bar and it would search my friends or people with public profiles to bring up the user with those credentials. Today I received an e-mail with a bunch of e-mail addresses in the CC header. I had no idea who they were, so I went to Facebook to look them up. This is when I stumbled upon a rather large flaw.</p>
<p>Surprisingly, every single e-mail address I looked up returned a search result, even if the user was not my friend and their profile was private. I decided to use my dummy account, which has no friends and is not related to any network, to try the same thing. Again, Facebook returned the user given the particular e-mail address.</p>
<p>I tried a couple of experiments with my own account and the dummy account. I added an e-mail to my profile with the privacy setting of &#8220;<strong>Only Me</strong>&#8221; and then searched for it with my dummy account. Yup, it returned my profile relating my Facebook profile to the e-mail address that should never be seen publicly.</p>
<p>I then tried to guess the e-mail addresses of a couple of &#8220;web celebrities&#8221; (in particular, <a href="http://en.wikipedia.org/wiki/Kevin_Rose" target="_blank">Kevin Rose</a> and <a href="http://en.wikipedia.org/wiki/Alex_Albrecht" target="_blank">Alex Albrecht</a> from <a href="http://revision3.com/diggnation/" target="_blank">Diggnation</a>). Both users have strict privacy settings, however, using a little guess work  I was able to work out a couple of e-mail addresses that are related to their profile.</p>
<p>So, what does this mean? Well, a private e-mail on Facebook can be public. A little guess work can reveal any e-mail address specified on your Facebook profile. Not to mention you can use any of these e-mail addresses as the username to login to Facebook. Is this a flaw? I certainly think so. A little Googling didn&#8217;t bring up much, but Facebook did <a href="http://mashable.com/2010/03/31/facebook-bug/" target="_blank">mess up on revealing e-mails recently</a>. So, maybe you heard it here first.</p>
<p>The fix? If you don&#8217;t want your e-mail to be found, remove it from your list of e-mails from your profile. Your login e-mail will always be &#8220;guessable&#8221;, so change that if you wish too.</p>
]]></content:encoded>
			<wfw:commentRss>http://digitaldj.net/2010/04/06/facebook-the-reverse-lookup-e-mail-directory/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
