<?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>abednarz.net &#187; Tech Talk</title>
	<atom:link href="http://abednarz.net/wp/category/techtalk/feed/" rel="self" type="application/rss+xml" />
	<link>http://abednarz.net/wp</link>
	<description>Bed</description>
	<lastBuildDate>Thu, 22 Jul 2010 00:42:23 +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>Setting up a Trac Server Under OS X 10.6</title>
		<link>http://abednarz.net/wp/setting-up-a-trac-server-under-os-x-10-6/</link>
		<comments>http://abednarz.net/wp/setting-up-a-trac-server-under-os-x-10-6/#comments</comments>
		<pubDate>Sun, 23 May 2010 00:20:32 +0000</pubDate>
		<dc:creator>Bed</dc:creator>
				<category><![CDATA[Tech Talk]]></category>
		<category><![CDATA[10.6]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[OSX]]></category>
		<category><![CDATA[svn]]></category>
		<category><![CDATA[trac]]></category>

		<guid isPermaLink="false">http://abednarz.net/wp/?p=534</guid>
		<description><![CDATA[Trac is an excellent open source tool that allows you to manage a software project;s development life cycle, incorporating a wiki with issue/bug tracking while integrating with a source control service such as subversion. Months ago I had set up a subversion server which was working great on my iMac. I then wanted to setup [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://trac.edgewall.org/">Trac</a> is an excellent open source tool that allows you to manage a software project;s development life cycle, incorporating a <a href="http://en.wikipedia.org/wiki/Wiki">wiki</a> with issue/bug tracking while integrating with a source control service such as subversion. Months ago I had set up a <a href="http://theappleblog.com/2010/02/10/how-to-setup-a-svn-server-under-os-x-10-6/">subversion server</a> which was working great on my iMac. I then wanted to setup a Trac server to go along with it so I could manage all aspects for my projects properly. Here&#8217;s how I did it.</p>
<p><strong> Installing and setting up Trac</strong></p>
<p>Trac is written in the <a href="http://en.wikipedia.org/wiki/Python_(programming_language)">python</a> scripting language,  also requiring a number of other third party libraries. While a compatible version of python comes pre-shipped with OS X 10.6, these prequisite libraries do not. However its extremely easy to install trac along with all its prequisites by using python&#8217;s great &#8216;easy_install&#8217; feature. Simply fire up a command line by launching Terminal.app and run the following command:</p>
<p><code>sudo easy_install trac</code></p>
<p>This will download and install everything you need for you without further input, so let it do its thing and when its finished we are ready to create our Trac environment. Because I had previously set up my subversion server under a dedicated OS X user &#8216;svn&#8217;, I wanted to run trac under the same user. Thus I was going to create my trac environment in the /Users/svn/trac/newproject directory and do so by ensuring it was created with appropriate permissions for the svn user. This can be done by prefixing any command with &#8216;sudo -u svn&#8217;, which will run the command as the svn user. For steps on setting up a dedicated user for this purpose see my <a href="http://theappleblog.com/2010/02/10/how-to-setup-a-svn-server-under-os-x-10-6/">previous subversion howto</a>. Run the following command (after ensuring /Users/svn/trac/ has been created) in the terminal:</p>
<p><code>sudo -u svn trac-admin /Users/svn/trac/newProject initenv</code></p>
<p>This will create a whole bunch of directories and files and you can then run the standalone Trac server manually to check that these first steps have worked:</p>
<p><code>sudo -u svn tracd --port=8000 /Users/svn/trac/newProject</code></p>
<p>This will make the trac server listen on TCP port 8000, so we can then browse in Safari or the browser of choice to <em>http://127.0.0.1:8000</em> and see that we have a trac server running. Its not terribly useful yet however, as we still need to create users, assign administrator privileges to somebody and setup our components and milestones. Press control-c in Terminal to kill the currently running server.</p>
<p><strong> Adding Users </strong></p>
<p>Even if you&#8217;re the only one who will be using your trac environment, its a good idea to set up a proper user for yourself. The easiest way to do this is by using tracd with Apache .htpasswd files. We can create a .htpasswd file using the <a href="http://httpd.apache.org/docs/2.0/programs/htpasswd.html">htpasswd</a> command.</p>
<p><code>sudo -u svn htpasswd -c /Users/svn/trac/newProject/.htpasswd username</code></p>
<p>This will then prompt for a password to set for the user. For any additional users we can run htpasswd again, just leaving out the -c switch (which tells it to create a new file):</p>
<p><code>sudo -u svn htpasswd /Users/svn/trac/newProject/.htpasswd another_username</code></p>
<p>Now that we have configured users and passwords, we need to tell the trac server to use them when running. We can do this by adding the <em>&#8211;basic-auth</em> paramater to tracd when we launch it:</p>
<p><code>tracd --port=8000 /Users/svn/trac/newProject --basic-auth=newProject,/Users/svn/trac/newProject/.htpasswd,/Users/svn/trac/newProject</code></p>
<p>Now we can browse to http://127.0.0.1:8000 again and see that this time we get prompted to login first. We can do so, but we still can&#8217;t administer our project yet. We need to give at least one of our users administrator privileges so they can define our project&#8217;s components, milestones and such. We can do this using by running the following command (this can be done while our existing tracd is still running, so there&#8217;s no need to kill it first):</p>
<p><code>trac-admin /Users/svn/trac/newProject permission add username TRAC_ADMIN</code></p>
<p>This will give username full administrator privileges to your trac environment. After running the command you can just refresh your browser and see the admin tab appear on the page. For a comprehensive guide to the various privileges you can give to users, see <a href="http://trac.edgewall.org/wiki/TracPermissions">this page</a>. You can now configure all aspects of your project directly from your browser.</p>
<p><strong>Integrating with Subversion</strong></p>
<p>Trac can integrate with your local subversion repository, to configure this we need to edit the trac.ini file for the project. In my case this can be found at /Users/svn/trac/newProject/conf/trac.ini. With your favourite text editor find the line that says</p>
<p><code>repository_dir = </code></p>
<p>For me this was line 172 of the file, it will be under the section labeled</p>
<p><code>[Trac]</code></p>
<p>Simply put the full path to your svn repository here, so in my case its:</p>
<p><code>reposistory_dir = /Users/svn/repos</code></p>
<p>and ensure that the line beneath it reads:</p>
<p><code>repository_type = svn</code></p>
<p>Restart tracd and refresh your browser to see that the &#8220;Browse Source&#8221; tab now lets you do exactly what it claims to do.</p>
<p><strong>Automatic Startup</strong><br />
The final step in our trac server setup is to make the tracd service run automatically at system startup. To do this we can create a launchd service using Lingon. You can grab the latest version from <a href="http://sourceforge.net/projects/lingon/files/Lingon/2.1.1/Lingon-2.1.1.zip/download">Sourceforge</a>. For more details on using Lingon see this <a href="http://theappleblog.com/2009/02/24/task-scheduling-with-lingon/">previous article</a> I put together, but for this task we just need to add a new User Daemon. Run Lingon, click the New button and select User Daemons. Fill out the dialog as follows:</p>
<p><strong> Name</strong>: org.trac.tracd <strong> What</strong>: /usr/local/bin/tracd &#8211;port=8000 /Users/svn/trac/newProject &#8211;basic-auth=newProject,/Users/svn/trac/newProject/.htpasswd,/Users/svn/trac/newProject</p>
<p>and be sure to tick the &#8220;Keep it running all the time&#8221; and &#8220;Run it when it is loaded by the system&#8221; checkboxes. Click the save button and restart your Mac. If everything has been done right you should be able to instantly load trac in your web browser. Now you can focus on managing and implementing your project.</p>
<img src="http://abednarz.net/wp/?ak_action=api_record_view&id=534&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://abednarz.net/wp/setting-up-a-trac-server-under-os-x-10-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Text navigation shortcuts in Parallels 4</title>
		<link>http://abednarz.net/wp/text-navigation-shortcuts-in-parallels-4/</link>
		<comments>http://abednarz.net/wp/text-navigation-shortcuts-in-parallels-4/#comments</comments>
		<pubDate>Thu, 05 Mar 2009 08:07:13 +0000</pubDate>
		<dc:creator>Bed</dc:creator>
				<category><![CDATA[Tech Talk]]></category>
		<category><![CDATA[keyboard shortcuts]]></category>
		<category><![CDATA[os x]]></category>
		<category><![CDATA[parallels]]></category>
		<category><![CDATA[text navigation]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://abednarz.net/wp/?p=373</guid>
		<description><![CDATA[The most annoying thing with running windows in a Parallels virtual machine, is that the default key mappings for navigating text is different between windows and OS X: Windows: Go to end of line = End Go to start of line = Home Go to next word = control-right arrow Go to previous word = [...]]]></description>
			<content:encoded><![CDATA[<p>The most annoying thing with running windows in a Parallels virtual machine, is that the default key mappings for navigating text is different between windows and OS X:</p>
<p><strong>Windows:</strong></p>
<ul>
<li>Go to end of line = End
<li>Go to start of line = Home
<li>Go to next word = control-right arrow
<li>Go to previous word = control-left arrow
</ul>
<p><strong>OS X:</strong></p>
<ul>
<li>Go to end of line = command-right arrow
<li>Go to start of line = comand-left arrow
<li>Go to next word = option(alt)-right arrow
<li>Go to previous word = option(alt)-left arrow
</ul>
<p>Parallels by default remaps the text copy, cut &#038; paste from command-c to control-c, command-v to control-v etc. Why oh Why didn&#8217;t it do this for text navigation I bemoaned over and over, frustratingly trying to remember which OS I was using and switching to the right one.</p>
<p>Then, today, I had a moment of clarity. It was so obvious. I felt stupid for not looking for it before. Behold the screen shot below and now I am calm and relaxed with a unified text navigation scheme.</p>
<p><img alt="" src="http://abednarz.net/parallels%20mapping.png" class="alignnone" width="681" height="497" /></p>
<img src="http://abednarz.net/wp/?ak_action=api_record_view&id=373&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://abednarz.net/wp/text-navigation-shortcuts-in-parallels-4/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Fugliest iPhone App EVER</title>
		<link>http://abednarz.net/wp/fugliest-iphone-app-ever/</link>
		<comments>http://abednarz.net/wp/fugliest-iphone-app-ever/#comments</comments>
		<pubDate>Tue, 03 Mar 2009 03:03:44 +0000</pubDate>
		<dc:creator>Bed</dc:creator>
				<category><![CDATA[Tech Talk]]></category>

		<guid isPermaLink="false">http://abednarz.net/wp/?p=368</guid>
		<description><![CDATA[I didn&#8217;t think it was possible for any iPhone application to be as ugly as a windows mobile application. I was wrong. Its so bad it makes my eyes bleed. How did this get past the Apple approvers? My mind boggles.]]></description>
			<content:encoded><![CDATA[<p>I didn&#8217;t think it was possible for any iPhone application to be as ugly as a windows mobile application. I was wrong.</p>
<p><img src="http://images.appshopper.com/screenshots/304/682626.jpg"></p>
<p>Its so bad it makes my eyes bleed. How did this get past the Apple approvers? My mind boggles.</p>
<img src="http://abednarz.net/wp/?ak_action=api_record_view&id=368&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://abednarz.net/wp/fugliest-iphone-app-ever/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Twitter &#8211; Adium status syncing ignoring @replies</title>
		<link>http://abednarz.net/wp/twitter-adium-status-syncing-ignoring-replies/</link>
		<comments>http://abednarz.net/wp/twitter-adium-status-syncing-ignoring-replies/#comments</comments>
		<pubDate>Tue, 03 Feb 2009 00:41:08 +0000</pubDate>
		<dc:creator>Bed</dc:creator>
				<category><![CDATA[Tech Talk]]></category>
		<category><![CDATA[adium]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[status]]></category>
		<category><![CDATA[sync]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://abednarz.net/wp/?p=331</guid>
		<description><![CDATA[A while ago, I found a nice ruby script that would keep my Adium&#8217;s status synced with my Twitter status. I&#8217;ve recently started using twitter a bit more, and replying to friends with it. This basically does a tweet with @username at the start of it. I didn&#8217;t want these @replies to sync to my [...]]]></description>
			<content:encoded><![CDATA[<p>A while ago, I found a <a title="Michael Tyson's Blog" href="http://michael.tyson.id.au/2008/10/10/keeping-ichat-and-adium-status-in-sync-with-twitter/" target="_blank">nice ruby script</a> that would keep my <a title="Adium" href="http://www.adiumx.com/" target="_blank">Adium&#8217;s</a> status synced with my <a title="Twitter" href="http://twitter.com" target="_blank">Twitter</a> status. I&#8217;ve recently started using twitter a bit more, and replying to friends with it. This basically does a tweet with @username at the start of it. I didn&#8217;t want these @replies to sync to my Adium&#8217;s status. So I&#8217;ve modified the original script to ignore these. This script runs every half hour via launchd.</p>
<pre lang="ruby">
#!/usr/bin/env ruby
#
# Update iChat/Adium status from Twitter
#
# Original Script by Michael Tyson
# http://michael.tyson.id.au

# Modified to ignore @reply tweets by Andrew Bednarz
# http://abednarz.net

# Set Twitter username here
Username = 'bed42'

require 'net/http'
require 'rexml/document'

# Download timeline XML and extract latest entry
# Skip @reply tweets
url = "http://twitter.com/statuses/user_timeline/" + Username + ".atom"
xml_data = Net::HTTP.get_response(URI.parse(url)).body
doc    = REXML::Document.new(xml_data)
index = 1
notreply = false
until notreply
	latest = doc.root.elements['entry/content['+index.to_s()+']']
	message = latest.text.gsub(/^[^:]+:\s*/, '')
	exit if ! message
	if message[0,1]=='@' then
		index = index + 1
	else
		notreply = true
	end
end

# Apply to status
script = 'set message to "' + message.gsub(/"/, '\\"') + "\"\n" +
         'tell application "System Events"' + "\n" +
         'if exists process "iChat" then tell application "iChat" to set the status message to message' + "\n" +
         'if exists process "Adium" then tell application "Adium" to set status message of every account to message' + "\n" +
         'end tell' + "\n"

IO.popen("osascript", "w") { |f| f.puts(script) }
</pre>
<img src="http://abednarz.net/wp/?ak_action=api_record_view&id=331&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://abednarz.net/wp/twitter-adium-status-syncing-ignoring-replies/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Windows 7 vs OSX Leopard</title>
		<link>http://abednarz.net/wp/windows-7-vs-osx-leopard/</link>
		<comments>http://abednarz.net/wp/windows-7-vs-osx-leopard/#comments</comments>
		<pubDate>Mon, 19 Jan 2009 21:41:37 +0000</pubDate>
		<dc:creator>Bed</dc:creator>
				<category><![CDATA[Tech Talk]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[leopard]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[operating system]]></category>
		<category><![CDATA[os]]></category>
		<category><![CDATA[OSX]]></category>
		<category><![CDATA[windows 7]]></category>

		<guid isPermaLink="false">http://abednarz.net/wp/?p=269</guid>
		<description><![CDATA[  VS For nearly the last year I&#8217;ve been using my Mac Book Pro with OSX Leopard as my primary operating system, which replaced years and years of Windows XP. I still had to run XP for work development, which I did in a virtual machine. A few months ago I had to move the [...]]]></description>
			<content:encoded><![CDATA[<p> </p>
<p style="text-align: center;"><img class="alignnone" src="http://en.onsoftware.com/wp-content/uploads/2008/05/windows-7-logo.jpg" alt="" width="140" height="116" /><strong>VS <img class="alignnone" src="http://www.logoblog.org/wp-images/apple-logo-blog/mac-osx-leopard.png" alt="" width="140" height="138" /></strong></p>
<p>For nearly the last year I&#8217;ve been using my Mac Book Pro with OSX Leopard as my primary operating system, which replaced years and years of Windows XP. I still had to run XP for work development, which I did in a virtual machine. A few months ago I had to move the VM to Vista to help ensure our application compatibility. So now the Windows 7 public beta was available, I decided to try it out as my work VM. Of course I have a handy backup of my old Vista VM &#8211; just in case. However after a week of use, I don&#8217;t think I&#8217;ll need the backup. Windows 7 should really be called Vista SP2 and it optimises and polishes off the Vista core. In-fact I would say now that Windows 7 finally catches up to OSX, in terms of being a polished, good looking, efficient, practical modern operating system. Having said that, I will not be moving back to the windows platform as my primary operating system any time soon. I really prefer OSX, and here&#8217;s why&#8230;</p>
<p><strong>Font Rendering</strong></p>
<p>When I first moved to Macs, I thought &#8220;everything looks better, text is easier to read without straining my eyes&#8221;. So I googled and found that there&#8217;s a ideological difference with how Microsoft and Apple go about rendering their fonts. To get a clear understanding of the differences see <a title="Font smoothing, anti-aliasing, and sub-pixel rendering" href="http://www.joelonsoftware.com/items/2007/06/12.html" target="_blank">&#8220;Font smoothing, anti-aliasing, and sub-pixel rendering&#8221;</a>. Personally, after over ten years of viewing fonts the Microsoft way, it took less than a month to become used to and much prefer Apple&#8217;s way. </p>
<div class="wp-caption aligncenter" style="width: 405px"><a href="http://www.joelonsoftware.com/items/2007/06/12font.PNG"><img title="Font Rendering Differences" src="http://www.joelonsoftware.com/items/2007/06/12font.PNG" alt="" width="395" height="408" /></a><p class="wp-caption-text">Font Rendering Differences</p></div>
<p><strong>Task Management</strong></p>
<p><strong><span style="font-weight: normal;">Finally, Microsoft have realised the advantage of a combined application launcher and switcher. The new taskbar acts very much like the Dock now &#8211; and personally I think this is a great thing. Icons stay in the same place. Apple dock gives a dot under or next to running applications, while the TaskBar draws a box around running applications. Microsoft have this new &#8216;jumplist&#8217; feature &#8211; but this has always been present with the Dock by right clicking the app icon to access application specific functionality. However the OSX dock can contain &#8216;<a href="http://en.wikipedia.org/wiki/Stacks_(software)">stacks</a>&#8216;, or folders. Just drop a directory on it and you&#8217;ve got an easy menu heirachy, this is not possible with the new windows 7 taskbar.</span><br />
</strong></p>
<div class="wp-caption aligncenter" style="width: 410px"><img title="OSX Dock" src="http://www.itwriting.com/images/appledock.jpg" alt="" width="400" height="99" /><p class="wp-caption-text">OSX Dock</p></div>
<div class="wp-caption aligncenter" style="width: 410px"><img title="Windows 7 taskbar" src="http://www.itwriting.com/images/win7taskbar.jpg" alt="Windows 7 taskbar" width="400" height="99" /><p class="wp-caption-text">Windows 7 taskbar</p></div>
<p>As for switching tasks, on the OSX side you have <a href="http://en.wikipedia.org/wiki/Exposé_(Mac_OS_X)" target="_blank">exposé</a>, which will display all windows so you can see which one you want. On the windows side you have thumbnails and Aero Peak. Both effectively function to let you see what&#8217;s going on and find the application you want. Personally, I don&#8217;t really use either. I use <a href="http://en.wikipedia.org/wiki/Spaces_(software)">spaces</a> in OX and generally have one application per space. If I want to go to my email, I go straight there by pressing command-3. For my browser its command-4, and so on. On windows I stick to good old alt-tab.</p>
<p> </p>
<div class="wp-caption aligncenter" style="width: 310px"><img src="http://upload.wikimedia.org/wikipedia/en/e/ea/Exposeleopardall.png" alt="Exposé" width="300" height="188" /><p class="wp-caption-text">Exposé</p></div>
<p> </p>
<div class="wp-caption aligncenter" style="width: 317px"><img class="  " src="http://media.arstechnica.com/images/windows7/Windows%20Taskbar%20Previews.png" alt="Thumbnails" width="307" height="82" /><p class="wp-caption-text">Thumbnails in Windows 7</p></div>
<p><strong>Look&#8217;n'Feel</strong></p>
<p>To me, Apple provide user interface elements that are straight forward, look great and encourage intuitive operation. You don&#8217;t see a lot of badly designed software for OSX because the SDK and developer documentation heavily promote not only good user interface design, but good development design. The single menu bar at the top of the screen had always appealed to me, harking back to my <a href="http://en.wikipedia.org/wiki/Amiga">Amiga</a> days. Using windows applications always makes me think &#8220;what a waste of screen real-estate&#8221;. OSX&#8217;s window decorations are minimal and sleak compared to any of the styles offered in Windows 7. Even OSX application toolbars can be quickly toggled visible or hidden with one click (clicking the button in the top right) to <em>maximise screen space</em>. There is a much greater consistency with application look and feel in OSX than there is in the windows world.</p>
<p> </p>
<div class="wp-caption aligncenter" style="width: 494px"><img src="http://www.osnews.com/img/18180/1post.png" alt="Toolbar visible" width="484" height="111" /><p class="wp-caption-text">Toolbar visible</p></div>
<div class="wp-caption aligncenter" style="width: 494px"><img src="http://www.osnews.com/img/18180/1pre.png" alt="Toolbar visible" width="484" height="65" /><p class="wp-caption-text">Toolbar toggled off</p></div>
<p> </p>
<p><strong>UNIX-like</strong></p>
<p>The core of OSX is <a href="http://en.wikipedia.org/wiki/Unix-like">UNIX-like</a>. With this comes great power, flexibility and history. Not only can it easily support any UNIX-based software, I can get to the guts of the OS at a terminal. Configuration files are generally standalone, log files are all in the same place and we have powerful standardised permission systems. Being familiar with linux means its easy to grapple into the core of the OS directly with command line tools. Microsoft do things their own way, and everything is stored in the registry. I always thought that the registry was the worst idea ever and it remains one of the weakest parts of Windows.</p>
<p><strong>Automation Solutions</strong></p>
<p>With OSX I have some great choices to automating tasks. I can write a standard <a href="http://en.wikipedia.org/wiki/Bash_script">UNIX shell script</a>. I can write some <a href="http://en.wikipedia.org/wiki/Apple_Script">Apple Script</a> to &#8216;remote control&#8217; <em>any</em> application. Or I can even use <a href="http://en.wikipedia.org/wiki/Automator">Automator</a> to create automatic tasks by &#8216;drag&#8217;n'drop&#8217;. Windows has classic batch files, <a href="http://en.wikipedia.org/wiki/WSH">Windows Script Hosting</a> and the new <a href="http://en.wikipedia.org/wiki/Powershell">PowerShell</a>. But can you write a script that takes control of <strong>any</strong> application to automate behaviour? And do so in a way that doesn&#8217;t just move the mouse around and simulate mouse clicks and keystrokes? Like most things in the windows world, solutions exist, but they feel clunky. I am constantly impressed with how powerful and <em>embedded</em> AppleScript is. </p>
<p><strong>OSX for me</strong></p>
<p>These are all, of course, just my personal preferences. The great thing about operating systems in 2009 is that the main three options (OSX, Windows, Linux) are all perfectly capable of letting you do whatever you need to do. The choice really comes down your preference of operation.</p>
<img src="http://abednarz.net/wp/?ak_action=api_record_view&id=269&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://abednarz.net/wp/windows-7-vs-osx-leopard/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Turning a protected RTSP stream into an iTunes PodCast (with linux and OSX)</title>
		<link>http://abednarz.net/wp/turning-a-protected-rtsp-stream-into-an-itunes-podcast-with-linux-and-osx/</link>
		<comments>http://abednarz.net/wp/turning-a-protected-rtsp-stream-into-an-itunes-podcast-with-linux-and-osx/#comments</comments>
		<pubDate>Thu, 01 Jan 2009 02:59:32 +0000</pubDate>
		<dc:creator>Bed</dc:creator>
				<category><![CDATA[Tech Talk]]></category>
		<category><![CDATA[applescript]]></category>
		<category><![CDATA[itunes]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[openRTSP]]></category>
		<category><![CDATA[OSX]]></category>
		<category><![CDATA[podcast]]></category>
		<category><![CDATA[rtsp]]></category>
		<category><![CDATA[stream]]></category>

		<guid isPermaLink="false">http://abednarz.net/wp/?p=202</guid>
		<description><![CDATA[A friend of mine does a radio show interstate that interests me. Unfortunately, being a late night show (midnight) and interstate, for me to listen to this live would require me being awake at 4am or so. Due to record label copyright permissions, this show is not available as a podcast download &#8211; its only available [...]]]></description>
			<content:encoded><![CDATA[<p>A friend of mine does a radio show interstate that interests me. Unfortunately, being a late night show (midnight) and interstate, for me to listen to this live would require me being awake at 4am or so. Due to record label copyright permissions, this show is not available as a podcast download &#8211; its only available for live or delayed streaming. Undeterred, I wanted to automatically grab the stream and make it available on my iPhone for listening when it suited me, while out and about.</p>
<p><strong>Getting the stream as a file with linux</strong></p>
<p>The availability of the delayed stream, means this problem can be tackled with a <a href="http://www.aota.net/Script_Installation_Tips/cronhelp.php3" target="_blank">cronjob</a> on my <a href="http://www.gentoo.org/" target="_blank">gentoo linux</a> server. This particular stream is served with the <a href="http://en.wikipedia.org/wiki/Real_Time_Streaming_Protocol">Real Time Streaming Protocol</a> which means all we really need is the <a href="http://www.live555.com/">live555</a> media libraries. For Gentoo this was as easy as issuing &#8220;<strong>emerge live&#8221;</strong> as root on the commandline. For Ubuntu this would be <strong>&#8220;apt-get install liblivemedia-utils&#8221;.</strong></p>
<p>Then its as simple as calling openRTSP with the stream url. ie:</p>
<pre lang="bash">openRTSP -4 -a -t -d 3900 rtsp://streaming.server.com.au:80/streaming.server.com.au/name.mp4 1&gt;name.mp4</pre>
<p>This will write the audio stream  as a file.</p>
<p>The next step is to automate this process with a script being launched by cron. In this case, the name of the stream is in the format radioshow_YY_MM_DD.mp4. So my script will grab <em>today&#8217;s</em> stream.<br />
<em>radioshow.sh</em>:</p>
<pre lang="bash">#!/bin/sh
filename="radioshow_"`eval date +%Y-%m-%d`".mp4"
openRTSP -a -t -4 -d 7300 rtsp://streaming.server.com.au:80/streaming.server.com.au/$filename &gt; /mnt/download/radioshow/$filename</pre>
<p>Since this show is a weekly one, my <a href="http://en.wikipedia.org/wiki/Cron#crontab_syntax">crontab</a> is setup to download the stream at 1:30pm every thursday.</p>
<p><em>crontab line:</em></p>
<pre lang="bash" >#download behind the mirror every thursday at 1:30pm
30 13 * * 4       /home/bed/radioshow.sh</pre>
<p><strong>Converting to a PodCast with OSX</strong></p>
<p>Once we have the files, I wanted to put it in my iTunes library flagged as a PodCast. A commandline tool <a href="http://atomicparsley.sourceforge.net/" target="_blank">AtomicParsley</a> enables us to set the appropriate mp4 tags so iTunes sees the file as a PodCast, however AtomicParsley doesn&#8217;t like the mp4 tags created by openRTSP. To get around this we can load our file in QuickTime, and then re-export it to mp4. This will now be a file with mp4 tags that AtomicParsley can modify. We can then execute the following command:</p>
<pre lang="bash">AtomicParsley name.mp4 --podcastFlag true --artist name --title name --advisory explicit --description name --podcastURL name --podcastGUID 1 --year "2008-12-25" --overWrite</pre>
<p>This will create a new file, which we can then drag into iTunes. This will now show up as a proper PodCast, so it will automatically sync to my iPhone and then be removed once I&#8217;ve listened to it.</p>
<p>Now that&#8217;s a fair bit of manual mucking around, so we can use AppleScript to automate all of this in one nice move, which can be the scheduled with launchd to occur at a convenient time:</p>
<pre lang="applescript">
-- This script does the following:
-- + looks in a directory in my file server and copies it file locally,
-- + loads it into quick time, and exports it to add proper tags
-- + sets podcast tags with AtomicPasley
-- + imports it into iTunes
-- + cleans up files

mount volume "afp://bedentoo/download" as user name "XXXXXXXX" with password "YYYYYYYYY"
tell application "Finder"
	repeat until ((name of every disk contains "download") as boolean)
		delay 2
	end repeat
end tell

set source_location to "download:radioshow"

tell application "Finder"
	set new_file to {get name of files of folder source_location} as text
	with timeout of 7200 seconds --2 hour timeout, incase we're copying over a VPN or something
		copy {file new_file of folder source_location} to desktop
	end timeout
end tell

-- Use QuickTime to export it (to set proper mp4 tags)
set user to do shell script "whoami"
set local_new_file to {"/Users/" &amp; user &amp; "/Desktop/" &amp; new_file} as text
set local_fixed_file to {"/Users/" &amp; user &amp; "/Desktop/" &amp; new_file &amp; ".fixed.mp4"} as text
tell application "QuickTime Player"
	activate
	close every window
	open local_new_file
	with timeout of 1800 seconds -- half hour timeout incase export takes a while
		export front document to local_fixed_file as MPEG4 using default settings
	end timeout
end tell
quit application "QuickTime Player"

-- our file is always the format of ccccccccccccccccYYYY-MM-DD.mp4 so lets extract the date
copy characters 17 through 26 of new_file as string to datestamp

-- run AtomicParsley (located in ~/scripts/) to flag it as a podCast
set run_ap to {"/Users/" &amp; user &amp; "/scripts/AtomicParsley " &amp; local_fixed_file &amp; " --podcastFlag true --artist radioshow --title 'radioshow '" &amp; datestamp &amp; " --advisory explicit --album radioshow --description radioshow --podcastURL 'http://www.url.au/shows/radioshow' --podcastGUID 1234 --year '" &amp; datestamp &amp; "' --overWrite"} as text
do shell script run_ap

-- import file into iTunes
tell application "iTunes"
	activate
	add ({POSIX file local_fixed_file})
end tell

--cleanup!
tell application "Finder"
	delete {POSIX file local_new_file}
	delete {POSIX file local_fixed_file}
	delete {file new_file of folder source_location}
end tell
</pre>
<p>Lastly, the applescript is saved as an <strong>.app</strong> and scheduled with launchd via <a href="http://tuppis.com/lingon/">lingon</a>, which runs at 8am friday morning.</p>
<img src="http://abednarz.net/wp/?ak_action=api_record_view&id=202&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://abednarz.net/wp/turning-a-protected-rtsp-stream-into-an-itunes-podcast-with-linux-and-osx/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Backing up an OSX profile to a linux server with rsync</title>
		<link>http://abednarz.net/wp/backing-up-an-osx-profile-to-a-linux-server-with-rsync/</link>
		<comments>http://abednarz.net/wp/backing-up-an-osx-profile-to-a-linux-server-with-rsync/#comments</comments>
		<pubDate>Wed, 31 Dec 2008 05:58:45 +0000</pubDate>
		<dc:creator>Bed</dc:creator>
				<category><![CDATA[Tech Talk]]></category>
		<category><![CDATA[backups]]></category>
		<category><![CDATA[lingon]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[OSX]]></category>
		<category><![CDATA[rsync]]></category>

		<guid isPermaLink="false">http://abednarz.net/wp/?p=236</guid>
		<description><![CDATA[TimeMachine is some nice software, but its overkill for me. I&#8217;ve previously written about this and how I put together a rsync solution and why I did so. In the case that anyone might be interested in doing the same, here is my setup. Linux Server I have a gentoo linux server, but this should [...]]]></description>
			<content:encoded><![CDATA[<p>TimeMachine is some nice software, but its overkill for me. I&#8217;ve <a href="http://abednarz.net/wp/?p=54">previously</a> written about this and how I put together a <a href="http://transamrit.net/docs/rsync/">rsync</a> solution and why I did so. In the case that anyone might be interested in doing the same, here is my setup.</p>
<p><strong>Linux Server</strong><br />
I have a <a href="http://www.gentoo.org/">gentoo linux</a> server, but this should be a mostly generic rsync server setup. My rsyncd.conf looks like this</p>
<pre lang="bash"># /etc/rsyncd.conf
# This line is required by the /etc/init.d/rsyncd script
pid file = /var/run/rsyncd.pid
use chroot = yes
read only = no
uid = bed
gid = bed
hosts allow = 192.168.42.0/24

[bed-backup]
        path=/mnt/backup/bed
        comment = Beds Backup</pre>
<p>and of course rsyncd is in my /etc/init.d and starts automatically at boot.</p>
<p><strong>OSX</strong><br />
I have a simple bash script that I can run that will backup the contents of my home directory, called <em>backup_bed.sh</em>. This will turn sleep off, make sure the network is available (as the machine may have been woken from sleep) and then do the backup.</p>
<pre lang="bash">#!/bin/sh
#Bed's rsync backup script

echo `date` Beds Backup &gt; last_backup.log
echo `date` ------------- &gt;&gt; last_backup.log
echo `date` Script Starting at `date` &gt;&gt; last_backup.log

# turn off system sleep
pmset -a sleep 0 2&gt;&amp;1 &gt;&gt; last_backup.log
echo `date` Turned off sleep &gt;&gt; last_backup.log

echo `date` ------------- &gt;&gt; last_backup.log

# wait for network to show up
pingcount=0
trycount=1
failflag=0
while [ $pingcount -eq 0 ]
do
    echo `date` Waiting for network... $trycount &gt;&gt; last_backup.log
    pingcount=$(/sbin/ping -c 3 -o bedentoo | grep "received" | awk -F',' '{ print $2 }' | awk '{ print $1 }')
    trycount=`expr $trycount + 1`
    if [ $trycount -eq 11 ]
    then
        echo `date` network fail - giving up &gt;&gt; last_backup.log
        failflag=1
        pingcount=-1
    fi
done

if [ $failflag -eq 0 ]
then
        #do rsync
        echo `date` RSync started.  &gt;&gt; last_backup.log
        /usr/bin/rsync -a -x -S -v -v --progress --exclude-from=/Users/bed/scripts/backup_excludes.txt  /Users/bed/ bedentoo::bed-backup 2&gt;&amp;1 &gt;&gt; last_backup.log
        echo `date` RSync finished.  &gt;&gt; last_backup.log
fi

#turn system sleep back on
echo `date` ------------- &gt;&gt; last_backup.log
pmset -a sleep 30 2&gt;&amp;1 &gt;&gt; last_backup.log
echo `date` Turned on sleep for 30 min &gt;&gt; last_backup.log

echo `date` Script Finished  &gt;&gt; last_backup.log
echo `date` ------------- &gt;&gt; last_backup.log</pre>
<p>I exclude non-essential stuff from my backup, notably temporary files and my virtual machines. These excludes are specified in the backup_excludes.txt file:</p>
<pre lang="bash">- .Trash
- Downloads
- temp
- Caches
- Parallels</pre>
<p>And finally, the backup_bed.sh script is run every morning at 8am by <a href="http://aplawrence.com/foo-mac/launchd.html">launchd</a>.  The easiest way to configure launchd is with a nice GUI tool called <a href="http://tuppis.com/lingon/">Lingon</a>. This is created as a User Daemon.</p>
<p>Finally my OSX is configured to automatically wake up a minute before the launchd runs (via System Preferences -&gt; Energy Saver -&gt; Scheduler). If for some reason the machine is actually off, launchd will run the script as soon as it can when the machine is next booted. (launchd is a very nice system).</p>
<p>One note of warning, this setup will not properly support Classic MacOS resource forks. These are nolonger used in OSX, however if you maintain a classic MacOS enviroment, you can backup to a OSX server (not a linux server) and use the -E option of OSX&#8217;s rsync.</p>
<img src="http://abednarz.net/wp/?ak_action=api_record_view&id=236&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://abednarz.net/wp/backing-up-an-osx-profile-to-a-linux-server-with-rsync/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Bed&#8217;s Top Five Jailbroken iPhone Apps</title>
		<link>http://abednarz.net/wp/beds-top-five-jailbroken-iphone-apps/</link>
		<comments>http://abednarz.net/wp/beds-top-five-jailbroken-iphone-apps/#comments</comments>
		<pubDate>Sat, 06 Dec 2008 03:56:55 +0000</pubDate>
		<dc:creator>Bed</dc:creator>
				<category><![CDATA[Tech Talk]]></category>
		<category><![CDATA[Top Fives]]></category>
		<category><![CDATA[apps]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[ipod touch]]></category>
		<category><![CDATA[jailbreak]]></category>
		<category><![CDATA[jailbroken]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[top five]]></category>
		<category><![CDATA[utilities]]></category>

		<guid isPermaLink="false">http://abednarz.net/wp/?p=186</guid>
		<description><![CDATA[The iPhone is my favourite internet-enabled mobile device &#8211; and I&#8217;ve used quite a few; I write software for Windows Mobile devices at work (and I hate Windows Mobile). But I don&#8217;t wear rose-coloured glasses, the iPhone and Apple aren&#8217;t flawless. Thus I fill the holes by jailbreaking my phone (running unauthorised by Apple applications). [...]]]></description>
			<content:encoded><![CDATA[<p>The iPhone is my favourite internet-enabled mobile device &#8211; and I&#8217;ve used quite a few; I write software for Windows Mobile devices at work (and I hate Windows Mobile). But I don&#8217;t wear rose-coloured glasses, the iPhone and Apple aren&#8217;t flawless. Thus I fill the holes by jailbreaking my phone (running unauthorised by Apple applications). When an iPhone firmware update comes out I patiently wait until the jailbreaking community has updated too. To jailbreak your iPhone browse through the i<a href="http://blog.iphone-dev.org/" target="_blank">phone-dev&#8217;s blog</a>. Once you&#8217;re jailbroken, Cydia is pre-installed, and serves as the equivalent to Apple&#8217;s AppStore for getting Apps. Here are my top five reasons to jailbreak my iPhone.</p>
<p><a class="wp-caption" href="http://www.swirlyspace.com/?page_id=57" target="_blank">Swirly MMS</a></p>
<div class="wp-caption alignleft" style="width: 125px"><a href="http://www.swirlyspace.com/wp-content/themes/swirly_black_theme/images/UserGuide/sendmms.jpg"><img class="    " title="Swirly MMS" src="http://www.swirlyspace.com/wp-content/themes/swirly_black_theme/images/UserGuide/sendmms.jpg" alt="Swirly MMS" width="115" height="166" /></a><p class="wp-caption-text">Swirly MMS</p></div>
<p>The lack of MMS support on the iPhone has been discussed greatly on the webisphere. Apple made a conscious decision to leave MMS out in favour of encouraging email (which can achieve the same result). However my wife doesn&#8217;t have an internet plan enabled on her phone. Now while the only MMS&#8217;s we send each other are usually of cute cats or dogs, its nice to be able to do so. Swirly MMS gives full MMS support for US$8, with a free 14 day trial. It works seamlessly and as expected. While you have to manually enter your carrier&#8217;s SMS network details, there are numerous listings for all the major carriers for you to reference. MMS notifications come through in a similar manner to standard SMS notifications. </p>
<p><span id="more-186"></span></p>
<p><a class="wp-caption" href="http://cydia.saurik.com/info/cycorder/" target="_blank">Cycorder</a></p>
<div class="wp-caption alignleft" style="width: 176px"><a href="http://www.theiphoneblog.com/images/stories/2008/09/iphone-cycorder.jpg"><img class="      " title="Cycorder" src="http://www.theiphoneblog.com/images/stories/2008/09/iphone-cycorder.jpg" alt="Cycorder" width="166" height="115" /></a><p class="wp-caption-text">Cycorder</p></div>
<p>Cycorder allows you to utilise the iPhone&#8217;s camera to record video (with sound) at 6-15 frames per second. While not superb quality &#8211; it does let you record those moments when you have nothing else in decent enough quality for play back. The video is saved as .mov files on the iPhone, which can be played back with Cycorder, or moved to your computer with the help of other jailbreak file sharing applications (see <em>netatalk</em> below).</p>
<p><!--more--></p>
<p> </p>
<p><!--more--></p>
<p><a class="wp-caption" href="http://www.junefabrics.com/iphone/index.php" target="_blank">PdaNet</a></p>
<div class="wp-caption alignleft" style="width: 125px"><a href="http://iphoneoverdose.com/wp-content/uploads/2008/10/pdanetiphoneconfig2.png"><img class="       " title="PdaNet" src="http://iphoneoverdose.com/wp-content/uploads/2008/10/pdanetiphoneconfig2.png" alt="PdaNet" width="115" height="166" /></a><p class="wp-caption-text">PdaNet</p></div>
<p>PdaNet lets you use your iPhone as a wireless access point, so your computer can access the internet via your iPhone&#8217;s internet connection. Assuming you have a data plan that has enough bandwidth quota &#8211; this is great for when out and about. PdaNet works fantastically and without slow overhead. It does cost US$29, but a free 14 day trial  will let you make sure it works fine before buying. For me, last week we were in a hotel for 4 nights. The internet in the hotel room cost AU$11 an hour, or AU$22 for 24 hours. A once-off fee of US$29 to let me use my already paid for (and not really used to the full extent) iPhone net quota is just good economics.</p>
<p> </p>
<p><!--more--></p>
<p><a class="wp-caption" href="http://www.brothersoft.com/blog/tag/netatalk-iphone/" target="_blank">netatalk</a></p>
<p>Those familiar with running linux machines that talk to Apple computers, may be familiar with netatalk. It provides AFP network file sharing support. Running netatalk lets you access the iPhone&#8217;s file system easily with OSX&#8217;s finder. While you can do things like replace standard iPhone system files (such as images and sounds) and do other tinkering &#8211; the most practical use for this for me is to copy videos made with Cycorder (see above) off the iPhone. netatalk is a GPLed, and thus free. It runs via the standard launchd process and is thus invisible on the iPhone side &#8211; and only uses iPhone resources when a connection is initiated by a computer.</p>
<p><!--more--><a class="wp-caption" href="http://blog.psmxy.org/pkg-info/openssh/" target="_blank">openSSH</a></p>
<p>openSSH lets you SSH directly into your iPhone. This doesn&#8217;t really have <em>too</em> much utility, unless you really want to start hacking at your iPhone system. What it is mostly useful for (for me) is to change the default <em>root</em> and <em>mobile</em> user passwords. Changing the default password is important if you connect to public accesspoints and are running netatalk &#8211; otherwise knowing people could browse your iPhone file system. This can also let you transfer files using SCP, so you can avoid using netatalk completely if you want and are very security conscious. openSSH is also GPLed and thus free. It too runs via the standard launchd process and is invisible and light weight.</p>
<p><!--more--></p>
<p>See also&#8230; <a href="http://abednarz.net/wp/?p=109">Bed&#8217;s Top Five Essential iPhone Apps</a>, <a href="http://abednarz.net/wp/?p=165" target="_self">Bed&#8217;s Top Five Useful iPhone Apps</a></p>
<p>Still to come&#8230;  Bed&#8217;s Top Five Useless iPhone Apps and Bed&#8217;s Top Five iPhone Games.</p>
<img src="http://abednarz.net/wp/?ak_action=api_record_view&id=186&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://abednarz.net/wp/beds-top-five-jailbroken-iphone-apps/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Bed’s Top Five Useful iPhone Apps</title>
		<link>http://abednarz.net/wp/bed%e2%80%99s-top-five-useful-iphone-apps/</link>
		<comments>http://abednarz.net/wp/bed%e2%80%99s-top-five-useful-iphone-apps/#comments</comments>
		<pubDate>Sat, 06 Dec 2008 00:03:44 +0000</pubDate>
		<dc:creator>Bed</dc:creator>
				<category><![CDATA[Tech Talk]]></category>
		<category><![CDATA[Top Fives]]></category>
		<category><![CDATA[apps]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[ipod touch]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[top five]]></category>
		<category><![CDATA[useful]]></category>
		<category><![CDATA[utilities]]></category>

		<guid isPermaLink="false">http://abednarz.net/wp/?p=165</guid>
		<description><![CDATA[Following on from Bed’s Top Five Essential iPhone Apps, here are my top five useful iPhone Apps. These aren&#8217;t used on a daily basis &#8211; but are useful to have around for when they may be required. IM+ Lite Its always handy to have an Instant Messenger application around. While I don&#8217;t need always-on-push instant messaging on my [...]]]></description>
			<content:encoded><![CDATA[<p>Following on from <a href="http://abednarz.net/wp/?p=109" target="_blank">Bed’s Top Five Essential iPhone Apps</a>, here are my top five <strong>useful</strong> iPhone Apps. These aren&#8217;t used on a daily basis &#8211; but are useful to have around for when they may be required.</p>
<p><a class="wp-caption" href="http://appshopper.com/social-networking/im-all-in-one-mobile-messenger" target="_blank">IM+ Lite</a></p>
<div class="wp-caption alignleft" style="width: 125px"><a href="http://images.appshopper.com/screenshots/285/688934.jpg"><img class="   " title="IM+ Lite" src="http://images.appshopper.com/screenshots/285/688934.jpg" alt="IM+ Lite" width="115" height="166" /></a><p class="wp-caption-text">IM+ Lite</p></div>
<p>Its always handy to have an Instant Messenger application around. While I don&#8217;t need always-on-push instant messaging on my iPhone &#8211; having the ability to log on and talk to someone quickly can be useful. Just the other month I was relaying technical support to a work colleague while in a busy loud shopping mall. It was much easier via IM than trying to talk on the phone through all the noise. IM+ Lite isn&#8217;t fancy, but it supports pretty much all IM protocols (AIM®/iChat, MSN®/Windows Live™ Messenger, Yahoo!®, ICQ®, Jabber®, Google™ Talk and MySpaceIM) and is free.</p>
<p><span id="more-165"></span></p>
<p><a class="wp-caption" href="http://appshopper.com/lifestyle/aroundme" target="_blank">AroundMe</a></p>
<div class="wp-caption alignleft" style="width: 125px"><a href="http://images.appshopper.com/screenshots/290/051590.jpg"><img class="    " title="AroundMe" src="http://images.appshopper.com/screenshots/290/051590.jpg" alt="AroundMe" width="115" height="166" /></a><p class="wp-caption-text">AroundMe</p></div>
<p>This App has been shown on the Australian iPhone tv ads. It uses the GPS to help you find stuff around you, banks, petrol stations, restaurants, etc. It can then take you straight to google maps to give you the directions to get there. The potential usefulness of this is just fantastic &#8211; this is what future connectivity is all about. Its also free (it is funded by some very small ads that stay out of your way and are easy to ignore).</p>
<p> </p>
<p> </p>
<p><!--more--></p>
<p><a class="wp-caption" href="http://appshopper.com/education/starmap" target="_blank">Starmap</a></p>
<div class="wp-caption alignleft" style="width: 125px"><a href="http://images.appshopper.com/screenshots/284/408099.jpg"><img class="     " title="Starmap" src="http://images.appshopper.com/screenshots/284/408099.jpg" alt="Starmap" width="115" height="166" /></a><p class="wp-caption-text">Starmap</p></div>
<p>Starmap is really only useful if you like gazing at the sky at night. It uses your current GPS location to find out where you are, and then presents a sky to you with all the stars, planets and universe objects in the right positions. This sky is rotatable and zoomable. You can search for particular objects (such as a particular planet), and turn on or off objects like deep field galaxies. The other weekend I went camping and we noticed two stars looked particularly bright. <em>&#8220;They must be planets&#8221;,</em> I thought, so I took out Starmap and within a few seconds had verified that we were looking at Jupiter and Venus (this was a few weeks before they teamed up with the moon to form a smiley face as they did last week). When I get a chance to do more star gazing with my telescope &#8211; this application will be well worth the price tag of AU$14.99. This has been the most expensive App I&#8217;ve bought &#8211; but the functionality is well worth it in my opinion.</p>
<p><!--more--></p>
<p><a class="wp-caption" href="http://appshopper.com/navigation/trails" target="_blank">Trails</a></p>
<div class="wp-caption alignleft" style="width: 125px"><a href="http://images.appshopper.com/screenshots/289/190494.jpg"><img class="      " title="Trails" src="http://images.appshopper.com/screenshots/289/190494.jpg" alt="Trails" width="115" height="166" /></a><p class="wp-caption-text">Trails</p></div>
<p>Trails is a simple GPS tracking application. You turn it on and it will track your co-ordinates and elevation. Once you&#8217;ve been where you need to be &#8211; you can view your trail on-top of google maps services or email the trail file, which can be imported into Google Earth, or any other application that supports GPX files. This works well for visualising hikes, rides or adventures. Trails costs AU$2.49.</p>
<p> </p>
<p> </p>
<p> </p>
<p><!--more--></p>
<p><a class="wp-caption" href="http://appshopper.com/reference/wikipanion" target="_blank">Wikipanion</a></p>
<div class="wp-caption alignleft" style="width: 125px"><a href="http://images.appshopper.com/screenshots/288/349436.jpg"><img class="     " title="Wikipanion" src="http://images.appshopper.com/screenshots/288/349436.jpg" alt="Wikipanion" width="115" height="166" /></a><p class="wp-caption-text">Wikipanion</p></div>
<p>There&#8217;s nothing extraordinary about Wikipanion. You can ultimately achieve the same end result by opening Safari, navigating to Wikipedia and doing your search. But the accessibility and speed of utilising Wikipanion (along with the price tag of FREE) make it useful to have. Just the other month I was in a discussion about what the various colours of urine mean (dehydration, asparagus etc). There was some debate on some colours, so I quickly looked it up with Wikipanion and we had our answers. For all of those times you&#8217;re in a conversation and can&#8217;t remember something &#8211; Wikipanion comes in very useful.</p>
<p> </p>
<p> </p>
<p><!--more--></p>
<p>See also&#8230; <a href="http://abednarz.net/wp/?p=109">Bed&#8217;s Top Five Essential iPhone Apps</a>, <a href="http://abednarz.net/wp/?p=186" target="_self">Bed&#8217;s Top Five Jailbroken iPhone Apps</a></p>
<p>Still to come&#8230;  Bed&#8217;s Top Five Useless iPhone Apps and Bed&#8217;s Top Five iPhone Games.</p>
<img src="http://abednarz.net/wp/?ak_action=api_record_view&id=165&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://abednarz.net/wp/bed%e2%80%99s-top-five-useful-iphone-apps/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Tetris &amp; the iPhone</title>
		<link>http://abednarz.net/wp/tetris-the-iphone/</link>
		<comments>http://abednarz.net/wp/tetris-the-iphone/#comments</comments>
		<pubDate>Wed, 19 Nov 2008 23:21:06 +0000</pubDate>
		<dc:creator>Bed</dc:creator>
				<category><![CDATA[Tech Talk]]></category>
		<category><![CDATA[Tetris]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[legal]]></category>
		<category><![CDATA[tetris]]></category>

		<guid isPermaLink="false">http://abednarz.net/wp/?p=161</guid>
		<description><![CDATA[A new blog, The Tetromino is detailing the issues surrounding developing a tetris-like game on the iPhone. It looks to be an interesting read in the months ahead.]]></description>
			<content:encoded><![CDATA[<p>A new blog, <a href="http://desiree47.wordpress.com/" target="_blank">The Tetromino</a> is detailing the issues surrounding developing a tetris-like game on the iPhone. It looks to be an interesting read in the months ahead.</p>
<img src="http://abednarz.net/wp/?ak_action=api_record_view&id=161&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://abednarz.net/wp/tetris-the-iphone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bed&#8217;s Top Five Essential iPhone Apps</title>
		<link>http://abednarz.net/wp/beds-top-five-essential-iphone-apps/</link>
		<comments>http://abednarz.net/wp/beds-top-five-essential-iphone-apps/#comments</comments>
		<pubDate>Mon, 17 Nov 2008 11:25:27 +0000</pubDate>
		<dc:creator>Bed</dc:creator>
				<category><![CDATA[Tech Talk]]></category>
		<category><![CDATA[Top Fives]]></category>
		<category><![CDATA[apps]]></category>
		<category><![CDATA[essential]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[ipod touch]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[top five]]></category>
		<category><![CDATA[utilities]]></category>

		<guid isPermaLink="false">http://abednarz.net/wp/?p=109</guid>
		<description><![CDATA[There is so much crap in Apple&#8217;s AppStore. My pet peeve is all of the &#8220;Days until&#8230;&#8221; apps. These are all the same, you set a day and it tells you how many days there are left until your nominated date. Of course there&#8217;s a seperate paid app for every occasion, days until wedding, days [...]]]></description>
			<content:encoded><![CDATA[<p>There is so much crap in Apple&#8217;s AppStore. My pet peeve is all of the &#8220;Days until&#8230;&#8221; apps. These are all the same, you set a day and it tells you how many days there are left until your nominated date. Of course there&#8217;s a seperate paid app for every occasion, days until wedding, days until school, days until vacation etc etc.</p>
<p>However there is also some of the best software I&#8217;ve ever seen for a mobile internet device. Here are my top five, best value, most <strong>essential</strong> applications that I use regularly.</p>
<p> </p>
<p><strong><a class="wp-caption" href="http://appshopper.com/news/netnewswire" target="_blank">NetNewsWire</a></strong></p>
<div class="wp-caption alignleft" style="width: 125px"><a href="http://images.appshopper.com/screenshots/284/881860.jpg"><img class="  " title="NetNewsWire" src="http://images.appshopper.com/screenshots/284/881860.jpg" alt="NetNewsWire Feed List" width="115" height="166" /></a><p class="wp-caption-text">NetNewsWire Feed List</p></div>
<p>The best RSS Feed reader for the iPhone &#8211; this will sync with a free <a href="http://www.newsgator.com/" target="_blank">NewsGator</a> account. Using the identically named NetNewsWire for OSX &#8211; this combination is the ultimate in automatically synchronised news reading. Read some items on your computer, go on a train, and keep reading &#8211; without worrying about coming across articles you&#8217;ve already read. And best of all, its all free.</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p><span id="more-109"></span></p>
<p><a class="wp-caption" href="http://appshopper.com/weather/pocket-weather-au" target="_blank">Pocket Weather AU</a></p>
<div class="wp-caption alignleft" style="width: 125px"><a href="http://images.appshopper.com/screenshots/290/610939.jpg"><img class="    " title="PocketWeatherAU" src="http://images.appshopper.com/screenshots/290/610939.jpg" alt="PocketWeatherAU Forecast" width="115" height="166" /></a><p class="wp-caption-text">Forecast</p></div>
<p>There are alot of sources for weather forecasts on the internet. However, if you&#8217;re in Australia, there&#8217;s only one source that is worth a damn &#8211; <a href="http://www.bom.gov.au/" target="_blank">The Bureau of Meteorology.</a> The weather app that comes with the iPhone doesn&#8217;t use the bom &#8211; and because of that its often very wrong. Pocket Weather AU <strong>does </strong>use the bom &#8211; and not only that, it exposes all that the bureau has to offer, and does it in awesome iPhone style. View animated rain radar images with ease! This app costs $2.49AU, and is easily worth all of it. I would pay way more if I had to.</p>
<p> </p>
<p> </p>
<p><!--more--></p>
<p><a class="wp-caption" href="http://appshopper.com/productivity/evernote" target="_blank">Evernote</a></p>
<div class="wp-caption alignleft" style="width: 125px"><a href="http://images.appshopper.com/screenshots/281/796108_3.jpg"><img class="    " title="Evernote" src="http://images.appshopper.com/screenshots/281/796108_3.jpg" alt="Evernote" width="115" height="166" /></a><p class="wp-caption-text">Notes</p></div>
<p>The default iPhone notes application is pretty crappy. It doesn&#8217;t sync with anything and I hate that font that it uses. The Evernote iPhone app works hand in hand with the <a href="http://evernote.com/" target="_blank">Evernote Web Service</a> - which also syncs to the Evernote OSX application too. This means I can write a note on my iPhone, or snap a photo and attach it to a note &#8211; and then access this on the web while at a friend&#8217;s place &#8211; or on my computer directly. This kind of automated syncing is the way of the future and is what these portable internet devices are all about. All of the evernote components (account, iPhone &amp; OSX apps) are free &#8211; with a 40MB a month quota. This quota is counted as data <strong>uploaded</strong> to their servers. Now so far I&#8217;ve maxed at about 2MB per month, and thats only because I took photos of stuff and added them to a note. You can then upgrade to a paid account if you&#8217;re going to use more data &#8211; which I think is damn fair enough for such a useful service. This is internet 2.0 at its finest.</p>
<p><!--more--></p>
<p> </p>
<p><a class="wp-caption" href="http://appshopper.com/productivity/1password" target="_blank">1Password</a></p>
<div class="wp-caption alignleft" style="width: 125px"><a href="http://images.appshopper.com/screenshots/285/897618.jpg"><img class="     " title="1Password" src="http://images.appshopper.com/screenshots/285/897618.jpg" alt="1Password" width="115" height="166" /></a><p class="wp-caption-text">Secure</p></div>
<p>I have a gazillion passwords &#8211; for web forums &#8211; for bank accounts, for on-line billing and more. I keep all of these stored securely with 1Password. Like most of my favourite things, 1Password syncs my secure database with my computer &#8211; of course it does this <em>directly</em> with my computer via wifi, not over the open internet. The 1Password iPhone app syncs directly with the 1Password OSX application (which also integrates with Safari/Firefox/Opera for secure password filling). On the iPhone side you set a master 4 digit unlock code to access your searchable list of secure items. When accessing a secure item, you can then configure especially secure items to require entering a secodary alphanumeric master password to view the secure details. Then you can do funky things like use the built-in browser to go to a webpage and automatically log in. This way I can access my online banking securely and <strong>quickly</strong> on my iPhone anywhere I am. 1Password for iPhone is free and can be used standalone. The<a href="http://agilewebsolutions.com/products/1Password" target="_blank"> OSX application</a> costs $39.95US, a free trial is available, and is IMO absolutely worth it.</p>
<p> </p>
<p><!--more--></p>
<p><a class="wp-caption" href="http://appshopper.com/utilities/units" target="_blank">Units</a></p>
<div class="wp-caption alignleft" style="width: 125px"><a href="http://images.appshopper.com/screenshots/284/574017.jpg"><img class="      " title="Units" src="http://images.appshopper.com/screenshots/284/574017.jpg" alt="Units" width="115" height="166" /></a><p class="wp-caption-text">Convert stuff!</p></div>
<p>There are heaps of conversion utilities available for the iPhone &#8211; but this one is extremely comprehensive, with every measure of unit you can think of and the ability to convert between them. Its not fancy, and it doesn&#8217;t need to be, it couldn&#8217;t be simplier to use. Plus its free! And its got a bonus ruler too. There is no reason not to have this app, and every reason why it can be useful.</p>
<p> </p>
<p> </p>
<p><!--more--></p>
<p>See also&#8230; <a href="http://abednarz.net/wp/?p=165">Bed&#8217;s Top Five Useful iPhone Apps</a>, <a href="http://abednarz.net/wp/?p=186" target="_self">Bed’s Top Five Jailbroken iPhone Apps</a></p>
<p><a href="http://abednarz.net/wp/?p=165"></a>Still to come&#8230;  Bed&#8217;s Top Five Useless iPhone Apps and Bed&#8217;s Top Five iPhone Games.</p>
<img src="http://abednarz.net/wp/?ak_action=api_record_view&id=109&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://abednarz.net/wp/beds-top-five-essential-iphone-apps/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Backups</title>
		<link>http://abednarz.net/wp/backups/</link>
		<comments>http://abednarz.net/wp/backups/#comments</comments>
		<pubDate>Tue, 19 Aug 2008 11:10:56 +0000</pubDate>
		<dc:creator>Bed</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Tech Talk]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[backups]]></category>
		<category><![CDATA[OSX]]></category>
		<category><![CDATA[rsync]]></category>
		<category><![CDATA[timemachine]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://abednarz.net/wp/?p=54</guid>
		<description><![CDATA[Before becoming a Mac-convert, my backup procedure was almost non-existent. Every six to twelve months I would burn a CD or DVD with my most important stuff on it. I&#8217;ve been rather lucky that I&#8217;ve never had a hard-drive failure &#8211; its happened to most people I know at least once. After turning to the [...]]]></description>
			<content:encoded><![CDATA[<p>Before becoming a Mac-convert, my backup procedure was almost non-existent. Every six to twelve months I would burn a CD or DVD with my most important stuff on it. I&#8217;ve been rather lucky that I&#8217;ve never had a hard-drive failure &#8211; its happened to most people I know at least once.</p>
<p>After turning to the Apple-Dark-Side they made it too easy. To <strong>not</strong> do a backup really required effort. Stick a USB drive in, turn on Time Machine&#8230; and you have a regular automatic backup procedure.</p>
<p>Of course I didn&#8217;t want to backup to USB drive. I have my and K&#8217;s stuff to backup, and an Ubuntu file server with a nice 400GB drive to hold the files (lets not discuss off-site backups, move along&#8230;). Now while Time Machine supports backing up to a network drive, they limit it to Apple&#8217;s own products, or a drive hosted by Mac OSX 10.5. Capitalistic goals aside, there is a very good reason for this. Apple added some extensions to AFP to safely handle network dropouts during the backup process. These extensions are required to safely protect your backups from becoming corrupted.</p>
<p>Now if you are pretty confident that your network isn&#8217;t going to drop out during a backup, you can configure Time Machine to allow an unsupported network drive, and backup to your SMB shared network drive. Easy. So thats what I did.</p>
<p>This has worked flawlessly with K&#8217;s iMac. My MacBookPro however, was more complicated. Because its a laptop, I often run on wireless when I&#8217;m downstairs in-front of the tv. When I go upstairs, I&#8217;ll plug in the Ethernet for optimal speed and turn off wireless. Of course I never paid attention to see if Time Machine was currently working when I did this. It was often running and every so often I would corrupt my backup sparseBundle and had to start all over again.</p>
<p>So I finally gave up on Time Machine for my laptop. I still wanted the automated backup however &#8211; but I don&#8217;t care about incremental backups, I&#8217;ve <strong>never</strong> (famous last words maybe&#8230;) wanted to go back to a previous version of a file. I just care that the current version is backed up in-case my drive dies.</p>
<p>This is where I love that the best computer UI is built on-top of the best OS core&#8230; unix. A simple installation of rsync on my Ubuntu file server, a simple shell script on my laptop (rsync is installed by default with Leopard) and I&#8217;m mirroring the folders I want. Then a simple configuration of my system to wake up at 3am and run my script and I&#8217;m automated. Too easy.</p>
<img src="http://abednarz.net/wp/?ak_action=api_record_view&id=54&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://abednarz.net/wp/backups/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>OSX development and WordPress</title>
		<link>http://abednarz.net/wp/osx-development-and-wordpress/</link>
		<comments>http://abednarz.net/wp/osx-development-and-wordpress/#comments</comments>
		<pubDate>Wed, 30 Jul 2008 01:10:16 +0000</pubDate>
		<dc:creator>Bed</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Tech Talk]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[joomla]]></category>
		<category><![CDATA[OSX]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://abednarz.net/wp/?p=48</guid>
		<description><![CDATA[I have started playing around with OSX development, and I have to say that Objective-C and the Cocoa framework is quite inviting. After spending so many years in a windows world, doing Delphi (object pascal), MFC C++ and .NET stuff, objective-c required me to turn my head sideways. The cocoa framework really encourages good code [...]]]></description>
			<content:encoded><![CDATA[<p>I have started playing around with OSX development, and I have to say that Objective-C and the Cocoa framework is quite inviting. After spending so many years in a windows world, doing Delphi (object pascal), MFC C++ and .NET stuff, objective-c required me to turn my head sideways. The cocoa framework really encourages good code design. My first project (I always need a project to learn a new platform) is an OSX client for <a title="mserv" href="http://www.mserv.org/" target="_blank">mserv</a>, which is the shared music jukebox we run in the development area at work.</p>
<p>In other news I have moved abednarz.net from using <a title="joomla" href="http://www.joomla.org/" target="_blank">joomla</a> to using <a href="http://wordpress.org/" target="_blank">wordpress</a>, as joomla was feature overkill. I have also decided to semi-retire my live journal, since I don&#8217;t use it that much anymore, my paid status is about to run out and most posts I do these days are of a technical musings nature. I&#8217;ve set up a wordpress cross poster and will still be checking my lj friend&#8217;s page.</p>
<img src="http://abednarz.net/wp/?ak_action=api_record_view&id=48&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://abednarz.net/wp/osx-development-and-wordpress/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
