<?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>marius &#187; Linux</title>
	<atom:link href="http://devilx.net/tag/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://devilx.net</link>
	<description></description>
	<lastBuildDate>Wed, 25 Jan 2012 07:42:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Happy New Year, Look, and Feel!</title>
		<link>http://devilx.net/2011/01/01/happy-new-year-look-and-feel/</link>
		<comments>http://devilx.net/2011/01/01/happy-new-year-look-and-feel/#comments</comments>
		<pubDate>Sat, 01 Jan 2011 22:59:45 +0000</pubDate>
		<dc:creator>Marius</dc:creator>
				<category><![CDATA[Art & Design]]></category>
		<category><![CDATA[New & Cool]]></category>
		<category><![CDATA[This Site]]></category>
		<category><![CDATA[Art]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Cool]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[devilx.net]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Feedback]]></category>
		<category><![CDATA[Font]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[iPhone 3G S]]></category>
		<category><![CDATA[LeWeb]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Pixelmator]]></category>
		<category><![CDATA[Posterous]]></category>
		<category><![CDATA[Service]]></category>
		<category><![CDATA[Tumblr]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[Web 2.0]]></category>

		<guid isPermaLink="false">http://www.devilx.net/?p=1188</guid>
		<description><![CDATA[Happy new year everybody! I hope each of you had a great weekend and a good start into 2011 so far. I have been quite busy those days&#8230; weeks&#8230; even months now already, therefor I haven&#8217;t had much time to &#8230; <a href="http://devilx.net/2011/01/01/happy-new-year-look-and-feel/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Happy new year everybody! I hope each of you had a great weekend and a good start into 2011 so far. I have been quite busy those days&#8230; weeks&#8230; even months now already, therefor I haven&#8217;t had much time to post as many updates as I would have liked to recently. There was some <a href="http://devilx.net/2010/12/23/automagic-promo-code-redeemer/">funny AppleScript</a> I&#8217;ve shared with you and info about me <a href="http://devilx.net/2010/12/10/leweb-10-ive-been-there/">being at the LeWeb &#8217;10</a> and <a href="http://devilx.net/2010/10/31/apple-iphone-3gs-32gb-black-for-sale/">selling my iPhone 3GS on eBay</a>, but that&#8217;s actually not the amount and quality of info I would have liked to blog. In fact, probably most people thought of my blog being pretty dead after <em>only</em> a bit less than six years existence, heh.<br />
Therefor I&#8217;d like to share some updates with you today. Let&#8217;s start off with the most obvious one:<strong> The complete redesign</strong>.</p>
<p>I&#8217;ve always used my blog as platform to share useful information with others, get feedback from comments that were posted and mails I&#8217;ve received. I&#8217;ve slowly built it up step by step from the 20th of March 2005 with a pretty rudimentary and early version of WordPress at that time. Due to my interest and work within the open-source area around Linux and the GNOME Desktop at that time, I had pretty much content I loved to share with other people interested in those topics.</p>
<p>By the time passing, the content of my blog also changed. I slowly moved away from Linux as an desktop operating system, towards using Mac OS X and its tools. Meanwhile, I took my own know-how about the Linux operating system on a higher level by starting to use it heavily as server-side operating system. My blog posts became from <a href="http://devilx.net/2005/05/01/gnotify-is-back/">&#8220;Hey, check out this desktop notifications daemon I&#8217;ve written! There wasn&#8217;t anything like that on the GNOME desktop, now there is!&#8221;</a> and <a href="http://devilx.net/2007/02/23/sync-0002/">&#8220;Oh look, this would be a great idea for a Sync-Application on the GNOME Desktop&#8221;</a> to information sources for <a href="http://devilx.net/2009/11/01/amazon-ec2-how-to-setup-an-instance-and-bundle-it/">setting up a Linux instance on Amazon&#8217;s EC2 service</a>, <a href="http://devilx.net/2009/01/21/fighting-with-ubuntu-server-and-its-plain-stupid-maintenancemaintainers/">stripping down Ubuntu Servers to several hundreds Megabytes</a> and <a href="http://devilx.net/2008/09/07/webdav-over-ssl-using-ldap-with-apache2-on-debian/">setting up a Debian server that provides SSL-secured WebDAV with LDAP as authentication back-end</a>. So instead of sharing useful information for Linux desktop users, I transited to share information about my experiences and creations on the Mac.</p>
<p>Through the years, my blog grew bigger and bigger, with more and more content. I was pretty happy with how it worked out, except of one part: The design. &#8220;devilx.net&#8221; never really had an unique identity shaped by its own design. I switched the look &amp; feel several times, using freely available WordPress themes with smaller changes hacked by myself. For the pure sake of information sharing it worked out, but due to that my blog never really got its &#8220;own face&#8221;. I wanted to change this fact for like ever already, unfortunately I never really had the time and &#8211; what&#8217;s even more important &#8211; the muse for doing so. Now, after all those years &#8211; and especially after the last few months, in which the majority of returning visitors probably thought of my blog being another victim by the Twitter, Facebook and other Web 2.0 platforms&#8217; distraction-hype &#8211; I decided to take the time, search for at least <strong>some</strong> creative inspiration and replace my <em>yet-another-downloaded-WordPress-theme</em> with something made with my own hands, giving my blog its own shape and style.</p>
<p>My abilities in the matter of creativity and design clearly aren&#8217;t the best, but I thought like&#8230; <em>&#8220;Man, 2011 is coming, you just have to!&#8221;</em>. So I turned on Pixelmator in full-screen mode and started drawing. I kinda had like dozens of concepts, drafts and even several PXM-to-XHTML implementations, but none really was something I&#8217;d like to have running on the internet, with my name on it. Meanwhile, I was testing Posterous, one of those Web 2.0-<em>&#8220;we can streamline your blog with your Twitter account, your Facebook profile and the two-hundred-forty-nine other platforms you might be using&#8221;</em>-services, which should have been the second update for today actually. I really liked it and I liked their theme-templating. I gave it a first shot, by exporting my WordPress&#8217; database and importing it into Posterous.</p>
<p>The result unfortunately was&#8230; well&#8230; pure fail. It stopped at twenty-one out of several hundreds and didn&#8217;t advance for a couple of hours. After contacting the Posterous support, I got the advice to first clean up my WordPress&#8217; spam-queue, re-export the database and try it again. So I did and finally the import ran through pretty quick. Curiously I checked out how the imported Posterous site looked, since I didn&#8217;t thought of for example comments being also imported. For my surprise, they were. Unfortunately, the import was incomplete. Some why three-fourth of my WordPress blog posts were missing. Again, I contacted the support which answered after two days, telling me that they&#8217;re on the problem and can&#8217;t provide me any help yet.</p>
<p>While I was waiting for a solution to my problem, I already translated one of my drafts into Posterous&#8217; templating format &#8211; but soon I kind of realized, that Posterous isn&#8217;t pretty much what I needed. It works for many people and it surely is a very cool service, free of charge! But for me, as someone that&#8217;s pretty much into technology it&#8217;s just way too inflexible and <em>closed</em>. For example, I have found a way to import my WordPress&#8217; data, but none to export the Posterous data. I guess, hacking through the API is probably the only way to do so. Also, Posterous&#8217; content delivery isn&#8217;t performing really well, at least when requested from Germany. I built in some Base64-encoded images and a @font-face (because Posterous does not provide you any space for actually uploading pictures, which is why you would need to pay for some webspace or at least an Amazon S3 account anyway) and as soon as they were live, the page&#8217;s loading-speed decreased to a quite ugly value. Also I was unsatisfied with the template-editor/-previewer Posterous provides &#8211; it is really slow and for me (as web developer et al.) a pure pain to use.</p>
<p>Please don&#8217;t get me wrong &#8211; as I&#8217;ve said before, Posterous (as well as Tumblr and all those other services) really is something great, especially when you&#8217;re into writing quick shouts most of the time. But for me, as a person who likes the ability to extend the platform for sharing information to fit my (growing) needs, Posterous and others simply are too limited.</p>
<p>However, after realizing that I won&#8217;t give up my WordPress from one day to another (and by that actually had no <em>second update</em> to share with you today while I&#8217;m still sticking with the plural <em>&#8220;updates&#8221;</em> in this article&#8217;s first few lines), I&#8217;ve re-started concept-creation, drafting, mocking and all that stuff professional designers probably do the whole day. In the end, I came up with a pretty neat design that fits my taste pretty good and isn&#8217;t too exaggerated or improper to be used on a blog: It&#8217;s the design you&#8217;ve been staring at for the last, well, I would say fifteen minutes, if I haven&#8217;t already <em>talked</em> you into sleep.</p>
<p><em>&#8220;Okay, so your blog isn&#8217;t dead yet, huh?&#8221;</em> &#8211; Yepp, that&#8217;s right (and that <strong>is</strong> the second update, hah!). I&#8217;m really looking forward to the next years of blogging, sharing and communicating with others. In the past several years digital life changed a lot and blogs became more and more irrelevant thanks to the possibility of fast and instant exchange with each other through Twitter for example. Unfortunately people sometimes tend to forget, that all those tweets would be nothing without the information behind them, that contains more than only 140 characters.</p>
<p>Having said this, I wish everyone a nice evening (CET UTC+1) and furthermore a great year in 2011. Have fun! <img src='http://devilx.net/wp-content/plugins/smilies-themer/Riceballs/smile.png' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://devilx.net/2011/01/01/happy-new-year-look-and-feel/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>OTRS LDAP Authentication for Agents and Customers</title>
		<link>http://devilx.net/2010/03/19/otrs-ldap-authentication-for-agents-and-customers/</link>
		<comments>http://devilx.net/2010/03/19/otrs-ldap-authentication-for-agents-and-customers/#comments</comments>
		<pubDate>Fri, 19 Mar 2010 04:05:40 +0000</pubDate>
		<dc:creator>Marius</dc:creator>
				<category><![CDATA[Linux and stuff ...]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[CGI]]></category>
		<category><![CDATA[Configuration]]></category>
		<category><![CDATA[Hack]]></category>
		<category><![CDATA[ITIL]]></category>
		<category><![CDATA[Kernel]]></category>
		<category><![CDATA[LDAP]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[OTRS]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[RADIUS]]></category>
		<category><![CDATA[SSH]]></category>

		<guid isPermaLink="false">http://www.devilx.net/?p=1147</guid>
		<description><![CDATA[Probably many of you have or still are actively using the open-source, ITIL compliant trouble ticket system named OTRS. And probably some of you also might have experienced the pleasure of setting up the software once &#8211; and know the &#8230; <a href="http://devilx.net/2010/03/19/otrs-ldap-authentication-for-agents-and-customers/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Probably many of you have or still are actively using the open-source, ITIL compliant trouble ticket system named <a href="http://otrs.org/">OTRS</a>. And probably some of you also might have experienced the pleasure of setting up the software once &#8211; and know the pain.</p>
<p>OTRS as a product is pretty cool and full of features, unfortunately from a technical aspect it&#8217;s pretty much of an unaesthetic &#8220;Perl hack&#8221; that&#8217;s, especially when you should try to integrate it into your existing environments and make it talk to your RADIUS or directly to your LDAP. Here, I would like to describe the basic configuration to get the latter working without any troubles.</p>
<p>Everything actually starts within the $OTRSHOME/Kernel/Config.pm. After you&#8217;ve set up your Apache to get you displayed the <em>/otrs/index.pl</em> and <em>/otrs/customer.pl</em> you&#8217;ll need to start hacking Perl in OTRS&#8217; &#8220;config file&#8221;.<br />
Let&#8217;s say, that we would want to authenticate against LDAP. And maybe not only for the agents (the people using index.pl) but also for the customers. So, let&#8217;s assume that we&#8217;re having a LDAP-tree containing our Base (&#8220;dc=something,dc=com&#8221;) and our &#8220;Users&#8221; OU (&#8220;ou=Users,dc=something,dc=com&#8221;). Also, we have a &#8220;Groups&#8221; OU (&#8220;ou=Groups,dc=something,dc=com&#8221;). I think that&#8217;s probably the most common built-up, regardless what names the OUs actually have.</p>
<p>Now, first of all, we need to know what user we could use to authenticate on our LDAP later and get the information we need. Here, I&#8217;m assuming it&#8217;s &#8220;cn=admin,dc=something,dc=com&#8221;. Let&#8217;s begin with the configuration for getting the agents authenticated:</p>
<pre>
    $Self->{'AuthModule'} = 'Kernel::System::Auth::LDAP';
    $Self->{'AuthModule::LDAP::Host'} = 'localhost';
    $Self->{'AuthModule::LDAP::BaseDN'} = 'dc=something,dc=com';
    $Self->{'AuthModule::LDAP::UID'} = 'uid';
    $Self->{'AuthModule::LDAP::GroupDN'} = 'cn=otrsagent,ou=Groups,dc=something,dc=com';
    $Self->{'AuthModule::LDAP::UserAttr'} = 'UID';
    $Self->{'AuthModule::LDAP::AccessAttr'} = 'memberUid';
    $Self->{'AuthModule::LDAP::Params'} = {
        port => 389,
        timeout => 120,
        async => 0,
        version => 3,
    };
</pre>
<p>The configuration should be pretty self-describing, though let&#8217;s sum it up: We&#8217;re connecting to the LDAP host &#8220;localhost&#8221; (since we probably tunnel the SSH port to the OTRS machine or have it running directly on that one &#8211; else you&#8217;d just need to specify another hostname/IP. BEWARE: When using an external LDAP with no tunnel you <strong>should</strong> use LDAPS!) and use our BaseDN. We define the user-id field being named &#8220;uid&#8221;, just like the user-attribute we&#8217;re going to look-up and we&#8217;ll be using the memberUid as access-attribute. Wait. memberUid? I lost you, right?</p>
<p>In this configuration, we&#8217;re also using a GroupDN that actually lets us &#8220;filter&#8221; which of our users might be allowed to use the OTRS as agents. For this, we&#8217;re accessing the group &#8220;otrsagent&#8221; within our &#8220;Groups&#8221;-OU and lookig up the memberUids.<br />
At last but not least, the actual LDAP parameters like the port for example.</p>
<p>Now, you can test your login by browsing to your index.pl and enter the credentials of an LDAP-user being in your otrsagent-group. You should now be possible to authenticate. Nothing more. You won&#8217;t be able to login to your OTRS yet. Why? It&#8217;s simple: OTRS uses LDAP only for authentication but initially copies the user-data from LDAP into its own database backend. Therefor we need to set up the &#8220;AuthSyncModule&#8221;.</p>
<p>This module allows us to tell OTRS that we&#8217;d like to have our user data being synchronized with the LDAP database. Let&#8217;s take a look at the actual configuration:</p>
<pre>
    $Self->{'AuthSyncModule'} = 'Kernel::System::Auth::Sync::LDAP';
    $Self->{'AuthSyncModule::LDAP::Host'} = 'ldap://localhost/';
    $Self->{'AuthSyncModule::LDAP::BaseDN'} = 'dc=something, dc=com';
    $Self->{'AuthSyncModule::LDAP::UID'} = 'uid';
    $Self->{'AuthSyncModule::LDAP::UserAttr'} = 'UID';
    $Self->{'AuthSyncModule::LDAP::AccessAttr'} = 'memberUid';
    $Self->{'AuthSyncModule::LDAP::SearchUserDN'} = 'cn=admin,dc=something,dc=com';
    $Self->{'AuthSyncModule::LDAP::SearchUserPw'} = 'swordfish';

    $Self->{'AuthSyncModule::LDAP::UserSyncMap'} = {
        UserFirstname => 'givenName',
        UserLastname  => 'sn',
        UserEmail     => 'mail',
    };
    $Self->{'AuthSyncModule::LDAP::UserSyncInitialGroups'} = [
        'users',
    ];
</pre>
<p>Again, from top to bottom: We tell OTRS what LDAP host, what BaseDN, what UID/UserAttr/AccessAttr, what search user and what password to use. Then, we need to define what&#8217;s needed to be synchronized. Here, we only sync the most important data: First name, last name and e-mail. Note: Without the mail entry this won&#8217;t work!<br />
After that, we define what OTRS-groups the user should initially be in.</p>
<p>Now you should be able to authenticate <strong>and</strong> login with your LDAP user. <img src='http://devilx.net/wp-content/plugins/smilies-themer/Riceballs/smile.png' alt=':)' class='wp-smiley' /> </p>
<p><strong>Next, customer authentication.</strong></p>
<p>The customer authentication needs to be configured separately and also starts with basic LDAP information:</p>
<pre>
    $Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP';
    $Self->{'Customer::AuthModule::LDAP::Host'} = 'localhost';
    $Self->{'Customer::AuthModule::LDAP::BaseDN'} = 'dc=something,dc=com';
    $Self->{'Customer::AuthModule::LDAP::UID'} = 'uid';
    $Self->{'Customer::AuthModule::LDAP::GroupDN'} = 'cn=otrscustomer,ou=Groups,dc=something,dc=com';
    $Self->{'Customer::AuthModule::LDAP::UserAttr'} = 'UID';
    $Self->{'Customer::AuthModule::LDAP::AccessAttr'} = 'memberUid';
    $Self->{'Customer::AuthModule::LDAP::SearchUserDN'} = 'cn=admin,dc=something,dc=com';
    $Self->{'Customer::AuthModule::LDAP::SearchUserPw'} = 'swordfish';
    $Self->{'Customer::AuthModule::LDAP::Params'} = {
        port => 389,
        timeout => 120,
        async => 0,
        version => 3,
    };
</pre>
<p>I think I don&#8217;t need to comment this section once again. Next:</p>
<pre>
    $Self->{CustomerUser} = {
      Name => 'LDAP Datasource',
      Module => 'Kernel::System::CustomerUser::LDAP',
      Params => {
         Host => 'localhost',
         BaseDN => 'dc=something,dc=com',
         SSCOPE => 'sub',
         UserDN => 'cn=admin,dc=something,dc=com',
         UserPW => 'swordfish',
         Params => {
            port => 389,
            timeout => 120,
            async => 0,
            version => 3,
         },
      },
      CustomerKey => 'uid',
      CustomerID => 'mail',
      CustomerUserListFields => ['sn', 'cn', 'mail'],
      CustomerUserSearchFields => ['uid', 'cn', 'sn', 'mail'],
CustomerUserSearchPrefix => '',
       CustomerUserSearchSuffix => '*',
       CustomerUserSearchListLimit => 250,
       CustomerUserPostMasterSearchFields => ['mail'],
       CustomerUserNameFields => ['givenname', 'sn'],
       CustomerUserExcludePrimaryCustomerID => 0,
       AdminSetPreferences => 0,
       Map => [
           [ 'UserSalutation', 'Title',      'title',           1, 0, 'var', '', 0 ],
           [ 'UserFirstname',  'Firstname',  'cn',              1, 1, 'var', '', 0 ],
           [ 'UserLastname',   'Lastname',   'sn',              1, 1, 'var', '', 0 ],
           [ 'UserLogin',      'Username',   'uid',             1, 1, 'var', '', 0 ],
           [ 'UserEmail',      'Email',      'mail',            1, 1, 'var', '', 0 ],
           [ 'UserCustomerID', 'CustomerID', 'mail',            0, 1, 'var', '', 0 ],
           [ 'UserPhone',      'Phone',      'telephonenumber', 1, 0, 'var', '', 0 ],
           [ 'UserAddress',    'Address',    'postaladdress',   1, 0, 'var', '', 0 ],
           [ 'UserComment',    'Comment',    'description',     1, 0, 'var', '', 0 ],
       ],
    };
</pre>
<p>This is theoretically the same we&#8217;ve also set up for the agents and will let OTRS synchronize the customer data into its own database. I think the whole mapping should be pretty clear when read carefully, so I&#8217;m not going to explain every setting in detail.</p>
<p>However, after you&#8217;ve hacked together your basic configuration in this kinda way, also the customer.pl authentication should be working against your LDAP.</p>
<p>There&#8217;s one more thing that&#8217;s left to be mentioned. When you authenticate your agents against the LDAP, OTRS will try to authenticate root@localhost against it &#8211; what probably won&#8217;t work anymore then. Of course, you won&#8217;t need to go without an administrative user now. Simply pick one of your LDAP users, add him to the otrsagent group, log in to the web-interface and then adding an entry into the group_user table of OTRS&#8217; database, containing the user_id of your LDAP user (get it from the &#8220;users&#8221; table) and the group_id &#8220;1&#8243;, with the permission_key &#8220;rw&#8221; and the permission_value &#8220;1&#8243;. After that, the user should have administrative rights.</p>
<p>And the next time, I&#8217;ll show you how to build an automatic back-scratcher using a wall, some glue and a cat. Enjoy! <img src='http://devilx.net/wp-content/plugins/smilies-themer/Riceballs/smile.png' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://devilx.net/2010/03/19/otrs-ldap-authentication-for-agents-and-customers/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>A brief summary of setting up a CentOS 5.4 DRBD Cluster in Primary/Primary</title>
		<link>http://devilx.net/2009/11/14/a-brief-summary-of-setting-up-a-centos-5-4-drbd-cluster-in-primaryprimary/</link>
		<comments>http://devilx.net/2009/11/14/a-brief-summary-of-setting-up-a-centos-5-4-drbd-cluster-in-primaryprimary/#comments</comments>
		<pubDate>Sat, 14 Nov 2009 20:10:45 +0000</pubDate>
		<dc:creator>Marius</dc:creator>
				<category><![CDATA[Linux and stuff ...]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[Cluster]]></category>
		<category><![CDATA[CMAN]]></category>
		<category><![CDATA[Coffee]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[DRBD]]></category>
		<category><![CDATA[GFS]]></category>
		<category><![CDATA[Grub]]></category>
		<category><![CDATA[High Availability]]></category>
		<category><![CDATA[HowTo]]></category>
		<category><![CDATA[HPET]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[OCFS]]></category>
		<category><![CDATA[OpenAIS]]></category>
		<category><![CDATA[RedHat]]></category>
		<category><![CDATA[RHEL]]></category>
		<category><![CDATA[SELinux]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[Storage]]></category>
		<category><![CDATA[SuSE]]></category>
		<category><![CDATA[TSC]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[x86_64]]></category>

		<guid isPermaLink="false">http://www.devilx.net/?p=1090</guid>
		<description><![CDATA[Clustering is cool and fun when it&#8217;s working, but for getting to such status it mostly takes like a dozen hours, coffee and many nerves. To simplify it a bit, I&#8217;d like to share some information on that topic, especially &#8230; <a href="http://devilx.net/2009/11/14/a-brief-summary-of-setting-up-a-centos-5-4-drbd-cluster-in-primaryprimary/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Clustering is cool and fun when it&#8217;s working, but for getting to such status it mostly takes like a dozen hours, coffee and many nerves. To simplify it a bit, I&#8217;d like to share some information on that topic, especially the stones I stumbled over.</p>
<p>First of all, we defined our scenario. Let&#8217;s assume that we&#8217;d like to have a cluster of two servers, both running the latest CentOS (5.4), both up-to-date, both using the very same partitioning and both using DRBD and GFS(2). On most SuSE or Debian systems, the installation would be pretty straight-forward: You install the base system, set up the DRBD, format it with some OCFS and make Heartbeat monitor everything. So far so good. On RHEL/CentOS it seems to work a bit different, due to the different tools they&#8217;re using. When installing the installation-group &#8220;Cluster Storage&#8221; for example, yum fetches packages named openais and cman &#8211; tools you&#8217;ve probably never heard of, when you come form the Debian corner (as I do). But before I describe those in detail, let&#8217;s just configure our plain base-installation.</p>
<p>What do we need to do first? What&#8217;s one of the most important things on two systems that should run &#8220;symmetrically&#8221; and have the very same data available, with every change that&#8217;s being made every second? Exactly, the time would be one of those things. We need to assure that both systems use the very same time. Mostly, you&#8217;ll be using some x86_64 hardware for such setups, where the problems start: On 64-bit hardware, the timekeeping with TSC doesn&#8217;t run <strong>that</strong> perfect, which is why we should just deactivate it and leave HPET do its job alone. After installing ntpd we need to open our grub.conf and add the notsc option to our kernels. It should looks something like this:</p>
<blockquote><p>===================================================================<br />
RCS file: /etc/grub.conf,v<br />
retrieving revision 1.1<br />
diff -u -r1.1 /etc/grub.conf<br />
&#8212; /etc/grub.conf	2009/11/13 13:30:26	1.1<br />
+++ /etc/grub.conf	2009/11/13 13:32:26<br />
@@ -13,9 +13,9 @@<br />
hiddenmenu<br />
title CentOS (2.6.18-164.6.1.el5)<br />
root (hd0,0)<br />
-	kernel /vmlinuz-2.6.18-164.6.1.el5 ro root=LABEL=/<br />
+	kernel /vmlinuz-2.6.18-164.6.1.el5 ro root=LABEL=/ notsc<br />
initrd /initrd-2.6.18-164.6.1.el5.img<br />
title CentOS (2.6.18-164.el5)<br />
root (hd0,0)<br />
-	kernel /vmlinuz-2.6.18-164.el5 ro root=LABEL=/<br />
+	kernel /vmlinuz-2.6.18-164.el5 ro root=LABEL=/ notsc<br />
initrd /initrd-2.6.18-164.el5.img</p></blockquote>
<p>Now, we can shutdown the ntpd and set its drift-file to 0.000. After that, simply reboot and check the dmesg for the HPET-lines and of course also check the time on both systems to be identically.</p>
<p>Now, what else should we configure until we start building our actual cluster? Probably, we should take a look into the system-config-securitylevel-tui tool. Depending on what environment you plan your cluster to run in, you either want to open each port by port manually in the firewall and configure your SELinux to allow CMAN/OpenAIS and DRBD to work properly &#8211; or you simply turn of those &#8220;toys&#8221; and configure the network-segment to be secure by itself. It depends to you and I&#8217;m not going to write how to reconfigure the firewall or your SELinux-environment. For my tests, I simply turned both off. Especially the combination of CMAN/OpenAIS and SELinux can become pretty tricky, when SELinux runs in any other mode than &#8220;Disabled&#8221;. <img src='http://devilx.net/wp-content/plugins/smilies-themer/Riceballs/smile.png' alt=':-)' class='wp-smiley' /> </p>
<p>Now, let&#8217;s finally please our inner kid and install some software:</p>
<blockquote><p># yum groupinstall &#8220;Cluster Storage&#8221;<br />
&#8230;<br />
# yum install drbd83 kmod-drbd83<br />
&#8230;</p></blockquote>
<p>I&#8217;ve chosen to use drbd83 since it&#8217;s the next stable release and already obsoletes drbd82 in CentOS 5.4 &#8211; and drbd is simply just too old. Of course, upgrades might become tricky when using explicitly versioned packages, but on DRBD it&#8217;s always a bit tricky, since there could be configuration changes which would have to be implemented manually on future versions.</p>
<p>However, now let&#8217;s create the infamous and poorly documented /etc/cluster/cluster.conf. For testing, we could simply use something like this:</p>
<blockquote><p>&lt;?xml version=&#8221;1.0&#8243;?&gt;<br />
&lt;cluster alias=&#8221;cluster-setup&#8221; config_version=&#8221;1&#8243; name=&#8221;cluster-setup&#8221;&gt;<br />
&lt;rm log_level=&#8221;4&#8243;/&gt;<br />
&lt;fence_daemon clean_start=&#8221;1&#8243; post_fail_delay=&#8221;0&#8243; post_join_delay=&#8221;3&#8243;/&gt;<br />
&lt;clusternodes&gt;<br />
&lt;clusternode name=&#8221;server-1.cross&#8221; nodeid=&#8221;1&#8243; votes=&#8221;1&#8243;&gt;<br />
&lt;fence&gt;<br />
&lt;method name=&#8221;2&#8243;&gt;<br />
&lt;device name=&#8221;LastResortNode01&#8243;/&gt;<br />
&lt;/method&gt;<br />
&lt;/fence&gt;<br />
&lt;/clusternode&gt;<br />
&lt;clusternode name=&#8221;server-2.cross&#8221; nodeid=&#8221;2&#8243; votes=&#8221;1&#8243;&gt;<br />
&lt;fence&gt;<br />
&lt;method name=&#8221;2&#8243;&gt;<br />
&lt;device name=&#8221;LastResortNode02&#8243;/&gt;<br />
&lt;/method&gt;<br />
&lt;/fence&gt;<br />
&lt;/clusternode&gt;<br />
&lt;/clusternodes&gt;<br />
&lt;cman expected_votes=&#8221;1&#8243; two_node=&#8221;1&#8243;/&gt;<br />
&lt;fencedevices&gt;<br />
&lt;fencedevice agent=&#8221;fence_manual&#8221; name=&#8221;LastResortNode01&#8243; nodename=&#8221;server-1.cross&#8221;/&gt;<br />
&lt;fencedevice agent=&#8221;fence_manual&#8221; name=&#8221;LastResortNode02&#8243; nodename=&#8221;server-2.cross&#8221;/&gt;<br />
&lt;/fencedevices&gt;<br />
&lt;rm/&gt;<br />
&lt;totem consensus=&#8221;4800&#8243; join=&#8221;60&#8243; token=&#8221;10000&#8243; token_retransmits_before_loss_const=&#8221;20&#8243;/&gt;<br />
&lt;/cluster&gt;</p></blockquote>
<p>Configuring OpenAIS this way isn&#8217;t actually the best way&#8230; it&#8217;s not even &#8220;good&#8221;. But for testing (and understanding how stuff works) it should be enough. Those rules expect manual intervention when one of the two server should become unavailable and needs to be brought back into the cluster.</p>
<p>The domain &#8220;.cross&#8221; is expected to be a hostname.domainname entry within the /etc/hosts of each server and defines the direct cross-cable-connection from one server to another. We need this connection to shrink down network latency and provide a way for OpenAIS and (in this example) also DRBD to directly communicate with each other. A better setup would be to set the heartbeat on top of a serial-line, since it would be most fault-tolerant.</p>
<p>Okay, next. What&#8217;s left? Exactly, the actual DRBD &#8211; so let&#8217;s set it up:</p>
<blockquote><p>global { usage-count yes; }<br />
common { syncer { rate 100M; } }<br />
resource the-disk {<br />
protocol C;<br />
startup {<br />
wfc-timeout 20;<br />
degr-wfc-timeout 10;<br />
# become-primary-on both; # Uncomment this only after tested!<br />
}<br />
net {<br />
cram-hmac-alg sha1;<br />
shared-secret &#8220;i4m501337&#8243;;<br />
allow-two-primaries;<br />
}<br />
on server-1 {<br />
device    /dev/drbd1;<br />
disk      /dev/sdb;<br />
address   10.100.0.1:7789;<br />
meta-disk  internal;<br />
}<br />
on server-2 {<br />
device    /dev/drbd1;<br />
disk      /dev/sdb;<br />
address   10.100.0.2:7789;<br />
meta-disk  internal;<br />
}<br />
disk {<br />
fencing resource-and-stonith;<br />
}<br />
handlers {<br />
#outdate-peer &#8220;/sbin/handler&#8221;;<br />
}<br />
}</p></blockquote>
<p>This configuration defines our two servers and tells DRBD to use /dev/sdb on both for the actual data. Our meta-disk will be internal and with address we defined &#8211; guess what? &#8211; the IP addresses of our two servers. Those are the .cross-domain addresses!</p>
<p>Next, we initialize our meta-disks (on both nodes), set our generation identifier, start the actual DRBD service and check the roles it currently runs in:</p>
<blockquote><p># drbdadm create-md the-disk<br />
&#8230;<br />
# drbdadm &#8212; 6::::1 set-gi the-disk<br />
&#8230;<br />
# service drbd start<br />
&#8230;<br />
# drbdadm role all<br />
Secondary/Secondary</p></blockquote>
<p>If all those steps succeed, we can try to promote both nodes to primary:</p>
<blockquote><p># drbdadm primary all<br />
# drbdadm role all<br />
Primary/Primary</p></blockquote>
<p>And if this now worked out properly, we can enable the automatic promotion from within our drbd.conf:</p>
<blockquote><p># rcsdiff -u /etc/drbd.conf<br />
===================================================================<br />
RCS file: /etc/drbd.conf,v<br />
retrieving revision 1.2<br />
diff -u -r1.2 /etc/drbd.conf<br />
&#8212; /etc/drbd.conf	2009/11/13 10:34:23	1.2<br />
+++ /etc/drbd.conf	2009/11/13 15:16:26<br />
@@ -9,7 +9,7 @@<br />
startup {<br />
wfc-timeout 20;<br />
degr-wfc-timeout 10;<br />
-                # become-primary-on both; # Uncomment this only after tested!<br />
+                become-primary-on both; # Uncomment this only after tested!<br />
}<br />
net {<br />
cram-hmac-alg sha1;</p></blockquote>
<p>Great. <em>So we&#8217;re set up now?</em> Nope. We&#8217;re not. Next, we need to change DRBDs boot order in order for it to work properly with the GFS auto-mounting on boot:</p>
<blockquote><p># rcsdiff -u /etc/init.d/drbd<br />
===================================================================<br />
RCS file: /etc/init.d/drbd,v<br />
retrieving revision 1.1<br />
diff -u -r1.1 /etc/init.d/drbd<br />
&#8212; /etc/init.d/drbd	2009/11/13 10:57:15	1.1<br />
+++ /etc/init.d/drbd	2009/11/13 10:58:15<br />
@@ -1,6 +1,6 @@<br />
#!/bin/bash<br />
#<br />
-# chkconfig: 345 70 08<br />
+# chkconfig: 345 22 75<br />
# description: Loads and unloads the drbd module<br />
#<br />
# Copright 2001-2008 LINBIT Information Technologies</p></blockquote>
<p>And let it run on boot:</p>
<blockquote><p># chkconfig &#8211;level 345 drbd on</p></blockquote>
<p>Great! <em>So, now we are set up, right?</em> Nope, wrong. We have a running DRBD setup now, but we still lack of a cluster-able file-system. GFS2 is a pretty good choice for such a task, so let&#8217;s try to format the DRBD-device on <strong>one of our nodes</strong> with it:</p>
<blockquote><p># mkfs.gfs2 -p lock_dlm -t cluster-setup:mycluster /dev/drbd1 -j 2</p></blockquote>
<p>Before we can try to mount the device, we need to have OpenAIS/CMAN running, in order to manage our GFS consistency. Let&#8217;s start the cman service therefor (on both nodes!):</p>
<blockquote><p># service cman start</p></blockquote>
<p>Starting cman and starting fenced could take several seconds, be patient. If you installed both servers identically and followed this documentation step by step everything should work out just fine. <img src='http://devilx.net/wp-content/plugins/smilies-themer/Riceballs/smile.png' alt=':-)' class='wp-smiley' /> </p>
<p>At last, we can now mount our DRBD device into some folder (on both nodes) and start playing around with our fresh setup:</p>
<blockquote><p># mount -t gfs2 /dev/drbd1 /mnt/somefolder</p></blockquote>
<p>I hope everything worked out for you and I also hoped that this brief summary helped you getting a bit easier into the actual setup of such a cluster setup. Feel free to ask any questions or provide feedback in any form.</p>
<p>Enjoy! <img src='http://devilx.net/wp-content/plugins/smilies-themer/Riceballs/smile.png' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://devilx.net/2009/11/14/a-brief-summary-of-setting-up-a-centos-5-4-drbd-cluster-in-primaryprimary/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>MediaWiki and Lucene</title>
		<link>http://devilx.net/2009/11/02/mediawiki-and-lucene/</link>
		<comments>http://devilx.net/2009/11/02/mediawiki-and-lucene/#comments</comments>
		<pubDate>Mon, 02 Nov 2009 12:14:31 +0000</pubDate>
		<dc:creator>Marius</dc:creator>
				<category><![CDATA[Linux and stuff ...]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[World Wide Web]]></category>
		<category><![CDATA[Class]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[JAR]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Lucene]]></category>
		<category><![CDATA[MediaWiki]]></category>
		<category><![CDATA[Search]]></category>

		<guid isPermaLink="false">http://www.devilx.net/?p=1035</guid>
		<description><![CDATA[Lately, I had to enhance a MediaWiki-installation for the search to find some special parameters within a code block. It&#8217;s generally known that MediaWiki&#8217;s built-in searcher is really just an example of how searching could work, but nothing you&#8217;d really &#8230; <a href="http://devilx.net/2009/11/02/mediawiki-and-lucene/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Lately, I had to enhance a MediaWiki-installation for the search to find some special parameters within a code block. It&#8217;s generally known that MediaWiki&#8217;s built-in searcher is really just an example of how searching could work, but nothing you&#8217;d really like to use on heavy systems. However, Lucene is a pretty good replacement for MediaWiki&#8217;s built-in search, unfortunately the current EzMwLucene version isn&#8217;t that good integrated into the latest (Debian) Linux version I&#8217;ve been using. The installation on the <a title="Extension:EzMwLucene - MediaWiki" href="http://www.mediawiki.org/wiki/Extension:EzMwLucene">EzMwLucene Extension</a> looks pretty straight-forward, but at least on my installation the lucene/server didn&#8217;t really wanted to come up using the scripts that were shipped within its package. After debugging its startup procedure and taking a look into its classes and JARs, I came up with the following command to run the Lucene-server on a Debian GNU/Linux:</p>
<blockquote><p>export EZMWLUCENE_HOME=/opt/lucene/server<br />
/usr/lib/jvm/java-6-sun-1.6.0.12/jre/bin/java -Dezmwlucene.home=$EZMWLUCENE_HOME -Djava.io.tmpdir=$TMP -cp $EZMWLUCENE_HOME/ezmwlucene.jar:$EZMWLUCENE_HOME/lib/jetty-6.1.14.jar:$EZMWLUCENE_HOME/lib/jetty-util-6.1.14.jar:$EZMWLUCENE_HOME/lib/servlet-api-2.5-6.1.14.jar:$EZMWLUCENE_HOME/lib/commons-codec-1.3.jar:$EZMWLUCENE_HOME/lib/commons-httpclient-3.1.jar:$EZMWLUCENE_HOME/lib/commons-logging.jar:$EZMWLUCENE_HOME/lib/FontBox-0.1.0-dev.jar:$EZMWLUCENE_HOME/lib/lucene-core-2.4.0.jar:$EZMWLUCENE_HOME/lib/lucene-highlighter-2.4.0.jar:$EZMWLUCENE_HOME/lib/PDFBox-0.7.3.jar:$EZMWLUCENE_HOME/lib/poi-3.5-beta3-20080926.jar:$EZMWLUCENE_HOME/lib/poi-scratchpad-3.5-beta3-20080926.jar net.sourceforge.ezmwlucene.service.EzMwLuceneService</p></blockquote>
<p>Those two lines can be packed-up within a shell-script, which then gets ran by a proper /etc/init.d-script. For me, it now just works perfectly.</p>
<p>Enjoy! <img src='http://devilx.net/wp-content/plugins/smilies-themer/Riceballs/smile.png' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://devilx.net/2009/11/02/mediawiki-and-lucene/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Amazon EC2: How to Setup an Instance and Bundle it</title>
		<link>http://devilx.net/2009/11/01/amazon-ec2-how-to-setup-an-instance-and-bundle-it/</link>
		<comments>http://devilx.net/2009/11/01/amazon-ec2-how-to-setup-an-instance-and-bundle-it/#comments</comments>
		<pubDate>Sun, 01 Nov 2009 16:25:46 +0000</pubDate>
		<dc:creator>Marius</dc:creator>
				<category><![CDATA[Linux and stuff ...]]></category>
		<category><![CDATA[New & Cool]]></category>
		<category><![CDATA[World Wide Web]]></category>
		<category><![CDATA[Amazon]]></category>
		<category><![CDATA[AMI]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Bucket]]></category>
		<category><![CDATA[Bundle]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[EBS]]></category>
		<category><![CDATA[EC2]]></category>
		<category><![CDATA[Elastic]]></category>
		<category><![CDATA[HowTo]]></category>
		<category><![CDATA[HTTPS]]></category>
		<category><![CDATA[Instance]]></category>
		<category><![CDATA[IP]]></category>
		<category><![CDATA[LAMP]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[S3]]></category>
		<category><![CDATA[SSH]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.devilx.net/?p=1033</guid>
		<description><![CDATA[I know, that there are several documentations concerning Amazon&#8217;s Elastic Cloud Computing, though I&#8217;d like to describe some very first steps for using their infrastructure to build (Linux-) instances that fulfill your needs. Let&#8217;s not beat around the bush and &#8230; <a href="http://devilx.net/2009/11/01/amazon-ec2-how-to-setup-an-instance-and-bundle-it/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I know, that there are several documentations concerning Amazon&#8217;s Elastic Cloud Computing, though I&#8217;d like to describe some very first steps for using their infrastructure to build (Linux-) instances that fulfill your needs. Let&#8217;s not beat around the bush and start-over by setting up the very first instance.</p>
<p>The first thing needed is a client computer running any kind of the supported OSs by the Amazon API tools and of course the tools themselves. After you&#8217;ve installed those and configured all credentials the right way, we can create a new pair of SSH keys for our new project. Due to the location I&#8217;m currently in, I&#8217;ve chosen to use Amazon Instances in the western EU. Execute the following line on your command-line:</p>
<blockquote><p>ec2-add-keypair &#8211;region eu-west-1 test-keypair</p></blockquote>
<p>The result should look something like this:</p>
<blockquote><p>[Deprecated] Xalan: org.apache.xml.res.XMLErrorResources_en_US<br />
KEYPAIR	test-keypair	e1:1a:d1:a1:a1:1c:10:a1:b1:d1:cb:11:11:1a:11:11:f1:11:ae:fe<br />
&#8212;&#8211;BEGIN RSA PRIVATE KEY&#8212;&#8211;<br />
XXX<br />
&#8212;&#8211;END RSA PRIVATE KEY&#8212;&#8211;</p></blockquote>
<p>You can now copy the lines from <i>BEGIN&#8230;</i> until <i>END&#8230;</i> (including those two) into a file which you&#8217;ll be using as SSH-key for connecting to your instance. Don&#8217;t forget to <i>chmod 600</i> it!</p>
<p>Next, let&#8217;s see what base-images for creating our instance we could you &#8211; first, provided by Amazon themselves:</p>
<blockquote><p>
ec2-describe-images &#8211;region eu-west-1 -o &#8216;amazon&#8217;
</p></blockquote>
<p>The list is contained of several different OSs and versions, although in our current project we can&#8217;t make use of any of those. Therefor, we&#8217;re now searching for a perfectly fitting, really good operating system:</p>
<blockquote><p>
ec2-describe-images &#8211;region eu-west-1 -a | grep -i debian
</p></blockquote>
<p>And yet, we receive another list with several different versions of the Debian Linux distribution. After we&#8217;ve picked the one we&#8217;d like to run, we should check what instances are currently up and running:</p>
<blockquote><p>
ec2-describe-instances &#8211;region eu-west-1
</p></blockquote>
<p>If you&#8217;re using Amazon&#8217;s EC2 for the first time, there shouldn&#8217;t be any items listed. We can now start our very first instance, by copying the instance&#8217;s identifier (in the second column, a string starting with ami-<id>) and pasting it into our command:</p>
<blockquote><p>
ec2-run-instances &#8211;region eu-west-1 -k test-keypair -g &#8216;http/s&#8217; -g &#8216;ssh&#8217; ami-b8446fcc
</p></blockquote>
<p>In this command, we tell Amazon to start up a new instance that&#8217;s built on top of the ami-b8446fcc-image, using the key-pair we just created before and using some custom built firewall-rules named &#8220;http/s&#8221; (which allows us to connect to port 80 and 443) and &#8220;ssh&#8221; (port 22).</p>
<p>We need to wait a few seconds, until the instance comes up. We can use the describe-instances command from above to check the instance&#8217;s status:</p>
<blockquote><p>
ec2-describe-instances &#8211;region eu-west-1
</p></blockquote>
<p>As soon as it&#8217;s up and running, the &#8220;pending&#8221; column should have been replaced by a dynamically allocated hostname and the status &#8220;running&#8221;. Keep in mind, that this hostname/ip is dynamically allocated! If you want a fixed IP, you need to allocate and assign an Elastic IP &#8211; I&#8217;ll show you later how to do so.<br />
If our firewall rules worked out, we can now connect using SSH:</p>
<blockquote><p>
ssh -i ~/Library/EC2/id_rsa-test-keypair root@ec2-11-111-11-111.eu-west-1.compute.amazonaws.com
</p></blockquote>
<p>By default, Amazon sets up a Small Instance, that provides around 10 GB of hard drive, an Dual-Core AMD Opteron 2218 with 2600 MHz and around 1.7 GB of RAM. Small instances, in comparison to the bigger ones, also still provide a real swap-partition which is limited to 895 MB. Here, you could run into problems when installing some Oracle for example, since the DB would like to have 1 GB or more Swap-space. If 895 MB should not be enough, the only way to enlarge it seems to be to use a file within your file-system for that. Either, by placing it somewhere into / or by using /mnt for that. /mnt is a special mount in Amazon instances which provides you 147 GB of additional <i>volatile</i> storage. Amazon doesn&#8217;t guarantee in any way the storage to be stable/solid or even backed up &#8211; and usually /mnt is only used for bundling your instance. You might now think <i>&#8220;so, where could I place my data, if / is only providing me 10 GB of space and /mnt should not be used for storing sensitive data?&#8221;</i> &#8211; well, there&#8217;s a third possibility named Elastic Block Storage. An EBS is being displayed to your instance as regular block-device (/dev/sdb, &#8230;) that&#8217;s format- and mountable. There, sensitive data could be stored, by bind-mounting the directories you&#8217;d like to have your data in. I&#8217;m not going to explain how this works, else I&#8217;ll never finish writing this brief documentation.</p>
<p>However, since we&#8217;re connected to the instance now, we can set it up the way we want it, with whatever software we need on it. I&#8217;ve assumed, that most people would set it up as regular LAMP-instance, therefor I&#8217;ve also added the firewall-rule for HTTP/HTTPS. After we finished installing the software we need, there&#8217;s one more package that should be plugged into the system: The Amazon AMI Tools. Simply wget them from http://s3.amazonaws.com/ec2-downloads/ec2-ami-tools.zip and unzip the package. Those tools make use of Ruby, so ensure having it installed on your instance. Also, you need to have the private key (pk-<id>.pem) and the certificate (cert-<id>.pem) you created the instance with somewhere within your instance&#8217;s filesystem, for later use.</p>
<p>Before we bundle up our system now, let&#8217;s come back to the topic we had before: The hostname/IP. Amazon allocates some dynamic address, unless you tell them to give you a fixed (called Elastic) IP. You can do that by simply executing:</p>
<blockquote><p>
ec2-allocate-address &#8211;region eu-west-1
</p></blockquote>
<p>&#8230; within your client&#8217;s command-line (where the Amazon API Tools have been installed &#8211; not on the instance!). As result you&#8217;ll get some IP address that has now being allocated by Amazon for you. The IP isn&#8217;t bound to any instance yet &#8211; it&#8217;s just allocated for you to be able to use it. ATTENTION: You pay for Elastic IPs as long as you do not assign them to an instance. Yes, that&#8217;s right. Amazon charges you for every allocated but unused IP hourly. By that, they want to prevent people &#8220;collecting&#8221; addresses, I guess. To assign the address you just received to your instance, simply run:</p>
<blockquote><p>
ec2-associate-address &#8211;region eu-west-1 -i i-11e11b1e 79.125.11.11
</p></blockquote>
<p>The i-<id> is your actual instance&#8217;s ID, where the last, dot-separated number is the IP you&#8217;ve received. And yes, those are fake numbers &#8211; so don&#8217;t even try. <img src='http://devilx.net/wp-content/plugins/smilies-themer/Riceballs/wink.png' alt=';]' class='wp-smiley' /> </p>
<p>Now it could take a bit for Amazon to reconfigure the instance, but as soon as it finished, you should be able to re-connect to the instance using the IP you just assigned to it.</p>
<p>As last task for today, let&#8217;s bundle up the image the way we have it now. Bundling an image allows you more than just eating up your credit card&#8217;s limit by dumping your S3 buckets. On the one hand, with bundles you can recover machines that crashed or lost data within a few blinks and on the other, you can created new instances out of a bundle (talking about &#8220;scalability&#8221;).</p>
<p>For bundling, we use the AMI tools we installed. First of all, let&#8217;s create a directory for the bundle:</p>
<blockquote><p>
mkdir /mnt/myimage
</p></blockquote>
<p>After that, run the bundle-vol-tool:</p>
<blockquote><p>
ec2-bundle-vol -k pk-<id>.pem -c cert-<id>.pem -s <bundle size in MB, e.g. 5000> -u <user-id, without dashes> -d /mnt/myimage/
</p></blockquote>
<p>This command takes several parameters for the private key, the certificate, the size of the resulting bundle in MB and your User-ID (without dashes). The User-ID can be found within your Account Information on Amazon&#8217;s EC2 site. The command should ask you, what architecture you&#8217;d like to bundle the system for &#8211; i386 should work out perfectly for what we&#8217;re doing. The following procedure could take some time, since the tool collections every peace of the system and builds a bundle into the directory we specified. As soon as the tool finished, we can upload our bundle to our S3-bucket:</p>
<blockquote><p>
ec2-upload-bundle &#8211;location EU -b <some unique bucket name>  -m /mnt/myimage/image.manifest.xml -a <access-key> -s <secret-key>
</p></blockquote>
<p>Again, we need to specify some credentials (our access-key and the secret-key) for the upload to work. Also, we need to pick a globally unique bucket-name for uploading the bundle, what shouldn&#8217;t be that hard as long as you don&#8217;t try stuff like &#8220;linux&#8221; or other common words. The bundle will then be uploaded to your (private) bucket, so you have it for later use.</p>
<p>From within the web-interface you could now simply create new instances out of the uploaded bundle, without even knowing how the actual system was set up or having the Amazon API tools installed on your client.</p>
<p>Cool stuff, enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://devilx.net/2009/11/01/amazon-ec2-how-to-setup-an-instance-and-bundle-it/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Playing Around with Ubuntu One (Pt. 2)</title>
		<link>http://devilx.net/2009/09/12/playing-around-with-ubuntu-one-pt-2/</link>
		<comments>http://devilx.net/2009/09/12/playing-around-with-ubuntu-one-pt-2/#comments</comments>
		<pubDate>Sat, 12 Sep 2009 21:08:25 +0000</pubDate>
		<dc:creator>Marius</dc:creator>
				<category><![CDATA[Linux and stuff ...]]></category>
		<category><![CDATA[New & Cool]]></category>
		<category><![CDATA[World Wide Web]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Evolution]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[MobileMe]]></category>
		<category><![CDATA[Pidgin]]></category>
		<category><![CDATA[Service]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Ubuntu One]]></category>

		<guid isPermaLink="false">http://www.devilx.net/?p=1012</guid>
		<description><![CDATA[In the first post of my tests regarding Ubuntu One, I described a bit how the general principle of Ubuntu One works and what I&#8217;ve experienced while setting it up on one Ubuntu client. Now, I got a bit deeper &#8230; <a href="http://devilx.net/2009/09/12/playing-around-with-ubuntu-one-pt-2/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>In the <a title="Playing Around with Ubuntu One" href="http://www.devilx.net/2009/09/12/playing-around-with-ubuntu-one/" target="_self">first post</a> of my tests regarding Ubuntu One, I described a bit how the general principle of Ubuntu One works and what I&#8217;ve experienced while setting it up on one Ubuntu client. Now, I got a bit deeper into the service by cloning the Ubuntu machine and also authorizing the second Ubuntu client for the Ubuntu One service.</p>
<p>As I&#8217;ve written, moving the application-folders into the cloud seems to be working pretty good on one client. Now I&#8217;ve tested, how it is when using two clients and pulled the information contained in the cloud (from client A) down to client B. Each of the three applications worked in general, Pidgin started with the account configured on client A, Evolution started with the Inbox configure in client A but asked me for the password to access the mail-server (what&#8217;s clear, because I did not synchronize the key-rings) and Firefox displayed with the preferences configured, but prepended a message box that said:</p>
<blockquote><p>Could not initialize the application&#8217;s security component. The most likely cause is problems with files in your application&#8217;s profile directory. Please check that this directory has no read/write restrictions and your hard disk is not full or close to full. It is recommended that you exit the application and fix the problem. If you continue to use this session, you might see incorrect application behaviour when accessing security features.</p></blockquote>
<p>This confused me a bit, especially since the actual browser ran without any more problems. However, I&#8217;ve been to lazy to track down this permission problem.</p>
<p><a href="http://www.devilx.net/wp-content/uploads/2009/09/UbuntuOne-Conflict.png"><img class="alignleft size-thumbnail wp-image-1013" title="UbuntuOne-Conflict" src="http://www.devilx.net/wp-content/uploads/2009/09/UbuntuOne-Conflict-150x150.png" alt="UbuntuOne-Conflict" width="150" height="150" /></a>After I&#8217;ve checked, if &#8220;one-after-another&#8221; synchronization worked, I tried out the simultaneous usage of both machines, while being connected and synced with the cloud on each of them. As I&#8217;ve expected, I ran into some problems: Suddenly, some more folder (thumbnail) appeared within the client B&#8217;s Ubuntu One folder, that contained his app-information. The folders remained until the actual Home folder finished receiving the data from within the cloud, then they just disappeared. I don&#8217;t know, if those have been merged or just deleted &#8211; it just worked afterwards. <img src='http://devilx.net/wp-content/plugins/smilies-themer/Riceballs/smile.png' alt=':-)' class='wp-smiley' /> </p>
<p>Ubuntu One seems to be using &#8220;semaphores&#8221;, in a similar way token-ring was using: At first, client A is allowed to sync his data with the cloud. When this is finished, client B is allowed to sync. Then, it&#8217;s client A&#8217;s turn again &#8211; and so on. Theoretically, this is good. But in practice, Ubuntu One unfortunately seems to overwrite locale changes when pulling data down from the cloud. In comparison: MobileMe asks the user and merges the data, as good as possible.</p>
<p>In the end, simultaneous usage was unable to sync both machines in a way, so that data was kept consistent. Either one machine lost information, or the other. Especially when adding a new Pidgin account on client B, waiting for the sync, closing Pidgin on client A (which then seems to save a final account-info) and waiting for the sync there, you will be surprised your account not to be available when re-launching Pidgin on client A.</p>
<p>Of course, synchronization always is a tricky feature, but I guess, Ubuntu One lacks of an SVN-like back-end, that keeps track of all changes and makes merging possible. I&#8217;m really interested in how Ubuntu One will continue to evolve and I&#8217;ll try to keep tack of its development status. This could really kick ass someday, as soon as everything works seamless and simultaneous.</p>
]]></content:encoded>
			<wfw:commentRss>http://devilx.net/2009/09/12/playing-around-with-ubuntu-one-pt-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Playing Around with Ubuntu One</title>
		<link>http://devilx.net/2009/09/12/playing-around-with-ubuntu-one/</link>
		<comments>http://devilx.net/2009/09/12/playing-around-with-ubuntu-one/#comments</comments>
		<pubDate>Sat, 12 Sep 2009 19:47:16 +0000</pubDate>
		<dc:creator>Marius</dc:creator>
				<category><![CDATA[Linux and stuff ...]]></category>
		<category><![CDATA[New & Cool]]></category>
		<category><![CDATA[World Wide Web]]></category>
		<category><![CDATA[Amazon]]></category>
		<category><![CDATA[Beta]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Dropbox]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[MobileMe]]></category>
		<category><![CDATA[OAuth]]></category>
		<category><![CDATA[S3]]></category>
		<category><![CDATA[Service]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Ubuntu One]]></category>

		<guid isPermaLink="false">http://www.devilx.net/?p=1005</guid>
		<description><![CDATA[So, after I&#8217;ve received my confirmation for my Ubuntu One account on July the 19th, this evening I&#8217;ve finally found at least a bit time to play around with it and check out how good this service really works. For &#8230; <a href="http://devilx.net/2009/09/12/playing-around-with-ubuntu-one/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>So, after I&#8217;ve received my confirmation for my <a title="Ubuntu One" href="https://one.ubuntu.com/" target="_blank">Ubuntu One</a> account on July the 19th, this evening I&#8217;ve finally found at least a bit time to play around with it and check out how good this service really works.</p>
<p>For my tests, I was using a vanilla Ubuntu 9.04 with latest package versions/updates installed. The installation of the PPA was pretty simple, thanks to the DEB provided on the Ubuntu One site, although I could not install the Ubuntu One GNOME-Client using the one-click feature implemented on the official Install-site. This probably could be the first thing a regular user could trap on.</p>
<p><a href="http://www.devilx.net/wp-content/uploads/2009/09/UbuntuOne-Menu.png"><img class="alignleft size-full wp-image-1006" title="UbuntuOne-Menu" src="http://www.devilx.net/wp-content/uploads/2009/09/UbuntuOne-Menu.png" alt="UbuntuOne-Menu" width="223" height="31" /></a>So, after installing the packages manually by using a terminal and aptitude, the client appeared in Ubuntu&#8217;s &#8220;Internet&#8221;-submenu of the panel-main-menu. When a user installs Ubuntu One on a new computer and clicks the client&#8217;s icon within the menu to start the service, he will get a browser-window containing an Ubuntu One authorization-page. There, the user needs to click the &#8220;Authorize this Computer&#8221; button, so the computer will be able to sync with the Ubuntu One cloud. I took a quick look behind the scenes and as far as I&#8217;ve seen, Ubuntu One uses regular OAuth to authenticate computers to the cloud. The OAuth-token therefor will be saved within the &#8220;Passwords &amp; Keys&#8221; thingy, that&#8217;s found somewhere in the main-menu.</p>
<p><a href="http://www.devilx.net/wp-content/uploads/2009/09/UbuntuOne-Updating.png"><img class="alignright size-full wp-image-1007" title="UbuntuOne-Updating" src="http://www.devilx.net/wp-content/uploads/2009/09/UbuntuOne-Updating.png" alt="UbuntuOne-Updating" width="270" height="106" /></a>However, the sync service itself creates a &#8220;Ubuntu One&#8221; folder within your home-directory, which syncs up into the cloud. Within this folder, there&#8217;s also a sym-linked-folder for Public content. The client-daemon doesn&#8217;t seem to be using some mechanism like iNotify to sync the folder contents up to the cloud, or if it does, it&#8217;s simply broken. At least on my test-machine, the client synchronized periodically &#8211; and by periodically I mean cycles with noticeable pauses in between. On one way that&#8217;s good, because not every tiny-whiny change that will be made to the folder&#8217;s contents will be pushed up to the cloud, what would literally kill your bandwidth, but on the other hand, the actual duration from one sync to another is just too big to be used with multiple devices simultaneously (e.g. an Android implementation or even another client-computer).</p>
<p>Talking about the simultaneousness, I don&#8217;t think that Ubuntu One is (yet) planned to be used on multiple computers simultaneous. On my test-setup I&#8217;ve created a sub-folder named &#8220;Home&#8221;, where I moved some dot-starting-folders from within my actual $HOME to and soft-linked them back to their actual location. My setup then looked something like:</p>
<p><code><br />
devilx@vm-ubuntu:~$ ls -la | grep ^lrw*<br />
lrwxrwxrwx  1 devilx devilx   38 2009-09-12 20:32 .evolution -&gt; /home/devilx/Ubuntu One/Home/evolution<br />
lrwxrwxrwx  1 devilx devilx   36 2009-09-12 20:31 .mozilla -&gt; /home/devilx/Ubuntu One/Home/mozilla<br />
lrwxrwxrwx  1 devilx devilx   35 2009-09-12 20:33 .purple -&gt; /home/devilx/Ubuntu One/Home/purple<br />
devilx@vm-ubuntu:~$<br />
</code></p>
<p>By this, I&#8217;ve pushed the preferences and information of my Firefox, my Evolution and my Pidgin into the cloud. A quick test showed me, that none of those three applications complained about their new &#8220;home&#8221; being a symlink to some directory within the cloud &#8211; and neither about any insufficient permissions that could have happened, if the cloud was set-up crappy (+1P for Ubuntu One). Still, this setup seems not that perfect for me, at the moment.</p>
<p>The synchronization of a modified .mozilla and especially of a modified .evolution folder seems to take for years. While I&#8217;m writing this text, the client-daemon is still synchronizing the files (it started nearly at the same time I&#8217;ve started writing this entry) and says &#8220;Updating 6 of 270 files&#8230;&#8221; &#8211; this could become a looooong night. Though, I don&#8217;t want to complain about Ubuntu One&#8217;s performance, since yet, it&#8217;s still in Beta (even if I don&#8217;t know, if Beta isn&#8217;t just an upcoming trend every company has to stick with -&gt; e.g. Google).</p>
<p><a href="http://www.devilx.net/wp-content/uploads/2009/09/UbuntuOne-DesktopSync.png"><img class="alignleft size-thumbnail wp-image-1008" title="UbuntuOne-DesktopSync" src="http://www.devilx.net/wp-content/uploads/2009/09/UbuntuOne-DesktopSync-150x150.png" alt="UbuntuOne-DesktopSync" width="150" height="150" /></a>I&#8217;ll try to clone this Ubuntu-installation and run them both with Ubuntu One being active &#8211; first, one after another (to see, if the applications could be synced without them complaining about parameters, that are incorrect for the secondary host they get synced to -&gt; e.g. hostname information) and then I&#8217;ll try to run them simultaneously and hope for the best. If it should work out (what I don&#8217;t expect, just from what I&#8217;ve seen in similar projects), it would be really cool, because then, most applications could be synced this way without much hassle. I&#8217;d be really surprised, if this should be working, because then, the cloud seems to implement some kind of &#8220;merge&#8221; service, which allows you to upload data from two (or more) clients and seamlessly merge it up in the cloud together to one, consistent state.</p>
<p>Eh, I will see. Altogether, Ubuntu One is yet already working pretty cool, though I&#8217;m not quite sure, what a regular user should do with it, if he&#8217;s already aware of service like <a href="http://www.dropbox.com/referrals/NTIxODYyMjk5">Dropbox</a> or Amazon&#8217;s S3 &#8211; because at the moment, Ubuntu One unfortunately isn&#8217;t any better than those services. It just integrates more seamless into the GNOME-desktop. Hm&#8230; oh well. <img src='http://devilx.net/wp-content/plugins/smilies-themer/Riceballs/smile.png' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://devilx.net/2009/09/12/playing-around-with-ubuntu-one/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iStat My Linux on My Phone</title>
		<link>http://devilx.net/2009/08/24/istat-my-linux-on-my-phone/</link>
		<comments>http://devilx.net/2009/08/24/istat-my-linux-on-my-phone/#comments</comments>
		<pubDate>Mon, 24 Aug 2009 17:44:03 +0000</pubDate>
		<dc:creator>Marius</dc:creator>
				<category><![CDATA[Linux and stuff ...]]></category>
		<category><![CDATA[Mac and stuff ...]]></category>
		<category><![CDATA[New & Cool]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[World Wide Web]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Download]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[iStat]]></category>
		<category><![CDATA[Lenny]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Monitoring]]></category>
		<category><![CDATA[Package]]></category>

		<guid isPermaLink="false">http://www.devilx.net/?p=952</guid>
		<description><![CDATA[After checking out bjango&#8217;s web-site again after a long time, to check out the status of the &#8220;remote vital statistics&#8221; project called &#8220;iStat for iPhone&#8221;, I was suprised to see an iStat Server for Linux (and Solaris, and FreeBSD, &#8230;). &#8230; <a href="http://devilx.net/2009/08/24/istat-my-linux-on-my-phone/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>After checking out <a title="iStat, an iPhone app by Bjango" href="http://bjango.com/apps/istat/">bjango&#8217;s web-site</a> again after a long time, to check out the status of the &#8220;remote vital statistics&#8221; project called &#8220;iStat for iPhone&#8221;, I was suprised to see an iStat Server for Linux (and Solaris, and FreeBSD, &#8230;).</p>
<p>The last time I check out the project, there was no such daemon for Unix(-like) platforms but Mac OS X itself. I decided to take a quick look at the independend <a title="istatd" href="http://code.google.com/p/istatd/">istatd Project on Google Code</a> and give it a shot. I fetched the sources, built them on a Debian Lenny and ran the daemon with a slighly modified configuration &#8211; and it worked! <img src='http://devilx.net/wp-content/plugins/smilies-themer/Riceballs/smile.png' alt=':-)' class='wp-smiley' /> </p>
<p>I found it pretty cool. Actually, I found it so cool that it was the reason for me to buy the actual iPhone App. I have no Mac OS X Servers I&#8217;d like to monitor, but I could think of plenty of Linux machines which I&#8217;d like to keep an eye on &#8211; not as an replacement for Nagios, just as a solution for quick-live-monitoring.</p>
<p>However, I decided to build a Debian package, to make it easier to deploy the istatd on a couple of machines. I attached the Debian package to this post, so you can just download and install it on your Lenny machines. Warning: It&#8217;s not a clean and tidy built, lintian conform packge! I just hacked it together to have something that &#8220;just works&#8221;. And that&#8217;s what it actually should. Besides, be warned that the daemon takes quite long to shut-down, due to the fact that I&#8217;ve just used the regular /etc/init.d/skeleton to create an own /etc/init.d/istatd script, without going into deep workflow-checks. Here, the script takes something around half a minute to kill the istatd.</p>
<p>Anyway, now I&#8217;m going to take a look at the sources and see, if I could probably commit some enhancements to the projects. The last time I was doing C++ is *quite* a time ago, but it shouldn&#8217;t be too hard from what I&#8217;ve seen so far. On the project&#8217;s site it says that there&#8217;s no support for fans and temperature measuring, yet. I will check whether it&#8217;s possible to use lmsensors for getting those information and maybe hack it in &#8211; or even rewrite the daemon in C, what would be the best to do anyway. <img src='http://devilx.net/wp-content/plugins/smilies-themer/Riceballs/wink.png' alt=';-)' class='wp-smiley' /> </p>
<p>Oh well, however. Enjoy the package. <img src='http://devilx.net/wp-content/plugins/smilies-themer/Riceballs/smile.png' alt=':-)' class='wp-smiley' /> </p>
<p><strong>Download:</strong> <a href="http://www.devilx.net/wp-content/uploads/2009/08/istatd_0.5.4-1_i386.deb">istatd_0.5.4-1_i386.deb</a></p>
]]></content:encoded>
			<wfw:commentRss>http://devilx.net/2009/08/24/istat-my-linux-on-my-phone/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>After Six Days of Freedom</title>
		<link>http://devilx.net/2009/05/27/after-six-days-of-freedom/</link>
		<comments>http://devilx.net/2009/05/27/after-six-days-of-freedom/#comments</comments>
		<pubDate>Wed, 27 May 2009 16:46:48 +0000</pubDate>
		<dc:creator>Marius</dc:creator>
				<category><![CDATA[Hot Gear]]></category>
		<category><![CDATA[Life itself]]></category>
		<category><![CDATA[Mac and stuff ...]]></category>
		<category><![CDATA[New & Cool]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Battery]]></category>
		<category><![CDATA[Curious]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Firmware]]></category>
		<category><![CDATA[Hack]]></category>
		<category><![CDATA[iPod]]></category>
		<category><![CDATA[Jail-Broken]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Slow]]></category>
		<category><![CDATA[Touch]]></category>
		<category><![CDATA[UI]]></category>
		<category><![CDATA[VM]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[XP]]></category>

		<guid isPermaLink="false">http://www.devilx.net/?p=905</guid>
		<description><![CDATA[I&#8217;m just restoring my iPod Touch to Apple&#8217;s original firmware. &#8220;Taking it back to jail&#8220;, as one would say. But why? I&#8217;ve never actually been a fan of jail-breaking the iPhone nor the iPod, since it&#8217;s totally controversial. Most people &#8230; <a href="http://devilx.net/2009/05/27/after-six-days-of-freedom/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m just restoring my iPod Touch to Apple&#8217;s original firmware. &#8220;<em>Taking it back to jail</em>&#8220;, as one would say. But why?</p>
<p>I&#8217;ve never actually been a fan of jail-breaking the iPhone nor the iPod, since it&#8217;s totally controversial. Most people who jail-break their devices think &#8220;<em>Why should I just use 10% of what I could really use on that device?!</em>&#8220;, though they don&#8217;t think twice: Why did they buy an Apple product like the iPhone or the iPod Touch? There are three kind of people who buy these things: The first type are the &#8220;cool&#8221; people. They like to pay the &#8220;Cool Tax&#8221; just to be cool themselves and impress other people. &#8220;<em>Look how cool my new iPhone is!!!111</em>&#8220;. Such people might jail-break, just because they&#8217;d like to be able to say &#8220;<em>Oh well, sure, you got an iPhone, too, but look what mine has, that yours doesn&#8217;t!!!111</em>&#8220;.</p>
<p>The second kind of people, jail-break their iDevices because they can. That&#8217;s it. Nothing more. These people are usually some people with more interest into technology, which just have fun doing such things. &#8220;<em>Look, my iPhone runs an SSH session! And look, on my Xbox I have a media-center that looks just like Apple TV but has way more features. For free! And oh, my PSP runs Linux!!</em>&#8220;. Those people in general do stuff like this because they enjoy it and don&#8217;t really much care of the device&#8217;s functionality. They don&#8217;t care if they won&#8217;t be able to play any games on their PSP anymore, they don&#8217;t care if they lose their rest-warranty on their Xbox and they don&#8217;t care if they won&#8217;t be able to read any e-mails on their iPhones anymore. They just don&#8217;t care, if it works properly (without hacking) or not.</p>
<p>What brings me to the third kind of people. Those buy products like the ones from Apple mainly because of one important reason: It simply works! You turn it on, you do what you need to do and then you turn it off. No hacking, no installing, no complex configuration, nothing. It just works.</p>
<p>However, the knowledge regarding IT/computers/devices of those people vary from none to I-could-write-my-own-OS. Those, who really know what they&#8217;re doing won&#8217;t jail-break their devices or if they will, they&#8217;re being kind-number-two. Those who don&#8217;t really know but hear from all kind of people (kind-number-one mostly) what cool things would be possible if they&#8217;d jail-break their devices, will also jail-break their devices one way or the other. And here the controversiality begins.</p>
<p>Why would someone want to spend the amount of $X on a device that&#8217;s totally managed, works exactly as it should and gives you only a number features, which therefor really work and then take highly experimental and nearly unsupported software, put it on exactly this device and try to do things with it that were never be planned to be done with that device.</p>
<p>Those people then realize, how crappy everything started to be, though their devices has an enhanced set of features now. They&#8217;re going to be yelling about everything that goes wrong and isn&#8217;t working out in a way you&#8217;d expect it from an Apple product &#8211; but they forget, that it&#8217;s not an Apple product anymore. At least not the software. Not all of it.</p>
<p>However, the same thing happens to people of kind-number-one, though the difference is, that those would never complain about their crappy set of new features in public. <img src='http://devilx.net/wp-content/plugins/smilies-themer/Riceballs/wink.png' alt=';-)' class='wp-smiley' /> </p>
<p>Anyway, so as I said, I&#8217;m just restoring from the jail-break to Apple&#8217;s original. Not that I&#8217;m complaining or just tried to be &#8220;cool&#8221; &#8211; I was really interested on two things: First, if I manage it to jail-break it through a Windows XP VM and second, how the jail-breaking stuff evolved till now. I was really curious about the software available for the hacked firmware and the things you could do with it.</p>
<p>Unfortunately it&#8217;s still exactly as I thought: It&#8217;s nice to play around with, but it&#8217;s nothing for a productive, everyday use. The software is too unstable, too untested and totally hacked-together. The programmers didn&#8217;t follow any design- or usability-guidelines and in general everything looks too unstable. Don&#8217;t get me wrong: I&#8217;m not saying that the people who&#8217;ve realized this did crap! I admire any hacker who&#8217;s contributing to this project. But that&#8217;s the exact point of it: Those are usually hackers/developers/freaks who don&#8217;t really care about usability-guidelines or stuff like that. Just like those people that were developing UIs for Linux once (and still are).</p>
<p>However, besides this, I didn&#8217;t really benefit of the jail-break. I used a cool theme, though my whole iPod got awfully slow because of that. As it seems, the original theme won&#8217;t be replaced by a new one, but instead it will be just &#8220;overlaid&#8221;. At least this was my impression when opening the Preferences, seeing the iPod&#8217;s standard theme, waiting some seconds for the iPod to become responsive again and then seeing the modified theme. And this of course also impacted on my battery life: By just listening to music I usually got 3 days of battery-life &#8211; and I listen a lot to music! With the jail-break installed, after one day I usually only had twenty-five percent of the battery-life left.</p>
<p>Eh, well. I played a bit around, I&#8217;ve seen the jail-break myself and I&#8217;ve also seen that it&#8217;s far from being called &#8220;<em>oh this could really make me use it!</em>&#8220;, at least by me. Oh, I guess my recovery has finished&#8230;. <img src='http://devilx.net/wp-content/plugins/smilies-themer/Riceballs/smile.png' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://devilx.net/2009/05/27/after-six-days-of-freedom/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Searching for FireBugs on a Safari?</title>
		<link>http://devilx.net/2009/05/18/searching-for-firebugs-on-a-safari/</link>
		<comments>http://devilx.net/2009/05/18/searching-for-firebugs-on-a-safari/#comments</comments>
		<pubDate>Mon, 18 May 2009 17:59:26 +0000</pubDate>
		<dc:creator>Marius</dc:creator>
				<category><![CDATA[Art & Design]]></category>
		<category><![CDATA[Mac and stuff ...]]></category>
		<category><![CDATA[New & Cool]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[World Wide Web]]></category>
		<category><![CDATA[Addon]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[Crap]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[FireBug]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Parallels]]></category>
		<category><![CDATA[Safari]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Webkit]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.devilx.net/?p=890</guid>
		<description><![CDATA[In the past few weeks, I was involved into heavy JavaScript web-development at work and had to work with tools that allow me to debug dynamic web-content in an effortless way. Most people would now say &#8220;Use Firefox with FireBug &#8230; <a href="http://devilx.net/2009/05/18/searching-for-firebugs-on-a-safari/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="attachment_891" class="wp-caption alignleft" style="width: 160px"><a href="http://www.devilx.net/wp-content/uploads/2009/05/9991783944a1135f3f1f7b.png"><img class="size-thumbnail wp-image-891" title="WebKit Development Tools" src="http://www.devilx.net/wp-content/uploads/2009/05/9991783944a1135f3f1f7b-150x150.png" alt="WebKit Development Tools" width="150" height="150" /></a><p class="wp-caption-text">WebKit Development Tools</p></div>
<p>In the past few weeks, I was involved into heavy JavaScript web-development at work and had to work with tools that allow me to debug dynamic web-content in an effortless way. Most people would now say &#8220;<em>Use Firefox with FireBug addition!</em>&#8221; and I would even agree with them, if I would be using some Windows operating-system instead of my lovely Mac. Everyone who has ever used Firefox on a Linux or a Mac OS X will know, that it&#8217;s a pain in the arse. Due to the way Mozilla-developers have taken to make Firefox available on multiple platforms, it lacks of any speed and integration within most implementations.</p>
<p>So what to do on a Mac, where Firefox trying to render a full-blown AJAX-site needs more space and CPU-power than a VMware or Parallels instance of Windows XP, running the IE? Most people don&#8217;t really know, that the Mac&#8217;s integrated browser already provides a very good toolset for web-development which just got even better with the version 4 (yet, still Beta) of Safari.</p>
<p>The toolset is hidden, on a regular OS X, but it can be unlocked pretty easy. The only thing you gotta do, is quit your Safari, open a Terminal and enter this command:</p>
<p><code> defaults write com.apple.Safari WebKitDeveloperExtras -bool true<br />
</code></p>
<p>It should quit without any output. After that, you can quit the Terminal and re-start Safari. You might not see any difference to Safari&#8217;s appearance before spawning the command, but now just try to do a right-click / command-click within a web-site. You will see, that your popup-menu has just been extended by one new item at its bottom, called &#8220;<em>Inspect Element</em>&#8220;. By clicking this entrie, Safari either opens a new window or separates your current one with an additional view, depending on what Safari version you&#8217;re using. This command works on 3 and 4.</p>
<p>Within that window, you will see a lot of useful information about the page. You can see time and size measurements, script-warnings and -errors and many many more. This extensions to Safari&#8217;s WebKit provides you nearly everything you might know from FireFox Add-Ons like FireBug. And besides of that, it allows you to profile your page in a sleek and easy, graphical way.</p>
<p>I&#8217;m now working quite some time with those tools, exactly because of all the problems I had with Firefox on my Mac, and I must say that I love them. I love the integration and the way it allows me to debug my sites. The only thing I liked more in FireBug was the precision of its GET/POST/PUT/&#8230;-output, but most of the time I don&#8217;t need that anyway. <img src='http://devilx.net/wp-content/plugins/smilies-themer/Riceballs/smile.png' alt=':-)' class='wp-smiley' /> </p>
<p>Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://devilx.net/2009/05/18/searching-for-firebugs-on-a-safari/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu One: MobileMe for the Rest of Us?</title>
		<link>http://devilx.net/2009/05/12/ubuntu-one-mobileme-for-the-rest-of-us/</link>
		<comments>http://devilx.net/2009/05/12/ubuntu-one-mobileme-for-the-rest-of-us/#comments</comments>
		<pubDate>Tue, 12 May 2009 19:12:56 +0000</pubDate>
		<dc:creator>Marius</dc:creator>
				<category><![CDATA[Linux and stuff ...]]></category>
		<category><![CDATA[New & Cool]]></category>
		<category><![CDATA[World Wide Web]]></category>
		<category><![CDATA[Amazon]]></category>
		<category><![CDATA[Exchange]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[MobileMe]]></category>
		<category><![CDATA[S3]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Ubuntu One]]></category>

		<guid isPermaLink="false">http://www.devilx.net/?p=885</guid>
		<description><![CDATA[Today, I&#8217;ve just subscribed to the invitations-list of Canonical&#8217;s new service called Ubuntu1. UbuntuONE. U1. Ubuntu One. The service is yet a beta, not public available and seems to become for Ubuntu what MobileMe is for the Mac. The current &#8230; <a href="http://devilx.net/2009/05/12/ubuntu-one-mobileme-for-the-rest-of-us/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Today, I&#8217;ve just subscribed to the invitations-list of Canonical&#8217;s new service called <span style="text-decoration: line-through;">Ubuntu1.</span> <span style="text-decoration: line-through;">UbuntuONE.</span> <span style="text-decoration: line-through;">U1.</span> Ubuntu One. The service is yet a beta, not public available and seems to become for Ubuntu what MobileMe is for the Mac.</p>
<p>The current service-site describes the services mainly as synchronization option for your Ubuntu workstations, so that everything is kept up to date. My first thought on this was, that they&#8217;re using webdav (just like Apple does for their iDisk) for accomplishing this task, but as it seems, there&#8217;s no webdav involved. Maybe it&#8217;s built-up on Amazon&#8217;s S3?</p>
<p>I don&#8217;t know yet, since up to now I haven&#8217;t received my invitation to join and use this service. I was told that invitations are being sent amongst others depending on the service&#8217;s usage, so I really hope (since the ubuntuone.com isn&#8217;t that popular, yet) to receive mine soon.</p>
<p>Depending of how good this service works already, it could be a really good competitor to Apple&#8217;s MobileMe &#8211; especially if it should get an own &#8220;Exchange for the Rest of Us&#8221;, heh. I don&#8217;t know what&#8217;s planned to be implemented and as it seems there&#8217;s not much talking about that, but I&#8217;d really welcome it to see a working solution on that area.</p>
<p>As soon as I&#8217;ll receive the invitation, I will take Ubuntu One on a test-drive and try to see whether it would be possible to use this service on other distributions as well. I really can&#8217;t wait to get my hands on the service&#8217;s software, heh&#8230; <img src='http://devilx.net/wp-content/plugins/smilies-themer/Riceballs/wink.png' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://devilx.net/2009/05/12/ubuntu-one-mobileme-for-the-rest-of-us/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenSource needs Quality &#8211; not Quantity!</title>
		<link>http://devilx.net/2009/05/02/opensource-needs-quality-not-quantity/</link>
		<comments>http://devilx.net/2009/05/02/opensource-needs-quality-not-quantity/#comments</comments>
		<pubDate>Sat, 02 May 2009 15:59:52 +0000</pubDate>
		<dc:creator>Marius</dc:creator>
				<category><![CDATA[Art & Design]]></category>
		<category><![CDATA[Linux and stuff ...]]></category>
		<category><![CDATA[World Wide Web]]></category>
		<category><![CDATA[CLI]]></category>
		<category><![CDATA[Crap]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Desktop]]></category>
		<category><![CDATA[Feel]]></category>
		<category><![CDATA[Freedom]]></category>
		<category><![CDATA[FSF]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[GNU]]></category>
		<category><![CDATA[GTK]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Look]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Novell]]></category>
		<category><![CDATA[OpenOffice]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[Pidgin]]></category>
		<category><![CDATA[Red Hat]]></category>
		<category><![CDATA[System]]></category>
		<category><![CDATA[Theme]]></category>
		<category><![CDATA[UI]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.devilx.net/?p=832</guid>
		<description><![CDATA[I was just stumbling through art.gnome.org, after reading the &#8220;What&#8217;s new?&#8220;-page of GNOME 2.26 and I was wondering why the control themes I&#8217;ve submitted some years ago are still on page two of seven. I remembered the time, in which &#8230; <a href="http://devilx.net/2009/05/02/opensource-needs-quality-not-quantity/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I was just stumbling through art.gnome.org, after reading the &#8220;<em>What&#8217;s new?</em>&#8220;-page of <strong>GNOME 2.26</strong> and I was wondering why the control themes I&#8217;ve submitted some years ago are still <a href="#mce_temp_url#">on page two of seven</a>. I remembered the time, in which I used to be an active moderator on art.gnome.org and accepted/rejected themes. Then ago, Thomas (Wood) consistently rejected all themes that were low-quality or simply just tasteless to keep AGO a top-notch portal for everything regarding art on GNOME &#8211; what I totally supported.</p>
<p>However, so I thought, that either there just haven&#8217;t been many themes released since I&#8217;ve last checked (afair over a year ago) or there just haven&#8217;t been any good themes that were submitted and accepted at AGO. To verify that, I&#8217;ve taken a look at the gnome-look.org themes-section and proved my assumption true: I browsed through the first few pages of the GTK 2.x section and my eyes began to hurt. Then, I sorted the section to start with the highest-rated themes and my eyes hurt even more. One theme was &#8211; in the matter of quality and usability &#8211; worse than the other. Everywhere you looked only rough-cut pixmaps thrown together, added some really-not-looking-good background images to the menus and the window elements themselves and finished it all up with a foreground-color that either provided an exaggerated or an awfully low value of contrast. Meh.</p>
<p>The bummer is, that the majority of all themes look like that and only a few ones, mostly created by known artists like roberTO, Jakub and others really look tasteful and qualitatively good. In my opinion, this was and still is a major problem of the whole OpenSource community. OpenSource gives you the power to choose, modify and re-distribute, but I guess that exactly this power is being used in a wrong way &#8211; not only in the matter of control themes!</p>
<p>In general, especially within the Linux area, there are nearly no standards. Spoken from the designers&#8217; view, there are not enough definitions like the <strong>GNOME UI-Design Guideline</strong> or the <strong>Tango Project</strong>, which try to convince and help the developers and/or designers to draw qualitatively better themes while still keeping up the freedom to choose and create. Of course, this won&#8217;t stop <em>misbehaving</em> designers to submit themes to un- or sloppy-moderated sites like gnome-look.org, but still it would provide the GNOME folks a &#8220;<em>pressurizing medium</em>&#8221; to say &#8220;<em>You make it the good way, your theme might make it into our official project releases or at least on the cover of the official sites!</em>&#8220;.</p>
<p>Though, for a real GNU/FSF-guy this way might sound like to much of &#8220;controlling&#8221; and &#8220;regulating&#8221; and by that lead to an operating system like for example Mac OS X (no, not Windows, there you have an even bigger problem regarding applications that look totally different than others) is. Still, most of these guys forget, that without at least a little bit of guide-lining, regulating and separating the wheat from the chaff especially the Linux Desktop will never make it into a higher market-share. There definitely is a reason, why companies like Novell and Red Hat keep up the hard and cost-intense work on their own UI-designs and improvements. If you want the users to be convinced about using a clean and stable operating system, you cannot simply stick with a UI on which the users&#8217; thoughts are &#8220;<em>Uh.</em>&#8221; from the first click they&#8217;re doing. And of course, tastes are different and each user has a different one, but in one point all users will share the same opinion: An UI needs to be tidy and neat. No pixels. No exaggerated anti-aliasing (which should be better called &#8220;blur&#8221; in 90% of the existing GTK themes). Just a sleek and intuitive interface with clean structures and without distracting or even deranging elements (&#8230; like black backgrounds, white foregrounds and pixmaps that remind you of some white-noise-graph).</p>
<p>On software techniques the GNOME community seems to finally has understood what KDE is doing for years now already. There has to be a clean infrastructure (or backbone or whatever you&#8217;d like to call it) for solving problems and providing features. GNOME has started the move to GStreamer some years ago and now finally also moved to a backend (PulseAudio) which provides such an infrastructure. Also, introducing D-BUS and the HAL was a big step for the whole Desktop-Project, and the Gnome VFS seems to be trying to really compete with KDE&#8217;s now. So, as it seems, developers have finally recognized, that (especially in enterprise use) a desktop with no integration and where each application works different and uses a different infrastructure for providing audio, video or whatever else will never succeed against &#8220;the big ones&#8221;.</p>
<p>Unfortunately, in the matter of UI design, it still seems to take a while until contributors understand that it&#8217;s worthless drawing themes that look like Vista&#8217;s interface printed on a dot-matrix printer. By that, users of other desktop systems will always keep looking and thinking of Linux to be an unstable and totally not-integrative desktop-system, hacked together by some crazy, long-bearded freaks. Because for low-brown users, the UI is an essential element that helps them deciding whether a system looks usable to them or not. With an interface where each application looks the same, acts the same and allows the user to get this work done in an undisturbing way &#8211; and maybe adds a little bit of pleasure with smooth and clean looking effects (and by that I don&#8217;t think of wobbly windows!) &#8211; even someone that&#8217;s new to the matter will be able to get in touch with it quite fast.</p>
<p>I&#8217;m still waiting for the day on which especially GNOME&#8217;s <em>interface-nazis</em> finally make the move and decline all applications that do not strictly follow clearly defined designing guidelines for a clean and usable UI &#8211; even if it would throw out half of the applications shipped with a regular GNOME desktop (like Pidgin, OpenOffice.org, and so on&#8230;). Until then, I guess that Linux itself can be as solid as a rock, as fast as a lightening and free as free beer &#8211; it won&#8217;t be able to increase its popularity and climb the higher market-shares. Just because of the &#8220;look and feel&#8221;, which sometimes is just more important then pure functionality. Else, we would still be working on the CLI, wouldn&#8217;t we? <img src='http://devilx.net/wp-content/plugins/smilies-themer/Riceballs/wink.png' alt=';-)' class='wp-smiley' /> </p>
<p>// btw: This is my 500th post I&#8217;ve been writing within over four years now already. Heh.</p>
]]></content:encoded>
			<wfw:commentRss>http://devilx.net/2009/05/02/opensource-needs-quality-not-quantity/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cloud Simplicity and Elasticity</title>
		<link>http://devilx.net/2009/04/26/cloud-simplicity-and-elasticity/</link>
		<comments>http://devilx.net/2009/04/26/cloud-simplicity-and-elasticity/#comments</comments>
		<pubDate>Sun, 26 Apr 2009 19:06:07 +0000</pubDate>
		<dc:creator>Marius</dc:creator>
				<category><![CDATA[Linux and stuff ...]]></category>
		<category><![CDATA[Mac and stuff ...]]></category>
		<category><![CDATA[New & Cool]]></category>
		<category><![CDATA[World Wide Web]]></category>
		<category><![CDATA[Amazon]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Bucket]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Cool]]></category>
		<category><![CDATA[Cyberduck]]></category>
		<category><![CDATA[EC2]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[FTP]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[S3]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[Service]]></category>
		<category><![CDATA[Smooth]]></category>
		<category><![CDATA[Test]]></category>
		<category><![CDATA[Transmit]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.devilx.net/?p=830</guid>
		<description><![CDATA[Some days ago I finally managed it to register on Amazon&#8217;s Simple and Elastic Services named EC2 and S3. Since I&#8217;ve  implemented some stuff at work a few weeks ago, I got really interested into the services. Now I&#8217;ve setup &#8230; <a href="http://devilx.net/2009/04/26/cloud-simplicity-and-elasticity/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Some days ago I finally managed it to register on Amazon&#8217;s Simple and Elastic Services named EC2 and S3. Since I&#8217;ve  implemented some stuff at work a few weeks ago, I got really interested into the services. Now I&#8217;ve setup my private account and already played around some more with this services, tested out some ideas and used it as web-share.</p>
<p>I&#8217;m using the service for the first time on a Mac, since at work I only tested out their functionality under linux and had quite some problems with S3. Amazon&#8217;s Simple Storage Service is pretty cool regarding their pricing and provides a very acceptable up- and download speed &#8211; other than for example my Strato FTP does. The only complicated thing for somebody who&#8217;s new in that domain might be the &#8220;<em>How do I start?</em>&#8220;-point. S3 uses a &#8220;web-interface&#8221; which communicates using a documented REST-API. Unfortunately, under Linux there aren&#8217;t many clients which actually can communicate with this interface. Actually, I&#8217;ve only found the S3-Firefox-Plugin, which provided a way to maintain the different buckets and their content. Under OS X, there are some more (mostly Java-based) clients, including the native Cyberduck more-than-FTP client, what surprised my pretty much. This was actually the point where I&#8217;ve switched from Panic&#8217;s &#8220;Transmit&#8221; to Cyberduck, by the way.</p>
<p>However, I created my own buckets and uploaded some content to use it as web-share and test out a bit more the speed it provides. One con I&#8217;ve found up to now is the bucket-naming. Your personal bucket subjects a global namespace, what can lead to period of time needed for finding a name which is not occupied yet. This makes it for example pretty hard to automize bucket creations, for using them in an own Cloud-Service.</p>
<p>Besides, the EC2 is pretty cool, too. It provides a very flexible and (in comparison to S3) very automatable solution for cloud computing in general. It&#8217;s very fast to set up a new instance of whatever linux or windows on EC2 and run the stuff needed on it. The only con is the pricing, I guess &#8211; In my opinion it&#8217;s way too much for a Xen-I-think-it-is machine. For the price you would pay within one frequent month you could get a real root server at some hosting provider. Of course, you would lose the flexibility, but surely it depends on what you&#8217;re looking for.</p>
<p>In total, I&#8217;m really stunned of the infrastructure Amazon provides with their EC2/S3/etc. Services and I like the smooth way everything works out on them. I could really think of some cool projects to realize on top of these services&#8230; hm.</p>
]]></content:encoded>
			<wfw:commentRss>http://devilx.net/2009/04/26/cloud-simplicity-and-elasticity/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Trying out Maxdome</title>
		<link>http://devilx.net/2009/02/22/trying-out-maxdome/</link>
		<comments>http://devilx.net/2009/02/22/trying-out-maxdome/#comments</comments>
		<pubDate>Sun, 22 Feb 2009 22:28:30 +0000</pubDate>
		<dc:creator>Marius</dc:creator>
				<category><![CDATA[Life itself]]></category>
		<category><![CDATA[World Wide Web]]></category>
		<category><![CDATA[DRM]]></category>
		<category><![CDATA[DVD]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[ISP]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Maxdome]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[XP]]></category>

		<guid isPermaLink="false">http://www.devilx.net/?p=778</guid>
		<description><![CDATA[So, since I have my &#8220;new&#8221; internet-connection/-contract for some months now already, I just thought to try out the service it comes with, named &#8220;Maxdome&#8221;. This seems to be some kind of portal for watching television shows and even movies &#8230; <a href="http://devilx.net/2009/02/22/trying-out-maxdome/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="attachment_779" class="wp-caption alignleft" style="width: 244px"><a href="http://www.devilx.net/wp-content/uploads/2009/02/maxdome.png"><img class="size-full wp-image-779" title="maxdome" src="http://www.devilx.net/wp-content/uploads/2009/02/maxdome.png" alt="Maxdome Requirements" width="234" height="372" /></a><p class="wp-caption-text">Maxdome Requirements</p></div>
<p>So, since I have my &#8220;new&#8221; internet-connection/-contract for some months now already, I just thought to try out the service it comes with, named &#8220;Maxdome&#8221;. This seems to be some kind of portal for watching television shows and even movies online &#8211; with some pay-per-view concept. My contract however includes some free shows and movies within this service, which I wanted to <em>taste</em>.</p>
<p>The first thing I did was to run the hardware-check provided on the service&#8217;s site. This actually resulted as display in the picture on the left. I was a little bit confused when I read the &#8220;Windows 98&#8243; requirement listed within the hardware-requirements &#8211; but eh. So this test told me, my Mac was not compatible with their service &#8211; unfortunately it didn&#8217;t tell me the exact reason why.</p>
<p>So I just tried to watch a show. I clicked it and&#8230; well. I got the reason that made it impossible for me to watch the stuff provided by Maxdome. As it seems, there&#8217;s a need of some Windows Media Player Internet Explorer plugin, which actually makes it possible to play the DRM-content provided by Maxdome. Within the FAQs there even was the question about watching Maxdome&#8217;s content on a Linux or a Mac. The simple answer by Maxdome was: Nope, it&#8217;s not possible, unless you find a way to get an IE with the needed plugin running &#8211; e.g. using a virtualized Windows.</p>
<p>This is really great! So let&#8217;s just calculate a bit: A Windows XP Home installation CD + valid license costs nowadays around â‚¬80, plus maybe three or four â‚¬ delivery/transport. A VMware Fusion license costs another â‚¬80, fortunately there are no shipping costs. In total, we end up with â‚¬164. After spending that money, plus around two hours for the installation and configuration of the VM/VM-Guest we can (maybe) finally play the content provided by Maxdome. Hurray.</p>
<p>Now, assuming that our local video rental store charges us â‚¬3 per day for a show/movie DVD (what would be pretty much, by the way), then we could take the money we spent on the VMware and the Windows XP license and borrow around 54 DVDs. If we now also assume, that we just found time to watch movies on saturdays or sundays (where we would pay â‚¬3 from saturday to monday!), we could watch movies for 54 weeks &#8211; what means that we would watch every weekend a movie, for one year and two weeks. And after that year, Maxdome starts to get interesting, because of the prices that would be half of the ones for a real DVD &#8211; but of course there would be no such quality as on a DVD either.</p>
<p>However, I hope you got my ironic way of getting this off my chest. I&#8217;m really pissed, and for sure I&#8217;m going to call my ISP and ask for quitting this service together with a price reduction at my contract &#8211; if that&#8217;s possible.</p>
]]></content:encoded>
			<wfw:commentRss>http://devilx.net/2009/02/22/trying-out-maxdome/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Ubuntu copying iTunes?</title>
		<link>http://devilx.net/2008/11/23/ubuntu-copying-itunes/</link>
		<comments>http://devilx.net/2008/11/23/ubuntu-copying-itunes/#comments</comments>
		<pubDate>Sun, 23 Nov 2008 19:49:29 +0000</pubDate>
		<dc:creator>Marius</dc:creator>
				<category><![CDATA[Art & Design]]></category>
		<category><![CDATA[Fun]]></category>
		<category><![CDATA[Linux and stuff ...]]></category>
		<category><![CDATA[Mac and stuff ...]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Copy]]></category>
		<category><![CDATA[Imitate]]></category>
		<category><![CDATA[iTunes]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.devilx.net/?p=626</guid>
		<description><![CDATA[Hm&#8230; I can recognize some similarities there. (and yes, installed Ubuntu 8.10 on VMware Fusion. Now I&#8217;m just building the VMware Tools for the Guest.)]]></description>
			<content:encoded><![CDATA[<p>Hm&#8230;</p>
<p><img class="alignnone" title="Ubuntu copying iTunes?" src="/~devilx/blog/itunesubuntu.png" alt="" width="360" height="180" /></p>
<p>I can recognize some similarities there. <img src='http://devilx.net/wp-content/plugins/smilies-themer/Riceballs/wink.png' alt=';-)' class='wp-smiley' /> </p>
<p><small>(and yes, installed Ubuntu 8.10 on VMware Fusion. Now I&#8217;m just building the VMware Tools for the Guest.)</small></p>
]]></content:encoded>
			<wfw:commentRss>http://devilx.net/2008/11/23/ubuntu-copying-itunes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>strongS/WAN over NAT-T with IKEv2 (Pt. 2, a.k.a. &#8220;The Roadwarrior Setup&#8221;)</title>
		<link>http://devilx.net/2008/10/08/strongswan-over-nat-t-with-ikev2-pt-2-aka-the-roadwarrior-setup/</link>
		<comments>http://devilx.net/2008/10/08/strongswan-over-nat-t-with-ikev2-pt-2-aka-the-roadwarrior-setup/#comments</comments>
		<pubDate>Wed, 08 Oct 2008 12:41:54 +0000</pubDate>
		<dc:creator>Marius</dc:creator>
				<category><![CDATA[Linux and stuff ...]]></category>
		<category><![CDATA[New & Cool]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[BSD]]></category>
		<category><![CDATA[Cool]]></category>
		<category><![CDATA[DHCP]]></category>
		<category><![CDATA[HowTo]]></category>
		<category><![CDATA[IKE]]></category>
		<category><![CDATA[IKEv2]]></category>
		<category><![CDATA[IP]]></category>
		<category><![CDATA[IPsec]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[NAT]]></category>
		<category><![CDATA[NAT-T]]></category>
		<category><![CDATA[Network]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[strongS/WAN]]></category>
		<category><![CDATA[VPN]]></category>

		<guid isPermaLink="false">http://www.devilx.net/?p=565</guid>
		<description><![CDATA[Some days ago I showed up a specific scenario and described how a strongS/WAN configuration for this could look like. Now, I would like to add additional information on how the scenario can be tuned so that even &#8220;Roadwarriors&#8221; could &#8230; <a href="http://devilx.net/2008/10/08/strongswan-over-nat-t-with-ikev2-pt-2-aka-the-roadwarrior-setup/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Some days ago I <a title="strongS/WAN over NAT-T with IKEv2" href="http://devilx.net/?p=558" target="_self">showed up a specific scenario and described</a> how a strongS/WAN configuration for this could look like. Now, I would like to add additional information on how the scenario can be tuned so that even &#8220;Roadwarriors&#8221; could connect from any network infrastructure, indifferent whether they&#8217;re directly on a public IP or share their public IP with others, behind another NAT network. Let&#8217;s take a look at the client config:<br />
<code><span id="more-565"></span><br />
config setup<br />
plutostart=no</code></p>
<p><code> </code></p>
<p><code>conn nat-t<br />
ikelifetime=60m<br />
keylife=20m<br />
rekeymargin=3m<br />
keyingtries=1<br />
keyexchange=ikev2<br />
authby=secret<br />
left=192.168.10.193<br />
leftsubnet=10.1.0.0/24<br />
leftfirewall=yes<br />
right=%defaultroute<br />
rightid=client@example.com<br />
rightsourceip=10.100.0.2<br />
auto=add<br />
</code><br />
We added a new virtual IP (rightsourceip) for the client. The network of this IP will be defined on the server&#8217;s configuration. We need this for the whole scenario to work out, even if the client/Roadwarrior is behind a NAT. As rightid (client-id) we use the client&#8217;s e-mail address.<br />
Server config:<br />
<code><br />
config setup<br />
plutostart=no</code></p>
<p><code> </code></p>
<p><code>conn nat-t<br />
ikelifetime=60m<br />
keylife=20m<br />
rekeymargin=3m<br />
keyingtries=1<br />
keyexchange=ikev2<br />
authby=secret<br />
left=10.1.0.4<br />
leftsubnet=10.1.0.0/24<br />
leftid=192.168.10.193<br />
leftfirewall=yes<br />
right=%any<br />
rightid=client@example.com<br />
rightsubnetwithin=10.100.0.0/24<br />
auto=add<br />
</code></p>
<p>Here, we also defined the client&#8217;s e-mail address as rightid, defined that the right side could be anything (&#8220;%any&#8221;) and told the server to serve the virtual network 10.100.0.0/24 for the right side. By that, the configuration can be applied to different clients and the actual IP configuration is provided on the client&#8217;s side. Yet, I did not find out whether there&#8217;s a possibility to set up some DHCP server and provide connecting clients a dynamic address automatically.<br />
However, this setup now also works with Roadwarriors that are behind NATs, what means that the actual setup could look like this:</p>
<p>[roadwarrior]&#8212;-[nat]&#8212;internet&#8212;[nat]&#8212;[server]&#8212;network</p>
<p>Isn&#8217;t this cool? <img src='http://devilx.net/wp-content/plugins/smilies-themer/Riceballs/wink.png' alt=';-)' class='wp-smiley' /> <br />
Enjoy.</p>
]]></content:encoded>
			<wfw:commentRss>http://devilx.net/2008/10/08/strongswan-over-nat-t-with-ikev2-pt-2-aka-the-roadwarrior-setup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mono 2.0 released&#8230; not yet for me.</title>
		<link>http://devilx.net/2008/10/08/mono-20-released-not-yet-for-me/</link>
		<comments>http://devilx.net/2008/10/08/mono-20-released-not-yet-for-me/#comments</comments>
		<pubDate>Wed, 08 Oct 2008 12:28:46 +0000</pubDate>
		<dc:creator>Marius</dc:creator>
				<category><![CDATA[Linux and stuff ...]]></category>
		<category><![CDATA[Mac and stuff ...]]></category>
		<category><![CDATA[New & Cool]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[World Wide Web]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[ASP.net]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Cairo]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[dotNET]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Mono]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[VisualBasic]]></category>
		<category><![CDATA[VM]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.devilx.net/?p=563</guid>
		<description><![CDATA[Today I just took a quick look at Mono&#8217;s project site (which has been www.go-mono.com some years ago, then switched to www.mono-project.com for some time and now again seems to be www.go-mono.com) and saw that they&#8217;ve pimped it up pretty &#8230; <a href="http://devilx.net/2008/10/08/mono-20-released-not-yet-for-me/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Today I just took a quick look at Mono&#8217;s project site (which has been www.go-mono.com some years ago, then switched to www.mono-project.com for some time and now again seems to be www.go-mono.com) and saw that they&#8217;ve pimped it up pretty much. Now they seem to be using the same backend and the same design-basis that has been used by Novell already for e.g. the Banshee project.</p>
<p>Anyway, I flew over the release notes and I have to say that the whole stuff sounds pretty cool: ASP.NET 2.0 API, System.XML 2.0, System.Drawing 2.0, Mono.Cairo,C# 3.0 compiler with full LINQ support, Visual Basic 8 compiler (yay! :-D), the dotNET 2.0 Strip-Set, the FlowLayoutPanel and many more. So maybe, from this point maybe Mono could really become a real alternative to dotNET, if things keep going on like this.</p>
<p>However, I was wondering whether there are downloads for Mono on the Mac, but unfortunatelly the project doesn&#8217;t provide an installer for Mono 2.0 yet. Not that I would really use Mono-applications on my Mac (mostly because there still aren&#8217;t any available which use the Mac&#8217;s native interface toolkit &#8211; and I don&#8217;t really want to use GTK# on a Mac) but it would be nice for some little hacking or even writing smaller (CLI-) tools which would run on any Mono-able platform.</p>
<p>However, I think that the first thing I&#8217;ll do is to wait for the according packages to receive in Debian Experimental and set up some VM with an Apache that speaks ASP.net 2.0. <img src='http://devilx.net/wp-content/plugins/smilies-themer/Riceballs/smile.png' alt=':-)' class='wp-smiley' /> I&#8217;m really interessted how far Mono already supports the ASP stuff and what could be done with it. The MojoPortal already is a great demonstration, but are more complex projects also possible yet?</p>
<p>I will see&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://devilx.net/2008/10/08/mono-20-released-not-yet-for-me/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>strongS/WAN over NAT-T with IKEv2</title>
		<link>http://devilx.net/2008/10/01/strongswan-over-nat-t-with-ikev2/</link>
		<comments>http://devilx.net/2008/10/01/strongswan-over-nat-t-with-ikev2/#comments</comments>
		<pubDate>Wed, 01 Oct 2008 18:11:03 +0000</pubDate>
		<dc:creator>Marius</dc:creator>
				<category><![CDATA[Linux and stuff ...]]></category>
		<category><![CDATA[New & Cool]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Cool]]></category>
		<category><![CDATA[HowTo]]></category>
		<category><![CDATA[IKE]]></category>
		<category><![CDATA[IKEv2]]></category>
		<category><![CDATA[IPsec]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[NAT]]></category>
		<category><![CDATA[NAT-T]]></category>
		<category><![CDATA[Network]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[strongS/WAN]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[VPN]]></category>

		<guid isPermaLink="false">http://www.devilx.net/?p=558</guid>
		<description><![CDATA[Yay, it&#8217;s time for another HowTo boys and girls! Okay, let&#8217;s cut that crap. So, imagine the following scenario: We&#8217;re in a network (in my example 192.168.10.0/24) and there are two components we focus on: One client (a Linux laptop, &#8230; <a href="http://devilx.net/2008/10/01/strongswan-over-nat-t-with-ikev2/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Yay, it&#8217;s time for another HowTo boys and girls! Okay, let&#8217;s cut that crap. So, imagine the following scenario:</p>
<p>We&#8217;re in a network (in my example 192.168.10.0/24) and there are two components we focus on: One client (a Linux laptop, 192.168.10.184) and a VMware Server (192.168.10.193). On this server, we have a VMware NAT-Network (10.1.0.0/24), where the gateway is has the 10.1.0.2 and our JumpHost has the 10.1.0.4. The client (our laptop) now wants to be able to simply connect other hosts within our 10.1.0.0/24 network. Besides, it would be nice to have some kind of security in bewteen these connections. So what would be better than using a VPN? <img src='http://devilx.net/wp-content/plugins/smilies-themer/Riceballs/smile.png' alt=':-)' class='wp-smiley' /> </p>
<p>Of course, we could use simple SSH tunnels or some OpenVPN setup &#8211; but this would be boring. <img src='http://devilx.net/wp-content/plugins/smilies-themer/Riceballs/wink.png' alt=';-)' class='wp-smiley' /> So, we decide to to use IPsec. In detail, we&#8217;re using strongS/WAN to setup the whole scenario.</p>
<p>Now first of all we have two problems: First of all, we have a NAT (from the view of IPsec/IKE: NAT-Traversal) through which we can&#8217;t tunnel layer 3 protocols. The only thing we can do, is to teach our VMware Server to forward UDP or TCP ports to Guests.</p>
<p>The second thing that might become a problem is the fact, that we&#8217;re not using the IPsec daemon within the VM to distribute another network &#8211; instead we are distributing his own network. But however, enough with the talk, let&#8217;s do the work.</p>
<p>Thanks to <a title="SA_2006_NAT-T.pdf" href="http://security.hsr.ch/projects/SA_2006_NAT-T.pdf" target="_self">Tobias Brunner and Daniel RÃ¶thlisberger</a>, strongS/WAN experienced in 2006 the implementation of the NAT-T feature. This feature, allows to &#8220;tunnel&#8221; IPsec (a layer 3 protocol) through layer 4 (UDP). So the first thing we need to do, is to tell our VMware Server to forward the UDP ports 500 and 4500 to our JumpHost-VM. After we&#8217;ve done this, we can start setting up the strongS/WANs on the client and the JumpHost himself.</p>
<p><span id="more-558"></span>In this scenario I used Debian SID on both systems, since Debian&#8217;s current stable release provides only an very old version of strongS/WAN. So:<br />
<code><br />
aptitude install strongswan<br />
</code><br />
&#8230; on both systems. After that, we open the /etc/ipsec.secrets on both hosts and insert the following line:<br />
<code><br />
%any : PSK "abcdefghijklmnopqer"<br />
</code><br />
Of course, you can replace the key by your own one. After that, we take the ipsec.conf of the client and insert our configuration:<br />
<code><br />
config setup<br />
plutostart=no</code></p>
<p>conn nat-t<br />
ikelifetime=60m<br />
keylife=20m<br />
rekeymargin=3m<br />
keyingtries=1<br />
keyexchange=ikev2<br />
authby=secret<br />
left=192.168.10.193<br />
leftsubnet=10.1.0.0/24<br />
leftfirewall=yes<br />
right=192.168.10.184<br />
rightsubnet=192.168.10.0/24<br />
auto=add</p>
<p>As mentioned in the title, we use IKEv2. To simplify the scenario, we use the secret we just configured as authentication method. The configuration should be adaptable pretty easy for certificate usage.<br />
On the server we now also insert our configuration into the ipsec.conf:<br />
<code><br />
config setup<br />
plutostart=no</code></p>
<p>conn nat-t<br />
ikelifetime=60m<br />
keylife=20m<br />
rekeymargin=3m<br />
keyingtries=1<br />
keyexchange=ikev2<br />
authby=secret<br />
left=10.1.0.4<br />
leftsubnet=10.1.0.0/24<br />
leftid=192.168.10.193<br />
leftfirewall=yes<br />
right=%any<br />
auto=add</p>
<p>After restarting both daemons, executing <em>ipsec up nat-t</em> and also <em>ipsec route nat-t</em> you should be able to ping the hosts on our 10.1.0.0/24 network.</p>
<p>The tricky part in this setup is the leftid= parameter in out server&#8217;s configuration. Without that option the whole authentication procedure doesn&#8217;t work out, because the daemon will complain to not have any configuration for &#8220;[192.168.10.184]&#8230;[192.168.10.193]&#8221; and because of that not let the client connect. The reason for this is, that the client only sees the NAT-Router (our VMware Server, .193) and of course tries to sets up the connection using his IP. The NAT-Router then forwards the requests to the actual strongS/WAN daemon (10.1.0.4) which of course says <em>&#8220;Wtf?! I&#8217;m the 10.1.0.4, what should I do with this package I received for 192.168.10.193?&#8221;</em>. And this where the leftid= parameter comes in.</p>
<p>However, I think the stuff should be more clear now. If there are any questions left, feel free to ask. Enjoy! <img src='http://devilx.net/wp-content/plugins/smilies-themer/Riceballs/smile.png' alt=':-)' class='wp-smiley' /> </p>
<p>Anyway, so that&#8217;s actually the whole setup.</p>
]]></content:encoded>
			<wfw:commentRss>http://devilx.net/2008/10/01/strongswan-over-nat-t-with-ikev2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenSource WiFi</title>
		<link>http://devilx.net/2008/09/27/opensource-wifi/</link>
		<comments>http://devilx.net/2008/09/27/opensource-wifi/#comments</comments>
		<pubDate>Sat, 27 Sep 2008 13:17:12 +0000</pubDate>
		<dc:creator>Marius</dc:creator>
				<category><![CDATA[Life itself]]></category>
		<category><![CDATA[Linux and stuff ...]]></category>
		<category><![CDATA[ath5k]]></category>
		<category><![CDATA[Atheros]]></category>
		<category><![CDATA[Crap]]></category>
		<category><![CDATA[Driver]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[PCMCIA]]></category>
		<category><![CDATA[Uncool]]></category>
		<category><![CDATA[WiFi]]></category>
		<category><![CDATA[Wireless]]></category>

		<guid isPermaLink="false">http://www.devilx.net/?p=548</guid>
		<description><![CDATA[I just love it. My internal Atheros WiFi device can&#8217;t connect anymore to my access point, for whatever reason, and the external PCMCIA device (which is also an Atheros) gets full-blown speed of 1 Mb/s from the ath5k_pci driver. Is &#8230; <a href="http://devilx.net/2008/09/27/opensource-wifi/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I just love it. My internal Atheros WiFi device can&#8217;t connect anymore to my access point, for whatever reason, and the external PCMCIA device (which is also an Atheros) gets full-blown speed of 1 Mb/s from the ath5k_pci driver.</p>
<p>Is there anything in OpenSource that&#8217;s actually working without a compromise? <img src='http://devilx.net/wp-content/plugins/smilies-themer/Riceballs/smile.png' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://devilx.net/2008/09/27/opensource-wifi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Talking about crashes&#8230;</title>
		<link>http://devilx.net/2008/09/14/talking-about-crashes/</link>
		<comments>http://devilx.net/2008/09/14/talking-about-crashes/#comments</comments>
		<pubDate>Sun, 14 Sep 2008 19:33:36 +0000</pubDate>
		<dc:creator>Marius</dc:creator>
				<category><![CDATA[Life itself]]></category>
		<category><![CDATA[Linux and stuff ...]]></category>
		<category><![CDATA[ath5k]]></category>
		<category><![CDATA[Atheros]]></category>
		<category><![CDATA[Cold]]></category>
		<category><![CDATA[Crap]]></category>
		<category><![CDATA[Freeze]]></category>
		<category><![CDATA[Laptop]]></category>
		<category><![CDATA[Last-Exit]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Madwifi]]></category>
		<category><![CDATA[Meh]]></category>
		<category><![CDATA[Network-Manager]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[PCMCIA]]></category>
		<category><![CDATA[T40p]]></category>
		<category><![CDATA[The Timewriter]]></category>
		<category><![CDATA[Weather]]></category>
		<category><![CDATA[WiFi]]></category>
		<category><![CDATA[Wireless]]></category>

		<guid isPermaLink="false">http://www.devilx.net/?p=536</guid>
		<description><![CDATA[I&#8217;m really fascinated that my Laptop did not hang up once today, even with ath5k driver loaded and using (an PCMCIA) Atheros WiFi card for connecting to my network. I just changed a bit the &#8220;infrastructure&#8221; at my place what &#8230; <a href="http://devilx.net/2008/09/14/talking-about-crashes/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m really fascinated that my Laptop did not hang up once today, even with <em>ath5k</em> driver loaded and using (an PCMCIA) Atheros WiFi card for connecting to my network. I just changed a bit the &#8220;infrastructure&#8221; at my place what made it impossible to keep the CAT5 cable from my docking connected to my internet-router.</p>
<p>Anyhow, I&#8217;m not using the PCMCIA card because the internal WiFi module of my T40p is broken. I&#8217;m using it because somehow the network-manager (or the wpa_supplicant) doesn&#8217;t like my internal WiFi interface anymore and because of this of course struggles to connect to my access point. However, while writing this post now I&#8217;m just noticing &#8211; what a coincidence &#8211; that the wireless link keeps on constantly changing from 57% down to less than 30% and <em>Last-Exit</em> started studdering while playing music that sounds similar to <em>The Timewriter</em>. Argh.</p>
<p>However, at least my whole Laptop didn&#8217;t freeze yet, like it used to in the early days of <em>ath5k</em> or <em>madwifi</em>. Talking about freezing&#8230; the weather here became horrible. Well, actually it&#8217;s not that bad, yet, but I think I&#8217;m just still used to something between twenty to thirty degrees. And within a few days it changed from these values down to something around eleven degrees. I&#8217;m feeling like it would be winter and everything would be covered by snow. <em>Brrrrrrr</em>. I think I need some days to acclimatize myself to this temperatures,&#8230; but as good as I know the weather here, when I got used to the cold climate from one day to the other it will be like thirty degrees again and I will be like <em>meh</em>.</p>
<p>Oh well&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://devilx.net/2008/09/14/talking-about-crashes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Epiphany, a lightweight Browser&#8230; it was.</title>
		<link>http://devilx.net/2008/09/14/epiphany-a-lightweight-browser-it-was/</link>
		<comments>http://devilx.net/2008/09/14/epiphany-a-lightweight-browser-it-was/#comments</comments>
		<pubDate>Sun, 14 Sep 2008 19:13:40 +0000</pubDate>
		<dc:creator>Marius</dc:creator>
				<category><![CDATA[Life itself]]></category>
		<category><![CDATA[Linux and stuff ...]]></category>
		<category><![CDATA[Mac and stuff ...]]></category>
		<category><![CDATA[World Wide Web]]></category>
		<category><![CDATA[Choice]]></category>
		<category><![CDATA[Crap]]></category>
		<category><![CDATA[Crash]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Desktop]]></category>
		<category><![CDATA[Disappointed]]></category>
		<category><![CDATA[Epiphany]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Freedom]]></category>
		<category><![CDATA[Gecko]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[Iceweasel]]></category>
		<category><![CDATA[Integration]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[Safari]]></category>
		<category><![CDATA[Toolkit]]></category>
		<category><![CDATA[Webkit]]></category>
		<category><![CDATA[YouTube]]></category>

		<guid isPermaLink="false">http://www.devilx.net/?p=534</guid>
		<description><![CDATA[I don&#8217;t know why, but somehow, from version to version that&#8217;s being released, the once really fast and lightweight web-browser called Epiphany keeps on getting more and more crappy. First, it started with the browsing smoothness. I somehow remember times &#8230; <a href="http://devilx.net/2008/09/14/epiphany-a-lightweight-browser-it-was/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t know why, but somehow, from version to version that&#8217;s being released, the once really fast and lightweight web-browser called <em>Epiphany</em> keeps on getting more and more crappy. First, it started with the browsing smoothness. I somehow remember times in which the rendering engine of the gecko backend that&#8217;s being used by Epiphany was as fast as the one in Mozilla&#8217;s Firefox. Now it seems to me like when using Iceweasel (Debian&#8217;s Firefox), I can walk much fast through web content than with Epiphany. Things like scrolling and site-loadingprocesses are much faster with the Firefox than with Epiphany.</p>
<p>The second thing is the more and more used Shockwave/Flash stuff. With Firefox, I can play videos on YouTube smooth, fluent and with not-that-much CPU load, while the Epiphany nearly hangs up when playing such videos, produces a very high CPU load and the videos itselves studder so that it&#8217;s really no fun to watch them.</p>
<p>The third thing that became really annoying is the crashing. My Epiphany keeps on crashing while browsing especially sites with much content or Flash components. That&#8217;s really annoying, and the only advantage is, that Epiphany now aks whether to recover the lost session. But even this can become one&#8217;s doom when Epiphany re-loads exactly that site what made it crash and understandably hangs up/crashes, again. You can&#8217;t even click on the [X]-button, since the interface stops reacting as soon as it&#8217;s being displayed. It&#8217;s a bummer.</p>
<p>Now I&#8217;ve started using Iceweasel for sites that might crash Epiphany and became even more disappointed about the whole stuff. I thought that Epiphany using the Webkit version could maybe solve my problems, but unfortunatelly it&#8217;s still very unstable development code and besides, it doesn&#8217;t have any Flash-plugins yet. So I think I&#8217;m forced to start using Mozilla&#8217;s original, even if I dislike it. The freedom to choose (a.k.a. <em>OpenSource</em>) really is a big deal when you have ten products, out of which eight are not using the toolkit you&#8217;re working with/do not integrate at all into your desktop, and the preffered one of the two choices left doesn&#8217;t do the job at all. On this situation, I say, feel free to restrict me to one choice, which at least integrates and works the way I expect it &#8211; talking about Safari on the Mac.</p>
<p>By the way: Webkit is the way to go. Forget this damn Gecko engine.</p>
]]></content:encoded>
			<wfw:commentRss>http://devilx.net/2008/09/14/epiphany-a-lightweight-browser-it-was/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WebDAV over SSL using LDAP with Apache2 on Debian</title>
		<link>http://devilx.net/2008/09/07/webdav-over-ssl-using-ldap-with-apache2-on-debian/</link>
		<comments>http://devilx.net/2008/09/07/webdav-over-ssl-using-ldap-with-apache2-on-debian/#comments</comments>
		<pubDate>Sun, 07 Sep 2008 16:36:16 +0000</pubDate>
		<dc:creator>Marius</dc:creator>
				<category><![CDATA[Linux and stuff ...]]></category>
		<category><![CDATA[New & Cool]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Cool]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[HowTo]]></category>
		<category><![CDATA[LDAP]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[PAM]]></category>
		<category><![CDATA[SSL]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[WebDAV]]></category>

		<guid isPermaLink="false">http://www.devilx.net/?p=523</guid>
		<description><![CDATA[Some time ago, I just published a short summary of how to set up a WebDAV over SSL using Apache2 with PAM authentication. Unfortunatelly, the solution had one ugly part: The user www-data must be added to the group shadow, &#8230; <a href="http://devilx.net/2008/09/07/webdav-over-ssl-using-ldap-with-apache2-on-debian/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Some time ago, <a title="WebDAV over SSL using PAM with Apache2 on Debian" href="http://devilx.net/?p=513" target="_self">I just published a short summary</a> of how to set up a WebDAV over SSL using Apache2 with PAM authentication. Unfortunatelly, the solution had one ugly part: The user www-data must be added to the group shadow, so that it can read the /etc/shadow which is needed for authentication. So I thought, let&#8217;s just migrate it to LDAP. <img src='http://devilx.net/wp-content/plugins/smilies-themer/Riceballs/smile.png' alt=':-)' class='wp-smiley' /> <br />
<code><br />
~# aptitude install slapd libpam-ldap libnss-ldap ldap-utils migrationtools nscd<br />
</code><br />
Enter your rootbinddn and a secret, besides select the ldap protocol version 3. Then open <em>/etc/ldap/ldap.conf</em> and configure it the way needed. As URI take <em>ldap://127.0.0.1</em>. At this point we do not use SSL/TLS, since the SLAPD will only run on the local host and no data will be sent over the network. However, <em>/etc/pam_ldap.conf</em>:<br />
<code><br />
host 127.0.0.1<br />
base [your basedn]<br />
ldap_version 3<br />
rootbinddn [your rootbinddn, usually cn=admin,[base]]<br />
pam_password crypt<br />
nss_initgroups_ignoreusers backup,bin,daemon,dhcp,games,gnats,irc,klog,libuuid,list,lp,mail,man,news,ntp,nx,proxy,root,sshd,statd,sync,sys,syslog,uucp,www-data<br />
</code><br />
<em>/etc/nsswitch.conf</em><br />
<code><br />
passwd:		ldap files<br />
group:		ldap files<br />
shadow:		ldap files</code></p>
<p>hosts:          files dns<br />
networks:       files</p>
<p>protocols:      db files<br />
services:       db files<br />
ethers:         db files<br />
rpc:            db files</p>
<p>netgroup:       nis</p>
<p><strong> Btw:</strong> Don&#8217;t forget to put your secret into /etc/pam_ldap.secret! Anyway, let&#8217;s go on&#8230;<br />
<em>/etc/pam.d/common-account:</em><br />
<code><br />
account sufficient pam_unix.so<br />
account sufficient pam_ldap.so<br />
account required pam_deny.so<br />
</code><br />
<em> /etc/pam.d/common-auth</em><br />
<code><br />
auth sufficient pam_unix.so<br />
auth sufficient pam_ldap.so use_first_pass<br />
auth required pam_deny.so<br />
</code><br />
<em> /etc/pam.d/common-password</em><br />
<code><br />
password   sufficient   pam_unix.so nullok md5 shadow use_authtok<br />
password   sufficient   pam_ldap.so use_first_pass use_authtok md5<br />
password   required     pam_deny.so<br />
</code><br />
The common-session doesn&#8217;t need to be changed on the setup we need. Now, edit <em>/usr/share/migrationtools/migrate_common.ph</em> and change the domain to yours. With the tools (migrate_base, *_passwd, *_group) contained in that directory you can migrate your actualy existing /etc/passwd and /etc/group to your ldap. Or you just create these entries manually. However, now let&#8217;s load the apache modules:<br />
<code><br />
a2enmod ldap<br />
a2enmod authnz_ldap<br />
</code><br />
&#8230; and reconfigure our WebDAV VirtualHost:<br />
<code><br />
...<br />
DAV On<br />
AuthType Basic<br />
AuthName "WebDAV"<br />
AuthBasicProvider ldap<br />
AuthLDAPURL "ldap://127.0.0.1/ou=people,[your base here]"<br />
AuthLDAPRemoteUserIsDN off<br />
ForceType text/plain<br />
Require valid-user<br />
Require ldap-filter &amp;(uid=*)<br />
...<br />
</code><br />
And last but not least, let&#8217;s restart all servics:<br />
<code><br />
/etc/init.d/slapd restart<br />
/etc/init.d/nscd restart<br />
/etc/init.d/apache2 restart<br />
</code><br />
Voila! The authentication of your WebDAV against LDAP should be working now. Now the only thing that&#8217;s left to do, is to remove the user www-data from the shadow group again. And maybe you&#8217;d like to change your LDAP-user&#8217;s passwords:<br />
<code><br />
ldappasswd -x -D cn=admin,[your base here] -W uid=[username],ou=people,[your base here] -S<br />
</code><br />
And the next time, I&#8217;ll show you how you can build yourself an automatic back-scratcher using a wall, glue and a cat.</p>
]]></content:encoded>
			<wfw:commentRss>http://devilx.net/2008/09/07/webdav-over-ssl-using-ldap-with-apache2-on-debian/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sun xVM a.k.a. VirtualBox 2.0.0 released</title>
		<link>http://devilx.net/2008/09/04/sun-xvm-aka-virtualbox-200-released/</link>
		<comments>http://devilx.net/2008/09/04/sun-xvm-aka-virtualbox-200-released/#comments</comments>
		<pubDate>Thu, 04 Sep 2008 14:37:28 +0000</pubDate>
		<dc:creator>Marius</dc:creator>
				<category><![CDATA[Linux and stuff ...]]></category>
		<category><![CDATA[New & Cool]]></category>
		<category><![CDATA[World Wide Web]]></category>
		<category><![CDATA[Desktop]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[New]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[Release]]></category>
		<category><![CDATA[Sun]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[VirtualBox]]></category>
		<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[xVM]]></category>

		<guid isPermaLink="false">http://www.devilx.net/?p=517</guid>
		<description><![CDATA[Sun has just released their xVM/VirtualBox 2.0.0. Go and get it. Thanks to tuhl for this info.]]></description>
			<content:encoded><![CDATA[<p>Sun has just released their xVM/VirtualBox 2.0.0. Go and <a title="Get VirtualBox" href="http://dlc.sun.com/virtualbox/vboxdownload.html" target="_blank">get it</a>.</p>
<p>Thanks to <a title="Twitter: tuhl" href="http://twitter.com/tuhl" target="_blank">tuhl</a> for this info.</p>
]]></content:encoded>
			<wfw:commentRss>http://devilx.net/2008/09/04/sun-xvm-aka-virtualbox-200-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WebDAV over SSL using PAM with Apache2 on Debian</title>
		<link>http://devilx.net/2008/09/04/webdav-over-ssl-using-pam-with-apache2-on-debian/</link>
		<comments>http://devilx.net/2008/09/04/webdav-over-ssl-using-pam-with-apache2-on-debian/#comments</comments>
		<pubDate>Wed, 03 Sep 2008 23:17:55 +0000</pubDate>
		<dc:creator>Marius</dc:creator>
				<category><![CDATA[Linux and stuff ...]]></category>
		<category><![CDATA[New & Cool]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Configuration]]></category>
		<category><![CDATA[Cool]]></category>
		<category><![CDATA[DAV]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[HowTo]]></category>
		<category><![CDATA[iDisk]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[PAM]]></category>
		<category><![CDATA[SSL]]></category>
		<category><![CDATA[WebDAV]]></category>

		<guid isPermaLink="false">http://www.devilx.net/?p=513</guid>
		<description><![CDATA[Phew, what a long title. Whatever. What do we need? First of all, a Debian system. I&#8217;m preffering a Debian Etch &#8216;n Half at this point. On that system, we need an Apache (2) and the PAM authentication module: ~# &#8230; <a href="http://devilx.net/2008/09/04/webdav-over-ssl-using-pam-with-apache2-on-debian/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Phew, what a long title. Whatever. What do we need? First of all, a Debian system. I&#8217;m preffering a Debian Etch &#8216;n Half at this point. On that system, we need an Apache (2) and the PAM authentication module:<br />
<code><br />
~# aptitude install apache2 libapache2-mod-auth-pam<br />
</code><br />
Now, first of all we activate SSL and WebDAV:<br />
<code><br />
~# a2enmod ssl<br />
~# a2enmod dav<br />
~# a2enmod dav_fs<br />
</code><br />
Next, we tell our Apache to listen on 443, for SSL:<br />
<code><br />
echo "Listen 443" &gt;&gt; /etc/apache2/ports.conf<br />
</code><br />
Then, we configure our SSL VirtualHost:<br />
<code><br />
NameVirtualHost *:443<br />
&lt;VirtualHost *:443&gt;<br />
ServerName my.serv.er<br />
ServerAdmin webmaster@serv.er</code></p>
<p>SSLEngine On<br />
SSLCertificateFile /etc/apache2/ssl/my.serv.er.crt<br />
SSLCertificateKeyFile /etc/apache2/ssl/my.serv.er.key<br />
DocumentRoot /var/www/<br />
&lt;Directory /var/www/&gt;<br />
Options Indexes FollowSymLinks MultiViews<br />
AllowOverride None<br />
Order allow,deny<br />
allow from all<br />
&lt;/Directory&gt;</p>
<p>ErrorLog /var/log/apache2/error.log<br />
LogLevel warn<br />
CustomLog /var/log/apache2/access.log combined<br />
ServerSignature On<br />
&lt;/VirtualHost&gt;</p>
<p>The certificate-folder needs to be created and the certificates need to be generated:<br />
<code><br />
~# mkdir /etc/apache2/ssl<br />
~# openssl genrsa -out /etc/apache2/ssl/my.serv.er.key 1024<br />
~# openssl req -new -days 365 -key /etc/apache2/ssl/my.serv.er.key -x509 -out /etc/apache2/ssl/my.serv.er.crt<br />
</code><br />
Next, we add the WebDAV/PAM settings to our SSL-VHost, while <em>/home/pub</em> is the folder we&#8217;d like to publish:<br />
<code><br />
...<br />
DAVLockDB /var/lib/apache2/DAVLockDB<br />
Alias /pub /home/pub/<br />
&lt;Location /pub&gt;<br />
DAV On<br />
AuthType Basic<br />
AuthName "WebDAV"<br />
AuthPAM_Enabled On<br />
#AuthPAM_FallThrough Off<br />
AuthUserFile /etc/shadow<br />
ForceType text/plain<br />
Require valid-user<br />
&lt;/Location&gt;<br />
...<br />
</code><br />
And last but not least, we (unfortunatelly) need to add the user <em>www-data</em> to the group <em>shadow</em>:<br />
<code><br />
adduser www-data shadow<br />
</code><br />
Now we can restart our Apache and enjoy the pleasure of WebDAV. If it should not work, check the permissions you set for the directory you&#8217;re publishing.<br />
And what could this be used for? For example, as self-made iDisk. <img src='http://devilx.net/wp-content/plugins/smilies-themer/Riceballs/smile.png' alt=':-)' class='wp-smiley' /> <br />
Enjoy.</p>
]]></content:encoded>
			<wfw:commentRss>http://devilx.net/2008/09/04/webdav-over-ssl-using-pam-with-apache2-on-debian/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

