<?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>blog.no-panic.at &#187; Mac</title>
	<atom:link href="http://blog.no-panic.at/category/mac/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.no-panic.at</link>
	<description>Whatever you do, don't panic!</description>
	<lastBuildDate>Tue, 23 Apr 2013 13:04:43 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
	<atom:link rel='hub' href='http://blog.no-panic.at/?pushpress=hub'/>
		<item>
		<title>My Bash configuration</title>
		<link>http://blog.no-panic.at/2011/09/15/my-bash-configuration/</link>
		<comments>http://blog.no-panic.at/2011/09/15/my-bash-configuration/#comments</comments>
		<pubDate>Thu, 15 Sep 2011 10:57:18 +0000</pubDate>
		<dc:creator>Florian Beer</dc:creator>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[bashrc]]></category>
		<category><![CDATA[bash_profile]]></category>
		<category><![CDATA[commandline]]></category>
		<category><![CDATA[prompt]]></category>
		<category><![CDATA[promt]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://blog.no-panic.at/?p=4023</guid>
		<description><![CDATA[Find below my &#8220;.bash_profile" file in OS X Lion and the referenced &#8220;.bash_ps1" (slightly modified from lifehacker). Detailed walkthrough add some additional directories to PATH reference .bash_ps1 (see the file below) set grep and ls to display some fancy colors two aliases to often used commands order top by CPU usage display more human readable&#8230;]]></description>
				<content:encoded><![CDATA[<p><a href="http://blog.no-panic.at/wp-content/uploads/2011/09/bash.png"><img class="alignright size-medium wp-image-4030" title="Bash" src="http://blog.no-panic.at/wp-content/uploads/2011/09/bash-300x61.png" alt="Bash" width="300" height="61" /></a>Find below my &#8220;<tt>.bash_profile"</tt> file in OS X Lion and the referenced &#8220;<tt>.bash_ps1"</tt> (slightly modified from <a href="http://lifehacker.com/5840450/add-a-handy-separator-between-commands-in-your-terminal-on-mac-os-x-and-linux" target="_blank">lifehacker</a>).</p>
<h3>Detailed walkthrough</h3>
<ul>
<li>add some additional directories to PATH</li>
<li>reference .bash_ps1 (see the file below)</li>
<li>set grep and ls to display some fancy colors</li>
<li>two aliases to often used commands
<ul>
<li>order top by CPU usage</li>
<li>display more human readable directory listing output</li>
</ul>
</li>
<li>Set Textmate&#8217;s &#8220;mate&#8221; command as the default editor</li>
<li>Ignore duplicates in history. E. g. if I issue &#8220;ls&#8221; multiple times, it only occurs once when I press the cursor up key, to cycle through my last commands.</li>
<li>Export DISPLAY environment variable if it&#8217;s not already set. This helps with X-forwarding from remote systems.</li>
<li>SSH host completion lets me type the first few characters of any host I already connected to successfully and completes it just like normal shell commands or files after pressing TAB.</li>
<li>The &#8220;myip&#8221; function lets me look up my external IP.</li>
<li>&#8220;git_stats&#8221; spits out detailed infos about any git repository you issue this command in.</li>
</ul>
<h3>.bash_profile</h3>
<pre>export PATH=$PATH:~/bin:/usr/local/bin:/usr/local/sbin:/usr/local/git/bin

# set fancy prompt
if [ -f "$HOME/.bash_ps1" ]; then
    . "$HOME/.bash_ps1"
fi

# some settings to be more colorful
export GREP_OPTIONS='--color=auto' GREP_COLOR='1;32'
export CLICOLOR=true
export LSCOLORS=ExGxFxdxCxDxDxBxBxExEx

# handy aliases
alias top='top -o cpu'
alias ll='ls -lh'

# use Textmate as default editor
export EDITOR="mate"

# no duplicates in bash history
export HISTCONTROL=ignoredups

# export DISPLAY if it's not set yet
[[ -z $DISPLAY ]] &amp;&amp; export DISPLAY=":0.0"

# ssh host tab completion
complete -W "$(echo `cat ~/.ssh/known_hosts | cut -f 1 -d ' ' | sed -e s/,.*//g | uniq | grep -v "\["`;)" ssh

################################################
# bash functions
################################################
function myip {
  res=$(curl -s checkip.dyndns.org | grep -Eo '[0-9\.]+')
  echo "$res"
}

function git_stats {
# awesome work from https://github.com/esc/git-stats
# including some modifications
if [ -n "$(git symbolic-ref HEAD 2&gt; /dev/null)" ]; then
    echo "Number of commits per author:"
    git --no-pager shortlog -sn --all
    AUTHORS=$( git shortlog -sn --all | cut -f2 | cut -f1 -d' ')
    LOGOPTS=""
    if [ "$1" == '-w' ]; then
        LOGOPTS="$LOGOPTS -w"
        shift
    fi
    if [ "$1" == '-M' ]; then
        LOGOPTS="$LOGOPTS -M"
        shift
    fi
    if [ "$1" == '-C' ]; then
        LOGOPTS="$LOGOPTS -C --find-copies-harder"
        shift
    fi
    for a in $AUTHORS
    do
        echo '-------------------'
        echo "Statistics for: $a"
        echo -n "Number of files changed: "
        git log $LOGOPTS --all --numstat --format="%n" --author=$a | cut -f3 | sort -iu | wc -l
        echo -n "Number of lines added: "
        git log $LOGOPTS --all --numstat --format="%n" --author=$a | cut -f1 | awk '{s+=$1} END {print s}'
        echo -n "Number of lines deleted: "
        git log $LOGOPTS --all --numstat --format="%n" --author=$a | cut -f2 | awk '{s+=$1} END {print s}'
        echo -n "Number of merges: "
        git log $LOGOPTS --all --merges --author=$a | grep -c '^commit'
    done
else
    echo "you're currently not in a git repository"
fi
}</pre>
<h3>.bash_ps</h3>
<pre>############################################
# Modified from emilis bash prompt script
# from https://github.com/emilis/emilis-config/blob/master/.bash_ps1
###########################################
fill="--- "
reset_style='\[\033[00m\]'
status_style=$reset_style'\[\033[0;90m\]' # gray color; use 0;37m for lighter color
prompt_style=$reset_style
command_style=$reset_style'\[\033[1;29m\]' # bold black
PS1="$status_style"'$fill \t\n'"$prompt_style"'${debian_chroot:+($debian_chroot)}\[\033[0;32m\]::&gt;'"$command_style "
# this is invoked every time before a command is executed
trap 'echo -ne "\033[00m"' DEBUG

function prompt_command {
    let fillsize=${COLUMNS}-9
    fill=""
    while [ "$fillsize" -gt "0" ]
        do
            fill="-${fill}" # fill with underscores to work on
            let fillsize=${fillsize}-1
        done
}
export PROMPT_COMMAND=prompt_command</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.no-panic.at/2011/09/15/my-bash-configuration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Automatically add links from emails to Safari Reading List</title>
		<link>http://blog.no-panic.at/2011/07/31/automatically-add-links-from-mail-messages-to-safari-reading-list/</link>
		<comments>http://blog.no-panic.at/2011/07/31/automatically-add-links-from-mail-messages-to-safari-reading-list/#comments</comments>
		<pubDate>Sun, 31 Jul 2011 13:13:50 +0000</pubDate>
		<dc:creator>Florian Beer</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[action]]></category>
		<category><![CDATA[ifttt]]></category>
		<category><![CDATA[instapaper]]></category>
		<category><![CDATA[lion]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[max]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[readitlater]]></category>
		<category><![CDATA[rule]]></category>
		<category><![CDATA[safari]]></category>

		<guid isPermaLink="false">http://blog.no-panic.at/?p=4014</guid>
		<description><![CDATA[This is kind of a stripped down version of Read It Later or Instapaper, but functions perfectly for my workflow. Requirements Apple Mail Apple Safari (with Reading List Support) ifttt Account First I&#8217;ve set up actions in ifttt that forward Links I favorite in Twitter or Google Reader, to my personal Email and prepend the subject&#8230;]]></description>
				<content:encoded><![CDATA[<div id="attachment_4016" class="wp-caption alignright" style="width: 160px"><a href="http://blog.no-panic.at/wp-content/uploads/2011/07/ifttt.png"><img class="size-thumbnail wp-image-4016" title="ifttt" src="http://blog.no-panic.at/wp-content/uploads/2011/07/ifttt-150x150.png" alt="" width="150" height="150" /></a><p class="wp-caption-text">Click here to see the ifttt tasks</p></div>
<div id="attachment_4017" class="wp-caption alignright" style="width: 160px"><a href="http://blog.no-panic.at/wp-content/uploads/2011/07/rule.png"><img class="size-thumbnail wp-image-4017 " title="rule" src="http://blog.no-panic.at/wp-content/uploads/2011/07/rule-150x150.png" alt="" width="150" height="150" /></a><p class="wp-caption-text">Click here to see the Mail Rule</p></div>
<p>This is kind of a stripped down version of Read It Later or Instapaper, but functions perfectly for my workflow.</p>
<h2>Requirements</h2>
<ul>
<li>Apple Mail</li>
<li>Apple Safari (with Reading List Support)</li>
<li><a href="http://ifttt.com" target="_blank">ifttt</a> Account</li>
</ul>
<p>First I&#8217;ve set up actions in ifttt that forward Links I favorite in Twitter or Google Reader, to my personal Email and prepend the subject with &#8220;#ReadLater&#8221;. Next I constructed a Mail Rule that acts on all messages who&#8217;s subjects begin with said keyword. The Mail Rule will invoke the following Applescript, mark the message as read and move it to the trash.</p>
<pre>using terms from application "Mail"
	on perform mail action with messages theSelectedMessages
		tell application "Mail"
			repeat with eachMessage in theSelectedMessages
				set mailbody to content of eachMessage
				set theUrl to paragraph 1 of mailbody
				tell application "Safari"
					add reading list item theUrl
				end tell
			end repeat
		end tell
	end perform mail action with messages
end using terms from</pre>
<h2>Use cases</h2>
<ul>
<li>Read newsfeeds on iPhone. Save longer or interesting articles for later by clicking the favorite star.</li>
<li>Interesting item pops up on twitter, but you don&#8217;t have time now to read the containing link right now.</li>
<li> While walking in the street you see a URL you want to remember, just mail it to yourself with the appropriate keyword in the subject.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.no-panic.at/2011/07/31/automatically-add-links-from-mail-messages-to-safari-reading-list/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The Apple Schism</title>
		<link>http://blog.no-panic.at/2011/07/25/the-apple-schism/</link>
		<comments>http://blog.no-panic.at/2011/07/25/the-apple-schism/#comments</comments>
		<pubDate>Mon, 25 Jul 2011 13:24:44 +0000</pubDate>
		<dc:creator>Florian Beer</dc:creator>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[gui]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[lion]]></category>
		<category><![CDATA[os]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[ux]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://blog.no-panic.at/?p=4003</guid>
		<description><![CDATA[With the introduction of Apple&#8217;s newest operating system OS X 10.7 Lion, the company has taken one step further to disconnect their users from other competing user interaction schemes. Let me elaborate on this rather strong statement by going back in history a bit. I can still remember, when I got my first Mac, it&#8230;]]></description>
				<content:encoded><![CDATA[<p><strong>With the introduction of Apple&#8217;s newest operating system OS X 10.7 Lion, the company has taken one step further to disconnect their users from other competing user interaction schemes.</strong></p>
<p>Let me elaborate on this rather strong statement by going back in history a bit.<br />
I can still remember, when I got my first Mac, it was a 12&#8243; iBook G4 with OS X Panther. Being a rather curious person, I started tweaking the user interface and tested out all available options, until I was satisfied with the speed and metaphors of my personal set up. On thing that I started using very frequently almost immediately was Exposé (now extinct due to Lion&#8217;s Mission Control). I had several hot corners set up, so windows would fly out of the way and reveal the Desktop whenever I moved my mouse in the lower left corner of the screen or reveal all opened windows when I moved to the lower right corner. This method of interacting with my programs quickly became very natural to me. Going so far, that I started moving my mouse into corners on Windows systems several times in vain, until I realized that I had to use the taskbar for those similar tasks. This wasn&#8217;t more than a little annoyance to me. I just found out that OS X permitted me to work faster than what I&#8217;d be able to achieve in the rare cases, where I&#8217;d need to use another system.</p>
<p>But the problem also ran in the other direction. People not used to Mac systems and their concept of hot corners seemed to have a much more clumsy way of moving their mouse around on the screen. Thus they inadvertently triggered the &#8220;Show Desktop&#8221; or &#8220;Show all windows&#8221; functions all of the time and were completely irritated by windows flying around all of the sudden. I merely laughed about that fact back then, but from my point of view today, that&#8217;s where the gap began to widen. I was used to a UI paradigm, that wasn&#8217;t logical at all for users not familiar with OS X.</p>
<p>Skip a few years forward and now we&#8217;ve got OS X 10.7 Lion with many more ways of interaction, that are nowhere near to be seen on any other platform. Take gestures for instance: they save a lot of time and clicks when used properly, but setting ones muscle memory further apart from the rest of computer users, who don&#8217;t have or use gestures. Now this isn&#8217;t a very big problem, because gestures need special hardware to be applicable and add new ways of interaction that don&#8217;t overrule the way of using a computer you got used to before. A much bigger problem could be the way Apple changed the scrolling direction in Lion. They call it &#8220;natural scrolling&#8221; and if you think about it, it makes a lot of <a href="http://fury.com/2011/07/larry-tesler-explains-the-origins-of-the-macs-original-scrolling-behavior/" target="_blank">sense</a> and there isn&#8217;t much of a learning curve, once you&#8217;ve wrapped your head around it. But think of the ramifications that arise when others happen to sit in front of your computer or if you want to use another persons system.</p>
<p>If I think about a typical day at work, there are several times when a colleague  might sit down at my Mac to look something up, load some spreadsheet or notes about what we are just discussing, or similar examples. In the past this was no big deal, they might only be annoyed by triggering hot-corners or when they searched for the &#8220;close window&#8221; button on the wrong side of a window&#8217;s title bar. But now there is also the reversal of scrolling, which not only is new and &#8220;weird&#8221; to them, but is completely contradictory to how the same metaphor worked for them over the last decades.</p>
<p>Don&#8217;t be mistaken, I&#8217;m not against the new &#8220;natural scrolling&#8221;. I&#8217;m getting used to it rather quickly and enjoy how I can now interact with content more logically. But on the other hand it will make it more difficult for me, whenever I have to use a Windows or Linux Desktop and now even when I use an older OS X system. At the same time other users will find it more irritating and difficult to use my machine. It will be interesting where this will take us in the future. Will the gap grow even more? Or will operating system manufacturers decide on a common ground for user interactions?<br />
I don&#8217;t mind adapting to the new principles Apple comes up with, as long as they make sense for me and help me interact with my computer in a more efficient way. But this also means I&#8217;m separating myself further from the herd (aka millions of Windows users), which might not be entirely bad in itself <img src='http://blog.no-panic.at/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.no-panic.at/2011/07/25/the-apple-schism/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fix GrowlMail for OS X 10.6.7 &amp; Mail 4.5</title>
		<link>http://blog.no-panic.at/2011/04/01/fix-growlmail-for-os-x-10-6-7-and-mail-4-5/</link>
		<comments>http://blog.no-panic.at/2011/04/01/fix-growlmail-for-os-x-10-6-7-and-mail-4-5/#comments</comments>
		<pubDate>Fri, 01 Apr 2011 13:45:31 +0000</pubDate>
		<dc:creator>Florian Beer</dc:creator>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[bundle]]></category>
		<category><![CDATA[growl]]></category>
		<category><![CDATA[growlmail]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://blog.no-panic.at/?p=3950</guid>
		<description><![CDATA[It&#8217;s time again to circumvent Apple&#8217;s Mail Plugin policy and update the GrowlMail Bundle with the correct identifier string. Otherwise, after updating, Mail will tell you it has disabled the GrowlMail plugin and will move the bundle to ~/Library/Mail/Bundles (disabled). To amend this, follow these steps: Quit Mail Move the GrowlMail.mailbundle Folder back into ~/Library/Mail/Bundles Enter the following&#8230;]]></description>
				<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-3951" title="Growl" src="http://blog.no-panic.at/wp-content/uploads/2011/04/growl_icon.png" alt="Growl icon" width="128" height="128" />It&#8217;s time again to circumvent Apple&#8217;s Mail Plugin policy and update the <a href="http://growl.info/growlmail/" target="_blank">GrowlMail</a> Bundle with the correct identifier string. Otherwise, after updating, Mail will tell you it has disabled the GrowlMail plugin and will move the bundle to <em>~/Library/Mail/Bundles (disabled)</em>.</p>
<p>To amend this, follow these steps:</p>
<ol>
<li>Quit Mail</li>
<li>Move the <em>GrowlMail.mailbundle</em> Folder back into <em>~/Library/Mail/Bundles</em></li>
<li>Enter the following two commands into your Terminal:
<pre>defaults write ~/Library/Mail/Bundles/GrowlMail.mailbundle/Contents/Info SupportedPluginCompatibilityUUIDs -array-add "1C58722D-AFBD-464E-81BB-0E05C108BE06"
defaults write ~/Library/Mail/Bundles/GrowlMail.mailbundle/Contents/Info SupportedPluginCompatibilityUUIDs -array-add "9049EF7D-5873-4F54-A447-51D722009310"</pre>
</li>
<li>Start Mail and enjoy Growl notifications for new eMail again!</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://blog.no-panic.at/2011/04/01/fix-growlmail-for-os-x-10-6-7-and-mail-4-5/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Paste currently playing iTunes song in text fields (aka AMIP for Mac)</title>
		<link>http://blog.no-panic.at/2011/03/08/paste-currently-playing-itunes-song-in-text-fields-aka-amip-for-mac/</link>
		<comments>http://blog.no-panic.at/2011/03/08/paste-currently-playing-itunes-song-in-text-fields-aka-amip-for-mac/#comments</comments>
		<pubDate>Tue, 08 Mar 2011 14:52:38 +0000</pubDate>
		<dc:creator>Florian Beer</dc:creator>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[alternative]]></category>
		<category><![CDATA[amip]]></category>
		<category><![CDATA[applescript]]></category>
		<category><![CDATA[itunes]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[service]]></category>

		<guid isPermaLink="false">http://blog.no-panic.at/?p=3866</guid>
		<description><![CDATA[For quite some time Mac users where searching for a way to paste the currently playing song from iTunes in chat messages etc. I never thought about it much but recently a friend of mine, who was a former AMIP user on Windows, needed a similar functionality under OS X. Together we constructed a working solution.&#8230;]]></description>
				<content:encoded><![CDATA[<p><a href="http://blog.no-panic.at/wp-content/uploads/2011/03/automator-icon.png"><img class="alignright size-medium wp-image-3876" title="automator-icon" src="http://blog.no-panic.at/wp-content/uploads/2011/03/automator-icon-300x300.png" alt="" width="192" height="192" /></a>For quite some time Mac users where searching for a way to paste the currently playing song from iTunes in chat messages etc. I never thought about it much but recently a friend of mine, who was a former <a href="http://amip.tools-for.net/wiki/">AMIP</a> user on Windows, needed a similar functionality under OS X. Together we constructed a working solution.</p>
<p>So here it is the <strong>AMIP alternative for Mac</strong>:</p>
<ul>
<ul>
<li>Open Automator and start a new &#8220;Service&#8221;</li>
<li>Choose &#8220;no input&#8221; for &#8220;Service receives&#8221;</li>
<li>Drag the &#8220;Run AppleScript&#8221; Action into the workflow</li>
<li>Paste in the following and edit the output in (<span style="color: #339966;">green</span>) to your hearts desire</li>
</ul>
</ul>
<pre>on run
 try
 tell application "iTunes"
 set songTitle to the name of the current track
 set songArtist to the artist of the current track
 set songAlbum to the album of the current track
 set songYear to the year of the current track
<span style="color: #339966;"> set the clipboard to "np:" &amp; the songArtist &amp; " - " &amp; songTitle &amp; " \"" &amp; songAlbum &amp; ", " &amp; songYear &amp; "\""</span>
 end tell
 end try
 try
 set the clipboard to Unicode text of (the clipboard as record)
 on error errMsg
 display dialog errMsg
 end try
 tell application "System Events"
 key code 9 using {command down}
 end tell
end run</pre>
<ul>
<li>Save the service. I named mine &#8220;music&#8221; (creative isn&#8217;t it? <img src='http://blog.no-panic.at/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  )</li>
<li>Now your able to run the service from every application&#8217;s menu under &#8220;Services&#8221;. Be sure to have your cursor in a text field because the service will immediately paste in the constructed string.</li>
<li>If you&#8217;re in a super nerdy mood today, you can also give your service a keyboard shortcut.<br />
Go to &#8220;System Preferences&#8221;, open &#8220;Keyboard&#8221;, go to &#8220;Keyboard Shortcuts&#8221; and set your desired Hotkey. (mine&#8217;s CMD + SHIFT + M)</li>
</ul>
<p>I&#8217;d be happy to see further improvements, thoughts &amp; ideas about this solutions in the comments!</p>
<p>&nbsp;</p>
<p><em>And to all my Austrian friends: Frohen Faschingsdienstag (not that I&#8217;d care!) </em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.no-panic.at/2011/03/08/paste-currently-playing-itunes-song-in-text-fields-aka-amip-for-mac/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>BSS &#8211; Brainfusion Surveillance System</title>
		<link>http://blog.no-panic.at/2010/11/08/bss-brainfusion-surveillance-system-2/</link>
		<comments>http://blog.no-panic.at/2010/11/08/bss-brainfusion-surveillance-system-2/#comments</comments>
		<pubDate>Mon, 08 Nov 2010 21:14:46 +0000</pubDate>
		<dc:creator>Florian Beer</dc:creator>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[alarm]]></category>
		<category><![CDATA[applescript]]></category>
		<category><![CDATA[brainfusion]]></category>
		<category><![CDATA[bss]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[evocam]]></category>
		<category><![CDATA[ibook]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[isight]]></category>
		<category><![CDATA[livestream]]></category>
		<category><![CDATA[mamp]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[securitysystem]]></category>
		<category><![CDATA[shellscript]]></category>
		<category><![CDATA[stream]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[webcam]]></category>
		<category><![CDATA[zip]]></category>

		<guid isPermaLink="false">http://blog.no-panic.at/?p=3765</guid>
		<description><![CDATA[Last weekend I sat down and built a surveillance system, including an iPhone webapp, for my apartment using my old iBook, an external iSight, the Webcam Software EvoCam and a set of scripts in AppleScript, PHP and some shell scripts. The whole thing is pretty custom made but I&#8217;ll document it here anyway and with a basic&#8230;]]></description>
				<content:encoded><![CDATA[<p><a href="http://blog.no-panic.at/wp-content/uploads/2010/11/apple-touch-icon.png"><img class="size-full wp-image-3776 alignright" title="BSS app icon" src="http://blog.no-panic.at/wp-content/uploads/2010/11/apple-touch-icon.png" alt="BSS app icon" width="100" height="100" /></a>Last weekend I sat down and built a surveillance system, including an iPhone webapp, for my apartment using my old iBook, an external iSight, the Webcam Software <a href="http://www.evological.com/evocam.html">EvoCam</a> and a set of scripts in AppleScript, PHP and some shell scripts.</p>
<p>The whole thing is pretty custom made but I&#8217;ll document it here anyway and with a basic understanding of the technology it should be fairly easy to reproduce with whatever hardware you have available. At the end of the post you&#8217;ll find a ZIP file with all the scripts I used in the setup.</p>
<h2>The set up</h2>
<ul>
<li>The iBook has the iSight connected and pointed at the entrance door.</li>
<li>iBook is using <a href="http://www.mamp.info/en/index.html">MAMP</a> to serve PHP scripts and produces some audible confirmation messages.</li>
<li>The iPhone webapp shows if the system is armed or not, can start or stop EvoCam, lists all the available surveillance videos and offers a link to the live video stream.</li>
</ul>
<div id="attachment_3768" class="wp-caption aligncenter" style="width: 330px"><img class="size-full wp-image-3768 " title="BSS CTRL center" src="http://blog.no-panic.at/wp-content/uploads/2010/11/bss_ctrl_center.png" alt="BSS CTRL center" width="320" height="480" /><p class="wp-caption-text">BSS CTRL center</p></div>
<p>Read on for the whole article with a detailed explanation of all components.<br />
<span id="more-3765"></span></p>
<h2>The course of action</h2>
<p>In addition to the control center there are also two separate webapps for starting and stopping BSS. This allows me to have the three related icons positioned in the bottom left corner of my iPhone home screen. Now whenever I leave the apartment I just need to turn BSS on, with a touch of my finger.</p>
<div id="attachment_3775" class="wp-caption alignleft" style="width: 330px"><img class="size-full wp-image-3775" title="BSS home screen icons" src="http://blog.no-panic.at/wp-content/uploads/2010/11/bss_home_screen_icons.png" alt="BSS home screen icons" width="320" height="200" /><p class="wp-caption-text">BSS home screen icons</p></div>
<p>The iBook then launches EvoCam and announces &#8220;BSS armed&#8221; through Apple&#8217;s built in text to speech engine, so I can hear if everything started up properly. Whenever EvoCam detects motion on the entrance door it will record a video (including a 2 second buffer before the motion event occured and 10 seconds afterwards) and save it to a webaccessible folder.</p>
<p>At this point I still haven&#8217;t decided on the best form of notification I will send out. Right now there&#8217;s a little AppleScript, triggered by EvoCam, that uses Mail.app to send me a predefined Email with the subject &#8220;Intruder Alert!&#8221;. But this method is a bit of a performance hog, so I&#8217;ve considered a number of alternatives. One easy possibility would be to send out an alert via Twitter, but there are also ideas like starting a FaceTime call, having a Push enabled iPhone app that receives the notification or hacking together some kind of way to alarm me via SMS (short message service).</p>
<p>When I get a notification I can choose to see the live stream or the archived video from my iPhone right where I am. The videos are compressed in a format that is playable on iOS and stream nicely over 3G.</p>
<p>When I come home I take out the iPhone again and push the stop button. The system will then announce &#8220;BSS disarmed&#8221; as soon as EvoCam has quit and I can open the door without triggering an alarm.</p>
<h2>Possible additions</h2>
<p>There are a number of improvements I can think of that will be incorporated once I have the time to do them.</p>
<ul>
<li>Using a cookie to save the list of videos, each time the control center is opened. That way I can append a little &#8220;new&#8221; badge on each video link that wasn&#8217;t there the last time I started the webapp.</li>
<li>Re-programm the webapp to use only AJAX (probably using jQuery), so I don&#8217;t fall out of webapp context, whenever an outside link (video, live stream&#8230;) is opened.</li>
</ul>
<h2>EvoCam configuration</h2>
<ul>
<li>On the &#8220;Recording&#8221; tab set the Destination path to the folder you want your movies in (<tt>/Users/ibook/Sites/bss/</tt> in my case). Then choose &#8220;Advanced&#8221; and set the filename to &#8220;YYYY-MM-DD-HH-MM-SS.mov&#8221;</li>
<li>Select a suitable amount of frames to be prepended to the beginning of the video under &#8220;Use Standby Recording&#8221;</li>
<li>Leave &#8220;Use Schedule for Recording&#8221; unchecked</li>
<li>Go to the &#8220;Items&#8221; tab and add a sensor that covers the part of the image you want to monitor for motion.</li>
<li>Under &#8220;Settings&#8221; for that sensor ensure that the sensor is always active and check &#8220;Perform actions selected in the &#8220;Refresh&#8221; tab&#8221;</li>
<li>Configure how long the video should continue recording after the sensor triggered.</li>
<li>Leave all other boxes unchecked.</li>
<li>On the &#8220;Refresh&#8221; tab choose &#8220;When motion is detected&#8221; and select the actions you want to take place.</li>
<li>If you want to run an AppleScript on an event, choose &#8220;Options&#8221; from the main menue and select &#8220;AppleScript Settings&#8221;.</li>
<li>If you want live video, be sure to turn on EvoCam&#8217;s internal webserver on port 8080.</li>
</ul>
<p>Of course there are a lot more settings and tweaks in EvoCam, so once the system is running, come back here and click through everything that&#8217;s available.</p>
<h2>The scripts</h2>
<p>The main hub is the <tt>index.php</tt> file in the BSS root folder. It renders out the HTML for the webapp and ties together all the other components. Download the ZIP file at the end of the post and have a look through all the files, it should be pretty self-explanatory and I&#8217;ve added a few comments but you do have to adjust all the respective paths and your security token (more on that below) to fit your setup.</p>
<p>The <tt>start_evocam.sh</tt> and <tt>stop_evocam.sh</tt> scripts are called via their respective web frontend (PHP scripts in subfolders). They launch and quit evocam and announce the status via text-to-speech. <tt>status.sh</tt> uses an AppleScript oneliner to report 0 if EvoCam is stopped or 1 if EvoCam is running. It also has an accompanying PHP caller script in the status subdirectory. If you&#8217;re confused by the weird folder set up, let me explain. Every script lives in it&#8217;s own subdirectory, so via HTTP I can call all the functions just by appending the name to the base URL. If I need status information I call <tt>http://myhome.com/bss/status</tt>. The same applies to the start &amp; stop commands.</p>
<p>The bss folder needs to be copied to a webaccessible directory &#8211; in my case that is my MAMP web root (in my case: &#8220;Sites&#8221; in my user folder).</p>
<h2>Security</h2>
<p>(kind of!)<br />
Every PHP file&#8217;s first line consists of a check for a token, that is sent via the HTTP call. So to start the system you&#8217;d have the URL <tt>http://myhome.com/bss/start?t=MYSECURITYTOKEN</tt> or the server will give you HTTP Status code 403 (forbidden). Of course this is all sent in clear text and could be easily sniffed, so be sure to implement whatever better security system you need for you environment. But since the URLs only need to be entered once and are then concealed from the screen by iPhone&#8217;s webapp fullscreen capability, I thought that should be enough for the moment.</p>
<h2>Network</h2>
<p>To have access to the security system it is necessary to map port 80 (the main webserver) and port 8080 (EvoCam&#8217;s internal webserver for the live stream) via NAT to the internal IP adress of the Mac running the security system. Otherwise you won&#8217;t be able to access the system from the outside.</p>
<div id="attachment_3792" class="wp-caption alignright" style="width: 218px"><img class="size-medium wp-image-3792 " title="BSS CTRL center startup" src="http://blog.no-panic.at/wp-content/uploads/2010/11/startup-208x300.png" alt="BSS CTRL center startup" width="208" height="300" /><p class="wp-caption-text">BSS CTRL center startup</p></div>
<h2>iPhone installation</h2>
<p>Once all the scripts pathnames and tokens are edited accordingly, you just have to open <tt>http://myhome.com/bss?t=MYSECURITYTOKEN</tt> in Safari on your iPhone and add it to the home screen by tapping the little plus symbol on the bottom toolbar. Now the BSS control center lives as an icon on your iPhone and will start up in fullscreen with a pretty startup image. For the start and stop buttons you have to open <tt>http://myhome.com/bss/start?t=MYSECURITYTOKEN</tt> and <tt>http://myhome.com/bss/stop?t=MYSECURITYTOKEN</tt> and add them to the home screen as well. Each webapp comes with it&#8217;s own descriptive icon and title.</p>
<p>Now your surveillance system should be set up and ready to go.</p>
<h2>Improvements</h2>
<p>I have a custom <tt>website.html</tt> file with a black background and no borders that is not included in the download. This file is used by EvoCam to display the live stream on my iPhone.</p>
<p>The AppleScript to send Email is also omitted from the download, as this is easy to figure out and I&#8217;m still not sure this will be the final way of delivering alert notifications.</p>
<p>If you have any ideas for additions or improvements  I&#8217;d be happy to hear them!</p>
<h2>Download</h2>
<p>Here is the first (and probably last) public release Version of <strong>BSS</strong> the <strong>Brainfusion Surveillance System</strong>:</p>
<div id="attachment_3789" class="wp-caption aligncenter" style="width: 76px"><a href="http://stuff.no-panic.at/src/BSS.zip"><img class="size-full wp-image-3789" title="BSS version 1.0" src="http://blog.no-panic.at/wp-content/uploads/2010/11/zip_icon.png" alt="BSS version 1.0" width="66" height="84" /></a><p class="wp-caption-text">BSS version 1.0</p></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.no-panic.at/2010/11/08/bss-brainfusion-surveillance-system-2/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Perfect iTunes Equalizer Settings</title>
		<link>http://blog.no-panic.at/2010/11/05/perfect-itunes-equalizer-settings/</link>
		<comments>http://blog.no-panic.at/2010/11/05/perfect-itunes-equalizer-settings/#comments</comments>
		<pubDate>Fri, 05 Nov 2010 09:43:29 +0000</pubDate>
		<dc:creator>Florian Beer</dc:creator>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[equalizer]]></category>
		<category><![CDATA[itunes]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[preset]]></category>
		<category><![CDATA[setting]]></category>
		<category><![CDATA[sound]]></category>

		<guid isPermaLink="false">http://blog.no-panic.at/?p=3751</guid>
		<description><![CDATA[One thing I always do first on any new Mac OS X System, is setting up the following preset in iTunes Equalizer. May it be on the iMac at the office, my Black MacBook at home or the trusted old iBook, I found that those always sound the nicest.]]></description>
				<content:encoded><![CDATA[<p>One thing I always do first on any new Mac OS X System, is setting up the following preset in iTunes Equalizer.<br />
May it be on the iMac at the office, my Black MacBook at home or the trusted old iBook, I found that those always sound the nicest.</p>
<p style="text-align: center;"><a href="http://blog.no-panic.at/wp-content/uploads/2010/11/Screen-shot-2010-11-05-at-10.39.08.png"><img class="size-full wp-image-3752 aligncenter" title="Perfect iTunes Equalizer Preset" src="http://blog.no-panic.at/wp-content/uploads/2010/11/Screen-shot-2010-11-05-at-10.39.08.png" alt="Perfect iTunes Equalizer Preset" width="520" height="305" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.no-panic.at/2010/11/05/perfect-itunes-equalizer-settings/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Audiogalaxy &#8211; Your Music. Your Playlists. Hit Play from Anywhere</title>
		<link>http://blog.no-panic.at/2010/10/22/audiogalaxy-your-music-your-playlists-hit-play-from-anywher/</link>
		<comments>http://blog.no-panic.at/2010/10/22/audiogalaxy-your-music-your-playlists-hit-play-from-anywher/#comments</comments>
		<pubDate>Fri, 22 Oct 2010 07:40:05 +0000</pubDate>
		<dc:creator>Florian Beer</dc:creator>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[Network]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[3g]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[App Store]]></category>
		<category><![CDATA[Audiogalaxy]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[ipod]]></category>
		<category><![CDATA[itunes]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[Simplify Media]]></category>
		<category><![CDATA[Wi-Fi]]></category>

		<guid isPermaLink="false">http://blog.no-panic.at/?p=3680</guid>
		<description><![CDATA[Today I&#8217;d like to highlight a software I found out about yesterday called Audiogalaxy. If you&#8217;re about my age you surely remember the peer-to-peer audio file sharing application by the same name that took over Napster&#8217;s market share in 2001. Well this software is actually made by the same people only that they&#8217;ve shifted their&#8230;]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.audiogalaxy.com"><img class="alignright size-full wp-image-3682" title="audiogalaxy" src="http://blog.no-panic.at/wp-content/uploads/2010/10/audiogalaxy.png" alt="Audiogalaxy" width="260" height="54" /></a>Today I&#8217;d like to highlight a software I found out about yesterday called <a href="http://www.audiogalaxy.com">Audiogalaxy</a>.<br />
If you&#8217;re about my age you surely remember the peer-to-peer audio file sharing application by the same name that took over Napster&#8217;s market share in 2001. Well this software is actually made by the same people only that they&#8217;ve shifted their focus from file sharing to a &#8220;placeshifting service&#8221; as they call it. Audiogalaxy lets you install a small client software on your computer that scans all your music and makes it available to you on the audiogalaxy.com website, Android phones &amp; iPhone. And it&#8217;s <strong>completely free</strong>!</p>
<p>There have already been a number of attempts to offer this kind of service, the one I used quite a bit was <a href="http://www.simplifymedia.com/">Simplify Media</a> which unfortunately was shut down. What makes Audiogalaxy truly stand out for me is it&#8217;s easy of installation, performance and iOS integration. I&#8217;ll outline the steps necessary to get the whole system up and running on a Mac and an iPhone.</p>
<ul>
<li>First go to <a href="http://www.audiogalaxy.com">audiogalaxy.com</a> and click on Sign Up. The easiest way is to use Facebook connect so we&#8217;ll choose that option.</li>
<li>Next you&#8217;ll be offered to download the client application for your computer which already has your login data included, so just drop it into your Mac&#8217;s application folder, start it and you&#8217;re good to go.</li>
<li>The website patiently waits to detect the client application on your computer which then starts scanning your default Music location.</li>
<li>It can take quite a while to index a big library, so hop over to your iPhone in the meantime and download the Audiogalaxy App from the App Store.</li>
<li>Start the Audiogalaxy App on your iPhone, log in with Facebook and you&#8217;ll be instantly connected to the music on your computer including all the Playlists you&#8217;ve set up in iTunes.</li>
</ul>
<p>From now on you&#8217;ll be able to play all your computer&#8217;s music via the website or your mobile device (an Android client is available as well). What makes this service really special is the level of integration they&#8217;ve been able to accomplish with iOS. It can really replace you iPod App on the iPhone by offering background music playing, access to play/pause/skip/volume controls via all the available shortcuts and the headset buttons. One last thing I was doubtful about was how it will perform while being on the move, so I tested it out on my morning commute today and let me say I was extremely pleased.<br />
I started music playback before leaving my appartement, so I was still connected to my home WiFi. When I reached the street my iPhone lost contact to the WiFi and switched to 3G, this only triggered a ~2 second gap in playback, after which the music just played on from where it lost contact. Performance on 3G is absolutely brilliant and I could keep on listening during the whole train ride. What was astonishing was that there is a tunnel on my way to work where I know that there is no cellular access at all (phone calls always drop while going through that tunnel), the Audiogalaxy app apparently had enough of the music buffered, so playback continued without interruption. When I got close to my office I once again experienced a little gap in the playback, that was when my phone picked up the company WiFi.</p>
<p>Let me finish of by stating a few things I&#8217;d love to see improved/added to the iPhone client:</p>
<ul>
<li>Submission of played tracks to Last.fm</li>
<li>Updating of the playcount in iTunes&#8217; library</li>
<li>Gapless playback between tracks of an album. If the software manages to play through short signal losses, why not pre buffer the next track as well to offer continuous playback?</li>
</ul>
<p><strong>Software download Links:</strong></p>
<p><strong> </strong></p>
<div id="attachment_3686" class="wp-caption alignleft" style="width: 145px"><strong><img class="size-full wp-image-3686 " title="Android market QR code for Audiogalaxy" src="http://blog.no-panic.at/wp-content/uploads/2010/10/Android-market-QR-code-for-Audiogalaxy.png" alt="Android market QR code for Audiogalaxy" width="135" height="135" /></strong><p class="wp-caption-text">Android market QR code for Audiogalaxy</p></div>
<p><strong> </strong></p>
<div id="attachment_3687" class="wp-caption alignleft" style="width: 158px"><strong><a href="http://itunes.apple.com/app/audiogalaxy-mobile/id373357030"><img class="size-full wp-image-3687" title="Available on the App Store" src="http://blog.no-panic.at/wp-content/uploads/2010/10/appstore.jpeg" alt="Available on the App Store" width="148" height="57" /></a></strong><p class="wp-caption-text">Available on the App Store</p></div>
<p><strong><br />
</strong></p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><img class="zemanta-pixie-img" style="border: none; float: right;" src="http://img.zemanta.com/pixy.gif?x-id=5031a72c-dad0-4a2a-8f55-5ba77ef2b706" alt="" /></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.no-panic.at/2010/10/22/audiogalaxy-your-music-your-playlists-hit-play-from-anywher/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Re-run last command in terminal using sudo</title>
		<link>http://blog.no-panic.at/2010/07/26/re-run-last-command-in-terminal-using-sudo/</link>
		<comments>http://blog.no-panic.at/2010/07/26/re-run-last-command-in-terminal-using-sudo/#comments</comments>
		<pubDate>Mon, 26 Jul 2010 15:22:46 +0000</pubDate>
		<dc:creator>Florian Beer</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[command]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[sudo]]></category>
		<category><![CDATA[terminal]]></category>

		<guid isPermaLink="false">http://blog.no-panic.at/?p=590</guid>
		<description><![CDATA[Why didn&#8217;t I find this sooner? To re-run the last command in terminal use !! which becomes _extremely_ useful, if you forgot you needed root access sudo !! (read: sudo damnit! )]]></description>
				<content:encoded><![CDATA[<p>Why didn&#8217;t I find this sooner?</p>
<p>To re-run the last command in terminal use<br />
<tt>!!</tt><br />
which becomes _extremely_ useful, if you forgot you needed root access<br />
<tt>sudo !!</tt><br />
(read: sudo damnit! <img src='http://blog.no-panic.at/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  )</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.no-panic.at/2010/07/26/re-run-last-command-in-terminal-using-sudo/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Facebook iPhone Dev Quits Project Over Apple Tyranny</title>
		<link>http://blog.no-panic.at/2009/11/12/facebook-iphone-dev-quits-project-over-apple-tyranny/</link>
		<comments>http://blog.no-panic.at/2009/11/12/facebook-iphone-dev-quits-project-over-apple-tyranny/#comments</comments>
		<pubDate>Thu, 12 Nov 2009 08:39:41 +0000</pubDate>
		<dc:creator>Florian Beer</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[appstore]]></category>
		<category><![CDATA[hewitt]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[mobie]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://blog.no-panic.at/2009/11/12/facebook-iphone-dev-quits-project-over-apple-tyranny/</guid>
		<description><![CDATA[Facebook iPhone Dev Quits Project Over Apple Tyranny What a shame! Joe Hewitt was a very skilled iPhone developer and it&#8217;s a pity to see him move back to the web because of Apple&#8217;s App Store policies. My decision to stop iPhone development has had everything to do with Apple’s policies. I respect their right&#8230;]]></description>
				<content:encoded><![CDATA[<p><a href=http://www.techcrunch.com/2009/11/11/joe-hewitt-developer-of-facebooks-massively-popular-iphone-app-quits-the-project/>Facebook iPhone Dev Quits Project Over Apple Tyranny</a></p>
<p>What a shame! Joe Hewitt was a very skilled iPhone developer and it&#8217;s a pity to see him move back to the web because of Apple&#8217;s App Store policies.</p>
<blockquote><p>My decision to stop iPhone development has had everything to do with Apple’s policies. I respect their right to manage their platform however they want, however I am philosophically opposed to the existence of their review process. I am very concerned that they are setting a horrible precedent for other software platforms, and soon gatekeepers will start infesting the lives of every software developer.</p>
<p>The web is still unrestricted and free, and so I am returning to my roots as a web developer. In the long term, I would like to be able to say that I helped to make the web the best mobile platform available, rather than being part of the transition to a world where every developer must go through a middleman to get their software in the hands of users.”</p></blockquote>
<p><small>via <a href=http://www.techcrunch.com/2009/11/11/joe-hewitt-developer-of-facebooks-massively-popular-iphone-app-quits-the-project/>Techcrunch</a></small></p>
<p>Here&#8217;s quite an interesting interview with Joe Hewitt from earlier this year  at the <a href="http://www.mobileorchard.com/interview-with-joe-hewitt-creator-of-facebook’s-iphone-app-the-three20-project-and-facebook-connect-for-iphone/">Mobile Orchard Podcast</a>.<br />
<object type="application/x-shockwave-flash" data="http://podcast.mobileorchard.com/wp-content/plugins/podcasting/player/player.swf" width="290" height="24" id="audioplayer1"><param name="movie" value="http://podcast.mobileorchard.com/wp-content/plugins/podcasting/player/player.swf" /><param name="FlashVars" value="playerID=1&amp;soundFile=http%3A%2F%2Fpodcast.mobileorchard.com%2Fpodcast%2F015-Joe-Hewitt.mp3" /><param name="quality" value="high" /><param name="menu" value="false" /><param name="wmode" value="transparent" /></object></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.no-panic.at/2009/11/12/facebook-iphone-dev-quits-project-over-apple-tyranny/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using apc
Database Caching 4/11 queries in 0.019 seconds using apc
Object Caching 905/908 objects using apc

 Served from: blog.no-panic.at @ 2013-05-21 13:55:22 by W3 Total Cache -->