<?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.haraldkraft.de &#187; Technical</title>
	<atom:link href="http://blog.haraldkraft.de/category/technical/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.haraldkraft.de</link>
	<description>Blog Project of Harald Kraft</description>
	<lastBuildDate>Thu, 08 Jul 2010 20:32:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=abc</generator>
		<item>
		<title>Enable / Disable EDGE on iPhone without jailbreak and toggles</title>
		<link>http://blog.haraldkraft.de/2010/07/enable-disable-edge-on-iphone-without-jailbreak-and-toggles/</link>
		<comments>http://blog.haraldkraft.de/2010/07/enable-disable-edge-on-iphone-without-jailbreak-and-toggles/#comments</comments>
		<pubDate>Mon, 05 Jul 2010 22:21:06 +0000</pubDate>
		<dc:creator>Harald Kraft</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[edge]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[jailbreak]]></category>

		<guid isPermaLink="false">http://blog.haraldkraft.de/?p=138</guid>
		<description><![CDATA[After a long history of incidents/accidents, I&#8217;ve been using my iPhone 3GS (new bootrom) with regular iOS4 for a couple of days. However, I had to do without any mobile internet &#8211; even though my contract was fine and it had been working just fine with 3.1.2. I&#8217;ve pretty much tried every instruction that&#8217;s out [...]]]></description>
			<content:encoded><![CDATA[<p>After a long history of incidents/accidents, I&#8217;ve been using my iPhone 3GS (new bootrom) with regular iOS4 for a couple of days. However, I had to do without any mobile internet &#8211; even though my contract was fine and it had been working just fine with 3.1.2.</p>
<p>I&#8217;ve pretty much tried every instruction that&#8217;s out there which has anything to do with enabling mobile internet. Removing SIM-card, resetting APN (even though my provider doesn&#8217;t even need any APN settings), completely resetting network settings &#8211; along with disabling+enabling mobile data connections and/+ 3G for a thousand times. The &#8220;E&#8221; or the &#8220;3G&#8221; was showing up fine (depending which one I enabled), nevertheless, no connection could be made from any app.</p>
<p><span id="more-138"></span><br />
Then I remembered something from previous days: I was using SBsettings along with toggles (one for EDGE, one for 3G), and I usually enabled or disabled both of them at the same time. Enabled them when I needed mobile internet, disabled them in order to save battery. So, depending on whether 3G was available, the bar was showing &#8220;3G&#8221; or just &#8220;E&#8221; &#8211; however, it was also still showing &#8220;E&#8221; even when I disabled both 3G and EDGE via toggles. I.e., an &#8220;E&#8221; was showing, but there was no connection &#8211; any app would confirm no connection. Furthermore, if I had EDGE disabled via toggle, I could enable 3G &#8211; and get a shiny &#8220;3G&#8221; &#8211; but still no connection possible.</p>
<p>So, the fact that if &#8211; in the current state with iOS4 &#8211; I disabled mobile data connections and there showing <strong>no</strong> &#8220;E&#8221; at all, made me presume that in earlier days my &#8220;mobile data connections&#8221; was always enabled and I was just switching EDGE and/+ 3G on and off. This could also mean &#8211; with remembrance of the &#8220;E&#8221; always showing in earlier days &#8211; that when I enabled mobile data connection now, I could enable 3G all I wanted, there would be no connection if EDGE was disabled (which I couldn&#8217;t enable, since I&#8217;m on iOS4 without toggles).</p>
<p>On order to prove or test this, I had to find a way to enable EDGE without the availability of a jailbreak and therefore with a lack of toggles. My dear friend <a href="http://blog.haraldkraft.de/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2VpbnNlbGYuY29t">Andre</a> (special thx again) had a diff run on his iTunes MobileSync backup &#8211; once with EDGE enabled and once with EDGE disabled via toggle. He came to the following result:</p>
<p>In the backup file <em>d67ab43d1c47dd60d7cf3a7a3939775f6938a8ef.mddata</em> (3.x) or <em>8218978e4ab0a48035bb92653145a6be872ea858</em> (4.0) you will find the following excerpt (note the &#8220;ip<strong>1</strong>&#8220;):</p>
<p><code>&lt;string&gt;com.apple.CommCenter (ip1)&lt;/string&gt;<br />
&lt;key&gt;com.apple.CommCenter&lt;/key&gt;<br />
&lt;dict&gt;<br />
&nbsp;&nbsp;&nbsp;	&lt;key&gt;AllowNetworkAccess&lt;/key&gt;<br />
&nbsp;&nbsp;&nbsp;	&lt;integer&gt;1&lt;/integer&gt;<br />
&nbsp;&nbsp;&nbsp;	&lt;key&gt;Available&lt;/key&gt;<br />
&nbsp;&nbsp;&nbsp;	&lt;integer&gt;1&lt;/integer&gt;</code><br />
The integer following the <em>Available</em>-node switches between 1 (EDGE toggle on) and 0 (EDGE toggle off). That basically meant, that for enabling EDGE without a toggle, I had to alter this value and get it back into my iPhone.</p>
<p>Simple way to do it:</p>
<ol>
<li>Backup/Sync iPhone</li>
<li>Restore iPhone</li>
<li>manually edit the above file (depending on your OS version) in the current backup folder</li>
<li>Recover iPhone with the backup you created and edited</li>
</ol>
<p>That&#8217;s it &#8211; it worked for me. EDGE seems to be enabled, and I can use the OS switches for data connection and 3G as I like, they work, as well, as expected+desired.</p>
<p>Hope this helps.</p>
 <img src="http://blog.haraldkraft.de/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=138" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.haraldkraft.de/2010/07/enable-disable-edge-on-iphone-without-jailbreak-and-toggles/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Opera and innerHTML vs. createTextNode()</title>
		<link>http://blog.haraldkraft.de/2010/01/opera-and-innerhtml-vs-createtextnode/</link>
		<comments>http://blog.haraldkraft.de/2010/01/opera-and-innerhtml-vs-createtextnode/#comments</comments>
		<pubDate>Wed, 20 Jan 2010 00:18:26 +0000</pubDate>
		<dc:creator>Harald Kraft</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[opera]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://blog.haraldkraft.de/?p=102</guid>
		<description><![CDATA[Recently I came across the situation where I created a webpage on which I wanted to include some raw XML data in a &#60;textarea&#62; so the user could see that XML data including all tags and stuff. What made the setup special was, that in this scenario I didn&#8217;t just put a predefined XML formatted [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I came across the situation where I created a webpage on which I wanted to include some raw XML data in a &lt;textarea&gt; so the user could see that XML data including all tags and stuff. What made the setup special was, that in this scenario I didn&#8217;t just put a predefined XML formatted data inside the textarea, but the XML data was supposed to be inserted into the webpage (into the textarea) on the client-side via Javascript.<br />
(In order to give you a little bit more information about the whole picture: the source XML data &#8211; to be inserted on the fly &#8211; might change and should be able to be updated without reloading the whole page)</p>
<p><span id="more-102"></span><br />
I thought easy peasy, I&#8217;ll just get the textarea element by its ID and set its innerHTML to the desired XML data:<br />
<code>xmltext = loadXMLText( xmldoc );<br />
document.getElementById(targetid).innerHTML = xmltext;<br />
</code></p>
<p>This did work in IE 7 as well as in FF 3.5, but Opera (10.10 at the time) displayed a strange behavior. It rendered to content of appearing nodes (from the XML data) but replaced the node tags with spaces:<br />
<code>&lt;object&gt;&lt;name&gt;Foobar&lt;/name&gt;<br />
&lt;/object&gt;<br />
</code></p>
<p>would be rendered as (mask to see spaces):<br />
<code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Foobar&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</code><br />
It took me a while (despite the use of Dragonfly, Opera&#8217;s debug tool) to figure out that the problem was not the &lt;textarea&gt;. Throughout my history with Opera and other browsers I gathered that if a website is viewed &#8220;incorrectly&#8221; in Opera, it usually meant that there was something wrong with the code.<br />
I then switched to the method of adding a new node to the DOM tree, which included the text from the XML data I wanted to be inserted:<br />
<code>xmltext = loadXMLText( xmldoc );<br />
textnode = document.createTextNode( xmltext );<br />
document.getElementById(targetid).appendChild( textnode );<br />
</code><br />
This now worked just fine in Opera. And so I assumed that creating a new DOM node via createTextNode() was the correct method if you wanted to insert any form of text (whether it&#8217;s source code shown as raw text or just text).</p>
<p>Since then I&#8217;ve googled and read a few things about innerHTML, createTextNode() and Opera. It seems that throughout its versions Opera went from supporting innerHTML (the same way other browsers did) to not supporting and to supporting again and so on.<br />
I am usually the kind of guy who thinks &#8220;if this code is wrong, show me so I can see it&#8217;s wrong, don&#8217;t try to guess what I meant&#8221; &#8211; even though guessing what web developers meant seems to be the specialty of most browsers. But in this case we can&#8217;t really say that using innerHTML is &#8220;wrong&#8221; even though it&#8217;s not the best thing to do. One of its advantages might be speed (especially if you&#8217;d have to create a lot of new nodes), but on the other hand it&#8217;s not a standard, so we can&#8217;t blame browsers if they don&#8217;t display it the way we want it to.</p>
<p>So as a final note, I&#8217;d like to say that I hope people having trouble with innerHTML and Opera find this blog post so they can fix their problem.<br />
And for those open to discussion about whether it&#8217;s bad/wrong/good/whatsoever to use innerHTML, I recommend <a href="http://blog.haraldkraft.de/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3NsYXllcm9mZmljZS5jb20vYXJ0aWNsZXMvaW5uZXJIVE1MX2FsdGVybmF0aXZlcy8=">this article</a> which offers a nice list of ups and downs of innerHTML along with a whole bunch of scenarios and alternate ways to reach your goal without using a non-standard method <img src='http://blog.haraldkraft.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> .</p>
 <img src="http://blog.haraldkraft.de/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=102" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.haraldkraft.de/2010/01/opera-and-innerhtml-vs-createtextnode/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Disable compressed folders in Windows Vista and Windows 7</title>
		<link>http://blog.haraldkraft.de/2009/10/disable-compressed-folders-in-windows-vista-and-7/</link>
		<comments>http://blog.haraldkraft.de/2009/10/disable-compressed-folders-in-windows-vista-and-7/#comments</comments>
		<pubDate>Sun, 18 Oct 2009 22:47:37 +0000</pubDate>
		<dc:creator>Harald Kraft</dc:creator>
				<category><![CDATA[Technical]]></category>
		<category><![CDATA[compressed folder]]></category>
		<category><![CDATA[file association]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://blog.haraldkraft.de/?p=87</guid>
		<description><![CDATA[When you&#8217;re using an &#8220;external&#8221; tool for handling ZIP archive file (and the likes), it can be really annoying when you double-click on such a file in Windows Explorer (or other file browsers) and Windows treats the file as a compressed folder and doesn&#8217;t start the external application even though file associations are correctly set. [...]]]></description>
			<content:encoded><![CDATA[<p>When you&#8217;re using an &#8220;external&#8221; tool for handling ZIP archive file (and the likes), it can be really annoying when you double-click on such a file in Windows Explorer (or other file browsers) and Windows treats the file as a compressed folder and doesn&#8217;t start the external application even though file associations are correctly set.</p>
<p>Some tuning tools like XP-Antispy are able to disable the functionality of compressed folders, however it didn&#8217;t work for me on Vista the last time I tried.<br />
After a while of research I found the solution how to edit the registry, so that double-clicking associated files will truly be opened with the external application:</p>
<p><span id="more-87"></span><br />
Deleting the following two registry keys and restarting Windows will disable compressed folders (or &#8220;Komprimierte Ordner&#8221; as they are called in the German Windows):</p>
<blockquote><p>
HKEY_CLASSES_ROOT\CLSID\{E88DCCE0-B7B3-11d1-A9F0-00AA0060FA31}</p>
<p>HKEY_CLASSES_ROOT\CLSID\{0CD7A5C0-9F37-11CE-AE65-08002B2E1262}
</p></blockquote>
<p>I found the solution <a href="http://blog.haraldkraft.de/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5hbm5veWFuY2VzLm9yZy9leGVjL3Nob3cvYXJ0aWNsZTAzLTIwMg==">here</a>, where you will find .reg files for automated removal (and adding the keys back to the registry).</p>
<p>After you reboot, compressed folders should be turned off.</p>
<p><strong><em>Update 04/14/2010:</em></strong><br />
As pointed out by Mark, the above instructions don&#8217;t fully work in Windows 7 due to some permission restrictions. Here are the additional steps you need to do in Windows 7 (credit goes to <a href="http://blog.haraldkraft.de/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2NvZGVzb2NpZXR5LmNvbS8yMDA5LzA3LzI3L2Rpc2FibGUtemlwLWZvbGRlcnMtaW4td2luZG93cy03LXZpc3RhLXhwLw==">James</a>):</p>
<ul>
<li>Right-click &#8220;Permissions&#8221; on the two keys mentioned above when browsing the registry editor</li>
<li>Click &#8220;Advanced&#8221;, tab &#8220;Ownership&#8221; and select your username (which needs to be an administrator)</li>
<li>Check &#8220;Replace owner on subcontainers and objects&#8221; and click &#8220;OK&#8221;</li>
<li>Back in the permissions, select your username (or &#8220;Add&#8230;&#8221; it if it&#8217;s missing) and grant &#8220;Full Control&#8221;</li>
</ul>
<p>Now you can delete the key(s) after you have performed those steps (for each key).</p>
<p><strong><em>Update 05/20/2010:</em></strong><br />
One user reported his screen went black (on his laptop) after applying the .reg files (under Vista). I don&#8217;t know whether there&#8217;s a direct connection or whether it was just coincidence, but he let me know that after a (manual) reboot, everything was fine again &#8211; including compressed folders being disabled.</p>
 <img src="http://blog.haraldkraft.de/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=87" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.haraldkraft.de/2009/10/disable-compressed-folders-in-windows-vista-and-7/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>WebCalendar is not working with Lightning or Sunbird</title>
		<link>http://blog.haraldkraft.de/2009/09/webcalendar-is-not-working-with-lightning-or-sunbird/</link>
		<comments>http://blog.haraldkraft.de/2009/09/webcalendar-is-not-working-with-lightning-or-sunbird/#comments</comments>
		<pubDate>Fri, 18 Sep 2009 20:19:38 +0000</pubDate>
		<dc:creator>Harald Kraft</dc:creator>
				<category><![CDATA[Technical]]></category>
		<category><![CDATA[encoding]]></category>
		<category><![CDATA[lightning]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[sunbird]]></category>
		<category><![CDATA[thunderbird]]></category>
		<category><![CDATA[webcalendar]]></category>

		<guid isPermaLink="false">http://blog.haraldkraft.de/?p=71</guid>
		<description><![CDATA[After using WebCalendar for quite I while, I finally got to the bottom of the problem, why it wasn&#8217;t working as a remote calendar in Mozilla Sunbird or in the Thunderbird extension Lightning. Following the official description how to subscribe to a remote calendar did add the calendar successfully, but showed a yellow warning sign [...]]]></description>
			<content:encoded><![CDATA[<p>After using <a href="http://blog.haraldkraft.de/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5rNW4udXMvd2ViY2FsZW5kYXIucGhw">WebCalendar</a> for quite I while, I finally got to the bottom of the problem, why it wasn&#8217;t working as a remote calendar in Mozilla Sunbird or in the Thunderbird extension Lightning.</p>
<p>Following the <a href="http://blog.haraldkraft.de/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5rNW4udXMvd2lraS9pbmRleC5waHA/dGl0bGU9UmVtb3RlX1B1Ymxpc2hpbmdfd2l0aF9TdW5iaXJk">official description</a> how to subscribe to a remote calendar did add the calendar successfully, but showed a yellow warning sign with the caption </p>
<blockquote><p>The calendar foobar is momentarily not available</p></blockquote>
<p><span id="more-71"></span>This message actually points to a connection problem, network wise or maybe concerning the webserver. Even though I had done everything according to the description, it didn&#8217;t help.<br />
For a long time, this was the status quo &#8211; surprisingly the calendar worked from time to time, without any explanation.</p>
<p>However, trying to open an exported .ics file with Lightning/Sunbird pointed me into another direction, because it <em>still</em> claimed to be momentarily not available, even though no network or other connection was involved.<br />
Honestly, I should have tried it before, but this was the first time I opened Thunderbird&#8217;s <em>Error Console</em> to see a more descriptive warning message:</p>
<blockquote><p>Warning: There has been an error reading data for calendar: foobar. Error code: CAL_UTF8_DECODING_FAILED. Description: An error occurred while decoding an iCalendar (ics) file as UTF-8. Check that the file, including symbols and accented letters, is encoded using the UTF-8 character encoding.</p></blockquote>
<p>and if any Germans have this problem:</p>
<blockquote><p>Warnung: Fehler beim Lesen von Daten für Kalender: foobar. Fehlercode: CAL_UTF8_DECODING_FAILED. Beschreibung: Ein Fehler ist beim Dekodieren einer iCalendar(ics)-Datei als UTF-8 aufgetreten. Überprüfen Sie, dass die Datei, inklusive Symbolen und akzentierten Buchstaben, mit dem UTF-8-Zeichensatz kodiert ist.</p></blockquote>
<p>So, obviously it was an encoding problem. I tried to save the exported ICS file in several encodings and could open it with Sunbird/Lightning if it was properly encoded in UTF-8.<br />
The message in Thunderbird&#8217;s error console finally made it easy to google the problem (as opposed to the warning caption telling me that the calendar was momentarily not available). People seemed to have this very problem when they used special characters in their WebCalendar. And in fact, as I removed the special characters I was using in some event descriptions, loading the calendar in Lightning worked just fine.</p>
<p>One solution for the problem is not to use any special characters, the other one is just a workaround until they fix this issue (which is still commented as a <em>TODO</em> in the code btw <img src='http://blog.haraldkraft.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ): <a href="http://blog.haraldkraft.de/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3NvdXJjZWZvcmdlLm5ldC90cmFja2VyL2luZGV4LnBocD9mdW5jPWRldGFpbCYjMDM4O2FpZD0yMTM2MjMyJiMwMzg7Z3JvdXBfaWQ9Mzg3MCYjMDM4O2F0aWQ9MTAzODcw">This WebCalendar SourceForge Bugtracker comment</a> tried to comment out a few lines in the WebCalendar source code. The final code of my <em>&#8220;webcalendar-dir&#8221;/includes/classes/WebCalendar.class</em> now looks like this (around line 870 in v1.2.0):<br />
<code>//    if (extension_loaded('mbstring')) {<br />
//     $mb_lang = strtok($lang, '-');<br />
//      if (mb_language($mb_lang) &#038;&#038; mb_internal_encoding(translate('charset'))) {<br />
//        $enable_mbstring = true;<br />
//      } else {<br />
        $enable_mbstring = false;<br />
//      }<br />
//    }</code><br />
This workaround works fine for me at the moment. Hope it does as well for anybody having this problem <img src='http://blog.haraldkraft.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Please do comment your experiences.</p>
 <img src="http://blog.haraldkraft.de/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=71" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.haraldkraft.de/2009/09/webcalendar-is-not-working-with-lightning-or-sunbird/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Use customized shortcut keyboard setup in Opera browser</title>
		<link>http://blog.haraldkraft.de/2009/09/use-customized-shortcut-keyboard-setup-in-opera-browser/</link>
		<comments>http://blog.haraldkraft.de/2009/09/use-customized-shortcut-keyboard-setup-in-opera-browser/#comments</comments>
		<pubDate>Thu, 03 Sep 2009 17:00:03 +0000</pubDate>
		<dc:creator>Harald Kraft</dc:creator>
				<category><![CDATA[Life and People]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[opera]]></category>
		<category><![CDATA[shortcut]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://blog.haraldkraft.de/?p=58</guid>
		<description><![CDATA[Throughout these past weeks, I&#8217;ve installed Opera on a few new systems (with various operating systems btw) and had to make (just) a few adjustments. One of them included setting my own keyboard setup. Even though making my custom shortcut settings was easily done each time (via Tools -> Preferences -> Advanced -> Shortcuts -> [...]]]></description>
			<content:encoded><![CDATA[<p>Throughout these past weeks, I&#8217;ve installed Opera on a few new systems (with various operating systems btw) and had to make (just) a few adjustments. One of them included setting my own keyboard setup. Even though making my custom shortcut settings was easily done each time (via <em>Tools</em> -> <em>Preferences</em> -> <em>Advanced</em> -> <em>Shortcuts</em> -> &#8220;Keyboard setup&#8221; <em>Duplicate</em> + <em>Edit</em>, see <a href="http://blog.haraldkraft.de/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL215Lm9wZXJhLmNvbS9UYW1pbC9ibG9nL2FkZC1tb2RpZnkta2V5Ym9hcmQtc2hvcnRjdXQ=">Tamil&#8217;s blog</a> for a nice description), embarrassingly I had forgotton how to actually &#8220;enable&#8221; the modified keyboard setup.</p>
<p><span id="more-58"></span><br />
In my opinion, it took me too long to find the solution online, that&#8217;s why I am posting this blog entry (apart from self-interest as a reminder <img src='http://blog.haraldkraft.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ).</p>
<p>So, after you have possibly created and edited the customized keyboard setup to your needs &#8211; drumroll &#8211; while in the Edit-Dialog of your keyboard setup (<em>Tools</em> -> <em>Preferences</em> -> <em>Advanced</em> -> <em>Shortcuts</em> -> select your &#8220;Keyboard setup&#8221; and click <em>Edit</em>) you need to click on the <strong>Default</strong> button in order to (as I called it) &#8220;enable&#8221; the keyboard setup.<br />
That&#8217;s all there is to it &#8211; simple if you know it, but a bitch if you don&#8217;t and try all sort of tricks <img src='http://blog.haraldkraft.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>Btw, for those of you who&#8217;re interested: The only change I made in the keyboard setting (and that really matters to me) is that I like <em>Ctrl+D</em> to perform &#8220;Paste + go&#8221; as it used to do in older Opera versions. For me it was one of the most useful shortcuts ever and in my opinion was way more efficient than the &#8220;new&#8221; default setting (after Opera adapted Ctrl+D to be &#8220;Bookmark directly&#8221;, that I never use anyway, from Firefox).</p>
 <img src="http://blog.haraldkraft.de/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=58" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.haraldkraft.de/2009/09/use-customized-shortcut-keyboard-setup-in-opera-browser/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Invalid command &#8216;Script&#8217; in Apache configuration</title>
		<link>http://blog.haraldkraft.de/2009/08/invalid-command-script-in-apache-configuration/</link>
		<comments>http://blog.haraldkraft.de/2009/08/invalid-command-script-in-apache-configuration/#comments</comments>
		<pubDate>Mon, 03 Aug 2009 11:14:00 +0000</pubDate>
		<dc:creator>Harald Kraft</dc:creator>
				<category><![CDATA[Technical]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://blog.haraldkraft.de/?p=45</guid>
		<description><![CDATA[While I was trying to allow some tool&#8217;s PHP file to perform the HTTP command PUT, the tool&#8217;s manual said to put the following code in the httpd.conf Apache configuration file: &#60;Directory /foo/bar&#62; Script PUT /some.php &#60;/Directory&#62; And so I did. But when I tried to reload Apache&#8217;s configuration (/etc/init.d/apache2 reload), Apache complained with the [...]]]></description>
			<content:encoded><![CDATA[<p>While I was trying to allow some tool&#8217;s PHP file to perform the HTTP command <em>PUT</em>, the tool&#8217;s manual said to put the following code in the <em>httpd.conf</em> Apache configuration file:<br />
<code>&lt;Directory /foo/bar&gt;<br />
Script PUT /some.php<br />
&lt;/Directory&gt;</code></p>
<p>And so I did. But when I tried to reload Apache&#8217;s configuration (<em>/etc/init.d/apache2 reload</em>), Apache complained with the following message:</p>
<blockquote><p>Invalid command &#8216;Script&#8217;, perhaps misspelled or defined by a module not included in the server configuration<br />
<span style="color: #ff0000;">failed!</span></p></blockquote>
<p><span id="more-45"></span><br />
At this point in time, Google didn&#8217;t have any results for the error string, and this is why I am actually writing this blog entry.</p>
<p>Searching for Apache2&#8242;s directive <strong>Script</strong> got me to <a href="http://blog.haraldkraft.de/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2h0dHBkLmFwYWNoZS5vcmcvZG9jcy8yLjIvbW9kL21vZF9hY3Rpb25zLmh0bWwjc2NyaXB0">this Apache doc</a> where you can see that the directive <strong>Script</strong> is part of the module <strong>mod_actions</strong>.<br />
As already mentioned in the error message, a module was not included, now I knew that it would probably be the <em>mod_actions</em> module. Enabling the module by symlinking it from <em>mods-enabled</em> to <em>mods-available</em> made the error message disappear and everything working just fine:</p>
<blockquote><p>ln -s /etc/apache2/mods-available/actions.load /etc/apache2/mods-enabled/actions.load<br />
ln -s /etc/apache2/mods-available/actions.conf /etc/apache2/mods-enabled/actions.conf</p></blockquote>
<p>Hope this helps to offer a quick solution for the error message.</p>
<p>Btw, while looking for fixes, I stumpled across <a href="http://blog.haraldkraft.de/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5hcGFjaGV3ZWVrLmNvbS9mZWF0dXJlcy9wdXQ=">this page</a>, which offers further information about how to use Apache&#8217;s <strong>Script</strong> directive.</p>
 <img src="http://blog.haraldkraft.de/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=45" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.haraldkraft.de/2009/08/invalid-command-script-in-apache-configuration/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>File association for certain filenames without file extension under Windows</title>
		<link>http://blog.haraldkraft.de/2009/07/file-association-for-certain-filenames-without-file-extension-under-windows/</link>
		<comments>http://blog.haraldkraft.de/2009/07/file-association-for-certain-filenames-without-file-extension-under-windows/#comments</comments>
		<pubDate>Fri, 24 Jul 2009 20:55:33 +0000</pubDate>
		<dc:creator>Harald Kraft</dc:creator>
				<category><![CDATA[Technical]]></category>
		<category><![CDATA[file association]]></category>
		<category><![CDATA[file extension]]></category>
		<category><![CDATA[filename]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://blog.haraldkraft.de/?p=39</guid>
		<description><![CDATA[Recently I was facing the issue whether it&#8217;s possible to associate files with a certain filename to be opened with a particular program in Windows operating systems. These could be files named TODO, README, INSTALL, LICENSE and the likes, as they are widely common in the unix world. My first try via tweaking the registry [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I was facing the issue whether it&#8217;s possible to associate files with a certain filename to be opened with a particular program in Windows operating systems. These could be files named <strong>TODO</strong>, <strong>README</strong>, <strong>INSTALL</strong>, <strong>LICENSE</strong> and the likes, as they are widely common in the unix world.</p>
<p><span id="more-39"></span><br />
My first try via tweaking the registry (adding an entry in the HKEY_CLASSES_ROOT as you would normally do for an extension) was without success. Also other tweak programs, which are capable of setting file associations, fail to do this for files which do not have an extension.<br />
When looking for a solution on the web, I came across <a href="http://blog.haraldkraft.de/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2VsaWdyZXkuY29tL2Jsb2cvcG9zdC9hc3NvY2lhdGluZy1maWxlcy13aXRob3V0LWZpbGUtZXh0ZW5zaW9ucy1pbi13aW5kb3dz">this blog entry</a> of Elijah Grey, who wrote a batch file with which you&#8217;ll be able to associate all files without file extension to any program. He uses the command line tools <strong><em>ftype</em></strong> and more importantly <strong><em>assoc</em></strong>. Even though this solution is neat, it didn&#8217;t quite satisfy my needs &#8211; because I might want to associate different filenames (without extensions) to different programs.<br />
Looking at the help of <strong><em>assoc</em></strong>, the command line tool just handles extensions (as parameters), e.g. &#8220;<strong>.txt</strong>&#8221; or just &#8220;<strong>.</strong>&#8221; for files without extension. But it is not able to use the parameter as desired fixed filename (without extension). As you can see from my comment to the blog entry, Elijah stated that it is not possible to associate certains file names to a program under Windows.</p>
<p>This means, at least for the time being I will not be able to restrict file associations of files without file extension to just <em>certain</em> filenames.</p>
<p>However, when you think about this issue, you will face the following questions:</p>
<ul>
<li>where do the files come from / where are or were they created?</li>
<li>which program should they be associated?</li>
</ul>
<p>The answer to the first question is, of course, for the most part such files will have something to do with Unix &#8211; and furthermore therefore most likely not have Windows line breaks. That means (starting to find the answer to the second question), if you intended the special files to be associated with <strong>notepad</strong>, the standard Windows editor, it would not be neatly formatted in the first place.<br />
But on the other hand, if you wanted those files to be associated with your favorite editor (UltraEdit, SciTe, EmEditor, Notepad++, Programmer&#8217;s Notepad, &#8230; just to name a few), with which you wouldn&#8217;t have line break issues, actually all of those editors have the option to be integrated in the right-click context menu (of any file explorer). That means, to edit those files instead of double-clicking you would have to go through one right-click and then one left-click.</p>
<p>The way via the context-menu obviously takes more time (and time adds up <img src='http://blog.haraldkraft.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ) and is still no solution to the original problem. But it seems, for the moment we will just have the option of the context-menu or (using <strong>assoc</strong> or Elijah&#8217;s script) to associate <em>all</em> files without file extension with a program. Meaning, no two different programs for two differently named files &#8211; but let&#8217;s be honest, most of the files without extensions (see above for the examples) are simple text files anyway <img src='http://blog.haraldkraft.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
 <img src="http://blog.haraldkraft.de/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=39" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.haraldkraft.de/2009/07/file-association-for-certain-filenames-without-file-extension-under-windows/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>BCDboot and BCDedit</title>
		<link>http://blog.haraldkraft.de/2009/07/bcdboot-and-bcdedit/</link>
		<comments>http://blog.haraldkraft.de/2009/07/bcdboot-and-bcdedit/#comments</comments>
		<pubDate>Wed, 08 Jul 2009 01:24:56 +0000</pubDate>
		<dc:creator>Harald Kraft</dc:creator>
				<category><![CDATA[Technical]]></category>
		<category><![CDATA[bcdedit]]></category>
		<category><![CDATA[grub]]></category>
		<category><![CDATA[multiboot]]></category>
		<category><![CDATA[opensolaris]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://blog.haraldkraft.de/?p=28</guid>
		<description><![CDATA[After the first complications with the quadruple boot, I was facing new ones when I tried to do everything again on a new hard drive. The installation order was 1. Windows XP 2. Windows 7 (which recognized the &#8220;old&#8221; XP and integrated it in the boot loader) 3. Ubuntu 9.04 4. OpenSolaris 2009.06 (for detailed [...]]]></description>
			<content:encoded><![CDATA[<p>After the first complications with the quadruple boot, I was facing new ones when I tried to do everything again on a new hard drive.<br />
The installation order was <strong>1.</strong> Windows XP <strong>2.</strong> Windows 7 (which recognized the &#8220;old&#8221; XP and integrated it in the boot loader) <strong>3.</strong> Ubuntu 9.04 <strong>4.</strong> OpenSolaris 2009.06<br />
(for detailed partition info see <a href="http://blog.haraldkraft.de/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cuaGFyYWxka3JhZnQuZGUvMjAwOS8wNi9xdWFkcnVwbGUtYm9vdC8=">quadruple-boot</a> blog entry).</p>
<p>The boot process would then be like this:</p>
<ul>
<li>load OpenSolaris GRUB from third primary</li>
<ol>
<li>boot OpenSolaris from third primary</li>
<li>load Microsoft bootloader from first primary</li>
<li>load Microsoft bootloader from second primary</li>
<ol>
<li>boot Windows 7 from C: (as first primary)</li>
<li>boot Windows XP from E: (as second primary)</li>
</ol>
<li>boot Ubuntu (several entries for different kernels) from logical</li>
</ol>
</ul>
<p><span id="more-28"></span><br />
It turned out that when installing Windows 7 over XP, it kept the second primary partition as booting partition and installed its bootloader there. Choosing <em>load Microsoft bootloader from second primary</em> in GRUB got me to the MS bootloader screen, where I was able to choose which Windows I would like to boot into. However, if I went for <em>load Microsoft bootloader from first primary</em>, I was getting this error message:<br />
<code>BOOTMGR is missing<br />
Press Ctrl+Alt+Del to restart</code><br />
or in German:<br />
<code>BOOTMGR fehlt<br />
Neustart mit Strg+Alt+Entf</code></p>
<p>It means that there was no MS bootloader (of any sort) located on the first primary partition (obviously because Win7 kept the second primary as boot partition).<br />
I was able to fix this by booting via the second primary partition into Windows 7 and running &#8220;<strong>bcdboot.exe C:\Windows C:</strong>&#8221; on the command line with elevated rights. This command would create the file <strong>C:\bootmgr</strong> as well as the directory <strong>C:\Boot</strong> (which contains the BCD registry file along with language files).<br />
After that I was perfectly able to choose the entry from GRUB which would load the MS bootloader from the first primary partition.<br />
(As a note: if you found this blog entry without having the same setup and a working Windows 7 or Vista installation, you can achieve the same effect via the Installation-DVDs. Maybe not via <strong>bcdboot</strong> but <strong>bootrec</strong>)</p>
<p>The second effect I encountered was, when I was trying to edit the text of the MS bootloader on the second partition (change &#8220;Earlier Windows version&#8221; into &#8220;Windows XP&#8221;), which is done via <strong>bcdedit.exe</strong>, all I found was this error message:<br />
<code>The boot configuration data store could not be opened.<br />
The system cannot find the file specified.</code><br />
in German:<br />
<code>Der Speicher für die Startkonfigurationsdaten konnte nicht geöffnet werden.<br />
Das System kann die angegebene Datei nicht finden.</code><br />
The reason for this is, bcdedit looks for its registry file (\Boot\BCD) <em>only</em> on the <strong>active</strong> partition. (You can check this on <a href="http://blog.haraldkraft.de/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3RlY2huZXQubWljcm9zb2Z0LmNvbS9lbi11cy9saWJyYXJ5L2NjNzIxODg2KFdTLjEwKS5hc3B4">this Microsoft site</a>)<br />
Note: BE CAREFUL about the program with which you make a partition active! You can safely do this for example via GRUB or Gparted. I strongly discourage from using diskmgmt.msc (under Windows): it removed Ubuntu&#8217;s swap and root partition from the partition table and I had no choice but to reinstall Ubuntu (this might be a bug in the Win 7 RC, but I think it&#8217;s rather a bug in the disk management console itself).</p>
<p>So, after some fuss about changing the active partitions back and forth while setting messages for the (different) MS boot loader(s), I renamed (just in case) the folder \Boot and file bootmgr on the second(!) primary partition, leaving just NTLDR on it.<br />
Because Windows XP was booting just fine, I am assuming, that an MS bootsector first looks for <strong>bootmgr</strong> and if it doesn&#8217;t find one, it looks for <strong>ntldr</strong>. (The reason why I believe this is, if I renamed the file ntldr as well, I got the above message about BOOTMGR missing).</p>
<p>The current setup now looks like this (after making the third primary, OpenSolaris, partition active again):</p>
<ul>
<li>load OpenSolaris GRUB from thirrd primary</li>
<ol>
<li>boot OpenSolaris from third primary</li>
<li>load Microsoft bootloader from first primary, which boots via bootmgr (into Win7)</li>
<li>load Microsoft bootloader from second primary, which boots via ntldr (into WinXP)</li>
<li>boot Ubuntu (several entries for different kernels) from logical</li>
</ol>
</ul>
 <img src="http://blog.haraldkraft.de/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=28" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.haraldkraft.de/2009/07/bcdboot-and-bcdedit/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Twitter PHP script</title>
		<link>http://blog.haraldkraft.de/2009/06/twitter-php-script/</link>
		<comments>http://blog.haraldkraft.de/2009/06/twitter-php-script/#comments</comments>
		<pubDate>Mon, 29 Jun 2009 00:19:25 +0000</pubDate>
		<dc:creator>Harald Kraft</dc:creator>
				<category><![CDATA[Life and People]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[parsing]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://blog.haraldkraft.de/?p=19</guid>
		<description><![CDATA[I wrote this PHP script in order to include the latest tweets from my Twitter on my website. It retrieves the RSS feed, parses it and pastes a number of tweets (along with timestamp and link) to HTML. [[ OLD: Before I can / want to release it under some free software license, I would [...]]]></description>
			<content:encoded><![CDATA[<p>I wrote this PHP script in order to include the latest tweets from my Twitter on my <a href="http://blog.haraldkraft.de/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2hhcmFsZGtyYWZ0LmRl">website</a>. It retrieves the RSS feed, parses it and pastes a number of tweets (along with timestamp and link) to HTML.</p>
<p><em>[[ OLD:<br />
Before I can / want to release it under some free software license, I would appreciate it if some of you PHP nerds could review the code. I am mainly concerned about security issues rather than formatting and coding style. Since I am no pro in PHP coding, I will probably have done some things quite clumsily.</p>
<p>So please point out security problems as well as other major issues. (For example, if anybody knows how to stop parsing after max items were dealt which, please let me know <img src='http://blog.haraldkraft.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ).<br />
]]</em></p>
<p><em>[UPDATE 07/08/2009]</em><br />
(HTTP) Links are now made clickable.<br />
<em>[/UPDATE]</em></p>
<p><em>[UPDATE 15/12/2009]</em><br />
The script was <strong>released</strong> under the Creative Commons Attribution 3.0 Unported License today.<br />
Download the PHP code at <a href="http://blog.haraldkraft.de/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cuaGFyYWxka3JhZnQuZGUvd3AtY29udGVudC91cGxvYWRzLzIwMDkvMTIvcGFyc2V0d2l0dGVyLnBocF8udHh0">http://blog.haraldkraft.de/wp-content/uploads/2009/12/parsetwitter.php_.txt</a> and feel free to reuse and tweak my script (along with mentioning my name as suggested in the license information in the code).<br />
<em>[/UPDATE]</em></p>
<p>Email me at <span id="emob-oybt@unenyqxensg.qr-14">blog {at} haraldkraft(.)de</span><script type="text/javascript">
    var mailNode = document.getElementById('emob-oybt@unenyqxensg.qr-14');
    var linkNode = document.createElement('a');
    linkNode.setAttribute('href', "mailto:%62%6C%6F%67%40%68%61%72%61%6C%64%6B%72%61%66%74%2E%64%65");
    tNode = document.createTextNode("blog {at} haraldkraft(.)de");
    linkNode.appendChild(tNode);
    linkNode.setAttribute('id', "emob-oybt@unenyqxensg.qr-14");
    mailNode.parentNode.replaceChild(linkNode, mailNode);
</script> (or comment)</p>
<p><a rel=\"license\" href="http://blog.haraldkraft.de/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnkvMy4wLw=="><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by/3.0/88x31.png" /></a><br />This work is licensed under a <a rel=\"license\" href="http://blog.haraldkraft.de/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnkvMy4wLw==">Creative Commons Attribution 3.0 Unported License</a>.</p>
 <img src="http://blog.haraldkraft.de/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=19" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.haraldkraft.de/2009/06/twitter-php-script/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Quadruple boot</title>
		<link>http://blog.haraldkraft.de/2009/06/quadruple-boot/</link>
		<comments>http://blog.haraldkraft.de/2009/06/quadruple-boot/#comments</comments>
		<pubDate>Sat, 27 Jun 2009 21:57:56 +0000</pubDate>
		<dc:creator>Harald Kraft</dc:creator>
				<category><![CDATA[Technical]]></category>
		<category><![CDATA[grub]]></category>
		<category><![CDATA[multiboot]]></category>
		<category><![CDATA[opensolaris]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://blog.haraldkraft.de/?p=13</guid>
		<description><![CDATA[Setting up my new computer (AMD Phenom II X4 810 (Deneb), 4&#215;2.6GHz, 8192MB RAM, 500GB WesternDigital, GeForce 9400GT, 1GBit+54MBit) was a bitch. Especially since I wanted a very specific OS setup. The primary targets were Windows XP (SP3) and Ubuntu (9.04) for coding purposes, secondly Windows 7 RC for testing purposes and OpenSolaris for experience. [...]]]></description>
			<content:encoded><![CDATA[<p>Setting up my new computer (AMD Phenom II X4 810 (Deneb), 4&#215;2.6GHz, 8192MB RAM, 500GB WesternDigital, GeForce 9400GT, 1GBit+54MBit) was a bitch. Especially since I wanted a very specific OS setup.</p>
<p>The primary targets were Windows XP (SP3) and Ubuntu (9.04) for coding purposes, secondly Windows 7 RC for testing purposes and OpenSolaris for experience.<br />
I did a lot of installing and reinstalling this past week, until I finally managed to get all four systems working and accessible.</p>
<p><span id="more-13"></span><br />
The original partitioning plan was to have two primary partitions and a few logical partitions (inside an extended partition, of course), so there will be room for more systems. After installing Windows XP to the second (primary) partition and Windows 7 in the first, I found out, that the OpenSolaris installer did not create a logical partition (as expected) in the extended partition, but deleted the extended and created a solaris partition (with new size) instead. But because I wanted OpenSolaris to be in a logical partition, I used GParted to created the extended partition again and prepared a dedicated (logical) partition for OpenSolaris. Unfortunately OpenSolaris doesn&#8217;t see behind the walls of the extended partition, so &#8211; again with GParted &#8211; I shrunk the extended and created a third primary partition for OpenSolaris. This time the installer used the partition correctly &#8211; nevertheless it contains bugs, and that&#8217;s why the installation failed on first try. But with the help of <a href="http://blog.haraldkraft.de/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2dzLnN1bi5jb20vb2JzZXJ2YXRvcnkvZW50cnkvdHJpcGxlX2Jvb3RfcGFydF8zX2luc3RhbGw=">this awesome guide</a> I managed to also take this hurdle. Finally, after installing Ubuntu, I decided I would want to use OpenSolaris&#8217; grub rather than Ubuntu&#8217;s (I can&#8217;t quite recall whether it was just a visual reason or whether there was more&#8230;).</p>
<p>Furthermore I had to face other issues: Windows XP installed itself on drive E:, because it recognized the first primary partition as C: and the card reader as D: (even though E: is the second primary partition), I still haven&#8217;t figured out why. Also, after installing Windows 7 and OpenSolaris, I couldn&#8217;t boot XP anymore (copying NTLDR and stuff didn&#8217;t help). And last but not least, for (still) unknown reason, Windows 7 wouldn&#8217;t start <em>bcdedit</em> anymore (yes, even though I started it from a commando prompt with elevated rights).</p>
<p>In order to get Windows XP booting again, I had no choice but to reinstall it (fixmbr from the installation disk wouldn&#8217;t work). So I also had to reinstall Windows 7, because from the RC disk I couldn&#8217;t start bcdedit, either. This time, however, the Windows 7 installer did not recognize Windows XP as a previously installed version &#8211; nevertheless I was able to add Windows XP to the MS bootloader.<br />
OpenSolaris and Ubuntu were still were they belonged, but I had to get them booting again. Trying to restore OpenSolaris&#8217; GRUB (and load it into the MBR) failed with read/write errors, as also shown in <a href="http://blog.haraldkraft.de/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5saW51eHF1ZXN0aW9ucy5vcmcvcXVlc3Rpb25zL3NvbGFyaXMtb3BlbnNvbGFyaXMtMjAvc29sYXJpcy0xMC0xMDA4LWdydWItc3RhZ2UyLWZhaWxlZC11bmJvb3RhYmxlLWluc3RhbGxhdGlvbi03MDA4MDAv">this</a> thread. I tried it many times, never successfully though. I thought, the heck with it, I&#8217;ll use Ubuntu&#8217;s GRUB. Well, I wasn&#8217;t able to restore that one, either: <em>stage1</em> couldn&#8217;t be read correctly. According to <a href="http://blog.haraldkraft.de/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3dpa2kuYXJjaGxpbnV4Lm9yZy9pbmRleC5waHAvUmVpbnN0YWxsaW5nX0dSVUI=">this</a> wiki entry, with an inode size other than 128, GRUB isn&#8217;t able to read from the filesystem. I thought the situation is rather kinda stupid, that the Ubuntu installer creates a partition with an inode size that GRUB won&#8217;t be able to read? So I decided to try with OpenSolaris&#8217; GRUB again.</p>
<p>I could boot into OpenSolaris, but just using the LiveCD and entering GRUB commands manually (<strong>rootnoverify (hd0,2)</strong>, <strong>chainloader +1</strong>) &#8211; because at the moment, Windows 7&#8242;s bootloader was booting at system start. Since trying to restore OpenSolars&#8217; GRUB back to the MBR (see <a href="http://blog.haraldkraft.de/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2dzLnN1bi5jb20vb2JzZXJ2YXRvcnkvZW50cnkvdHJpcGxlX2Jvb3RfcGFydF81X3JlaW5zdGFsbGluZw==">this</a>) still failed, I was again looking for solutions online. I stumbled across <a href="http://blog.haraldkraft.de/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5rb2wtaG93LW9wZW5zdWctb3Blbmp1Zy5vcmcvaW5kZXgucGhwP29wdGlvbj1jb21fbXlibG9nJiMwMzg7c2hvdz1SZWNvdmVyLU9wZW5Tb2xhcmlzLUhvdy10by0uaHRtbCYjMDM4O0l0ZW1pZD03MQ==">this page</a> (currently only accessible via <a href="http://blog.haraldkraft.de/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovLzIwOS44NS4xMzUuMTMyL3NlYXJjaD9xPWNhY2hlOlBCQ0RfcWk3ZUI4Sjp3d3cua29sLWhvdy1vcGVuc3VnLW9wZW5qdWcub3JnL2luZGV4LnBocCUzRm9wdGlvbiUzRGNvbV9teWJsb2clMjZzaG93JTNEUmVjb3Zlci1PcGVuU29sYXJpcy1Ib3ctdG8tLmh0bWwlMjZJdGVtaWQlM0Q3MStvcGVuc29sYXJpcytyZXN0b3JlK2dydWImIzAzODtjZD0zJiMwMzg7aGw9ZGUmIzAzODtjdD1jbG5rJiMwMzg7Z2w9ZGU=">Google cache</a>), which sounded really easy: just activate the OpenSolaris partition again. Could it really be that simple? It was. After making the partition active, GRUB fired up at system start, and I could boot into all four systems. For Ubuntu I had to adjust the menu.lst settings though: Jaunty uses <em>uuid</em> rather than <em>root</em> by default, but somehow OpenSolaris&#8217; GRUB can&#8217;t yet deal with this.</p>
<p>Status quo: At system start I will see the OpenSolaris GRUB with Windows 7, Windows XP, OpenSolaris and Ubuntu as boot options. Windows 7 gets me to the Microsoft bootloader (where I again can choose between 7 and XP, which I added via bcdedit in the beginning). Otherwise I can boot the three remaining systems directly.</p>
<p>Finally, I got the system I wanted: Four operating systems, bootable without inconvenience <img src='http://blog.haraldkraft.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>[UPDATE 07/07/09:] In order to fix problems with the Windows boot loader, I was using the description at <a href="http://blog.haraldkraft.de/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5rb21iaXR6LmNvbS8yMDA5LzAxLzEzL2hvdy10by1hZGQtd2luZG93cy14cC10by13aW5kb3dzLTctYm9vdC1tYW5hZ2VyLw==">this page</a>.<br />
But using the &#8220;manpages&#8221; via <strong><em>bcdedit.exe /?</em></strong> also helped. [/UPDATE]</p>
 <img src="http://blog.haraldkraft.de/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=13" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.haraldkraft.de/2009/06/quadruple-boot/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
