<?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; Programming</title>
	<atom:link href="http://devilx.net/category/programming/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>Playing around with Facebook&#8217;s social mashup features a.k.a. likemich.de.</title>
		<link>http://devilx.net/2011/12/28/playing-around-with-facebooks-social-mashup-features-a-k-a-likemich-de/</link>
		<comments>http://devilx.net/2011/12/28/playing-around-with-facebooks-social-mashup-features-a-k-a-likemich-de/#comments</comments>
		<pubDate>Wed, 28 Dec 2011 13:36:42 +0000</pubDate>
		<dc:creator>Marius</dc:creator>
				<category><![CDATA[New & Cool]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[This Site]]></category>
		<category><![CDATA[World Wide Web]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[Like]]></category>
		<category><![CDATA[likemich.de]]></category>
		<category><![CDATA[mariusmm.com]]></category>
		<category><![CDATA[OAuth]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[SDK]]></category>
		<category><![CDATA[Social]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[YQL]]></category>

		<guid isPermaLink="false">http://devilx.net/?p=1263</guid>
		<description><![CDATA[So, yesterday night I was playing around with those &#8220;socializing&#8221; features provided by Facebook, like for example the popular &#8220;Like&#8221;-button or the comments box. I took a plain and simple layout, hacked down some PHP code and implemented the JavaScript &#8230; <a href="http://devilx.net/2011/12/28/playing-around-with-facebooks-social-mashup-features-a-k-a-likemich-de/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>So, yesterday night I was playing around with those &#8220;socializing&#8221; features provided by Facebook, like for example the popular &#8220;Like&#8221;-button or the comments box. I took a plain and simple layout, hacked down some PHP code and implemented the JavaScript Facebook provides us. After around five hours or work I&#8217;ve put all together and uploaded the result to a webspace, connecting it with a domain I just registered: <a title="likemich.de" href="http://likemich.de/" target="_blank">likemich.de</a>.</p>
<p>The site doesn&#8217;t contain any i18n, neither I used any PHP framework or other toolkits to built it up. It&#8217;s really just some stupid likes of PHP code bound together with the Facebook SDK. Now that&#8217;s what I&#8217;d call RAD! <img src='http://devilx.net/wp-content/plugins/smilies-themer/Riceballs/smile.png' alt=':-)' class='wp-smiley' /> </p>
<p>It was pretty interesting for me to see, how little effort it takes to &#8220;socialize&#8221; a site, especially when it&#8217;s built from ground up with Facebook-operability in mind.</p>
<p>Yesterday, I additionally implemented an automatic Twitter status update. I&#8217;ve registered <a title="@likemichde" href="http://twitter.com/#!/likemichde" target="_blank">@likemichde</a> on Twitter, created an Twitter Application, generated access tokens for it and implemented automatic twitter publishing within several lines of code, thanks to <a title="twitteroauth" href="https://github.com/abraham/twitteroauth/" target="_blank">Abraham Williams&#8217; twitteroauth for PHP</a>.</p>
<p>It&#8217;s very neat how modern media allows us to spread information all over the planet, even with only little knowledge of technology. And if you put in the effort to dig deeper, you use these new technologies to reach even more people and provide connectivity to all kind of different sites.</p>
<p>For example, my photography site <a title="mariusmm.com" href="http://mariusmm.com/" target="_blank">mariusmm.com</a> is using <a title="Yahoo! Query Language" href="http://developer.yahoo.com/yql/" target="_blank">Yahoo!&#8217;s YQL</a> to query my flickr account for the latest photos and randomly pic a handful of them for displaying as a slideshow. And I&#8217;ve implemented everything in 100% JavaScript, there&#8217;s no single line PHP or any other server-side language. <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/12/28/playing-around-with-facebooks-social-mashup-features-a-k-a-likemich-de/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Automagic Promo-Code Redeemer.</title>
		<link>http://devilx.net/2010/12/23/automagic-promo-code-redeemer/</link>
		<comments>http://devilx.net/2010/12/23/automagic-promo-code-redeemer/#comments</comments>
		<pubDate>Wed, 22 Dec 2010 23:34:18 +0000</pubDate>
		<dc:creator>Marius</dc:creator>
				<category><![CDATA[Fun]]></category>
		<category><![CDATA[Mac and stuff ...]]></category>
		<category><![CDATA[New & Cool]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[World Wide Web]]></category>
		<category><![CDATA[AppleScript]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Hacking]]></category>
		<category><![CDATA[iTunes]]></category>
		<category><![CDATA[Promo]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.devilx.net/?p=1174</guid>
		<description><![CDATA[Okay, so first of all, let me just describe you with a screenshot of a recent Twitter conversation what this post is about: I thought, it might be a cool idea to actually proof that something like that should be &#8230; <a href="http://devilx.net/2010/12/23/automagic-promo-code-redeemer/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Okay, so first of all, let me just describe you with a screenshot of a recent Twitter conversation what this post is about:<br />
<a href="http://www.devilx.net/wp-content/uploads/2010/12/Screen-shot-2010-12-23-at-12.19.50-AM.png"><img class="alignnone size-full wp-image-1175" title="Screen shot 2010-12-23 at 12.19.50 AM" src="http://www.devilx.net/wp-content/uploads/2010/12/Screen-shot-2010-12-23-at-12.19.50-AM.png" alt="" width="280" height="280" /></a></p>
<p>I thought, it might be a cool idea to actually proof that something like that should be possible within a few lines of code. No C code, no Objective-C, even more simple: AppleScript (and a little bit of Bash scripting).</p>
<p>However, so I just took about an hour and a half and wrote down this little bad boy:</p>
<pre>
global used_codes
global code_used

on run
	set used_codes to {}
end run

on idle
	set promocodes to paragraphs of (do shell script "/opt/local/bin/wget --quiet -O - http://twitter.com/statuses/user_timeline/166916511.rss | while read sentence; do for word in $sentence; do echo $word | grep '^[A-Z0-9]\\{12\\}' | sed 's/\\(.\\{12\\}\\).*/\\1/'; done; done | sort | uniq")
	repeat with promocode in promocodes
		set code_used to false
		repeat with used_code in used_codes
			if promocode = used_code then
				set code_used to true
			end if
		end repeat
		if code_used = false then
			tell application "iTunes"
				launch
				activate
				open location "itmss://phobos.apple.com/WebObjects/MZFinance.woa/wa/freeProductCodeWizard?code=" &#038; promocode
				copy promocode to the end of used_codes
				set used_codes to used_codes &#038; promocode
			end tell
		end if
	end repeat
	return 30
end idle
</pre>
<p>Simply hack it into your AppleScript editor and save it as &#8220;Application&#8221; with the &#8220;Stay Open&#8221; option clicked. Now after double-clicking the file that has just been created the script starts fetching a Twitter RSS-feed (in this case @verbsapp&#8217;s, heh) every 30 seconds, grabs all iTunes promo-codes it can find and automagically redeems them in the iTunes store. If the could is still valid &#8211; lucky you. If not, better luck next time! In any case each code will be added to a temporary &#8220;black list&#8221; so it won&#8217;t be redeemed again.</p>
<p>Feel free to customize and use this script! GNU GPL v2 and stuff. Enjoy. <img src='http://devilx.net/wp-content/plugins/smilies-themer/Riceballs/smile.png' alt=':)' class='wp-smiley' /> </p>
<p><strong>//update: I&#8217;ve just adapted the script a bit more to include promo codes with more than 12 characters length. Besides, I&#8217;ve applied John&#8217;s &#8220;patch&#8221; to it &#8211; thanks for that one John! <img src='http://devilx.net/wp-content/plugins/smilies-themer/Riceballs/smile.png' alt=':)' class='wp-smiley' /> </strong></p>
<pre>
global used_codes
global code_used

on run
	set used_codes to {}
end run

on idle
	set promocodes to paragraphs of (do shell script "for word in `/usr/bin/lwp-download 'http://twitter.com/statuses/user_timeline/166916511.rss' -`; do echo $word | grep '^[A-Z0-9]\\{12,16\\}' | sed 's/\\(.\\{12,16\\}\\).*/\\1/'; done | sort | uniq")
	repeat with promocode in promocodes
		set code_used to "false"
		repeat with used_code in used_codes
			if promocode as string is used_code as string then
				set code_used to "true"
			end if
		end repeat
		if code_used is "false" then
			tell application "iTunes"
				display dialog "Found a new code: " &#038; promocode &#038; " - use it now?"
				launch
				activate
				copy promocode to the end of used_codes
				set used_codes to used_codes &#038; promocode
				open location "itmss://phobos.apple.com/WebObjects/MZFinance.woa/wa/freeProductCodeWizard?code=" &#038; promocode
			end tell
		end if
	end repeat
	return 30
end idle
</pre>
]]></content:encoded>
			<wfw:commentRss>http://devilx.net/2010/12/23/automagic-promo-code-redeemer/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Automating Things</title>
		<link>http://devilx.net/2010/02/21/automating-things/</link>
		<comments>http://devilx.net/2010/02/21/automating-things/#comments</comments>
		<pubDate>Sun, 21 Feb 2010 14:56:58 +0000</pubDate>
		<dc:creator>Marius</dc:creator>
				<category><![CDATA[Mac and stuff ...]]></category>
		<category><![CDATA[New & Cool]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[AppleScript]]></category>
		<category><![CDATA[Automator]]></category>
		<category><![CDATA[Chandler]]></category>
		<category><![CDATA[Dropbox]]></category>
		<category><![CDATA[GTD]]></category>
		<category><![CDATA[Hacking]]></category>
		<category><![CDATA[iChat]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Mail.app]]></category>
		<category><![CDATA[Midnight Inbox]]></category>
		<category><![CDATA[MobileMe]]></category>
		<category><![CDATA[The Hit List]]></category>
		<category><![CDATA[Things]]></category>

		<guid isPermaLink="false">http://www.devilx.net/?p=1138</guid>
		<description><![CDATA[CulturedCode&#8217;s Things is probably one of the best GTD applications available on the Mac OS X and the iPhone platform. Yet, there really is no alternative that supports managing your tasks in such a big scale like Things does. I &#8230; <a href="http://devilx.net/2010/02/21/automating-things/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a title="Things" href="http://culturedcode.com/things/" target="_blank">CulturedCode&#8217;s Things</a> is probably one of the best GTD applications available on the Mac OS X and the iPhone platform. Yet, there really is no alternative that supports managing your tasks in such a big scale like Things does. I know <a title="The Hit List" href="http://www.potionfactory.com/thehitlist/" target="_blank">Potion Factory&#8217;s The Hit List</a> as well as I know <a title="Chandler Project" href="http://chandlerproject.org/" target="_blank">Chandler</a>, <a title="Midnight Beep Softworks" href="http://www.midnightbeep.com/" target="_blank">Midnight Inbox</a> and others &#8211; but they all kinda lack of specific features or just don&#8217;t integrate that good into one&#8217;s everyday workflow. I would really love to see The Hit List being developed more active and finally provide an <a title="The Hit List Mobile" href="http://www.flickr.com/photos/andypotion/4213848965/" target="_blank">iPhone client</a> that might beat the crap out of CulturedCode&#8217;s Things bundle, which yet still doesn&#8217;t allow me to keep each client in sync via MobileMe/without being in the same network or using <a title="Dropbox" href="http://www.dropbox.com/referrals/NTIxODYyMjk5" target="_blank">Dropbox</a> for desktop-to-desktop sync.</p>
<p>However, since (at least for me) there&#8217;s nothing comparable to Things, I&#8217;m trying to benefit from using it the best I can. One possibility to do so is the automation of task-creation. Wouldn&#8217;t it be cool to have Things automatically pack specific e-mails together as tasks you would only need to get done &#8211; without actually having the trouble of importing the information from Mail.app manually into Things first? I solved this problem for myself by using a feature that Things, Mail.app and Mac OS X provide me by default: AppleScript.</p>
<p>Now, how would this automated task-creation look like. First, a piece of code is needed, which gets the specific information out of an e-mail and tells Things to add those information to its library. The <a title="MailToThings" href="http://culturedcode.com/things/wiki/index.php/MailToThings" target="_blank">CulturedCode Wiki</a> already provides us such a script and first I&#8217;ve tried to use that. Unfortunately, the script seems to be something hacked together with Apple&#8217;s Automator and interferes with the UI, what causes the process of task-creation to be visible to the end-user. I didn&#8217;t want that &#8211; so I just hacked together my own AppleScript using the AppleScript Edior:</p>
<pre>on perform_mail_action(info)
	tell application "Mail"
		set selectedMessages to |SelectedMessages| of info
		set theRule to |Rule| of info
		repeat with eachMessage in selectedMessages
			set theSubject to subject of eachMessage
			set theContent to content of eachMessage
			tell application "Things"
				set newToDo to make new to do with properties {name:theSubject, due date:current date, notes:theContent} at beginning of list "Inbox"
			end tell
			set the (read status) of eachMessage to true
		end repeat
	end tell
end perform_mail_action</pre>
<p>You can simply copy &amp; paste this code into your AppleScript Editor and save it somewhere in your filesystem as AppleScript.</p>
<p>Next, we need this script to be called as soon as a new mail arrives. Let&#8217;s use Mail.app&#8217;s &#8220;Rules&#8221; for doing that!</p>
<div id="attachment_1139" class="wp-caption alignnone" style="width: 310px"><a href="http://www.devilx.net/wp-content/uploads/2010/02/mailtothings.png"><img class="size-medium wp-image-1139" title="Mail to Things" src="http://www.devilx.net/wp-content/uploads/2010/02/mailtothings-300x122.png" alt="Mail to Things Rule" width="300" height="122" /></a><p class="wp-caption-text">Mail.app Rule for Mail to Things</p></div>
<p>As &#8220;Run AppleScript&#8221; the script you&#8217;ve saved before needs to be specified. What rule you use for yourself actually depends on your incoming mails. In this example, I&#8217;m checking the mail&#8217;s subject to contain the string [ToDo]: for the script to act on that e-mail. Of course, you can also add another action *after* the &#8220;Run AppleScript&#8221; for Mail.app to delete the mail afterwards. The only thing my script does is to mark the mails that matched as read.</p>
<p>Now try it out on your own. Write yourself an e-mail containing your match-criteria and you&#8217;ll see that the script will automatically add a new task within your Things&#8217; Inbox, containing all details from within the mail itself. Of course, this script can be enhanced for example by leaving away the match-criteria from the subject (s/matchpattern//g), by cutting off everything after &#8220;&#8211; &#8221; (signature) or maybe even delegating the task to a co-worker or an area of responsibility by parsing the mail&#8217;s body. Feel free to extend it the way you need it. <img src='http://devilx.net/wp-content/plugins/smilies-themer/Riceballs/smile.png' alt=':)' class='wp-smiley' /> </p>
<p><em>PS: You can make the Inbox entries not being due by today by simply removing the &#8220;due date:current date&#8221; parameter from the script.</em></p>
<p><strong>//UPDATE:</strong></p>
<p>Because this whole automation topic is so much fun, I&#8217;ve just written an AppleScript that automatically adds every conversation-line you receive that starts with the pattern &#8220;task: &#8221; to your Things Inbox. <img src='http://devilx.net/wp-content/plugins/smilies-themer/Riceballs/smile.png' alt=':)' class='wp-smiley' /> </p>
<p>Here&#8217;s the AppleScript:</p>
<pre>using terms from application "iChat"
	on message received theMessage from theBuddy for textChat
		set theBuddy to full name of theBuddy

		if theMessage starts with "task: " then
			tell application "Things"
				set newToDo to make new to do with properties {name:theBuddy &amp; ": " &amp; my LeetReplacer((get theMessage), "task: ", "")} at beginning of list "Inbox"
			end tell
		end if
	end message received
end using terms from

on LeetReplacer(strng, srch, replc)
	tell (a reference to my text item delimiters)
		set {old, contents} to {contents, srch}
		set {strng, contents} to {strng's text items, replc}
		set {strng, contents} to {strng as Unicode text, old}
	end tell
	return strng
end LeetReplacer</pre>
<p>And here&#8217;s how you can include it into iChat:</p>
<div id="attachment_1142" class="wp-caption alignnone" style="width: 310px"><a href="http://www.devilx.net/wp-content/uploads/2010/02/ichattothings.png"><img class="size-medium wp-image-1142" title="iChat to Things" src="http://www.devilx.net/wp-content/uploads/2010/02/ichattothings-300x192.png" alt="iChat to Things" width="300" height="192" /></a><p class="wp-caption-text">iChat to Things</p></div>
<p>Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://devilx.net/2010/02/21/automating-things/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Palm webOS (formerly Palm Pre) Development Bundle for TextMate 0.3</title>
		<link>http://devilx.net/2009/11/13/palm-webos-formerly-palm-pre-development-bundle-for-textmate-0-3/</link>
		<comments>http://devilx.net/2009/11/13/palm-webos-formerly-palm-pre-development-bundle-for-textmate-0-3/#comments</comments>
		<pubDate>Thu, 12 Nov 2009 23:45:23 +0000</pubDate>
		<dc:creator>Marius</dc:creator>
				<category><![CDATA[Mac and stuff ...]]></category>
		<category><![CDATA[New & Cool]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[This Site]]></category>
		<category><![CDATA[World Wide Web]]></category>
		<category><![CDATA[Austin Powers]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Bundle]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[GitHub]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Mail]]></category>
		<category><![CDATA[Mojo]]></category>
		<category><![CDATA[Palm]]></category>
		<category><![CDATA[Pre]]></category>
		<category><![CDATA[Project]]></category>
		<category><![CDATA[Release]]></category>
		<category><![CDATA[TextMate]]></category>
		<category><![CDATA[webOS]]></category>

		<guid isPermaLink="false">http://www.devilx.net/?p=1077</guid>
		<description><![CDATA[Releasing version 0.3 of my Palm webOS development bundle for TextMate, with plenty new features and a stand-alone &#8220;Mojo&#8221;-language. So, what&#8217;s new in 0.3? Well, just about everything. I&#8217;ve renamed the bundle (at least its metadata), since webOS is not &#8230; <a href="http://devilx.net/2009/11/13/palm-webos-formerly-palm-pre-development-bundle-for-textmate-0-3/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.devilx.net/wp-content/uploads/2009/11/Palm-webOS-0.3.png"><img class="alignleft size-thumbnail wp-image-1079" title="Palm webOS 0.3" src="http://www.devilx.net/wp-content/uploads/2009/11/Palm-webOS-0.3-150x150.png" alt="Palm webOS 0.3" width="150" height="150" /></a>Releasing version 0.3 of my Palm webOS development bundle for TextMate, with plenty new features and a stand-alone &#8220;Mojo&#8221;-language.</p>
<p>So, what&#8217;s new in 0.3? Well, just about everything. I&#8217;ve renamed the bundle (at least its metadata), since webOS is not just limited to the Pre and I&#8217;ve modified the shortcuts of existing features to fit TextMate&#8217;s styling guidelines a bit better. I&#8217;ve also created some snippets which can be used for faster code-writing now and in addition to that, I&#8217;ve implemented a very own language for the bundle, which can&#8217;t be found in the document type picker named as &#8220;Mojo&#8221;. &#8220;Yeah baby!&#8221;, as Austin would say now. Actually, yet it&#8217;s just a copy &amp; paste of the JavaScript-language implementation in TextMate, but I&#8217;m planning to extend it to fit the Mojo-framework even better.</p>
<p>The TextMate bundle is now also available on <a title="devilx's palm-webos-development-tmbundle" href="http://github.com/devilx/palm-webos-development-tmbundle">GitHub</a>, for everyone who can&#8217;t wait for me packaging the releases and releasing them here. <img src='http://devilx.net/wp-content/plugins/smilies-themer/Riceballs/smile.png' alt=':-)' class='wp-smiley' /> If you have any ideas for improvement, feel free to contact me by mail or just leave some lines here on my blog.</p>
<p>Enjoy!</p>
<p><strong><span style="text-decoration: line-through;">Download: </span><a href="http://www.devilx.net/wp-content/uploads/2009/11/Palm_webOS-Bundle-0.3.zip"><span style="text-decoration: line-through;">Palm_webOS-Bundle-0.3</span></a></strong></p>
<p><strong>Download: <a href="http://www.devilx.net/wp-content/uploads/2009/11/Palm_webOS-Bundle-0.31.zip">Palm_webOS-Bundle-0.3</a></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://devilx.net/2009/11/13/palm-webos-formerly-palm-pre-development-bundle-for-textmate-0-3/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>TextMate Palm Pre Development Bundle 0.2</title>
		<link>http://devilx.net/2009/11/11/textmate-palm-pre-development-bundle-0-2/</link>
		<comments>http://devilx.net/2009/11/11/textmate-palm-pre-development-bundle-0-2/#comments</comments>
		<pubDate>Wed, 11 Nov 2009 20:55:58 +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[New & Cool]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[World Wide Web]]></category>
		<category><![CDATA[Bundle]]></category>
		<category><![CDATA[Cocoa]]></category>
		<category><![CDATA[Cool]]></category>
		<category><![CDATA[Debug]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Download]]></category>
		<category><![CDATA[Emulator]]></category>
		<category><![CDATA[GPS]]></category>
		<category><![CDATA[New]]></category>
		<category><![CDATA[Palm]]></category>
		<category><![CDATA[Pre]]></category>
		<category><![CDATA[Project]]></category>
		<category><![CDATA[Release]]></category>
		<category><![CDATA[SMS]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[SSH]]></category>
		<category><![CDATA[TextMate]]></category>

		<guid isPermaLink="false">http://www.devilx.net/?p=1070</guid>
		<description><![CDATA[Yes, after not even four hours I&#8217;ve already finished building the 0.2-release of my Palm Pre Development Bundle for TextMate. In case you&#8217;re wondering what weird stuff I&#8217;m talking about, please read my previous post first. However, this second release &#8230; <a href="http://devilx.net/2009/11/11/textmate-palm-pre-development-bundle-0-2/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="attachment_1072" class="wp-caption alignleft" style="width: 160px"><a href="http://www.devilx.net/wp-content/uploads/2009/11/palmprebundle-0.2.png"><img class="size-thumbnail wp-image-1072" title="Palm Pre Development Bundle 0.2" src="http://www.devilx.net/wp-content/uploads/2009/11/palmprebundle-0.2-150x150.png" alt="Palm Pre Development Bundle 0.2" width="150" height="150" /></a><p class="wp-caption-text">Palm Pre Development Bundle 0.2</p></div>
<p>Yes, after not even four hours I&#8217;ve already finished building the 0.2-release of my Palm Pre Development Bundle for TextMate. In case you&#8217;re wondering what weird stuff I&#8217;m talking about, <a title="Palm Pre Development Bundle for TextMate" href="http://www.devilx.net/2009/11/11/palm-pre-development-bundle-for-textmate/" target="_self">please read my previous post first</a>.</p>
<p>However, this second release includes a lot more features than it had before, plus I&#8217;ve made use of the CocoaDialog now. Let me describe the new features from the top to the bottom of the screenshot on the left site.</p>
<p>First of all, there&#8217;s &#8220;Generate New Project&#8221;. This lets you execute a palm-generate with all important attributes and opens the created project afterwards using the &#8220;mate&#8221; terminal-command, which needs to be available for this to work. All you have to do then is simply to save the TextMate project right into your generated project-directory.</p>
<p>Next, we still have &#8220;Generate New Scene&#8221;. I&#8217;ve enhanced the feature now, so that you&#8217;ll get a cocoa dialog asking for the scene&#8217;s name. Beware: The generation usually works as it should, the only problem is the TextMate project-drawer, which doesn&#8217;t seem to refresh by itself. A workaround: Cmd+H to hide TextMate and then click on its Dock-icon to make it appear again. Then all newly generated files should be visible in its drawer.</p>
<p>The next three features work just as before, no enhancements at all. On the fourth, the &#8220;Launch Project in Debugging-Mode&#8221; feature, I&#8217;ve implemented a palm-launch with debugging options, that can be run on an existing, packaged and installed project.</p>
<p>Next, there are ways to close and remove installed Projects. &#8220;Close running project&#8221; of course only works, when the App is actually running and &#8220;Remove installed Project&#8221; removes the App from the device. As device for all those commands the first device found by the Palm toolset will be taken &#8211; so if you would like to use the Emulator, better disconnect your real device and vice versa.</p>
<p>I&#8217;ve also built-in two features that let you simulate test calls and SMS on your Emulator, if you changed from password authentication to SSH public key authentication. You can do this either manually or try to use the feature at the menu&#8217;s bottom named &#8220;Auto-install SSH-Pubkey on Emulator&#8221;. Depending on your SSH-key-setup it works out or&#8230; not.</p>
<p>The other seven features allow you to simulate GPS drives on the Emulator &#8211; again only if you&#8217;ve set-up SSH-Pubkey authentication.</p>
<p>I hope you enjoy this release of the Palm Pre Development Bundle for TextMate! <img src='http://devilx.net/wp-content/plugins/smilies-themer/Riceballs/smile.png' alt=':-)' class='wp-smiley' /> </p>
<p><strong><span style="text-decoration: line-through;">Download: </span><a href="http://www.devilx.net/wp-content/uploads/2009/11/Palm-Pre-Bundle-0.2.zip"><span style="text-decoration: line-through;">Palm-Pre-Bundle-0.2</span></a></strong></p>
<p><strong>UPDATE:</strong> There&#8217;s a newer version available! <a title="Palm webOS (formerly Palm Pre) Development Bundle for TextMate 0.3" href="http://www.devilx.net/2009/11/13/palm-webos-formerly-palm-pre-development-bundle-for-textmate-0-3/">Get it here</a>. Or use <a title="GitHub" href="http://github.com/devilx/palm-webos-development-tmbundle">GitHub</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://devilx.net/2009/11/11/textmate-palm-pre-development-bundle-0-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Palm Pre Development Bundle for TextMate</title>
		<link>http://devilx.net/2009/11/11/palm-pre-development-bundle-for-textmate/</link>
		<comments>http://devilx.net/2009/11/11/palm-pre-development-bundle-for-textmate/#comments</comments>
		<pubDate>Wed, 11 Nov 2009 17:05:36 +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[New & Cool]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Bundle]]></category>
		<category><![CDATA[Cool]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Download]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[New]]></category>
		<category><![CDATA[Palm]]></category>
		<category><![CDATA[Pre]]></category>
		<category><![CDATA[Project]]></category>
		<category><![CDATA[SDK]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[TextMate]]></category>

		<guid isPermaLink="false">http://www.devilx.net/?p=1065</guid>
		<description><![CDATA[Today I&#8217;ve created a tiny little bundle for the best editor available™ named TextMate which adds Palm Pre development features to it. The bundle contains of four commands which let you generate new scenes, package your project, install and launch &#8230; <a href="http://devilx.net/2009/11/11/palm-pre-development-bundle-for-textmate/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.devilx.net/wp-content/uploads/2009/09/TextMate.png"><img class="alignleft size-full wp-image-992" title="TextMate" src="http://www.devilx.net/wp-content/uploads/2009/09/TextMate.png" alt="TextMate" width="64" height="64" /></a>Today I&#8217;ve created a tiny little bundle for the best editor available™ named <a title="TextMate - The Missing Editor" href="http://macromates.com/">TextMate</a> which adds Palm Pre development features to it. The bundle contains of four commands which let you generate new scenes, package your project, install and launch it on the Pre Emulator. Of course, you need to have Palm&#8217;s SDK installed for it to work.</p>
<p>The scene generation works like this: You implement your <em>this.controller.pushScene(&#8220;Main&#8221;);</em>-statement, select the scene&#8217;s name (Main, without the quotes!) and select the scene-generation command from the bundle&#8217;s menu. The command will immediately generate you a new scene named just the way you chose to name it. <img src='http://devilx.net/wp-content/plugins/smilies-themer/Riceballs/smile.png' alt=':-)' class='wp-smiley' /> </p>
<p>The other three commands can be ran by pressing the keys Fn+Ctrl+F5/F6/F7. Attention: The bundle only works with TextMate Projects! Generate your Palm Pre project like you always do, by using the following command:</p>
<blockquote><p>palm-generate -p &#8220;{ title:&#8217;ProjectName&#8217;, id:com.my.ProjectName, version:&#8217;1.0.0&#8242; }&#8221; ProjectName</p></blockquote>
<p>Then, create a new TextMate Project and drag&amp;drop the folder palm-generate created for you (&#8220;ProjectName&#8221;) into the Project&#8217;s drawer. Save the project <strong>within</strong> your Project-directory (&#8220;ProjectName&#8221;) and then run the commands.</p>
<p>This is the very first version of this bundle and I&#8217;ll keep constantly improving it with other features that help me and hopefully others on the development of Palm Pre Web-Apps.</p>
<p>Enjoy!</p>
<p><strong><span style="text-decoration: line-through;">Download: </span><span style="text-decoration: line-through;"><a href="http://www.devilx.net/wp-content/uploads/2009/11/PalmPre-Bundle-0.1.zip">PalmPre-Bundle-0.1</a></span></strong></p>
<p><strong>UPDATE:</strong> There&#8217;s a newer version available now! <a title="TextMate Palm Pre Development Bundle 0.2" href="http://www.devilx.net/2009/11/11/textmate-palm-pre-development-bundle-0-2/" target="_self">Get it here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://devilx.net/2009/11/11/palm-pre-development-bundle-for-textmate/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>On the Crest of the Google Wave</title>
		<link>http://devilx.net/2009/10/13/on-the-crest-of-the-google-wave/</link>
		<comments>http://devilx.net/2009/10/13/on-the-crest-of-the-google-wave/#comments</comments>
		<pubDate>Tue, 13 Oct 2009 17:05:50 +0000</pubDate>
		<dc:creator>Marius</dc:creator>
				<category><![CDATA[Art & Design]]></category>
		<category><![CDATA[Life itself]]></category>
		<category><![CDATA[New & Cool]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[This Site]]></category>
		<category><![CDATA[World Wide Web]]></category>
		<category><![CDATA[Account]]></category>
		<category><![CDATA[Cool]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Google Wave]]></category>
		<category><![CDATA[New]]></category>
		<category><![CDATA[Preview]]></category>
		<category><![CDATA[Sexy]]></category>

		<guid isPermaLink="false">http://www.devilx.net/?p=1022</guid>
		<description><![CDATA[I can happily announce (or brag :-P) that I&#8217;ve just received my Google Wave invitation today and already created my account. I&#8217;m really excited of exploring and developing on Google&#8217;s Wave, especially with the ideas I already have in mind. &#8230; <a href="http://devilx.net/2009/10/13/on-the-crest-of-the-google-wave/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="attachment_1023" class="wp-caption alignright" style="width: 360px"><a href="http://www.devilx.net/wp-content/uploads/2009/10/GoogleWave.png"><img class="size-full wp-image-1023 " title="GoogleWave" src="http://www.devilx.net/wp-content/uploads/2009/10/GoogleWave.png" alt="Google Wave Dev Preview" width="350" height="116" /></a><p class="wp-caption-text">Google Wave Dev Preview</p></div>
<p>I can happily announce (or brag :-P) that I&#8217;ve just received my Google Wave invitation today and already created my account. I&#8217;m really excited of exploring and developing on Google&#8217;s Wave, especially with the ideas I already have in mind. Yet, I just clicked around a bit, due to the lack of free time, but as soon as I can I will take a deeper look at the API and try out some stuff I might even publish here. So stay tuned to see read (and maybe see) the latest progress of my <em>Wavealicious</em> ideas/implementations. <img src='http://devilx.net/wp-content/plugins/smilies-themer/Riceballs/smile.png' alt=':-)' class='wp-smiley' /> </p>
<p>Btw, you can contact me on Wave via <em>devilx@wavesandbox.com</em>.</p>
]]></content:encoded>
			<wfw:commentRss>http://devilx.net/2009/10/13/on-the-crest-of-the-google-wave/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hacked iWebKit a Bit&#8230;</title>
		<link>http://devilx.net/2009/09/08/hacked-iwebkit-a-bit/</link>
		<comments>http://devilx.net/2009/09/08/hacked-iwebkit-a-bit/#comments</comments>
		<pubDate>Tue, 08 Sep 2009 19:31:28 +0000</pubDate>
		<dc:creator>Marius</dc:creator>
				<category><![CDATA[Art & Design]]></category>
		<category><![CDATA[Fun]]></category>
		<category><![CDATA[Mac and stuff ...]]></category>
		<category><![CDATA[New & Cool]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[World Wide Web]]></category>
		<category><![CDATA[Cool]]></category>
		<category><![CDATA[Download]]></category>
		<category><![CDATA[Hacking]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[iWebKit]]></category>
		<category><![CDATA[Likable]]></category>
		<category><![CDATA[New]]></category>
		<category><![CDATA[Patch]]></category>
		<category><![CDATA[Safari]]></category>
		<category><![CDATA[Sexy]]></category>
		<category><![CDATA[Style]]></category>
		<category><![CDATA[Webkit]]></category>

		<guid isPermaLink="false">http://www.devilx.net/?p=1002</guid>
		<description><![CDATA[Today, I received a mail from Christian, regarding the iPhone WordPress Theme I&#8217;ve published some time ago. I played around with my theme and wanted to use the sliding-effects that iWebKit still contained on that version I&#8217;ve used then ago. &#8230; <a href="http://devilx.net/2009/09/08/hacked-iwebkit-a-bit/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Today, I received a mail from <a title="Christian Albert Mueller" href="http://www.christian-albert-mueller.com/" target="_blank">Christian</a>, regarding the <a title="Wordpress iPhone Theme" href="http://www.devilx.net/2009/04/06/wordpress-iphone-theme/" target="_self">iPhone WordPress Theme</a> I&#8217;ve published some time ago. I played around with my theme and wanted to use the sliding-effects that iWebKit still contained on that version I&#8217;ve used then ago. As it seems, Christoph seems to had it removed from the sources, as far as I remember he was having some kind of trouble with the sliding-transition.</p>
<p>However, I&#8217;ve decided to take a quick look at the current iWebKit version and patch the framework to have the sliding-animations working again, even on the latest version. Now, that it seems to be working here and also it seems to be working for Christian, maybe others can also benefit from this.</p>
<p>If you would like to use the sliding-animations (no warranty! :-)) on your iWebKit-based design, just download the Framework package attached to this post and apply it to your iWebKit installation. It should be working pretty much out of the box.</p>
<p>Feel free to report bugs if you should find any regarding the sliding. Enjoy! <img src='http://devilx.net/wp-content/plugins/smilies-themer/Riceballs/smile.png' alt=':-)' class='wp-smiley' /> </p>
<p><strong><a href="http://www.devilx.net/wp-content/uploads/2009/09/iWebKit_4.6.2_Framework-likability-patch.zip">Download iWebKit_4.6.2_Framework-likability-patch</a></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://devilx.net/2009/09/08/hacked-iwebkit-a-bit/feed/</wfw:commentRss>
		<slash:comments>2</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>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>WordPress iPhone Theme</title>
		<link>http://devilx.net/2009/04/06/wordpress-iphone-theme/</link>
		<comments>http://devilx.net/2009/04/06/wordpress-iphone-theme/#comments</comments>
		<pubDate>Mon, 06 Apr 2009 17:52:41 +0000</pubDate>
		<dc:creator>Marius</dc:creator>
				<category><![CDATA[Art & Design]]></category>
		<category><![CDATA[New & Cool]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[This Site]]></category>
		<category><![CDATA[World Wide Web]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Application]]></category>
		<category><![CDATA[Cool]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[Hacking]]></category>
		<category><![CDATA[Hot]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[iPod]]></category>
		<category><![CDATA[iWebKit]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[New]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Revolutionary]]></category>
		<category><![CDATA[Sexy]]></category>
		<category><![CDATA[Theme]]></category>
		<category><![CDATA[Touch]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.devilx.net/?p=820</guid>
		<description><![CDATA[So, after I&#8217;ve been asked (or more like beg) by quite a couple of people, whether I could finally release my iPhone theme for WordPress, I&#8217;m now finally taking the time to do so. Since I&#8217;ve already posted a quite &#8230; <a href="http://devilx.net/2009/04/06/wordpress-iphone-theme/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>So, after I&#8217;ve been asked (or more like beg) by quite a couple of people, whether I could finally release my iPhone theme for WordPress, I&#8217;m now finally taking the time to do so. <img src='http://devilx.net/wp-content/plugins/smilies-themer/Riceballs/smile.png' alt=':-)' class='wp-smiley' /> </p>
<p>Since I&#8217;ve already posted a quite descriptive post regarding the theme itself, I won&#8217;t beat around the bush now. For those who haven&#8217;t read the initial story, <a href="#mce_temp_url#">here you can review it</a>. You can download the theme by clicking the link at the bottom of this page. Note, that the theme needs the theme-switcher-reloaded Plugin for WordPress to be up and running to work properly. Additional to that, you will need to make some changes to your actual theme, which allows the user to actually switch to the iPhone theme. These changes depend on what theme you are using, but in general you need to modify your theme&#8217;s header.php and include a code like this one:</p>
<p><code> &lt;?php<br />
if(empty($_COOKIE["iphonetheme" . COOKIEHASH]))<br />
{<br />
if (stristr($_SERVER['HTTP_USER_AGENT'], 'iPhone'))<br />
{<br />
echo "&lt;div style=\"background-color: #F66; color: #fff; padding: 8px;\"&gt;";<br />
echo "You seem to be browsing this site from your iPhone or iPod Touch.";<br />
echo "Would you like to &lt;a href=\"?wptheme=iphone\" title=\"\"&gt;change to the optimized site&lt;/a&gt;?";<br />
echo "&lt;/div&gt;";<br />
}<br />
}<br />
?&gt;<br />
</code></p>
<p>The iPhone Theme itself already contains a button which provides you to switch back to the regular theme.</p>
<p>However, feel free to download, distribute, modify and have fun with my WordPress iPhone Theme &#8211; it&#8217;s released under GNU GPLv2!</p>
<p>Download: <a href="http://www.devilx.net/wp-content/uploads/2009/04/iphone-01.zip">WordPress iPhone 0.1</a></p>
]]></content:encoded>
			<wfw:commentRss>http://devilx.net/2009/04/06/wordpress-iphone-theme/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Revolutionary WordPress Theme for the iPhone / iPod Touch</title>
		<link>http://devilx.net/2009/03/06/revolutionary-wordpress-theme-for-the-iphone-ipod-touch/</link>
		<comments>http://devilx.net/2009/03/06/revolutionary-wordpress-theme-for-the-iphone-ipod-touch/#comments</comments>
		<pubDate>Fri, 06 Mar 2009 11:43:08 +0000</pubDate>
		<dc:creator>Marius</dc:creator>
				<category><![CDATA[Art & Design]]></category>
		<category><![CDATA[Hot Gear]]></category>
		<category><![CDATA[Life itself]]></category>
		<category><![CDATA[Mac and stuff ...]]></category>
		<category><![CDATA[New & Cool]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[This Site]]></category>
		<category><![CDATA[World Wide Web]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Application]]></category>
		<category><![CDATA[Cool]]></category>
		<category><![CDATA[Cover-Flow]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[Gallery]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Hacking]]></category>
		<category><![CDATA[Hot]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[iPod]]></category>
		<category><![CDATA[iWebKit]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[New]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Picasa]]></category>
		<category><![CDATA[Prologue]]></category>
		<category><![CDATA[Revolutionary]]></category>
		<category><![CDATA[Safari]]></category>
		<category><![CDATA[Sexy]]></category>
		<category><![CDATA[Theme]]></category>
		<category><![CDATA[Touch]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.devilx.net/?p=805</guid>
		<description><![CDATA[As some of you might have already noticed, last night/this morning I&#8217;ve been doing some (or better, a lot of!) work on my web-space regarding many different topics. Therefor I would first like to excuse me for the inaccessibility. However, &#8230; <a href="http://devilx.net/2009/03/06/revolutionary-wordpress-theme-for-the-iphone-ipod-touch/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>As some of you might have already noticed, last night/this morning I&#8217;ve been doing some (or better, a lot of!) work on my web-space regarding many different topics. Therefor I would first like to excuse me for the inaccessibility. However, one of the topics was my WordPress&#8217; theme.</p>
<div id="attachment_806" class="wp-caption alignleft" style="width: 160px"><a href="http://www.devilx.net/wp-content/uploads/2009/03/wpiphone1.jpg"><img class="size-thumbnail wp-image-806" title="wpiphone1" src="http://www.devilx.net/wp-content/uploads/2009/03/wpiphone1-150x150.jpg" alt="The red block let's you choose." width="150" height="150" /></a><p class="wp-caption-text">The red block let&#39;s you choose.</p></div>
<p>I&#8217;ve been now using <a title="Automattic" href="http://automattic.com/">Prologue</a> for quite a very long time &#8211; I guess longer than I&#8217;ve ever used one WordPress theme before &#8211; and I&#8217;m highly pleased of it. However, even that Prologue has a built-in iPhone/iPod Touch browser-detection which cuts away the sidebar and only keeps the important news-stream in focus, I haven&#8217;t been very satisfied by that. The font is still pretty small, nearly unreadable, the links are therefor pretty hard to hit, et cetera.</p>
<p>However, yesterday then <a title="widmr.com" href="http://www.widmr.com/">Andi</a> showed me some pretty nice little framework he just found, what actually doesn&#8217;t have anything to do with WordPress itself, but made me think of a very cool idea. The <a title="iWebKit" href="http://www.iwebkit.net/">iWebKit-Framework</a> is a small set of CSS and image files that concentrates on building a website in a way so that it looks just like an iPhone or iPod Touch Application. The whole thing&#8217;s appearance is pretty sexy, you can take a look at the downloads and get the framework plus some example HTML files for testing.</p>
<div id="attachment_807" class="wp-caption alignright" style="width: 160px"><a href="http://www.devilx.net/wp-content/uploads/2009/03/wpiphone2.jpg"><img class="size-thumbnail wp-image-807" title="wpiphone2" src="http://www.devilx.net/wp-content/uploads/2009/03/wpiphone2-150x150.jpg" alt="My optimized front-page." width="150" height="150" /></a><p class="wp-caption-text">My optimized front-page.</p></div>
<p>So, I took a closer look on the iWebKit stuff and did some (again better, a lot of!) PHP WordPress theme hacking. I think I spent the whole night building that thing &#8211; but I also think that it was worth it, heh. And I guess, I&#8217;ve created a revolutionary and new WordPress theme aimed for the usage on iPhones and iPod Touches &#8211; the only problem I had left was: How to I get WordPress to use this theme only on the tiny Safari, but on nothing else? After some more PHP hacking, which included modifying my Prologue theme <strong>but not</strong> the actual WordPress (what&#8217;s the really cool thing within the whole story), I&#8217;ve found a way.</p>
<p>When you browse my WordPress now using your iPhone, you should be getting a red message right on top of the site, which tells you that it has detected the tiny Safari and suggests you to use the iPhone optimized theme. If you confirm by clicking the first link, the whole site&#8217;s design should get to look just like on the pictures I&#8217;ve inserted here.</p>
<div id="attachment_808" class="wp-caption alignleft" style="width: 160px"><a href="http://www.devilx.net/wp-content/uploads/2009/03/wpiphone4.jpg"><img class="size-thumbnail wp-image-808" title="wpiphone4" src="http://www.devilx.net/wp-content/uploads/2009/03/wpiphone4-150x150.jpg" alt="My contact information - optimized." width="150" height="150" /></a><p class="wp-caption-text">My contact information - optimized.</p></div>
<p>I will extend the theme some more, maybe by building in JavaScript effects or other Eye-Candy, to make it fit even better into the iPhones Look &amp; Feel. I was also thinking of some Cover-Flow&#8217;ish effect for my Gallery (which at the moment just links to my Picasa-Site, but thanks to the great API provided by Google it shouldn&#8217;t be too hard to implement that right into the page).</p>
<p>Maybe, after some more testing I&#8217;ll be able to provide it for download, including a whole documentation of how to make it work. <img src='http://devilx.net/wp-content/plugins/smilies-themer/Riceballs/smile.png' alt=':-)' class='wp-smiley' /> Until then, I hope you enjoy browsing my Blog, especially over the iPhone or your iPod Touch. Please feel free to write me your impressions, feedback and also suggestions for improvement by commenting here or writing me an e-mail. So far &#8230;</p>
<p>Have fun!</p>
]]></content:encoded>
			<wfw:commentRss>http://devilx.net/2009/03/06/revolutionary-wordpress-theme-for-the-iphone-ipod-touch/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Windows (XP) and Sysprep.exe</title>
		<link>http://devilx.net/2008/11/29/windows-xp-and-sysprepexe/</link>
		<comments>http://devilx.net/2008/11/29/windows-xp-and-sysprepexe/#comments</comments>
		<pubDate>Sat, 29 Nov 2008 17:07:34 +0000</pubDate>
		<dc:creator>Marius</dc:creator>
				<category><![CDATA[Life itself]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[DOS]]></category>
		<category><![CDATA[Firewall]]></category>
		<category><![CDATA[Hacking]]></category>
		<category><![CDATA[Job]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[netsh]]></category>
		<category><![CDATA[Project]]></category>
		<category><![CDATA[RDP]]></category>
		<category><![CDATA[reg]]></category>
		<category><![CDATA[Registry]]></category>
		<category><![CDATA[schtasks]]></category>
		<category><![CDATA[strace]]></category>
		<category><![CDATA[Sysprep]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[XP]]></category>

		<guid isPermaLink="false">http://www.devilx.net/?p=640</guid>
		<description><![CDATA[Last week, I was helping-out on Thomas&#8217; project at work, where I had to implement some stuff regarding Windows XP Mini-Setup with Sysprep.exe. He built an image which automatically started the mini-setup on the machine&#8217;s first boot and configured every &#8230; <a href="http://devilx.net/2008/11/29/windows-xp-and-sysprepexe/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Last week, I was helping-out on Thomas&#8217; project at work, where I had to implement some stuff regarding Windows XP Mini-Setup with Sysprep.exe. He built an image which automatically started the mini-setup on the machine&#8217;s first boot and configured every parameter of the operating system the way he needed it. My job has been to check whether it&#8217;s possible to make the mini-setup run a custom script at its end and if possible activate RDP, open the firewall&#8217;s RDP port and add a domain group to the RDP-users.</p>
<p>The first two things weren&#8217;t that hard to realize. Sysprep actually runs every command contained in the <em>Cmdlines.txt</em> in <em>\%sysprep%\i386\$oem$\</em> directory. Enabling RDP is possible using a simple <strong>reg</strong>-commandline which changes the value of the <em>fDenyTSConnection</em> key. Also opening the firewall&#8217;s port is trivial by using the <strong>netsh</strong> command. There seems to be some way by using a <em>winnt.sif</em>-file containing some parameters that should modify the firewall setup, unfortunately I didn&#8217;t manage to get that working in an reasonable amount of time. So I&#8217;ve just used the mentioned command to open the port in the firewall, for all profiles. The profile-argument is important, for me it did not work out without setting it to <em>ALL</em>.</p>
<p>Anyhow, the third ToDo was (and still is) tricky. The problem when using the <strong>net</strong> <em>localgroup</em> command to add the group to the local <em>Remotedesktopusers</em>-group is the following: While the mini-setup is running, the computer hasn&#8217;t got its future hostname and because of that it&#8217;s not yet joined to the domain. When trying to execute the net command for adding the domain-group to the local group it will of course fail. I searched for many different ways to do that, but each method I&#8217;ve found didn&#8217;t really work out for me:</p>
<p>autoexec.bat: Hacking the command to the autoexec.bat, so that it gets executed on the next reboot would be a way, unfortunately this file is ignore by every not-DOS-based Windows, like Windows XP is, for example.</p>
<p>win.ini: I&#8217;m not sure exactly why this didn&#8217;t work out, because the documentation says, that the Run-parameters configured in that INI will be run on Windows&#8217; startup. In my case, the net command hasn&#8217;t seemed to be run. I think that the win.ini commands get executed before the connection to the domain has been established, so that the actual net command would have been run, but unsuccessful.</p>
<p>Run/RunOnce/RunService/RunServiceOnce-Keys: Would work out pretty good, if some user would log in. In my case, no user will log in until RDP is available to the specific domain-group.</p>
<p>And so on. I got pretty desperate, until I got an idea: A scheduled task! Windows supports adding scheduled tasks even from the commandline by using the <strong>schtasks</strong> command. I tried out the <em>/sc onboot</em> parameter, but unfortunately it seems to be working just like the win.ini, what cause the group not to be added. Then, I wrote myself a batch-script, which executes the net command for adding the domain-group, checks the command&#8217;s error code and if successful removes the scheduled task. The task itself I created using <em>/sc minute /mo 1</em>. By that, the task will be run every minute after the task-scheduler gets started on Windows&#8217; boot and try to add the group. The whole <strong>schtasks</strong> <em>/create</em> thing works and even my script runs when I doubleclick it, but somehow the scheduler can&#8217;t run the script I passed to him while the mini-setup was running. I tried to same <em>/create</em> command within Windows XP and it worked out &#8211; my batch file got executed after one minute, added the group, saw that there was no error adding the group and removed the schtasks job.</p>
<p>Now I&#8217;m trying to understand, why the job does not work when I create it within the mini-setup. It&#8217;s really annoying, because Windows really does not provide any information below the basic output. There is no way (or at least none I would know of) to see what the <strong>schtasks</strong> daemon actually does when trying to run the script and fails. There is no <strong>strace</strong>. Nothing. Argh.</p>
<p>It really rankles me that the last piece doesn&#8217;t work the way it actually should, because the other implementations run pretty smooth <strong>and lasting</strong>. *beckon to Thomas*</p>
<p>Hmpf&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://devilx.net/2008/11/29/windows-xp-and-sysprepexe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My first Dashboard Widget</title>
		<link>http://devilx.net/2008/11/01/my-first-dashboard-widget/</link>
		<comments>http://devilx.net/2008/11/01/my-first-dashboard-widget/#comments</comments>
		<pubDate>Sat, 01 Nov 2008 16:50:13 +0000</pubDate>
		<dc:creator>Marius</dc:creator>
				<category><![CDATA[Mac and stuff ...]]></category>
		<category><![CDATA[New & Cool]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[This Site]]></category>
		<category><![CDATA[World Wide Web]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Cool]]></category>
		<category><![CDATA[Dashboard]]></category>
		<category><![CDATA[Dashcode]]></category>
		<category><![CDATA[Download]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Karamba]]></category>
		<category><![CDATA[New]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[RSS]]></category>
		<category><![CDATA[Widget]]></category>

		<guid isPermaLink="false">http://www.devilx.net/?p=592</guid>
		<description><![CDATA[So, I&#8217;ve just played around a bit with Dashcode, Apple&#8217;s IDE for Dashboard-Widget development, and I have to say that it&#8217;s pretty cool. It&#8217;s quite easy to use and provides excellent WYSIWYG features. I just started a default RSS-Reader project &#8230; <a href="http://devilx.net/2008/11/01/my-first-dashboard-widget/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class="wp-caption alignright" style="width: 250px"></p>
<div style="text-align: auto;"><img class=" " title="A Place Full Of Dorkness" src="/~devilx/blog/bin/widgets/widget_aplacefullofdorkness.jpg" alt="My first Dashboard Widget" width="240" height="267" /></div>
<p><p class="wp-caption-text">My first Dashboard Widget</p></div>
<p>So, I&#8217;ve just played around a bit with Dashcode, Apple&#8217;s IDE for Dashboard-Widget development, and I have to say that it&#8217;s pretty cool. It&#8217;s quite easy to use and provides excellent WYSIWYG features. I just started a default RSS-Reader project and customized the template it gave me the way I liked it. It&#8217;s really interesting what can be done with a little JavaScript. Of course, by using that script language, Dashboard Widgets might not be the best in performance or system-usage, but in my opinion this way is a better one for writing widgets, than for example OpenSource projects like Karamba provide. I don&#8217;t want to have to learn Python from ground up, just to be able to write my own RSS-Reader widget. And of course, for writing more advanced Widgets with Dashcode, the developer must know JavaScript &#8211; but it&#8217;s a small difference between the time it takes to learn simple JavaScript and the time it takes to just understand Python or whatever other language.</p>
<p>However, I think I might be doing some more playing around with Dashcode. I don&#8217;t know yet what widgets to implement, but I&#8217;m sure I&#8217;ll find some interesting ideas I could realize.</p>
<p>You can download the <a title="A Place Full Of Dorkness RSS-Reading Widget" href="http://devilx.net/~devilx/blog/bin/widgets/APlaceFullOfDorkness.zip" target="_self">RSS-Reader for my Blog here</a>. 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/2008/11/01/my-first-dashboard-widget/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>The Perfect Infrastructure&#8230; ?</title>
		<link>http://devilx.net/2008/08/14/the-perfect-infrastructure/</link>
		<comments>http://devilx.net/2008/08/14/the-perfect-infrastructure/#comments</comments>
		<pubDate>Wed, 13 Aug 2008 23:22:05 +0000</pubDate>
		<dc:creator>Marius</dc:creator>
				<category><![CDATA[Books & Texts]]></category>
		<category><![CDATA[Life itself]]></category>
		<category><![CDATA[Linux and stuff ...]]></category>
		<category><![CDATA[New & Cool]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[World Wide Web]]></category>
		<category><![CDATA[Aptitude]]></category>
		<category><![CDATA[Citrix]]></category>
		<category><![CDATA[Cool]]></category>
		<category><![CDATA[Desktop]]></category>
		<category><![CDATA[Enterprise]]></category>
		<category><![CDATA[Hot]]></category>
		<category><![CDATA[ICA]]></category>
		<category><![CDATA[Ideas]]></category>
		<category><![CDATA[KVM]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Metaframe]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[New]]></category>
		<category><![CDATA[Node]]></category>
		<category><![CDATA[NoMachine]]></category>
		<category><![CDATA[NX]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[PDF]]></category>
		<category><![CDATA[Rendezvous]]></category>
		<category><![CDATA[SAP]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[Solution]]></category>
		<category><![CDATA[Sun]]></category>
		<category><![CDATA[Terminal-Server]]></category>
		<category><![CDATA[VirtualBox]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Xen]]></category>
		<category><![CDATA[xVM]]></category>
		<category><![CDATA[Yum]]></category>
		<category><![CDATA[Zeroconf]]></category>
		<category><![CDATA[Zypper]]></category>

		<guid isPermaLink="false">http://www.devilx.net/?p=478</guid>
		<description><![CDATA[Some time ago I was involved in a project at work that made me think a bit about the infrastructure companies use and how they could look like, in a perfect world. It became clear, that many companies tried and &#8230; <a href="http://devilx.net/2008/08/14/the-perfect-infrastructure/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class="wp-caption alignleft" style="width: 310px"><a href="http://devilx.net/~devilx/blog/docs/linux-terminalserver-idea.pdf"><img title="My Idea of the Perfect Terminal-Server Infrastructure. Click to download the PDF." src="/~devilx/blog/linux-terminalserver-idea.png" alt="My Idea of the Perfect Terminal-Server Infrastructure. Click to download the PDF." width="300" height="424" /></a><p class="wp-caption-text">My Idea of the Perfect Terminal-Server Infrastructure. Click to download the PDF.</p></div>
<p>Some time ago I was involved in a project at work that made me think a bit about the infrastructure companies use and how they could look like, in a perfect world. It became clear, that many companies tried and still try to move their infrastructure to free software &#8211; modern web-services with Apache and Mono, virtualization with Xen (at least before Citrix was there), desktop-virtualization with VirtualBo&#8230;errr.. Sun&#8217;s xVM, and so on. Unfortunatelly, these things actually do not bring many advantages to the end-user but maybe giving them a better feeling because of not-throwing monopolists the company&#8217;s money into their throats. The fact is, that the low-brow-user doesn&#8217;t really care or even see whether there&#8217;s a KVM or a VMware running as host for the server he&#8217;s just working on. So, how about bringing free software to the enterprise desktop? I&#8217;m not talking about buying a SLED license-box. I&#8217;m talking of opensource service on which end-users can actually do their daily work.</p>
<p>Correct me if I should be wrong, but as far as I noticed nowadays Citrix is one of the widest spread solutions when it comes to terminal-servers &#8211; how should it be else as inventor of the Independent Computing Architecture. And of course, there are good reasons why Citrix covers the market in that area: it is a great product which allows many different users to work at the same time on one (or more) Windows Servers and, besides of that, also supports redundancy &#8211; what is the non-plus-ultra when it comes to enterprise. And in theory, everything works out great with no SPF (<em>Single Point of Failure</em>) and the highly compressed ICA protocol allows comfortable working, even over thin lines. Though, in practice, it doesn&#8217;t work out as smooth as it&#8217;s read in the brochure. For example, I don&#8217;t like how redundancy is being solved in the ICA/Citrix Terminal-Server solutions. In my opinion, the client&#8217;s configuration is not the place to store what terminal-servers are available, and it should not be left to the client to decide to which it connects. As soon as you slacken your infrastructure and allow employees to connect using clients on their own managed workstations, you lose control about the redundancy configuration and what is more important, you also lose control about load-balancing. When an employee only configures one terminal-server, the client will always connect to this one, regardless whether it&#8217;s fully crowded while the second one is twirling one&#8217;s thumbs.</p>
<p>Besides, I find it pretty hard to administer two or more <strong>identical</strong> Windows Servers, since the installation-routines of each tiny little software under Windows works in a different way than the others before. You can&#8217;t just <a title="Keyboardcast" href="https://launchpad.net/keyboardcast" target="_blank">Keyboardcast</a> each installation-command to each of the two (or how many Terminal-Servers are being used) Servers and verify that everything installed fine afterwards. I&#8217;m not saying that a Unix or a Linux is the perfect Terminal-Server, but in my opinion a Windows is really hard to manage &#8211; and more than one are a disaster. Of course, there are tools and services which provide you the feature of distributing a software onto many windows machines &#8220;<em>with one click</em>&#8220;, but usualy they require some pre-configuration and testing, until it works out really smooth. What, in the end, costs more time (and by that also money) than just executing the according <em>aptitude</em>, <em>zypper</em> or <em>yum</em> command on each of the <em>&lt;variable&gt;</em> servers.</p>
<p>My idea was, to set up the whole terminal-server infrastructure that&#8217;s usually provided by some Citrix Metaserver Product (or whatever) using simple and free tools. In this example, I based the whole scenario on Linux as server system and <a title="NoMachine" href="http://www.nomachine.com" target="_blank">NoMachine</a> as desktop protocol. In my opinion, NoMachine isn&#8217;t perfect (in no way, never), but it definitely is the best opensource-equivalent to ICA that&#8217;s available nowadays.<br />
Unfortunately, you can&#8217;t make up an enterprise-ready terminal-server solution just by taking these two (Linux, NoMachine) products and throw them together. For example, the setup would be totally missing the one thing I just complained about before at Citrix&#8217;s solution: Redundancy. NoMachine (short, <em>NX</em>) itself is no terminal-server solution, just to clearify that. And it&#8217;s not described like that anywhere. NX provides remote desktop access over very thin lines with comfortable quality and speed. Period. And this explains why the redundancy of NX is quite limited. But let&#8217;s go into greater detail:</p>
<p>When a NX Client connects to a remote desktop, the machine running that desktop usually contains of three core services: One NX Server, one NX Node and one SSH daemon. The Client connects to the SSH daemon using a special NX-user and the SSH key that has been exchanged at the installation. From there, it authenticates against the NX Server using the credentials passed to the NX Client. If the authentication succeeds, the NX Server then forwards the connection to the NX Node, which does the actual desktop management (starting the GNOME or whatever desktop and transmitting the information to the client, etc.).<br />
NoMachine now supports the nice feature of redundancy and load-balancing between the NX Server and the NX Node(s). For example, you could outsource the NX Node service on another machine, then clone that machine (of course, change things like the IP, Hostname, etc.) and afterwards configure the NX Server to forward connections to the newly created NX Node-Machines. The NX Server then decides where each client connects to, by paying attention to the load of each node and periodically checking its availabillity. So, if node A would already run one connection, the NX Server would send the second incoming client to node B. If node A would break down, the Server would notice that and send newly incoming connection only to node B, until it &#8220;sees&#8221; node A online again.</p>
<p>Now, with these informations in mind we could already create a very simplistic Linux/NoMachine Terminal-Server. But, as I was saying before, we would be missing full redudancy. In the described scenario, the NX Server would be our SPF, and we could not change that since the NoMachine configuration doesn&#8217;t provide such a feature. It would not even be possible to provide it &#8211; unless we add one more service in between the client and the server. And this is what I&#8217;ve done in the scenario I made up (see the picture, click to download the PDF). I called that service the &#8220;Rendezvous NoMachine Proxy&#8221;, because it uses the zeroconf services to communicate with the clients. Like I said at Citrix&#8217;s solution before, I don&#8217;t like configuring the available terminal-server statically within each client &#8211; of course, it doesn&#8217;t bring complexity, but it brings many other disadvantages. However, the <em>RNP</em> would contain a list of all available NX Servers and be able to dynamically decide whether a client is allowed to connect to one specific server or not (-&gt; implementation of simple ACLs). The clients would use Zeroconf to find all available RNP servers and randomly take one to ask for an NX Server to connect to. The RNP would then check the NX Servers&#8217; statuses and by that decided which server to return to the client. The client would then continue the regular procedure of authenticating against the NX Server and pass over to the NX Node, if successful.</p>
<p>But what are the actual advantages of this idea? Okay, to summarize them up: First of all, the whole solution would have complete redundancy. Each service would be available two or more times. The second advantage of this built-up is, that by using an extra service (RNP), the NoMachine software itself doesn&#8217;t need to be modified or even rewritten. The only modification that&#8217;s needed to be done would affect the NX Client. Instead of just connecting to the IP given in the configured session, the client would need to ask for an NX Server IP through the RNP before the regular login procedure could be started. And this would just need a hook and no modification of the whole client that would make it unmaintainable. The NX Node/Server components already provide configurable hooks for scripts that get executed before the actual connection starts, so it should not take more than a feature-request for that to get implement into the client, too.<br />
However, another big advantage would be the centalization of the actual remote desktop services and the outsource-abillity of the clients. For example, the NX Servers and Nodes would be located centrally at a datacenter, while the clients could be located in many different places, subdivided in little groups. At each place at least two RNPs should be running, which check where the clients are allowed to connect to. So, to visualize the scenario a bit: The group sitting in Boston is responsible for development. A Client wants to connect and asks one RNP for a NX Server address. The RNP then notices that it&#8217;s a developer who requests a NX Session, so he will look up his ACL and summarize the NX Server to which a developer is allowed to connect. Then, the RNP checks the NX Servers&#8217; statuses and returns a session-configuration to the client which is then used to connect.<br />
From the group based in Miami and responsible for finances, some employee requests a terminal-server session. Again, the RNP there looks up what NX Servers are configured and where the guy&#8217;s allowed to connect to and returns the session-configuration.</p>
<p>There are many more advantages of such a built-up. To detail each would take me too much time and just flood this Blog entry, heh.</p>
<p>At last but not least, there&#8217;s one part I didn&#8217;t mention up to now: The &#8220;Internet&#8221;-area displayed in the PDF. That one contains of two Citrix Windows Terminal-Servers. Now you might be asking.. <em>wtf? I thought we wanted to opensource and crap?!</em>&#8230; well. In a perfect world, the last portion of the document wouldn&#8217;t be needed. But in real life, Windows is an important part and in the majority of cases it can&#8217;t be just be cut out of the infrastructure. As long as companies need to work with solutions like SAP or other Windows-Only software it is not possible to get rid of it. And this would be the only neat possibility of combining both worlds, in my opinion.</p>
<p>However, feel free to comment on my idea, improve and even try to implement it. I would really like to see this (or something similar) working someday. It shouldn&#8217;t be pretty hard to build the needed service and make the modifications needed for this to work. <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/08/14/the-perfect-infrastructure/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Headhunting fun&#8230;</title>
		<link>http://devilx.net/2008/06/28/headhunting-fun/</link>
		<comments>http://devilx.net/2008/06/28/headhunting-fun/#comments</comments>
		<pubDate>Sat, 28 Jun 2008 10:38:40 +0000</pubDate>
		<dc:creator>Marius</dc:creator>
				<category><![CDATA[Fun]]></category>
		<category><![CDATA[Life itself]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[E-Mail]]></category>
		<category><![CDATA[Headhunter]]></category>
		<category><![CDATA[Job]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Offer]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[Spam]]></category>
		<category><![CDATA[Sun]]></category>
		<category><![CDATA[XING]]></category>

		<guid isPermaLink="false">http://www.devilx.net/?p=432</guid>
		<description><![CDATA[So, after I received a mail from a Headhunter at Microsoft some time ago, I now also got one from an Talent ï»¿Acquisition at Sun Microsystems. He didn&#8217;t wrote me an E-Mail because he found my E-Mail address in some &#8230; <a href="http://devilx.net/2008/06/28/headhunting-fun/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>So, after I received a mail from a Headhunter at Microsoft some time ago, I now also got one from an Talent ï»¿Acquisition at Sun Microsystems. He didn&#8217;t wrote me an E-Mail because he found my E-Mail address in some source-codes he looked up on the internet, like Microsoft did. Instead he added me as a Xing contact and entered as reason that Sun is searching for IT Specialist for all kind of software engineering positions. He asked me to add him as contact and to send him my CV.</p>
<p>Okay, so actually this kind of stuff is nice. It makes me glad to see that the work I&#8217;m doing in OpenSource really benefits to myself in a way. Though, I don&#8217;t really like the way this whole Headhunting thing is being performed. Sometimes I even feel a bit insulted by the texts I receive, because they are all looking pretty much like they would be automatically generated by some tool and sent to me plus one thousand other people. When I receive such a mail I at least expect to know why the guy&#8217;s writing me? Where did he got the information about me and what&#8217;s his reason for offering me a job possibility? Because the first thing I&#8217;m thinking when receiving such mails is <em>&#8220;oh crap, spam again&#8230;&#8221;</em> &#8211; it just looks like every other mass-mail, what makes it pretty senseless. I personally would like to know whether I have been getting that mail because I did/have something they are interessted in or just because I <em>&#8220;might have a nice CV and knowledge that could be useful to them&#8221;</em>. The point is, that I&#8217;m not a fan of sending my CV through the whole internet for nothing &#8211; if I would want to do that I would apply myself for a job at these companies.</p>
<p>However, I think that these Headhunting people would have more success if they would inform themselves a bit more about their <em>targets</em> and maybe would personalize their request. But still, it&#8217;s always fun to read these kind of E-Mails, heh. <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/06/28/headhunting-fun/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>And a bit more Do!ng &#8230;</title>
		<link>http://devilx.net/2008/05/20/and-a-bit-more-dong/</link>
		<comments>http://devilx.net/2008/05/20/and-a-bit-more-dong/#comments</comments>
		<pubDate>Tue, 20 May 2008 17:03:33 +0000</pubDate>
		<dc:creator>Marius</dc:creator>
				<category><![CDATA[Linux and stuff ...]]></category>
		<category><![CDATA[New & Cool]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Cool]]></category>
		<category><![CDATA[Do!]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[GTK]]></category>
		<category><![CDATA[Hacking]]></category>
		<category><![CDATA[Last-Exit]]></category>
		<category><![CDATA[Last.fm]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mono]]></category>
		<category><![CDATA[MonoDevelop]]></category>
		<category><![CDATA[New]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[Plugins]]></category>

		<guid isPermaLink="false">http://www.devilx.net/?p=419</guid>
		<description><![CDATA[It&#8217;s really fun hacking on plugins for GNOME Do! &#8211; especially because of the little development and debbuging time needed. THIS is what RAD is actually about, heh. Yes, you&#8217;re thinking right: Yet another set of new plugins for GNOME &#8230; <a href="http://devilx.net/2008/05/20/and-a-bit-more-dong/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" style="float: right;" src="http://www.devilx.net/projects/do-plugins/do-lastexit.png" alt="Last-Exit Plugin" />It&#8217;s really fun hacking on plugins for GNOME Do! &#8211; especially because of the little development and debbuging time needed. THIS is what RAD is actually about, heh. Yes, you&#8217;re thinking right: Yet another set of new plugins for GNOME Do!. I think I might be getting addicted to this, but whatever.<br />
My fifth plugin (the Do! Last-Exit Plugin) provides the possibility to enter a recently played Tag Radio Station (e.g. &#8220;house&#8221; or &#8220;tech-house&#8221;) and make Last-Exit play it. And of course you can also enter a new Tag, like &#8220;rock&#8221; or &#8220;pop&#8221; (who ever would want to listen to that) and launch Last-Exit playing that stream. The only problem is, that Last-Exit doesn&#8217;t change the Radio-Combobox, what could make you think that my Do! Plugin doesn&#8217;t work proper. But I&#8217;ve already <a title="Bug 534051" href="https://bugzilla.gnome.org/show_bug.cgi?id=534051" target="_blank">filed a bug</a> on this. <img src='http://devilx.net/wp-content/plugins/smilies-themer/Riceballs/smile.png' alt=':-)' class='wp-smiley' /> <br />
<img class="alignleft" style="float: left;" src="http://www.devilx.net/projects/do-plugins/do-monodevelop.png" alt="MonoDevelop Plugin" /> However, the sixth Plugin (the MonoDevelop Plugin) scans your ~/Projects/ directory for projects containing MonoDevelop Solution files (.mds) and adds them to GNOME Do!&#8217;s buzzword-container. To be more precise: Let&#8217;s say, that you created a project called &#8220;TwinkyWinky&#8221;. Then, you would have the folder named ~/Projects/TwinkyWinky and a file named ~/Projects/TwinkyWinky/TwinkyWinky.mds. My GNOME Do! plugin now recognizes it and adds it to the list of buzzwords. When you now open Do! and start typing &#8220;Twink&#8230;&#8221; your project&#8217;s name should appear and it should be possible for you now to open it with only one keypress.<br />
However, I&#8217;ve uploaded both plugins as source and as Debian packages to my GNOME Do! Plugins site. And, oh yeah, if you are wondering how the hell to compile the sources yourself:<br />
<code><br />
gmcs -target:library -r:System -r:Mono.Posix -r:/usr/lib/gnome-do/Do.Addins ./*.cs -out:./[pluginname].dll<br />
</code><br />
Feel free to download them and give me feedback. Maybe I should handicraft myself some &#8220;Will code GNOME Do! plugins for food&#8221;-sign. Hm&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://devilx.net/2008/05/20/and-a-bit-more-dong/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>More to Do!&#8230;</title>
		<link>http://devilx.net/2008/05/19/more-to-do-2/</link>
		<comments>http://devilx.net/2008/05/19/more-to-do-2/#comments</comments>
		<pubDate>Mon, 19 May 2008 16:39:21 +0000</pubDate>
		<dc:creator>Marius</dc:creator>
				<category><![CDATA[Linux and stuff ...]]></category>
		<category><![CDATA[New & Cool]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Cool]]></category>
		<category><![CDATA[Devhelp]]></category>
		<category><![CDATA[Do!]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[GTK]]></category>
		<category><![CDATA[Hacking]]></category>
		<category><![CDATA[Liferea]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mono]]></category>
		<category><![CDATA[New]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Project]]></category>
		<category><![CDATA[Release]]></category>

		<guid isPermaLink="false">http://www.devilx.net/?p=417</guid>
		<description><![CDATA[So, after I&#8217;ve published my first two GNOME Do! Plugins I&#8217;ve already hacked and release my thrid and fourth plugin. The one is an Add-On for looking up function names using Devhelp and the second one provides subscribing to newsfeeds &#8230; <a href="http://devilx.net/2008/05/19/more-to-do-2/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>So, after I&#8217;ve published my first two GNOME Do! Plugins I&#8217;ve already hacked and release my thrid and fourth plugin. <img src='http://devilx.net/wp-content/plugins/smilies-themer/Riceballs/smile.png' alt=':-)' class='wp-smiley' /> The one is an Add-On for looking up function names using Devhelp and the second one provides subscribing to newsfeeds by entering the feed URL or displaying a feed&#8217;s site by entering its name. Now I&#8217;m actually thinking about a way for implementing a <a title="Dine-O-Matic" href="http://iconfactory.com/software/dineomatic" target="_blank">Dine-O-Matic</a>, though I don&#8217;t really know whether Do! supports the features that would be needed. I&#8217;m thinking of something like entering a buzzword like &#8220;pizza&#8221;, &#8220;pasta&#8221; or &#8220;sushi&#8221; and automatically receive a list of where you might find that for lunch. The first problem is actually getting that list. Either the user would have to manually configure it, or I would need some service on the web that could return me a list (XML) of restaurants found by certain criteria. Actuallly the last option would be pretty cool, but unfortunatelly I don&#8217;t know such an (internationalized) service. The only site I would know for finding cool places here in Germany would be Prinz.de, but they don&#8217;t seems to have any XML-Interface for receiving the data. So everything I could actually do would be to launch a web-browser and open the search URL to which I&#8217;d append the buzzword the user entered. But that is uncool. Besides, a co-worker told me that it&#8217;s possible to define own search-engines in Epiphany by saving the URL as bookmark and add a %s at that point at which Epiphany should enter the text typed into the address-bar. What actually is easier than writing or even installing a Do! Plugin. Hum.<br />
Well, however, you can download the two new Plugins from <a title="GNOME Do! Plugins" href="http://www.devilx.net/?page_id=414" target="_self">my Project site</a>. Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://devilx.net/2008/05/19/more-to-do-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fancy Plugins for GNOME Do!</title>
		<link>http://devilx.net/2008/05/19/fancy-plugins-for-gnome-do/</link>
		<comments>http://devilx.net/2008/05/19/fancy-plugins-for-gnome-do/#comments</comments>
		<pubDate>Mon, 19 May 2008 09:10:53 +0000</pubDate>
		<dc:creator>Marius</dc:creator>
				<category><![CDATA[Linux and stuff ...]]></category>
		<category><![CDATA[New & Cool]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Cool]]></category>
		<category><![CDATA[Desktop]]></category>
		<category><![CDATA[Do!]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[GTK]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mono]]></category>
		<category><![CDATA[New]]></category>
		<category><![CDATA[NoMachine]]></category>
		<category><![CDATA[NX]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Project]]></category>
		<category><![CDATA[Wiki]]></category>

		<guid isPermaLink="false">http://www.devilx.net/?p=415</guid>
		<description><![CDATA[This weeked I had some time for playing around on my computer, since the weather wasn&#8217;t actually worth going out. I did some stuff on my SLES with Zimbra, I wanted to try it out but actually the LDAP configuration &#8230; <a href="http://devilx.net/2008/05/19/fancy-plugins-for-gnome-do/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>This weeked I had some time for playing around on my computer, since the weather wasn&#8217;t actually worth going out. I did some stuff on my SLES with Zimbra, I wanted to try it out but actually the LDAP configuration really pissed me off. While configuring the whole thing I had to reconnect a couple of times to the NoMachine server on my SLES and found it annying to always start the client, select the correct session, enter the password and press the &#8220;Connect&#8221;-button. So, I checked out the Do!-Plugins from Bazaar and took a quick look at the SSH plugin. Actually it had exactly the functionallity I was searching for, what made me copy the code, modify it a bit and by that create an NoMachine Client plugin for GNOME Do!. I don&#8217;t really know Do!&#8217;s Plugin-API, but while hacking on the SSH plugin I learned a bit about that. I modified the sources so that my Plugin now gets all .nxs-Files in the ~/.nx/config/-directory and registers these names to Do!. Only the names. Not the path. However, by that it is now possible to enter the name of an existing NoMachine-Session and launch it by pressing the enter button. <img src='http://devilx.net/wp-content/plugins/smilies-themer/Riceballs/smile.png' alt=':-)' class='wp-smiley' /> <br />
After I got this plugin working, I practiced a bit more. I thought, that it would be cool and pretty easy (since the plugin&#8217;s code would look very much the same) to write a plugin that parses your Zim DesktopWiki Notebooks so that you could open a Notebook by just typing its name (again, its name, not the whole path) into Do! and pressing the enter button. And, well&#8230; so I did.<br />
Anyhow, to cut this story off: I created a Project-page for my GNOME Do!-Plugins (not that it would be worth to do that for two tiny whiny plugins, but I&#8217;m sure I will write some more) from which you can either download the Debian packages containing the binaries or the sources.<br />
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/2008/05/19/fancy-plugins-for-gnome-do/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>REX: More Hacking &#8230;</title>
		<link>http://devilx.net/2008/05/12/rex-more-hacking/</link>
		<comments>http://devilx.net/2008/05/12/rex-more-hacking/#comments</comments>
		<pubDate>Mon, 12 May 2008 22:21:25 +0000</pubDate>
		<dc:creator>Marius</dc:creator>
				<category><![CDATA[Automobiles]]></category>
		<category><![CDATA[Linux and stuff ...]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Car]]></category>
		<category><![CDATA[Cool]]></category>
		<category><![CDATA[Entertainment]]></category>
		<category><![CDATA[GTK]]></category>
		<category><![CDATA[Hacking]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mono]]></category>
		<category><![CDATA[Multimedia]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[Project]]></category>
		<category><![CDATA[REX]]></category>
		<category><![CDATA[System]]></category>

		<guid isPermaLink="false">http://www.devilx.net/?p=411</guid>
		<description><![CDATA[Today I continued hacking on REX and implementing some new stuff. The most significant feature is the implementation of &#8220;Bluetooth&#8221;. Actually the button only launches Blueman, which then can be used to configure audio in- and output via Bluetooth. Besides &#8230; <a href="http://devilx.net/2008/05/12/rex-more-hacking/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a title="REX" href="http://picasaweb.google.com/0x0090/ProjectREX/photo#5199614066286298546" target="_blank"><img class="alignleft" style="float: left;" src="http://lh4.ggpht.com/0x0090/SCi9cc4ehbI/AAAAAAAABBs/MQj-f_6UGYk/s144/rex-hacking.png" alt="REX" width="144" height="111" /></a>Today I continued hacking on REX and implementing some new stuff. The most significant feature is the implementation of &#8220;Bluetooth&#8221;. Actually the button only launches Blueman, which then can be used to configure audio in- and output via Bluetooth. Besides this, REX now contains of a configuration based on GConf which allows specifying the media device, the UMTS device, whether device checks should be done and if Bluetooth should be activated. By activating media checks, REX checks periodically if a playable media has been inserted into the media-drive and automatically launches Totem if so. By activating UMTS REX also checks whether the UMTS card is available. As soon as the device gets ready, REX then tries to establish a PPP connection using the peers-script &#8220;umts-rex&#8221;. After this has been done REX starts checking from time to time if the PPP connection is still alive &#8211; if not, it re-establishes it again. All these checks are being visualized by displaying or hiding specific icons on the upper left screen-corner. Depending on whether a device has been found/is being used the according icon appears.<br />
The UMTS checks are implemented quite ok, unlike the media checks. These will be done by trying to copy one byte from the media-device (/dev/&#8230;) to a file in /tmp/ using dd. I actually wanted it to be done by using HAL/DBus, but since there is no libhal-sharp assembly available (what causes every software to implement that thing by itself) and the DBus interface is as good as undocumented (I hate ndesk, argh) I actually fell back to &#8220;poor-man&#8217;s HAL&#8221;. As soon as there will be some good documented assembly for monitoring if a media (CD/DVD) has been inserted into a specific drive, I will use it.<br />
Now I&#8217;m actually trying to implement the configuration dialog for the new GConf-backend, though I don&#8217;t really know where to put the button for opening it. Besides, on the configuration interface I&#8217;ll again need to embed the Matchbox-Keyboard, to provide the user the possibility to type something, I guess. Or maybe I&#8217;ll just use File-Selectors and Spinboxes. I&#8217;ll see.<br />
However, as soon as I&#8217;ve completely implemented the Blueman stuff and the configuration I guess I&#8217;ll release REX 0.2. Stay tuned. <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/05/12/rex-more-hacking/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>REX: Found some Hardware &amp; some new Ideas</title>
		<link>http://devilx.net/2008/05/12/rex-found-some-hardwares-some-new-ideas/</link>
		<comments>http://devilx.net/2008/05/12/rex-found-some-hardwares-some-new-ideas/#comments</comments>
		<pubDate>Mon, 12 May 2008 12:35:30 +0000</pubDate>
		<dc:creator>Marius</dc:creator>
				<category><![CDATA[Automobiles]]></category>
		<category><![CDATA[Hot Gear]]></category>
		<category><![CDATA[Linux and stuff ...]]></category>
		<category><![CDATA[New & Cool]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Car]]></category>
		<category><![CDATA[Entertainment]]></category>
		<category><![CDATA[GPS]]></category>
		<category><![CDATA[GTK]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Ideas]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mono]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[Project]]></category>
		<category><![CDATA[REX]]></category>
		<category><![CDATA[System]]></category>

		<guid isPermaLink="false">http://www.devilx.net/?p=410</guid>
		<description><![CDATA[In the past few days I was searching a bit for the hardware needed to set up REX in my car and I&#8217;ve found some things. First of all I borrowed the external Plextor PX-608CU from work and tested it &#8230; <a href="http://devilx.net/2008/05/12/rex-found-some-hardwares-some-new-ideas/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" style="float: right;" src="http://www.devilx.net/~devilx/blog/rex-logo.png" alt="REX" width="262" height="107" />In the past few days I was searching a bit for the hardware needed to set up REX in my car and I&#8217;ve found some things. First of all I borrowed the external Plextor PX-608CU from work and tested it out a bit. It seems to be working pretty cool, the only disadvantage is the fact that it&#8217;s a toploader. But Plextor also provides another drive, the PX-608AL which is exactly what I&#8217;m actually searching for. Besides, I took a quick look at Intel&#8217;s website and found a nice motherboard, the <a title="DG33TL" href="http://www.intel.com/cd/products/services/emea/deu/359388.htm" target="_blank">DG33TL</a>. It&#8217;s a micro-ATX mainboard especially for multimedia usage and it supports different kind of CPUs. Besides it provides twelve USB 2.0 sockets which should be more than enough for the Plextor (two USB sockets, one for data/power-supply and one for additional power-supply) and a USB-UMTS datacard.</p>
<p>However, I&#8217;ve also been thinking of some new stuff I could implement into REX and had a nice idea regarding the output-volume. A microphone could be connected to the mainboard and placed somehwere in the center. This microphone records the sound and compares the signal-line with the one of the audio that is just being played. Depending on the grade of differences it could then automatically increase the output-volume to reach a acceptable signal-strength again. I got this idea when I became pretty annoyed of the fact that everytime when I open my window while driving I can&#8217;t hear the music anymore, especially when driving fast. By this feature REX would automatically adapt the sound to the actual soundscape. I don&#8217;t know how hard it is to implement this feature, since I&#8217;ve never done anything like sound-analytics in programming before, but I&#8217;ll find out soon.</p>
<p>Btw: And still I&#8217;m searching for some Map/Navigation software for Linux. It is pissing me off that nothing useful exists. I&#8217;ve found a project on BerliOS called <a title="Navit" href="http://www.navit-project.org/" target="_blank">Navit</a>, but it doesn&#8217;t seem to be pretty far right now.</p>
]]></content:encoded>
			<wfw:commentRss>http://devilx.net/2008/05/12/rex-found-some-hardwares-some-new-ideas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>REX: Found some Hardware &amp; some new Ideas</title>
		<link>http://devilx.net/2008/05/12/rex-found-some-hardwares-some-new-ideas-2/</link>
		<comments>http://devilx.net/2008/05/12/rex-found-some-hardwares-some-new-ideas-2/#comments</comments>
		<pubDate>Mon, 12 May 2008 12:35:30 +0000</pubDate>
		<dc:creator>Marius</dc:creator>
				<category><![CDATA[Automobiles]]></category>
		<category><![CDATA[Hot Gear]]></category>
		<category><![CDATA[Linux and stuff ...]]></category>
		<category><![CDATA[New & Cool]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Car]]></category>
		<category><![CDATA[Entertainment]]></category>
		<category><![CDATA[GPS]]></category>
		<category><![CDATA[GTK]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Ideas]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mono]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[Project]]></category>
		<category><![CDATA[REX]]></category>
		<category><![CDATA[System]]></category>

		<guid isPermaLink="false">http://www.devilx.net/?p=410</guid>
		<description><![CDATA[In the past few days I was searching a bit for the hardware needed to set up REX in my car and I&#8217;ve found some things. First of all I borrowed the external Plextor PX-608CU from work and tested it &#8230; <a href="http://devilx.net/2008/05/12/rex-found-some-hardwares-some-new-ideas-2/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" style="float: right;" src="http://www.devilx.net/~devilx/blog/rex-logo.png" alt="REX" width="262" height="107" />In the past few days I was searching a bit for the hardware needed to set up REX in my car and I&#8217;ve found some things. First of all I borrowed the external Plextor PX-608CU from work and tested it out a bit. It seems to be working pretty cool, the only disadvantage is the fact that it&#8217;s a toploader. But Plextor also provides another drive, the PX-608AL which is exactly what I&#8217;m actually searching for. Besides, I took a quick look at Intel&#8217;s website and found a nice motherboard, the <a title="DG33TL" href="http://www.intel.com/cd/products/services/emea/deu/359388.htm" target="_blank">DG33TL</a>. It&#8217;s a micro-ATX mainboard especially for multimedia usage and it supports different kind of CPUs. Besides it provides twelve USB 2.0 sockets which should be more than enough for the Plextor (two USB sockets, one for data/power-supply and one for additional power-supply) and a USB-UMTS datacard.</p>
<p>However, I&#8217;ve also been thinking of some new stuff I could implement into REX and had a nice idea regarding the output-volume. A microphone could be connected to the mainboard and placed somehwere in the center. This microphone records the sound and compares the signal-line with the one of the audio that is just being played. Depending on the grade of differences it could then automatically increase the output-volume to reach a acceptable signal-strength again. I got this idea when I became pretty annoyed of the fact that everytime when I open my window while driving I can&#8217;t hear the music anymore, especially when driving fast. By this feature REX would automatically adapt the sound to the actual soundscape. I don&#8217;t know how hard it is to implement this feature, since I&#8217;ve never done anything like sound-analytics in programming before, but I&#8217;ll find out soon.</p>
<p>Btw: And still I&#8217;m searching for some Map/Navigation software for Linux. It is pissing me off that nothing useful exists. I&#8217;ve found a project on BerliOS called <a title="Navit" href="http://www.navit-project.org/" target="_blank">Navit</a>, but it doesn&#8217;t seem to be pretty far right now.</p>
]]></content:encoded>
			<wfw:commentRss>http://devilx.net/2008/05/12/rex-found-some-hardwares-some-new-ideas-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>REX: Sources Released!</title>
		<link>http://devilx.net/2008/05/07/rex-sources-released/</link>
		<comments>http://devilx.net/2008/05/07/rex-sources-released/#comments</comments>
		<pubDate>Wed, 07 May 2008 11:20:50 +0000</pubDate>
		<dc:creator>Marius</dc:creator>
				<category><![CDATA[Linux and stuff ...]]></category>
		<category><![CDATA[New & Cool]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Car]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Entertainment]]></category>
		<category><![CDATA[GTK]]></category>
		<category><![CDATA[Hacking]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mono]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[Project]]></category>
		<category><![CDATA[Release]]></category>
		<category><![CDATA[REX]]></category>
		<category><![CDATA[Source]]></category>
		<category><![CDATA[System]]></category>

		<guid isPermaLink="false">http://www.devilx.net/?p=408</guid>
		<description><![CDATA[Just a little info: I finally managed to release the sources (MonoDevelop project) for my REX User-Interface software. You can now find them in version 0.1 on the REX Project-Page. Enjoy!]]></description>
			<content:encoded><![CDATA[<p>Just a little info: I finally managed to release the sources (MonoDevelop project) for my REX User-Interface software. You can now find them in version 0.1 on the <a title="REX" href="http://rex.devilx.net" target="_self">REX Project-Page</a>. 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/2008/05/07/rex-sources-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

