<?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/"
	xmlns:georss="http://www.georss.org/georss">

<channel>
	<title>Michael Grunewalder</title>
	<atom:link href="http://michael.grunewalder.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://michael.grunewalder.com</link>
	<description>A Geek - A Computer - A Mission</description>
	<lastBuildDate>Wed, 22 Feb 2012 03:46:07 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Time to celebrate&#8230;.</title>
		<link>http://michael.grunewalder.com/2012/02/20/time-to-celebrate/</link>
		<comments>http://michael.grunewalder.com/2012/02/20/time-to-celebrate/#comments</comments>
		<pubDate>Sun, 19 Feb 2012 17:06:45 +0000</pubDate>
		<dc:creator>Michael Grunewalder</dc:creator>
				<category><![CDATA[Random Mumblings]]></category>

		<guid isPermaLink="false">http://michael.grunewalder.com/?p=141</guid>
		<description><![CDATA[Today when I was checking emails, I saw the message that there is a comment waiting for moderation. The first thought that popped into my mind was:&#8221;YAY!!! Another link to a website where I can get cheap Viagra&#8221; &#8211; In the past those were the only kind of comments I could find on posts on [...]]]></description>
			<content:encoded><![CDATA[<p>Today when I was checking emails, I saw the message that there is a comment waiting for moderation. The first thought that popped into my mind was:&#8221;YAY!!! Another link to a website where I can get cheap Viagra&#8221; &#8211; In the past those were the only kind of comments I could find on posts on my blog. But no, this one looked real. I put on my glasses to double-check (I know, I used the glass &#8220;joke&#8221; before, but it was only yesterday, I was not prepared for this and I did not have time to hire a team of copy writers to get unique content. Am working on that) and yes, I can officially celebrate my first real visitor. That also means, that now 50% of the traffic are not coming from someone other than me, that&#8217;s a 100% increase..wohoooo!!!!<br />
Anyway, thanks Kate for stopping by and leaving a message.<br />
Viele Gr&uuml;sse nach Deutschland aus Bangkok <img src='http://michael.grunewalder.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://michael.grunewalder.com/2012/02/20/time-to-celebrate/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[updated] MySQL not starting on Zend Server Community Edition (Mac OS X)</title>
		<link>http://michael.grunewalder.com/2012/02/19/mysql-not-starting-on-zend-server-community-edition-mac-os-x-2/</link>
		<comments>http://michael.grunewalder.com/2012/02/19/mysql-not-starting-on-zend-server-community-edition-mac-os-x-2/#comments</comments>
		<pubDate>Sat, 18 Feb 2012 20:05:14 +0000</pubDate>
		<dc:creator>Michael Grunewalder</dc:creator>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://michael.grunewalder.com/?p=135</guid>
		<description><![CDATA[A while ago I used Zend Server CE on my Mac and back then it was not working, MySQL just would not start. With help of some forum posts, I managed to fix it, and if i was keeping track of my fame, I would still have the URL to the forum post I made [...]]]></description>
			<content:encoded><![CDATA[<p>A while ago I used Zend Server CE on my Mac and back then it was not working, MySQL just would not start. With help of some forum posts, I managed to fix it, and if i was keeping track of my fame, I would still have the URL to the forum post I made back then.<br />
I then changed to Linux and <a href="http://www.cherokee-project.com/">Cherokee</a> (love it and I just saw they have a Mac version so I&#8217;ll check it out), but now I am back on a Mac for a while. Initially i used MAMP again, but since it gave me some problems with Symfony 2, I gave Zend server CE another try.<span id="more-135"></span><br />
They fixed the problem with MySQL not starting at all and until I rebooted my Mac, it was quite a nice environment. After the restart however, MySQL was not running. I could start it manually, so I did other things first and decided to look into it on the weekend. Today I searched the web and a lot of people seem to have problems with MySQL, but mostly with permissions. That is something, that now really puzzles me. I followed a few guide but was not successful in getting it to start upon boot. Finally (why don&#8217;t I ever have my good thoughts first??) I had a look at the script that starts Zend CE, /usr/local/zend/bin/zendctl.sh<br />
These are the lines that start/re-start Zend CE:<br />
<code>	"start")<br />
		$ECHO_CMD "Starting $PRODUCT_NAME $PRODUCT_VERSION ..\n"<br />
		$0 start-zdd %<br />
		$0 start-monitor-node<br />
		$0 start-apache %<br />
		$0 start-lighttpd %<br />
		$JB_EN &#038;&#038; $0 start-jb %<br />
		$0 start-jqd %<br />
		$ECHO_CMD "\n$PRODUCT_NAME started..."<br />
		;;</p>
<p>	"restart")<br />
		$0 restart-zdd<br />
		$0 restart-monitor-node<br />
		$0 restart-apache<br />
		$0 restart-lighttpd<br />
		$0 restart-jb<br />
		$0 restart-jqd<br />
		;;</code><br />
I looked at it without my glasses on, I put my glasses on and had another look, but somehow I do not see mysql mentioned there anywhere. So how does the script know that it is supposed to start MySQL?<br />
I modify the start and restart section as follows:</p>
<p><code>	"start")<br />
		$ECHO_CMD "Starting $PRODUCT_NAME $PRODUCT_VERSION ..\n"<br />
		$0 start-zdd %<br />
		$0 start-monitor-node<br />
		<strong>$MYSQL_EN &#038;&#038; $0 start-mysql %</strong><br />
		$0 start-apache %<br />
		$0 start-lighttpd %<br />
		$JB_EN &#038;&#038; $0 start-jb %<br />
		$0 start-jqd %<br />
		$ECHO_CMD "\n$PRODUCT_NAME started..."<br />
		;;</p>
<p>	"restart")<br />
		$0 restart-zdd<br />
		$0 restart-monitor-node<br />
		$0 restart-apache<br />
		<strong>$0 restart-mysql</strong><br />
		$0 restart-lighttpd<br />
		$0 restart-jb<br />
		$0 restart-jqd<br />
		;;</code><br />
Modified the &#8220;stop&#8221; section like so:<br />
<code>	"stop")<br />
		$ECHO_CMD "Stopping $PRODUCT_NAME $PRODUCT_VERSION ..\n"</p>
<p>		$0 stop-apache %<br />
		sleep 2<br />
		$ZCE_PREFIX/bin/clean_semaphores.sh<br />
	        $0 stop-lighttpd %<br />
		$JB_EN &#038;&#038; $0 stop-jb %<br />
		<strong>$MYSQL_EN &#038;&#038; $0 stop-mysql</strong><br />
			$0 stop-jqd %<br />
			$0 stop-zdd %<br />
			$0 stop-monitor-node %<br />
		$ECHO_CMD "\n$PRODUCT_NAME stopped."<br />
		;;</code><br />
and for extra fun, added the re-start option:<br />
<code><br />
	"stop-mysql")<br />
		if $MYSQL_EN; then<br />
                    $ZCE_PREFIX/mysql/bin/mysql.server stop<br />
                fi<br />
		;;<br />
</code></p>
<p>For extra credits you can add the status option, too, but I can&#8217;t be bothered.</p>
<p>Today I realized that I have a few posts which promise some sort of &#8220;to be continued&#8230;&#8221; but never do. Luckily, nobody actually comes here, so there&#8217;s virtually no harm done. <img src='http://michael.grunewalder.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> </p>
<p>This is where the original post ended. I have to admit, that I wrote the Post in the same spirit as Zend seems to release the CE edition (i.e. In theory those changes should do the trick, so why bother testing?!) and of course that backfired. The above modifications to the script actually can start, stop , restart MySQL server when it is executed. Tiziano however found out that MySQL is still not starting during the boot process and I was able to happily confirm that the next morning when I re-booted the Mac in my office. He also found the solution to this problem:</p>
<blockquote><p>I found the solution! You have to replicate changes in this file:</p>
<p>/Library/StartupItems/ZendServer_init/zendctl.sh</p>
<p>it works! </p></blockquote>
<p>Thanks, Tiziano, for finding this, sharing it with us and completing this post.</p>
]]></content:encoded>
			<wfw:commentRss>http://michael.grunewalder.com/2012/02/19/mysql-not-starting-on-zend-server-community-edition-mac-os-x-2/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	<georss:point>13.713565946 100.604220674</georss:point>	</item>
		<item>
		<title>Dear Dad,</title>
		<link>http://michael.grunewalder.com/2012/01/10/dear-dad/</link>
		<comments>http://michael.grunewalder.com/2012/01/10/dear-dad/#comments</comments>
		<pubDate>Mon, 09 Jan 2012 18:31:43 +0000</pubDate>
		<dc:creator>Michael Grunewalder</dc:creator>
				<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://michael.grunewalder.com/?p=109</guid>
		<description><![CDATA[I said I would call but as usual, my busy life got the better of me and I didn&#8217;t call. When I finally had the time, you were not home. I said I would call again at night but just like before, life got the better of me and I posponed. How I wish I [...]]]></description>
			<content:encoded><![CDATA[<p>I said I would call but as usual, my busy life got the better of me and I didn&#8217;t call. When I finally had the time, you were not home. I said I would call again at night but just like before, life got the better of me and I posponed. How I wish I had taken just a few minutes of my life to make that call. But how could I know how precious time was, everything seemed to be ok again. Well, time is always precious because we never know God&#8217;s plans.<br />
<a href="http://michael.grunewalder.com/wp-content/uploads/2012/01/bild011.jpg"><img src="http://michael.grunewalder.com/wp-content/uploads/2012/01/bild011-150x150.jpg" alt="" title="bild01" width="150" height="150" class="alignleft size-thumbnail wp-image-114" /></a><br />
All my life I simply saw you as my Dad, not so much as a source of inspiration or an idol. Well, deep inside I am sure those feelings were there, but not so much on the outside. Sometimes as a kid, please forgive me, I even envied other kids for their dads. But I uess that&#8217;s the way we are. Kids are supposed to be stupid when they are young and learn only much later the value of the times they had. The past few month however changed all that. When we learned about your illness, the way you dealt with it, your positive attitude, your strength, that was amazing. Staring death in the eye but saying:&#8221;Hey, don&#8217;t worry, I&#8217;m fine. Everything is going to be ok.&#8221;, that gave me the biggest inspiration of my life and it made me proud to be your son. I don&#8217;t know how I would deal with a situation like that if I ever have to face it, but I pray that I will remember your strength and draw my own strength from it.<br />
<a href="http://michael.grunewalder.com/wp-content/uploads/2012/01/bild02.jpg"><img src="http://michael.grunewalder.com/wp-content/uploads/2012/01/bild02-150x150.jpg" alt="" title="bild02" width="150" height="150" class="alignright size-thumbnail wp-image-111" /></a>I don&#8217;t know what happened, it seems like some of your strength faded away, but I beg you to find it back. Remember, we made plans to go for coffee when I come back to Germany and it is only a few more months.<br />
If you really really have to go, then I will try to understand, but if a trace of your strength is left in you, then please, please, please hang in there for me, because I am not ready to let go.</p>
<p>Love<br />
Michael</p>
]]></content:encoded>
			<wfw:commentRss>http://michael.grunewalder.com/2012/01/10/dear-dad/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<georss:point>13.7135358 100.6042584</georss:point>	</item>
		<item>
		<title>Fixing cherokee-admin on Fedora 16 (possibly other distros, too)</title>
		<link>http://michael.grunewalder.com/2011/11/25/fixing-cherokee-admin-on-fedora-16-possibly-other-distros-too/</link>
		<comments>http://michael.grunewalder.com/2011/11/25/fixing-cherokee-admin-on-fedora-16-possibly-other-distros-too/#comments</comments>
		<pubDate>Fri, 25 Nov 2011 08:39:16 +0000</pubDate>
		<dc:creator>Michael Grunewalder</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[OS]]></category>

		<guid isPermaLink="false">http://michael.grunewalder.com/?p=106</guid>
		<description><![CDATA[If you like the cherokee webserver (http://www.cherokee-project.com) you may have problems with the admin interface. In my case, i got an empty error message on the screen when I tried to install PHP, then when i ran the admin interface in debugging mode (cherokee-admin -x), i got some python error messages. Took me a while [...]]]></description>
			<content:encoded><![CDATA[<p>If you like the cherokee webserver (http://www.cherokee-project.com) you may have problems with the admin interface. In my case, i got an empty error message on the screen when I tried to install PHP, then when i ran the admin interface in debugging mode (cherokee-admin -x), i got some python error messages. Took me a while of research until I found out that the admin interface in the version that installed with Fedora 16 is actually broken. No fix for it was in my repositories (it is possible that i am not setup properly yet as I just switched from Ubuntu to Fedora), so for a moment I was afraid that I cannot use Cherokee for the time being.</p>
<p>What are the options to fix it?</p>
<p>One option is to re-install from sources using the latest sourcecode. Personally I don&#8217;t like that because I just prefer to stick to the package system of the distribution.</p>
<p>What else can we do?</p>
<p>The admin interface for Cherokee is actually written in Python. So here is what I did to get my admin interface up and running:</p>
<p>1) download the latest sources from http://www.cherokee-project.com/downloads.html and unpack the tarball<br />
2) open the file &#8220;configured.py&#8221; and modify the top entries like so:</p>
<p><code>PREFIX          = "/usr"<br />
LIBDIR          = "/usr/lib"<br />
DATADIR         = "/usr/share"<br />
DOCDIR          = "/usr/share/doc/cherokee"<br />
LOCALEDIR       = "/usr/share/locale"<br />
WWWROOT         = "/var/www"<br />
SYSCONFDIR      = "/etc"<br />
LOCALSTATE      = "/var"</code></p>
<p>3) Open a terminal window and become root (sudo -i)<br />
4) change to /usr/share/cherokee and delete the admin folder.<br />
5) copy the admin folder from the source code (with the modified configured.py file) into /usr/share/cherokee<br />
6) start cherokee-admin and enjoy.</p>
]]></content:encoded>
			<wfw:commentRss>http://michael.grunewalder.com/2011/11/25/fixing-cherokee-admin-on-fedora-16-possibly-other-distros-too/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<georss:point>13.73078 100.521004</georss:point>	</item>
		<item>
		<title>Hiding a Partition in OS X Lion</title>
		<link>http://michael.grunewalder.com/2011/09/30/hiding-a-partition-in-os-x-lion/</link>
		<comments>http://michael.grunewalder.com/2011/09/30/hiding-a-partition-in-os-x-lion/#comments</comments>
		<pubDate>Fri, 30 Sep 2011 11:19:58 +0000</pubDate>
		<dc:creator>Michael Grunewalder</dc:creator>
				<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[OS]]></category>

		<guid isPermaLink="false">http://michael.grunewalder.com/?p=96</guid>
		<description><![CDATA[The iMac in my office has an almost dead internal disk, so I am using an external disk and would like to hide the disk whenever I boot the system. I can&#8217;t really take credit for this, as I found the general idea of hiding the partition on www.radiotope.com. Reading the article and its comments, [...]]]></description>
			<content:encoded><![CDATA[<p>The iMac in my office has an almost dead internal disk, so I am using an external disk and would like to hide the disk whenever I boot the system.</p>
<p>I can&#8217;t really take credit for this, as I found the general idea of hiding the partition on <a href="http://www.radiotope.com/content/os-x-hiding-and-mounting-partition" target="_blank">www.radiotope.com</a>. Reading the article and its comments, I cam to this (maybe) streamlined version.</p>
<p>First we need the UUID of the drive we want to hide and the easiest method seems to be to use the Disk Utility.<span id="more-96"></span></p>
<p><a href="http://michael.grunewalder.com/wp-content/uploads/2011/09/diskutil01.png"><img src="http://michael.grunewalder.com/wp-content/uploads/2011/09/diskutil01-300x259.png" alt="" title="Disk Utility" width="300" height="259" class="aligncenter size-medium wp-image-97" /></a></p>
<p>After starting the Disk Utility, click on the hardisk/partition you want to hide and click the info button on the toolbar.</p>
<p><a href="http://michael.grunewalder.com/wp-content/uploads/2011/09/diskutil02.png"><img src="http://michael.grunewalder.com/wp-content/uploads/2011/09/diskutil02-300x231.png" alt="" title="Disk Utility - Info" width="300" height="231" class="aligncenter size-medium wp-image-98" /></a></p>
<p>The information you need is the &#8220;Universal Unique Identifier&#8221; &#8211; select it with your mouse and copy it.</p>
<p>Then open a terminal window (iTerm 2 is a brilliant alternative to the native terminal client on OS X). Now if you look at the /etc folder, you most likely won&#8217;t find the fstab file, ony fstab.hd. It confused me a little, so I did more research and found out that it does not matter. We just create the fstab file.<br />
<code language="bash"><br />
sudo pico /etc/fstab<br />
</code><br />
Once the editor window opens, enter<br />
<code language="bash"><br />
UUID=[Your Universal Unique Identifier] none hfs rw,noauto 0 0<br />
</code></p>
<p>Reboot your Mac and the partition is hidden. Wohoo&#8230;<br />
Now watch me having fun on the computer:<br />
<a href="http://michael.grunewalder.com/wp-content/uploads/2011/09/i_2011092600090295.jpg"><img src="http://michael.grunewalder.com/wp-content/uploads/2011/09/i_2011092600090295-300x225.jpg" alt="" title="Bearny on the MacBook" width="300" height="225" class="aligncenter size-medium wp-image-99" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://michael.grunewalder.com/2011/09/30/hiding-a-partition-in-os-x-lion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WebDev101 &#8211; Getting Your Mac Ready for Web Development</title>
		<link>http://michael.grunewalder.com/2011/09/14/webdev101-getting-your-mac-ready-for-web-development/</link>
		<comments>http://michael.grunewalder.com/2011/09/14/webdev101-getting-your-mac-ready-for-web-development/#comments</comments>
		<pubDate>Tue, 13 Sep 2011 17:21:42 +0000</pubDate>
		<dc:creator>Michael Grunewalder</dc:creator>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[Mac OS X]]></category>

		<guid isPermaLink="false">http://michael.grunewalder.com/?p=80</guid>
		<description><![CDATA[Until now I used a version of MAMP with a &#8220;special&#8221; serial number to develop on the Mac. The only reason for using the pro version was pure laziness. Creating virtual hosts with the manager is just dead simple and very comfortable. Every now and then however the good guy in me comes to daylight, [...]]]></description>
			<content:encoded><![CDATA[<p>Until now I used a version of <a href="http://www.mamp.info" title="Visit the MAMP website" target="_blank">MAMP</a> with a &#8220;special&#8221; serial number to develop on the Mac. The only reason for using the pro version was pure laziness. Creating virtual hosts with the manager is just dead simple and very comfortable. Every now and then however the good guy in me comes to daylight, so today I decided to become more legal. So the first step &#8211; a step I should have done long ago &#8211; was to search Google for a way to get a GUI to edit the hosts on a Mac. A few options came up, the one I decided to use was <a href="http://www.eosgarden.com/en/freeware/" target="_blank">Host Manager</a>. Installation was as simple as opening the downloaded DMG fie and dragging the application to the Applications folder. Then double click to icon to start the application:<br />
<a href="http://michael.grunewalder.com/wp-content/uploads/2011/09/hostmanager_1.png"><img src="http://michael.grunewalder.com/wp-content/uploads/2011/09/hostmanager_1-300x231.png" alt="Initial Screen of Host Manager" title="hostmanager_1" width="300" height="231" class="aligncenter size-medium wp-image-82" /></a><br />
To start adding hosts, click the [+] button in the lower left corner. A sheet appears that allows you to enter the hostname and its IP address. For my development sites I usually end the domains in .local and use an IP in the range of 127.0.1.x:<br />
<a href="http://michael.grunewalder.com/wp-content/uploads/2011/09/hostmanager2.png"><img src="http://michael.grunewalder.com/wp-content/uploads/2011/09/hostmanager2-300x231.png" alt="Creating a HOST entry" title="hostmanager2" width="300" height="231" class="aligncenter size-medium wp-image-84" /></a><br />
After you entered the host name and its IP address, click on &#8220;create&#8221; to create the entry. The application will ask for your admin password, just enter it and confirm.<br />
<a href="http://michael.grunewalder.com/wp-content/uploads/2011/09/hostmanager3.png"><img src="http://michael.grunewalder.com/wp-content/uploads/2011/09/hostmanager3-300x231.png" alt="Finished entries in Host Manager" title="hostmanager3" width="300" height="231" class="aligncenter size-medium wp-image-85" /></a><br />
Sometimes the entries do not show up in the list, I don&#8217;t know if that is because I use Lion or if it is a bug in the app, when I restart the app however, all entries are made. I admit, the MAMP approach is much simpler as it creates the Apache virtual host and the entry for the domain, but this is a pretty comfortable and most of all free solution.</p>
<p>You can now use your web server of choice, maybe the free version of <a href="http://www.mamp.info" target="_blank">MAMP</a> or the version that <a href="http://www.eosgarden.com/en/freeware/webstart-light/overview/" target="_blank">eosgarden</a> provides.</p>
<p>Next time we will setup a virtual machine with Ubuntu and a few goodies to get the development server running. This is not a necessary part, but it gives you the feeling of the real deal somehow.</p>
<p>This post was written here:<br />
</p>
]]></content:encoded>
			<wfw:commentRss>http://michael.grunewalder.com/2011/09/14/webdev101-getting-your-mac-ready-for-web-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<georss:point>13.7135845558 100.604256201</georss:point>	</item>
		<item>
		<title>Detecting iPad in PHP</title>
		<link>http://michael.grunewalder.com/2011/08/05/detecting-ipad-in-php/</link>
		<comments>http://michael.grunewalder.com/2011/08/05/detecting-ipad-in-php/#comments</comments>
		<pubDate>Fri, 05 Aug 2011 08:00:38 +0000</pubDate>
		<dc:creator>Michael Grunewalder</dc:creator>
				<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://michael.grunewalder.com/?p=70</guid>
		<description><![CDATA[At the moment I am adding suport for the iPad to a video enabled site, so I thought it would be nice to add features to the site depending on whether the user agent is an iPad or not. This can be easily done in PHP with the $_SERVER variable: 1 2 3 4 5 [...]]]></description>
			<content:encoded><![CDATA[<p>At the moment I am adding suport for the iPad to a video enabled site, so I thought it would be nice to add features to the site depending on whether the user agent is an iPad or not.<br />
This can be easily done in PHP with the $_SERVER variable:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000088;">$config</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'isiPad'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>
	<span style="color: #990000;">strstr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_USER_AGENT'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'iPad'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span>
	<span style="color: #990000;">strstr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_USER_AGENT'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'iPhone'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span>
	<span style="color: #990000;">strstr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_USER_AGENT'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'iPod'</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$config</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'isiPad'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<p>And now it is time to celebrate &#8211; you just whitnessed the FIRST useful entry on this blog </p>
]]></content:encoded>
			<wfw:commentRss>http://michael.grunewalder.com/2011/08/05/detecting-ipad-in-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<georss:point>13.7900152 100.5751287</georss:point>	</item>
		<item>
		<title>Introducing &#8211; The truly Open Source T-Shirt</title>
		<link>http://michael.grunewalder.com/2011/05/23/introducing-the-truly-open-source-t-shirt/</link>
		<comments>http://michael.grunewalder.com/2011/05/23/introducing-the-truly-open-source-t-shirt/#comments</comments>
		<pubDate>Mon, 23 May 2011 16:27:54 +0000</pubDate>
		<dc:creator>Michael Grunewalder</dc:creator>
				<category><![CDATA[Random Mumblings]]></category>

		<guid isPermaLink="false">http://michael.grunewalder.com/?p=41</guid>
		<description><![CDATA[Now this is something amazing and a MUST HAVE for every open source fan. A real open source T-Shirt. No, no, no, I am not talking about a lame t-shirt that has some crap printed on the front like &#8220;Open source is cool!&#8221; The package you receive if you order this T-Shirt the package contains [...]]]></description>
			<content:encoded><![CDATA[<p>Now this is something amazing and a MUST HAVE for every open source fan. A real open source T-Shirt. No, no, no, I am not talking about a lame t-shirt that has some crap printed on the front like &#8220;Open source is cool!&#8221;<br />
The package you receive if you order this T-Shirt the package contains one T-Shirt like this:</p>
<p><a href="http://michael.grunewalder.com/wp-content/uploads/2011/05/MyShirtBlack1.png"><img class="aligncenter size-medium wp-image-44" title="MyShirtBlack" src="http://michael.grunewalder.com/wp-content/uploads/2011/05/MyShirtBlack1-300x297.png" alt="" width="300" height="297" /></a></p>
<p>&nbsp;</p>
<p><span id="more-41"></span>The text printed on the top says: I got this shi(r)t at:<br />
then a really cool photo of me, and at the bottom the url to this site: michael.grunewalder.com.<br />
The second part of the package contains the sources &#8211; a plain black (or soon white, too) t-shirt and a cd-rom with the font I used to write the text and the image I used. you can then modify the design to your likings &#8211; yes, a truly open source t-shit, I mean t-shirt.<br />
The introductory price for this amazing open source t-shirt is only US$ 49.95 plus US$10 for postage.<br />
As stocks are virtually unlimited, it is absolutely necessary to act fast.<br />
Do not hesitate &#8211; click the Buy Now button now!!! If you don&#8217;t buy it, who else would?????</p>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input name="cmd" type="hidden" value="_s-xclick" />
<input name="hosted_button_id" type="hidden" value="RKRRCRXRUZ3B4" />&nbsp;</p>
<table>
<tbody>
<tr>
<td><img class="aligncenter size-thumbnail wp-image-44" title="MyShirtBlack" src="http://michael.grunewalder.com/wp-content/uploads/2011/05/MyShirtBlack1-150x150.png" alt="Amazing open Source T-Shirt" width="150" height="150" /></td>
</tr>
<tr>
<td>
<input name="on0" type="hidden" value="Size" />Size</td>
</tr>
<tr>
<td>
<select name="os0">
<option value="S">S </option>
<option value="M">M </option>
<option value="L">L </option>
<option value="XL">XL </option>
</select>
</td>
</tr>
</tbody>
</table>
<input alt="PayPal - The safer, easier way to pay online." name="submit" src="https://www.paypalobjects.com/WEBSCR-640-20110429-1/en_GB/TH/i/btn/btn_buynowCC_LG.gif" type="image" /> <img src="https://www.paypalobjects.com/WEBSCR-640-20110429-1/en_GB/i/scr/pixel.gif" border="0" alt="" width="1" height="1" />&nbsp;</p>
</form>
]]></content:encoded>
			<wfw:commentRss>http://michael.grunewalder.com/2011/05/23/introducing-the-truly-open-source-t-shirt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Guide to a professional online life&#8230;.</title>
		<link>http://michael.grunewalder.com/2011/05/17/guide-to-a-professional-online-life/</link>
		<comments>http://michael.grunewalder.com/2011/05/17/guide-to-a-professional-online-life/#comments</comments>
		<pubDate>Tue, 17 May 2011 13:26:39 +0000</pubDate>
		<dc:creator>Michael Grunewalder</dc:creator>
				<category><![CDATA[Random Mumblings]]></category>

		<guid isPermaLink="false">http://michael.grunewalder.com/?p=36</guid>
		<description><![CDATA[Many of my readers often ask me (it is really cool if you are the only reader of your own blog because that makes the previous statement always true if you ask yourself a question) how to live a proper and professional online life. We all know that it is very important these days to [...]]]></description>
			<content:encoded><![CDATA[<p>Many of my readers often ask me (it is really cool if you are the only reader of your own blog because that makes the previous statement always true if you ask yourself a question) how to live a proper and professional online life. We all know that it is very important these days to be connected in many social networks. Imagine the following situation. You are our at night, maybe a Friday night, suddenly you get robbed, beaten up and left behind all by yourself without any help. Unless you live in a country where the Internet has not been developed yet<span id="more-36"></span> (in which case you probably do not read this article on a computer but subscribed to the printed version of my blog. Sorry, nothing of the following will apply to you in this case but I am planning on an article on social fax networks soon so that may be something interesting for you) &#8211; where was I? Oh yes..so unless you live in a country where the Internet has not yet been developed and you did not send a status update of the robbery to at least Twitter and Facebook, then you don&#8217;t even have to bother involving the courts because they will reject your claim. Yes, if something happened these days and it did not appear on at least Twitter and Facebook, then technically it simply did not happen.<br />
But with a little help, you will have a successful online life. </p>
<h2>So what do you need?</h2>
<ul>
<li>Social network accounts. Mandatory of course is the Twitter and Facebook account, but to be successful you need at least 20-30, better 40-50 accounts various social network. Google &#8211; as always &#8211; is your best friend here.</li>
<li>It is acceptable if you have the same username on most or all of the different social networks, but it is absolutely mandatory to have a different password for each individual account. The last thing you want is if a bad hacker gets entry to one of your accounts, (s)he can take over your whole online life.</li>
<li>Make your passwords safe. Something like &#038;*(iuoap79wROIuw3187)^#!(^ is a very good candidate</li>
<li>You should of course memorize each individual password, but in the beginning it is acceptable if you write them down. In this case however it is absolutely mandatory that they are written on separate pieces of paper and stored in different locations.</li>
<li>For security reasons, never ever use the &#8220;remember me&#8221; feature of the social network sites. For optimum security results, it is best to use the computer to update all your social networks, then clear the browser cache, remove all cookies, re-format the hard-disk 10-15 times, burn the computer, and buy a new one for the next status update, just to be sure that there are no traces of you.</li>
</ul>
<h2>Responsibilities of a professional online member</h2>
<p>These are the technical requirements and now you are ready to dive into the wonderful domain of an online life.<br />
If you have a Twitter account (and if you are even just slightly serious about your online life, then you MUST have one), then it comes with a responsibility. No matter how many followers you have, whether it is just one or &#8211; like in my case &#8211; the incredible amount of THREE (yep, I made 3 account so I can play with Twitter), they have the right to get up to the minute updates on your life. You will have to get a smartphone (that is such a stupid title for a phone. None of my smartphone so far really as smart. They all just do exactly what I tell them do do. Sometimes less, but never more. A smartphone in my opinion would be on my desk and think to itself:&#8217;hmm&#8230;Michael looks a bit hungry, let&#8217;s order him a pizza&#8217; But not even my shiny neld (that is a combination of &#8220;NEw&#8221; and &#8220;oLD&#8221;) iPhone 3GS can do that. But coming back to the point &#8211; you have to buy one of those smart-phones that supports twitter so that you can even update your followers while you are doing something else on the computer. Practice how to type on the phone with one hand and on the computer with the other hand. That saves a lot of time and your followers will appreciate it. It is absolutely acceptable to combine status updates. Instead of sending two tweets like &#8220;Hi Guys &#8211; I just entered the toilet&#8221;, &#8220;Hi Guys, I just farted&#8221; &#8211; it is ok to write a single tweet &#8220;Hi guys, I just got into the toilet and farted&#8221;</p>
<h2>How do you know that you are successful?</h2>
<p>These are some signs of success. They are in no particular order but if any or all of these signs apply to you, then you are on the way to success:</p>
<ul>
<li>You are convinced that the world as we know it will come to an end if you do not update your social network RIGHT NOW!</li>
<li>Instead of laughing you simply say LOL!</li>
<li>You strongly believe that you will suffer physical damage if you do not login one day</li>
<li>When thinking about your friends all you see is <img src='http://michael.grunewalder.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  or <img src='http://michael.grunewalder.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' />  or <img src='http://michael.grunewalder.com/wp-includes/images/smilies/icon_razz.gif' alt=':-P' class='wp-smiley' />  &#8211; because the only way you ever communicate is via email, chat, sms etc</li>
<li>Your friend-list on your favorite social networks has 100, 200 even 300 people and to 99.9% of them you have never spoken a single word</li>
<li>You get up at 5am and by the time you finished updating all your social network profiles, replied to your email etc. it&#8217;s time to go to bed again</li>
<li>You misspelled your name because the spellchecker was off</li>
<li>You waste time reading crap like this instead of doing something productive</li>
</ul>
<p>Nothing left to say &#8211; Welcome to the club!</p>
]]></content:encoded>
			<wfw:commentRss>http://michael.grunewalder.com/2011/05/17/guide-to-a-professional-online-life/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Testing &#8211; 2..3..4</title>
		<link>http://michael.grunewalder.com/2011/05/15/testing-2-3-4/</link>
		<comments>http://michael.grunewalder.com/2011/05/15/testing-2-3-4/#comments</comments>
		<pubDate>Sun, 15 May 2011 04:11:25 +0000</pubDate>
		<dc:creator>Michael Grunewalder</dc:creator>
				<category><![CDATA[Random Mumblings]]></category>

		<guid isPermaLink="false">http://michael.grunewalder.com/?p=34</guid>
		<description><![CDATA[Now that I changed a few settings in HelloTXT, it should update the social networks. it probably won&#8217;t, but hey, that&#8217;s where all the fun comes in. So, to make it more enjoyable for testing &#8211; here&#8217;s a YouTube video:]]></description>
			<content:encoded><![CDATA[<p>Now that I changed a few settings in HelloTXT, it should update the social networks. it probably won&#8217;t, but hey, that&#8217;s where all the fun comes in.</p>
<p>So, to make it more enjoyable for testing &#8211; here&#8217;s a YouTube video:</p>
<p><a href="http://michael.grunewalder.com/2011/05/15/testing-2-3-4/"><em>Click here to view the embedded video.</em></a></p>
]]></content:encoded>
			<wfw:commentRss>http://michael.grunewalder.com/2011/05/15/testing-2-3-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

