<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel><title>maplesteve.com</title><link>http://maplesteve.com/</link><description>Digital &amp; analog life plus Tech &amp; HowTo’s</description><item><title>Apple WWDC 2013 - New AppleTV World?</title><link>http://maplesteve.com/2013/06/07/wwdc-2013</link><guid isPermaLink="false">/2013/06/07/wwdc-2013</guid><pubDate>Fri, 07 Jun 2013 01:14:15 CEST</pubDate><description>&lt;p&gt;This years developer conference to be held by Apple beginning June, 10th is teased with a headline:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Where a whole new world is developing&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Apple wouldn&amp;#8217;t be Apple, if there wasn&amp;#8217;t a deeper meaning in this headline. So I started to think about, what this years headline could hint us to.&lt;/p&gt;

&lt;p&gt;Everybody talks about the known things, previews of iOS 7 and MacOS 10.9 the successor of Mountain Lion, some (minor) hardware refreshes etc. And everyone seems to be sure, that we shouldn&amp;#8217;t hold our breath hoping for a new iPhone or iPad.
What do these things have to do with the 2013 claim? Nothing.&lt;/p&gt;

&lt;p&gt;Does the &amp;#8216;new world&amp;#8217; mean to focus on the invasion of the iPhone into China or India, which are countries being obviously late to the iPhone party? No - we saw a China-focus in last years iOS 6. Dedicate the most import event of the Apple calendar to welcome the huge market of India? Surely not.&lt;/p&gt;

&lt;p&gt;What actually wonders me, is that noone talks about the iWatch or Apple TV (aka iTV) in context with WWDC - o.k. iWatch seems too far away, but what about the &amp;#8220;new world&amp;#8221; that&amp;#8217;s &amp;#8220;developing&amp;#8221; simply a &lt;em&gt;new world&lt;/em&gt; of iOS devices, that weren&amp;#8217;t opened for the developers until now: the Apple TV?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Therefore my money would be on the introduction of the APIs for bringing all the great content and apps to the big screen via an App Store for the Apple TV.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We&amp;#8217;ll see.&lt;/p&gt;
</description></item><item><title>Jenkins Plugin: Create Jira issues for failed unit tests with JiraTestResultReporter</title><link>http://maplesteve.com/2013/03/24/create-jira-issues-from-jenkins</link><guid isPermaLink="false">/2013/03/24/create-jira-issues-from-jenkins</guid><pubDate>Sun, 24 Mar 2013 18:52:21 CET</pubDate><description>&lt;p&gt;&lt;strong&gt;Update: The pluginis now available in the official Jenkins plugin repository!&lt;/strong&gt;
&lt;strong&gt;Details here: &lt;a href="https://wiki.jenkins-ci.org/display/JENKINS/JiraTestResultReporter-plugin"&gt;https://wiki.jenkins-ci.org/display/JENKINS/JiraTestResultReporter-plugin&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;strong&gt;Testing your code with unit tests is a fine thing and using a &lt;a href="https://jenkins-ci.org" title="Jenkins CI"&gt;Jenkins CI server&lt;/a&gt; for those tests is even better. Automatically creating issues in Jira for failed tests makes the workflow complete. This is what the JiraTestResultReporter plugin for Jenkins does.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This plugin examines the build job for failed unit tests. It work by using the Jenkins internal test result management for detecting failed tests. Just let Jenkins run and report your unit tests e.g. by adding the &amp;#8220;Publish xUnit test results report&amp;#8221; to your build job.&lt;/p&gt;

&lt;p&gt;If JiraTestResultReporter detects &lt;em&gt;new&lt;/em&gt; failed tests, it will create an issue for every test case in Jira:&lt;/p&gt;

&lt;p&gt;&lt;a class="fancybox" href="/media/2013/03/jirascreen.png"&gt;&lt;img src="/media/2013/03/thumb_jirascreen.png" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;Installation&lt;/h3&gt;

&lt;p&gt;As long as my hosting request to get the plugin included in the official plugin repository of Jenkins CI is pending, you&amp;#8217;ll have to either build the plugin yourself or you can download the recent snapshot:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Build yourself

&lt;ul&gt;
&lt;li&gt;Download or clone the source code from &lt;a href="https://github.com/maplesteve/JiraTestResultReporter" title="JiraTestResultReporter on GitHub"&gt;GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cd&lt;/code&gt; into the downloaded directory&lt;/li&gt;
&lt;li&gt;execute the maven command &lt;code&gt;mvn package&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;or&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Download the plugin package from &lt;a href="http://maplesteve.com/media/2013/03/JiraTestResultReporter.hpi" title="JiraTestResultReporter.hpi"&gt;here&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;then&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Upload the built or downloaded file &lt;code&gt;JiraTestResultReporter.hpi&lt;/code&gt; to the plugins directory of your Jenkins installation or use the plugin uploader from &lt;em&gt;Manage Jenkins&lt;/em&gt; -&gt; &lt;em&gt;Manage Plugins&lt;/em&gt; -&gt; &amp;#8220;Advanced&amp;#8221; tab&lt;/li&gt;
&lt;li&gt;restart Jenkins&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Usage&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;In the build job add JiraTestResultReporter as a post-build action.&lt;/li&gt;
&lt;li&gt;Configure the plugin for this job. See the help boxes for details. I have the dedicated Jira user &amp;#8216;jenkins_reporter&amp;#8217; for these kinds of automatic reports.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a class="fancybox" href="/media/2013/03/configscreen.png"&gt;&lt;img src="/media/2013/03/thumb_configscreen.png" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Build your job. If there are failed tests, the plugin will create issues for them. This will (should!) happen only once for every new failed tests; new in this case means tests that have an age of exactly 1.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Leave a comment if you like this or have any issues with the plugin.&lt;/em&gt;&lt;/p&gt;
</description></item><item><title>Jenkins PMD analysis for Objective-C with oclint</title><link>http://maplesteve.com/2013/03/10/jenkins-pmd-analysis-for-objective-c-with-oclint</link><guid isPermaLink="false">/2013/03/10/jenkins-pmd-analysis-for-objective-c-with-oclint</guid><pubDate>Sun, 10 Mar 2013 19:48:50 CET</pubDate><description>&lt;p&gt;&lt;a href="http://oclint.org"&gt;OCLint&lt;/a&gt; is a static code analyzer for C, C++ and Objective-C. You&amp;#8217;ll find it &lt;a href="https://github.com/oclint/oclint"&gt;here&lt;/a&gt; on GitHub.&lt;/p&gt;

&lt;p&gt;Today the maintainer merged my pull request in which I made an additional reporter module which writes a PMD-style file.&lt;/p&gt;

&lt;p&gt;Having that, you can let the PMD Analysis run by Jenkins reports about your coding sins.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://maplesteve.com/media/2013/03/oclint-pmd-report.png" alt="" /&gt;&lt;/p&gt;

&lt;p&gt;Here&amp;#8217;s how to set the whole thing up:&lt;/p&gt;

&lt;h5&gt;1. Setup OCLint&lt;/h5&gt;

&lt;p&gt;a. Get the latest source code from GitHub&lt;/p&gt;

&lt;p&gt;b. Follow the &lt;a href="http://docs.oclint.org/en/dev/intro/build.html"&gt;instructions&lt;/a&gt; to build OCLint&lt;/p&gt;

&lt;p&gt;c. &lt;a href="http://docs.oclint.org/en/dev/intro/installation.html"&gt;Install&lt;/a&gt; it.&lt;/p&gt;

&lt;h5&gt;2. Build file for Jenkins&lt;/h5&gt;

&lt;p&gt;The invocation of OCLint is configured in a build.xml. I&amp;#8217;ll walk you through this one.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;
&amp;lt;project name="fooProject" default="build-fooProject"&amp;gt;

&amp;lt;property environment="env"/&amp;gt;

&amp;lt;target name="build-fooProject" depends="prepare,oclint" /&amp;gt;

&amp;lt;target name="clean" description="Cleanup build artifacts"&amp;gt;
    &amp;lt;delete dir="${basedir}/build/oclint" /&amp;gt; 
&amp;lt;/target&amp;gt;

&amp;lt;target name="prepare" depends="clean" description="Prepare for build"&amp;gt;
    &amp;lt;mkdir dir="${basedir}/build/oclint" /&amp;gt; 
&amp;lt;/target&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Standard stuff so far. Setup the project and prepare the directories.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;target name="oclint"&amp;gt;
    &amp;lt;antcall target="xcodebuild-clean" /&amp;gt;
    &amp;lt;antcall target="xcodebuild" /&amp;gt;
    &amp;lt;antcall target="oclint-xcodebuild" /&amp;gt;
    &amp;lt;antcall target="oclint-parse" /&amp;gt;
&amp;lt;/target&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Our &lt;code&gt;oclint&lt;/code&gt; invocation has four steps.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;target name="xcodebuild-clean"&amp;gt;
    &amp;lt;exec executable="xcodebuild"&amp;gt;
        &amp;lt;arg value="-configuration" /&amp;gt;
        &amp;lt;arg value="Release" /&amp;gt;
        &amp;lt;arg value="clean" /&amp;gt;
    &amp;lt;/exec&amp;gt;
&amp;lt;/target&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;This ensures, that we have a clean build.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;target name="xcodebuild"&amp;gt;
    &amp;lt;exec executable="xcodebuild" output="xcodebuild.log"&amp;gt;
        &amp;lt;arg value="-configuration" /&amp;gt;
        &amp;lt;arg value="Release" /&amp;gt;
        &amp;lt;arg value="-arch" /&amp;gt;
        &amp;lt;arg value="armv7" /&amp;gt;
        &amp;lt;arg value="CODE_SIGN_IDENTITY=" /&amp;gt;
        &amp;lt;arg value="CODE_SIGNING_REQUIRED=NO" /&amp;gt;
    &amp;lt;/exec&amp;gt;
&amp;lt;/target&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Now we build our project. The important part is &lt;code&gt;output="xcodebuild.log"&lt;/code&gt;; this will write the output to a file which will be fed to a helper script in the next step.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;target name="oclint-xcodebuild"&amp;gt;
    &amp;lt;exec executable="PATH_TO_oclint-release/bin/oclint-xcodebuild" /&amp;gt;
&amp;lt;/target&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;code&gt;oclint-xcodebuild&lt;/code&gt; reads the &lt;code&gt;xcodebuild.log&lt;/code&gt; and produces the file &lt;code&gt;compile_commands.json&lt;/code&gt;. This file holds all the compiler stuff and is the input format for &lt;code&gt;oclint&lt;/code&gt;.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;target name="oclint-parse"&amp;gt;
    &amp;lt;exec executable="PATH_TO_oclint-release/bin/oclint-json-compilation-database"&amp;gt;
        &amp;lt;env key="PATH" value="${env.PATH}:PATH_TO_oclint-release/bin/"/&amp;gt;
        &amp;lt;arg value="--" /&amp;gt;
        &amp;lt;arg value="-o=${basedir}/build/oclint/lint.xml" /&amp;gt;
        &amp;lt;arg value="-report-type=pmd" /&amp;gt;
        &amp;lt;arg value="-stats" /&amp;gt;
    &amp;lt;/exec&amp;gt;
&amp;lt;/target&amp;gt;
&amp;lt;/project&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Finally, this is where the magic happens. &lt;code&gt;oclint-json-compilation-database&lt;/code&gt; feeds the &lt;code&gt;compile_commands.json&lt;/code&gt; file to &lt;code&gt;oclint&lt;/code&gt;. The &lt;code&gt;-report-type=pmd&lt;/code&gt; flag tells it to use the PMDReporter, which will write its findings to a file called &lt;code&gt;lint.xml&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Be sure to consult the documentation for OCLint and its helpers for the various arguments you can provide.&lt;/p&gt;

&lt;p&gt;I created a gist with the whole file &lt;a href="https://gist.github.com/maplesteve/5129782"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;h5&gt;3. Configure the job in Jenkins&lt;/h5&gt;

&lt;p&gt;a. Go to the configuration page of your job in Jenkins.&lt;/p&gt;

&lt;p&gt;b. Add a build-step with the build.xml&lt;/p&gt;

&lt;p&gt;c. Add a post-build action &amp;#8220;Publish PMD analysis results&amp;#8221; and enter the path to the xml file we produced. In this example it would be &lt;code&gt;build/oclint/lint.xml&lt;/code&gt;&lt;/p&gt;

&lt;h5&gt;4. Build the job&lt;/h5&gt;

&lt;p&gt;If everything worked, you should have a new section &amp;#8220;PMD Warnings&amp;#8221; in your build information and after a few builds the trend chart will be produced.&lt;/p&gt;
</description></item><item><title>Xcode &amp; LLDB: Need to know what’s calling your method?</title><link>http://maplesteve.com/2013/03/08/xcode_and_lldb__need_to_know_whats_calling_your_method</link><guid isPermaLink="false">/2013/03/08/xcode_and_lldb__need_to_know_whats_calling_your_method</guid><pubDate>Fri, 08 Mar 2013 00:17:22 CET</pubDate><description>&lt;p&gt;&lt;strong&gt;Recently I wondered why a specific method gets called way more often than I would expect. I wanted to find out, which other methods call this.&lt;/strong&gt;&lt;/p&gt;

&lt;h5&gt;The usual approach…&lt;/h5&gt;

&lt;p&gt;… would be to set a breakpoint at the beginning of the method and look at the stack trace of Xcode&amp;#8217;s &amp;#8216;&lt;em&gt;Debug Session&lt;/em&gt;&amp;#8217; pane for the calling methods. Surely a tedious way. You&amp;#8217;ll have to write down the caller and the context that led to the caller.&lt;/p&gt;

&lt;h5&gt;A better way…&lt;/h5&gt;

&lt;p&gt;… is to utilize the breakpoint capabilities of Xcode or - more specifically - of &lt;em&gt;LLDB&lt;/em&gt;, the new debugger which comes with the new compiler &lt;em&gt;CLANG&lt;/em&gt;.
In this approach, you&amp;#8217;ll also set a breakpoint at the beginning of the called method. Then select the breakpoint label and ctrl-click to get a small pop-up which let&amp;#8217;s you define the &lt;em&gt;behavior&lt;/em&gt; of the breakpoint:&lt;/p&gt;

&lt;p&gt;&lt;a class="fancybox" href="/media/2013/03/Xcode.png"&gt;&lt;img src="/media/2013/03/thumb_Xcode.png" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Three simple things to do:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Select &amp;#8216;Debugger Command&amp;#8217; from the &amp;#8216;Action&amp;#8217; pop-up&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Enter &amp;#8216;&lt;code&gt;bt 10&lt;/code&gt;&amp;#8217; into the text field&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Check &amp;#8216;Automatically continue after evaluating&amp;#8217;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&amp;#8216;&lt;code&gt;bt&lt;/code&gt;&amp;#8217; is a command that LLDB understands. It&amp;#8217;s the short for &amp;#8216;backtrace&amp;#8217;. The following number defines the number of steps the trace will have. In this case &amp;#8216;&lt;code&gt;bt 10&lt;/code&gt;&amp;#8217;  instructs the debugger to print the last 10 method calls before it hit the breakpoint. Exactly what we need.
The check we set in the third step has the simple effect, that the program keeps running, which is nice if you&amp;#8217;re testing e.g. the GUI part of an application.&lt;/p&gt;

&lt;p&gt;After you ran the program (don&amp;#8217;t forget to enable breakpoints) you&amp;#8217;ll find the logged traces in the debugger console:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;* thread #1: fooApp -[WMSCollectionViewController collectionView:didSelectItemAtIndexPath:] at WMSCollectionViewController+CollectionViewDelegate.m:41, stop reason = breakpoint 2.1

frame #0: fooApp -[WMSCollectionViewController collectionView:didSelectItemAtIndexPath:] at WMSCollectionViewController+CollectionViewDelegate.m:41

#1: fooApp -[WMSCollectionViewController updateCollectionView] at WMSCollectionViewController.m:158

#2: fooApp -[WMSCollectionViewController reloadDocuments:] at WMSCollectionViewController.m:136

#3: Foundation __57-[NSNotificationCenter addObserver:selector:name:object:]_block_invoke_0

#4: CoreFoundation ___CFXNotificationPost_block_invoke_0

#5: CoreFoundation _CFXNotificationPost

#6: Foundation -[NSNotificationCenter postNotificationName:object:userInfo:]

#7: fooApp -[WMSAppDelegate checkDocumentsOpenState] at WMSAppDelegate+DocumentSetup.m:247

#8: fooApp -[WMSAppDelegate observeValueForKeyPath:ofObject:change:context:] at WMSAppDelegate+DocumentSetup.m:232

#9: Foundation NSKeyValueNotifyObserver
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;(I deleted some information for this purpose; so try it yourself - you&amp;#8217;ll find a lot of useful things in there!)&lt;/p&gt;

&lt;p&gt;So what can we learn from the output?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;The first line marks the method that triggered the trace (the one, we set our breakpoint) and describes the thread which is useful if you have to wade through multi-threaded logic of your application.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;As this is a trace from the viewpoint of the called method where we set the breakpoint, the frames are in reverse order. They are prefixed with &lt;code&gt;frame&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Next is the framework or library the called method belongs to. In the example, there are method call from &lt;code&gt;fooApp&lt;/code&gt; which is the example app itself or the frameworks (&lt;code&gt;UIKit&lt;/code&gt;, &lt;code&gt;Fondation&lt;/code&gt;, &lt;code&gt;CoreFoundation&lt;/code&gt; etc.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;So, now we know, that initially a KVO (Key-Value-Observing) led to the call of our examined method. KVO triggered a Notification which called &lt;code&gt;reloadDocuments:&lt;/code&gt;. In &lt;code&gt;reloadDocuments:&lt;/code&gt; the method &lt;code&gt;updateCollectionView&lt;/code&gt;got called and finally from that one we landed at our investigation method.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;As a further convenience the file and line number from which a method are called is also printed.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Cool, eh?&lt;/p&gt;
</description></item><item><title>Passbook: NFC ohne NFC?</title><link>http://maplesteve.com/2012/09/05/passbook</link><guid isPermaLink="false">/2012/09/05/passbook</guid><pubDate>Wed, 05 Sep 2012 23:28:56 CEST</pubDate><description>&lt;p&gt;Interessanter Ansatz.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Apple&amp;#8217;s new Passbook feature in iOS 6 isn&amp;#8217;t just a coupon app; it&amp;#8217;s a framework that enables retailers to develop smart apps for transactions, without relying on new Near Field Communications (NFC) hardware to do so.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Via &lt;a href="http://bit.ly/NMS5U1"&gt;AppleInsider&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>Install HeaderDoc on Ubuntu</title><link>http://maplesteve.com/2012/02/26/install-headerdoc-on-ubuntu</link><guid isPermaLink="false">/2012/02/26/install-headerdoc-on-ubuntu</guid><pubDate>Sun, 26 Feb 2012 02:22:04 CET</pubDate><description>&lt;p&gt;HeaderDoc is a very versatile document generation system by Apple, which can handle a wide variety of languages. The latter was the reason for me to give it a chance, since other generator either work only with a specific language or produce (for me) unusable results.
HeaderDoc works fine with PHP, JavaScript etc. which makes it a perfect tool for web projects - otherwise you&amp;#8217;ll have to deal with different tools, which can&amp;#8217;t produce combined docs.&lt;/p&gt;

&lt;p&gt;HeaderDocs comes with Mac OS X (at least when you have Xcode installed). But I wanted to use it on my Ubuntu server where Jenkins does all the integration stuff.&lt;/p&gt;

&lt;p&gt;Apple has open-sourced HeaderDoc and you can find it on Apple&amp;#8217;s open source website at &lt;a href="http://www.opensource.apple.com/"&gt;http://www.opensource.apple.com/&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;Downlaod &amp;amp; unpack&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;The most recent version is in the Mac OS X 10.7.3 tree; copy this link and download the archive into a directory on your Linux machine: &lt;a href="http://www.opensource.apple.com/tarballs/headerdoc/headerdoc-8.8.38.tar.gz"&gt;http://www.opensource.apple.com/tarballs/headerdoc/headerdoc-8.8.38.tar.gz&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;wget http://www.opensource.apple.com/tarballs/headerdoc/headerdoc-8.8.38.tar.gz&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;unpack with &lt;code&gt;tar -xvzf headerdoc-8.8.38.tar.gz&lt;/code&gt; and &lt;code&gt;cd&lt;/code&gt; into the created directory&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;Requirements&lt;/h4&gt;

&lt;p&gt;HeaderDocs is basically a PERL script, so you&amp;#8217;ll need a recent PERL installation. This should be the case on every &amp;#8216;normal&amp;#8217; system, so I won&amp;#8217;t dive into installing PERL here. Besides that, HeaderDoc needs some other libraries. If they&amp;#8217;re not installed, run the following commands:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;FreezeThaw&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;sudo apt-get install libfreezethaw-perl&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;libxml2-dev&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;sudo apt-get install libxml2-dev&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;xmllint (from the libxml2-utils)&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;sudo apt-get install libxml2-utils&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://wiki.debian.org/CheckInstall"&gt;checkinstall&lt;/a&gt; (not necessary for this installation, but you should alway use checkinstall, when manually installing software, which circumvents the Ubuntu/Debian package system!)&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;sudo apt-get install checkinstall&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;Build &amp;amp; install&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;make clean&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;make&lt;/code&gt; - This will actually compile the software &amp;amp; libraries and performs a lot of tests. Three of them (&amp;#8216;class 3&amp;#8217;, &amp;#8216;header 5&amp;#8217;, &amp;#8216;template 1&amp;#8217;) failed during my install, but I didn&amp;#8217;t notice any false behaviour using HeaderDoc.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;sudo checkinstall make realinstall&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ready. You should have now two files in &lt;code&gt;/usr/bin/&lt;/code&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;headerdoc2html - the processor itself&lt;/li&gt;
&lt;li&gt;gatherheaderdoc - a utility to combine the docs in an overview&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You&amp;#8217;ll find the documentaion for HeaderDoc on &lt;a href="https://developer.apple.com/library/mac/#documentation/DeveloperTools/Conceptual/HeaderDoc/"&gt;Apple&amp;#8217;s developer site&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>Mac OS X: WebDAV protocol not supported (solved)</title><link>http://maplesteve.com/2012/02/12/mac-os-x--webdav-protocol-not-supported-solved</link><guid isPermaLink="false">/2012/02/12/mac-os-x--webdav-protocol-not-supported-solved</guid><pubDate>Sun, 12 Feb 2012 01:16:41 CET</pubDate><description>&lt;p&gt;When you see in your console log messages like&lt;/p&gt;

&lt;p&gt;&lt;code&gt;11.02.12 17:36:41,009 webdavfs_agent: network_mount: WebDAV protocol not supported; file: /SourceCache/webdavfs/webdavfs-322/    mount.tproj/webdav_network.c; line: 3131&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;then this doesn&amp;#8217;t necessarily mean, that Mac OS X suddenly stopped understanding the WebDAV server it could mount minutes ago. In fact it&amp;#8217;s more likely, that the problem lies on the server side and the DAV config is incomplete.&lt;/p&gt;

&lt;p&gt;Since the Mac OS web DAV client isn&amp;#8217;t really chatty about what&amp;#8217;s (wr)on(g) here, you should use e.g. &lt;a href="http://www.webdav.org/cadaver/"&gt;cadaver&lt;/a&gt; - a unix WebDAV client for debugging.&lt;/p&gt;

&lt;p&gt;The client can properly connect to the DAV server which you can see by the result code (&amp;#8220;200&amp;#8221;) in the apache log file:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;"OPTIONS / HTTP/1.1" 200 250 "-" "cadaver/0.23.3 neon/0.29.0"&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;But the client tells you, that there&amp;#8217;s something wrong anyhow, which you can verify again in the apache log:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;"PROPFIND / HTTP/1.1" 405 508 "-" "cadaver/0.23.3 neon/0.29.0"&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The result code &amp;#8220;405&amp;#8221; means &amp;#8220;Method not allowed&amp;#8221; - does the client try to talk to the DAV server via incorrect command and Mac OS therefore reports the &amp;#8220;not supported&amp;#8221; message? No, it&amp;#8217;s just that the DAV server doesn&amp;#8217;t know how to handle the DAV protocol properly.&lt;/p&gt;

&lt;p&gt;So go and check your server config. When I upgraded Plesk from version 10.2 to 10.4, the upgrade process didn&amp;#8217;t catch all the relevant vhost.conf files and therefore left me with a half configured DAV server. The problem is, that Plesk 10.4 uses a diefferent directory layout under &lt;code&gt;/var/www/vhosts/&lt;/code&gt; and I had to manually copy and configure the vhost.conf files to their new place to be.&lt;/p&gt;
</description></item><item><title>OCR speed: DevonThink Pro Office vs. ScanSnap S1300M</title><link>http://maplesteve.com/2012/01/29/devonthink-vs-scansnap-ocr</link><guid isPermaLink="false">/2012/01/29/devonthink-vs-scansnap-ocr</guid><pubDate>Sun, 29 Jan 2012 18:40:50 CET</pubDate><description>&lt;p&gt;That the integrated OCR engine, that ships with DevonThink Pro Office is only the single-core version is  known - it&amp;#8217;s due to licensing issues and DevonThink would have to charge a lot more if they made available the multi-core version.&lt;/p&gt;

&lt;p&gt;I wanted to know, if the Abby FineReader which ships with the Fujitsu ScanSnap S1300M utilizes the multi-core capability. So I ran some tests.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Though I dont&amp;#8217;t think, it uses multiple cores, I found the ScanSnap to be 4x faster.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For a 2,5 pages document, the &amp;#8216;normal&amp;#8217; workflow (use the built-in OCR of DT) takes &lt;em&gt;a lot more time&lt;/em&gt; compared to a slightly different workflow, where the OCR is done by the ScanSnap software. The actual result for the OCR job where 48 seconds vs. 12 seconds.&lt;/p&gt;

&lt;p&gt;The caveat is, that this approach doesn&amp;#8217;t have the queue feature, that DT has, so that it&amp;#8217;ll have to finish the OCR process before you can feed it the next document. But since the OCR is 4 times faster, this is a minor one, since it will increase your overall throughput.&lt;/p&gt;

&lt;p&gt;If you want to follow this, just check &amp;#8220;convert to searchable PDF&amp;#8221; in the  in the profile settings in ScanSnap. Then uncheck the same in the DevonThink Pro Office preferences.&lt;/p&gt;
</description></item><item><title>How to solve slow rrdtool graph creation</title><link>http://maplesteve.com/2011/10/22/how-to-solve-slow-rrdtool-graph-creation</link><guid isPermaLink="false">/2011/10/22/how-to-solve-slow-rrdtool-graph-creation</guid><pubDate>Sat, 22 Oct 2011 00:00:00 CEST</pubDate><description>&lt;p&gt;After upgrading my cacti server to Mac OS X Lion, the graphs in my Cacti installation needed a very long time to render and the CPU usage of rrdtool spiked – somehow blocking the whole machine.&lt;/p&gt;

&lt;p&gt;The rrdtool which is needed by cacti has been installed via Fink, which is a fine project maintaining all the usual *nix tools, that don’t come with Mac OS X. Fink gives you the convenience of a Debian package manager and makes installing additional software a breeze.&lt;/p&gt;

&lt;p&gt;Because I didn’t know exactly which program was responsible for the slow rendering, I dumped the whole fink tree which is normally located at /sw and started over with a fresh install. After fink completed all the compiling an installation I had a fast cacti again. Since I didn’t update the fink packages regulary, I was sure, that some bugfixes in the newer versions resolved the slowness problem.&lt;/p&gt;

&lt;p&gt;After the recent update of Lion to 10.7.2, I had to realize, that the rendering was totally slow again. So I thought, that an update of rrdtool and the other needed tools should do the trick again. Unfortunately there was no newer version of the tools as those which where already installed.&lt;/p&gt;

&lt;p&gt;After trying some things (which didn’t help), I looked for a way to circumvent the dump-everything-and-spend-another-two-hours-reinstalling thing. Since there was no newer version for 10.7.2, there must be a different cause.&lt;/p&gt;

&lt;p&gt;I figured out, that one of the following tools had to be the offending one:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;librrd4-shlibs&lt;/li&gt;
&lt;li&gt;rrdtool&lt;/li&gt;
&lt;li&gt;pango1-xft2-ft219 (dev, shlibs &amp;amp; the main one)&lt;/li&gt;
&lt;li&gt;freetype219 (main &amp;amp; shlibs)&lt;/li&gt;
&lt;li&gt;fontconfig2&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So find their package name and remove them (example for ‘freetype’):&lt;/p&gt;

&lt;p&gt;&lt;a class="fancybox" href="/media/2011/10/remove_package.png"&gt;&lt;img src="/media/2011/10/thumb_remove_package.png" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When you delete or remove a package via fink and then reinstall it again, fink makes use of the binary packages it produced during the former installation. (I tried the command-line switches to avoid this behaviour but had no luck.)&lt;/p&gt;

&lt;p&gt;What helped, was to delete the packages from the cache directories (on my system this is at &lt;code&gt;/sw/fink/10.7/stable/main/binary-darwin-x86_64/&lt;/code&gt;) and starting the fink install command again.&lt;/p&gt;

&lt;p&gt;I think it’s safe to delete them all:&lt;/p&gt;

&lt;p&gt;&lt;a class="fancybox" href="/media/2011/10/NewImage.png"&gt;&lt;img src="/media/2011/10/thumb_NewImage.png" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;fink grabs the source and – since the binary package is no longer available – compiles everything from scratch.&lt;/p&gt;

&lt;p&gt;Install the packages. It’s best to start with the main package (the one you were initially interested in), because the package management of fink will install additional ones automatically when needed:&lt;/p&gt;

&lt;p&gt;&lt;a class="fancybox" href="/media/2011/10/NewImage1.png"&gt;&lt;img src="/media/2011/10/thumb_NewImage1.png" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After that, the rrdtool graph rendering was fast again. So my conclusion is, that even during minor updates of Mac OS X, underlying things can change that way, that programs don’t work as expected, if they were compiled on a different version of the system.&lt;/p&gt;

&lt;p&gt;So, if your tools behave different after an update or upgrade, try a fresh compile of them first.&lt;/p&gt;
</description></item><item><title>→ Seat Demonstration Fail</title><link>http://failblog.org/2011/05/01/epic-fail-photos-seat-demonstration-fail-gif/</link><guid isPermaLink="false">http://failblog.org/2011/05/01/epic-fail-photos-seat-demonstration-fail-gif/</guid><pubDate>Sun, 01 May 2011 00:00:00 CEST</pubDate><description>&lt;p&gt;Herrlich. Hat Paul McCartney früher Auto-Sendungen moderiert?&lt;/p&gt;

&lt;p&gt;&lt;img src="/media/2011/05/seatlevershowdotheyworkp1.gif" alt="" /&gt;&lt;/p&gt;

&lt;p&gt;(Via FAILBlog)&lt;/p&gt;


&lt;p&gt;&lt;a href="http://maplesteve.com/2011/05/01/seat-demonstration-fail"&gt;&amp;#8734; Permalink&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Von Äpfeln und Birnen…</title><link>http://maplesteve.com/2011/04/28/von-aepfeln-und-birnen</link><guid isPermaLink="false">/2011/04/28/von-aepfeln-und-birnen</guid><pubDate>Thu, 28 Apr 2011 00:00:00 CEST</pubDate><description>&lt;p&gt;Das ansonsten recht informative “Chart of the Day” von businessinsider.com beschäftigte sich jüngst mit einem eher merkwürdigen Vergleich und stellt darin die Anzahl verkaufter Windows 7 Lizenzen den “iOS units” gegenüber, die im entsprechenden Zeitraum verkauft wurden:&lt;/p&gt;

&lt;p&gt;&lt;a class="fancybox" href="/media/2011/04/chart-of-the-day-windows-7-licenses-vs-apple-ios-units-april-20111.jpg"&gt;&lt;img src="/media/2011/04/thumb_chart-of-the-day-windows-7-licenses-vs-apple-ios-units-april-20111.jpg" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Wobei mir nicht mal klar ist, was “iOS units” überhaupt sein sollen, da laut Legende Macs mitgezählt wurden, diese jedoch definitiv nicht mit iOS laufen…&lt;/p&gt;

&lt;p&gt;Diese kleine Unschärfe mal beiseite gelassen, bleibt die Frage, was der Vergleich überhaupt soll. Die wesentliche (einzige) “Ableitung”, die getroffen wird, lautet:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;For all of its mind-blowing success, sales of Apple’s computing products are still just a fraction of Microsoft’s Windows 7 licenses.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Und? Hier wird doch nicht etwa der Verkauf einer neuen Software für eine installierte Basis von über 1 Milliarde PCs mit Verkäufen von iPhones, iPads und iPod touch Geräten verglichen? Mit einer Plattform, die vor drei Jahren bei Null gestartet ist? Kann ich mir nicht vorstellen – das wäre ja so, als würde man verkaufte Liter Heizöl mit der Anzahl errichteter Windkraftanlagen vergleichen. Würde ja niemand machen. Genauso wenig, wie niemand die Frage stellen würde, warum nach 1,5 Jahren gerade mal ein Drittel der Nutzer auf die angeblich so ersehnte neue Version gewechselt ist. Zur Erinnerung: lässt man das komplett gescheiterte Vista mal ausser Acht, wurde das letzte (halbwegs) brauchbare Microsoft System – Windows XP – vor gut zehn Jahren (!) auf den Markt gebracht. Da braucht es schon schräge Vergleiche, um das als Erfolg werten zu können…&lt;/p&gt;

&lt;p&gt;Kopfschüttel…&lt;/p&gt;
</description></item><item><title>Das Playstation-Desaster</title><link>http://maplesteve.com/2011/04/26/das-playstation-desaster</link><guid isPermaLink="false">/2011/04/26/das-playstation-desaster</guid><pubDate>Tue, 26 Apr 2011 00:00:00 CEST</pubDate><description>&lt;p&gt;Es ist ein Drama. Vor sechs Tagen wurde in die Server ‘eingebrochen’, die das Playstation-Network (PSN) hosten. Über das PSN werden Updates und Spiele-Demos verteilt, Spielstände verwaltet und Nachrichten ausgetauscht. Ausserdem beherbergt das PSN den Playstation-Store, in dem man Spiele, Musik und Filme kaufen kann. Seitdem ist das PSN offline und Sony geht davon aus, dass “in einer Woche” (!) der Betrieb wieder aufgenommen werden kann. Heute meldete sich Sony mit einem &lt;a href="http://blog.us.playstation.com/2011/04/26/update-on-playstation-network-and-qriocity/"&gt;Update&lt;/a&gt;.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;strong&gt;Valued PlayStation Network/Qriocity Customer:&lt;/strong&gt;
  We have discovered that between April 17 and April 19, 2011, certain PlayStation Network and Qriocity service user account information was compromised in connection with an illegal and unauthorized intrusion into our network.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Eine Woche nachdem die Sony-Experten den Einbruch festgestellt haben, informieren sie nun die über 75 Millionen Nutzer des PSN, dass manglaube, dass sämtliche Daten geklaut wurden:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;[…] we believe that an unauthorized person has obtained the following information that you provided: name, address (city, state, zip), country, email address, birthdate, PlayStation Network/Qriocity password and login, and handle/PSN online ID. It is also possible that your profile data, including purchase history and billing address (city, state, zip), and your PlayStation Network/Qriocity password security answers […]&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Nahezu niedlich ist die Umschreibung unauthorized person – klingt hier irgendwie nach Strauchdieb oder Tunichtgut, der eine Cola-Dose in die falsche Recyclingtonne geworfen hat. Es geht aber um den Verlust von Passwörtern, Online-Identitäten, Mail-Adressen, Kauf-Historien… Damit nicht genug; weiter unten kommt dann noch eine nicht unwesentliche Ergänzung:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;If you have provided your credit card data through PlayStation Network or Qriocity, out of an abundance of caution we are advising you that your credit card number (excluding security code) and expiration date may have been obtained.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Das ist der Super-GAU. Einer der größten Diebstähle überhaupt – es geht um Millionen, wahrscheinlich zig Millionen Kreditkartendaten. Katastrophal ist, dass Sony erst eine Woche nach der Attacke mit dieser Information rausrückt und damit selbst zu verantworten hat, wenn diese Daten nun missbraucht werden.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Sony takes information protection very seriously and [blafasel]&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Eine Aussage, die PR-mäßig natürlich nicht fehlen darf, aber angesichts der Tragweite und des inkompetenten Verhaltens von Sony nichts als blanker Hohn.&lt;/p&gt;

&lt;p&gt;Allein die Tatsache, dass Sony schon am Tag nach dem Vorfall verkündet hat, das bisherige System komplett stillzulegen und durch ein neues zu ersetzen, spricht Bände. Offensichtlich war den Betreibern bewusst, dass das PSN nicht sicher war:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;[…] strengthen our network infrastructure by re-building our system to provide you with greater protection of your personal information […]&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Damit dürfte ‘leichte Fahrlässigkeit’ aus’m Spiel sein; bin gespannt, mit welchen Klagen Sony jetzt überzogen wird. Bleibt zu hoffen, dass Sony die ganze Angelegenheit genau so ernst nimmt, wie sie noch vor wenigen Wochen alles unternommen haben, um George Hotz (aka GeoHot) zur Strecke zu bringen. Da hatte der Elektronik-Gigant &lt;a href="http://www.zeit.de/digital/games/2011-04/sony-hotz-playstation-anklage"&gt;gerichtlich die Herausgabe der IP-Adressen von Website-Besuchern und Youtube-Nutzern erwirkt&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Eines macht der Fall zudem noch mal klar: Kundendaten sind ein sehr wertvolles Gut – Firmen ermöglichen sie ‘nur’ die Geschäfte, aber für die Kunden sind sie Teil der Existenz, die sie vertrauensvoll in fremde Hände legen. Dieses Vertrauen nicht zu enttäuschen ist sicherlich eine der obersten Aufgaben. Ob es nun der wichtige OS-Patch, das geeignete Passwort oder die nochmal geprüfte Verarbeitung von Formular-Daten ist – täglich und überall gilt es, Kundendaten zu schützen.&lt;/p&gt;
</description></item><item><title>→ Google Wave wird eingestellt</title><link>http://bit.ly/dusM1w</link><guid isPermaLink="false">http://bit.ly/dusM1w</guid><pubDate>Wed, 04 Aug 2010 00:00:00 CEST</pubDate><description>&lt;p&gt;
&gt; … Wave has not seen the user adoption we would have liked. We don’t plan to continue developing Wave as a standalone product…

&lt;span&gt;&lt;img src="/media/2010/04/google_wave.png"&gt;&lt;/span&gt;
&lt;/p&gt;

&lt;p&gt;Das kommt jetzt eher überraschend, aber ich glaube so richtig verstanden hat das Konzept selbst bei Google niemand…&lt;/p&gt;

&lt;p&gt;(Via﻿ Official Google Blog)&lt;/p&gt;


&lt;p&gt;&lt;a href="http://maplesteve.com/2010/08/04/google-wave-wird-eingestellt"&gt;&amp;#8734; Permalink&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Instapaper goes delicious</title><link>http://maplesteve.com/2010/08/03/instapaper-goes-delicious</link><guid isPermaLink="false">/2010/08/03/instapaper-goes-delicious</guid><pubDate>Tue, 03 Aug 2010 00:00:00 CEST</pubDate><description>&lt;p&gt;Cool! Marco Arment hat mir gerade geschrieben, dass &lt;a href="http://www.instapaper.com/"&gt;Instapaper&lt;/a&gt; “in the relatively near future” Support für delicious bekommen wird.&lt;/p&gt;
</description></item><item><title>→ was mag das bloss sein…?</title><link>http://bit.ly/am13np</link><guid isPermaLink="false">http://bit.ly/am13np</guid><pubDate>Mon, 26 Jul 2010 00:00:00 CEST</pubDate><description>&lt;blockquote&gt;
  &lt;p&gt;iLife ’11 Coming in August with a New Mystery Application&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;…&lt;/li&gt;
&lt;li&gt;Improving the integration of social networks&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;New application (mystery!)&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Disappearance of iDVD
﻿* …&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;(Via MacRumors)&lt;/p&gt;


&lt;p&gt;&lt;a href="http://maplesteve.com/2010/07/26/was-mag-das-bloss-sein"&gt;&amp;#8734; Permalink&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Wal gegen Segelboot?</title><link>http://maplesteve.com/2010/07/22/wal-gegen-segelboot</link><guid isPermaLink="false">/2010/07/22/wal-gegen-segelboot</guid><pubDate>Thu, 22 Jul 2010 00:00:00 CEST</pubDate><description>&lt;p&gt;Siehe: &lt;a href="http://www.spiegel.de/reise/aktuell/0,1518,707834,00.html"&gt;Spiegel Online&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;M.E. ein Fake. Wenn drei Meter neben mir ein 40 Tonnen Wal angeflogen kommt, dann gucke ich doch nicht teilnahmslos geradeaus. Der Fotograf fährt nicht hin (Abstand zum “Opfer” verändert sich kaum) und wenn er schon nicht hilft, macht er trotzdem keine weiteren Fotos? Quatsch.&lt;/p&gt;
</description></item><item><title>“diskussionslos”</title><link>http://maplesteve.com/2010/07/04/diskussionslos</link><guid isPermaLink="false">/2010/07/04/diskussionslos</guid><pubDate>Sun, 04 Jul 2010 00:00:00 CEST</pubDate><description>&lt;p&gt;Die Zeitung “Blick” (Schweiz) zum Spiel Argentinien – Deutschland:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Die clevere Löw-Truppe gewinnt diskussionslos gegen Argentinien mit 4:0 und zieht überlegen in das WM-Halbfinale ein.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;“clever”, “tempo-reich”, “druckvoll” – trifft alles zu, aber “diskussionslos” gefällt mir am besten und beschreibt das gesamte Auftreten perfekt in einem Wort.&lt;/p&gt;
</description></item><item><title>Cloud-Based iTunes and Wireless Device Syncing Coming ‘Soon’?</title><link>http://maplesteve.com/2010/07/01/cloud-based-itunes-and-wireless-device-syncing-coming-soon</link><guid isPermaLink="false">/2010/07/01/cloud-based-itunes-and-wireless-device-syncing-coming-soon</guid><pubDate>Thu, 01 Jul 2010 00:00:00 CEST</pubDate><description>&lt;blockquote&gt;
  &lt;p&gt;Boy Genius Report claims to have received information from an Apple source noting that the company is finally gearing up to launch its cloud-based iTunes initiative, a program that will also included wireless syncing for devices
  (Via &lt;a href="http://bit.ly/aJAWJx"&gt;macrumors.com&lt;/a&gt;)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Wäre schön und überfällig; ich fürchte jedoch, dass eine solche Funktionalität so sehr in’s Innere von iPod, iPad, iPhone etc. eingreift, dass dies eine neue Version von iOS erfordert. Da iOS 4 gerade mal drei Wochen jung ist, halte ich es für unwahrscheinlich, dass so kurzfristig ein weiteres Update kommt; schon gar keines, das solch grundlegende Änderungen mit sich bringt.&lt;/p&gt;

&lt;p&gt;Damit bleibt realistisch nur der Herbst, wenn mit Version iOS 4.1 die Betriebssysteme von iPhone und iPad zusammengeführt werden. Das würde dann auch einen Versionssprung in der ersten Nachkommastelle rechtfertigen, da der Anspruch an ein .x Release schon auf zusätzliche Features hinweist, als die reine Funktionsangleichung zwischen iPhone und iPad – zumal sich beim iPhone ja sonst gar nichts entscheidendes ändern würde, weil es ja bereits auf iOS 4 ist…&lt;/p&gt;

&lt;p&gt;Let’s see.&lt;/p&gt;
</description></item><item><title>→ Geheime Papst-Akte belastet Mixa schwer</title><link>http://bit.ly/dB8F5s</link><guid isPermaLink="false">http://bit.ly/dB8F5s</guid><pubDate>Mon, 21 Jun 2010 00:00:00 CEST</pubDate><description>&lt;blockquote&gt;
  &lt;p&gt;Eine bislang geheime Papst-Akte belastet Walter Mixa schwer: Enge Mitarbeiter und Bekannte des ehemaligen Augsburger Bischofs berichten von Alkohol- und Wahrnehmungsproblemen…&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Kein Ende in Sicht. Wann kommt endlich der Staatsanwalt?&lt;/p&gt;

&lt;p&gt;(Via sueddeutsche.de)&lt;/p&gt;


&lt;p&gt;&lt;a href="http://maplesteve.com/2010/06/21/geheime-papst-akte-belastet-mixa-schwer"&gt;&amp;#8734; Permalink&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Es ist so kalt wie nie!</title><link>http://maplesteve.com/2010/06/20/es-ist-so-kalt-wie-nie</link><guid isPermaLink="false">/2010/06/20/es-ist-so-kalt-wie-nie</guid><pubDate>Sun, 20 Jun 2010 00:00:00 CEST</pubDate><description>&lt;p&gt;Die Hinweise, dass das Wetter ‘nicht schlecht’ und eigentlich ‘normal’ ist, gehören mittlerweile zu jeder Wettervorhersage, wie die A7 zu den Verkehrsmeldungen.&lt;/p&gt;

&lt;p&gt;~~Dankenswerterweise~~ Natürlich – weil von unseren Steuern bezahlt – stellt der Deutsche Wetterdienst seine Aufzeichnungen online der Öffentlichkeit﻿ zur Verfügung.&lt;/p&gt;

&lt;p&gt;Ich habe die Mai-Werte von 1991 bis 2010 verglichen:&lt;/p&gt;

&lt;p&gt;&lt;a class="fancybox" href="/media/2010/06/chart_klima_mai.jpg"&gt;&lt;img src="/media/2010/06/thumb_chart_klima_mai.jpg" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Fazit: alle Werte dieses Jahres liegen unter den Vergleichswerten der letzten 20 Jahre! Die mittlere Temperatur liegt 4,6°C und fast 7°C unter den Werten des letzten bzw. vorletzten Jahres. 25% Abweichung ist also ‘noch im Rahmen’ und ‘normal’??? Klima-Mafia…&lt;/p&gt;
</description></item></channel></rss>
