<?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>Geekhouse</title>
	<atom:link href="http://www.miraclegeekhouse.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.miraclegeekhouse.com</link>
	<description>Made by geeks, for geeks</description>
	<lastBuildDate>Thu, 29 Apr 2010 22:01:52 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>The Desk that needed Help ! (or, Power to the People)</title>
		<link>http://www.miraclegeekhouse.com/?p=97</link>
		<comments>http://www.miraclegeekhouse.com/?p=97#comments</comments>
		<pubDate>Thu, 29 Apr 2010 22:01:52 +0000</pubDate>
		<dc:creator>Tommy Dejbjerg Pedersen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.miraclegeekhouse.com/?p=97</guid>
		<description><![CDATA[I have always thought that I was a bit stupid with my view on what drives collaboration between companies, feeling that, it should always ALWAYS boil down to PEOPLE!
Being in large companies who put a heavy emphasis on organization, procedures and strict division of labor, I felt odd thinking that what was really important was [...]]]></description>
			<content:encoded><![CDATA[<p>I have always thought that I was a bit stupid with my view on what drives collaboration between companies, feeling that, it should always ALWAYS boil down to PEOPLE!</p>
<p>Being in large companies who put a heavy emphasis on organization, procedures and strict division of labor, I felt odd thinking that what was really important was RELATIONS !</p>
<p><br/></p>
<p><em>&#8220;Yes you&#8217;re older now, and you are a clever swine,<br />
but they were the only ones who ever stood by you&#8221;<br />
(all rights reserved by The Smiths, nineteeneightysomething&#8230;)</em></p>
<p><br/><br />
While The Smiths were referring to songs as the ones who &#8220;stood by you&#8221; (which IS true), the people you met and created relations to WERE the only ones who stood by you and &#8211; more importantly &#8211; NOTHING is as important as the people and relations you make with them for your future progress in life&#8230;</p>
<p>Climbing down from the visionary tower for a minute <img src='http://www.miraclegeekhouse.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  &#8230;.this just happened to me recently:</p>
<p>I&#8217;m working for a customer who needs to integrate to a system running at the Danish Tax administration (let&#8217;s just call them TAX from now on, although their danish name SKAT really is synomonous with DARLING, which is SO wrong <img src='http://www.miraclegeekhouse.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  ).</p>
<p>Tax has some web services for getting data about the employments and wages registered for each danish citizen.<br />
These services are implemented by KMD (a joint service provider for all danish municipalities) and I was having some trouble integrating to the services.<br />
I just got back an error id (XYZ999666333), which meant NOTHING to me&#8230;and so I called the technical helpdesk at KMD to get some support&#8230;</p>
<p>Now, KMD didn&#8217;t have any idea about having any tax systems running in their company.<br />
They didn&#8217;t even now that they have lots of developers working on tax systems, because then they ought to have put me through to these people, right ?</p>
<p>So I got the famous reply: Can I call you back ??<br />
Me: (Sigh)&#8230;I guess so..my number is&#8230;</p>
<p>1 day passed&#8230;<br />
2 days passed&#8230;.<br />
3 days passed<br />
&#8230;..<br />
6 (SIX!!!) days passed and not a sound, not a reply from them just stating the obvious: &#8220;We don&#8217;t know diddly squat about that system&#8221;&#8230;.</p>
<p><br/><br />
<strong>Power to the people&#8230;</strong></p>
<p>So. What to do? I&#8217;m left with the mysterious id XYZ999666333, no help from the IT company who implemented the service and a deadline hanging over my head&#8230;</p>
<p>I grabbed my email address book and found two former colleagues who I knew now worked at KMD developing systems for TAX !<br />
1 minute passed&#8230;<br />
2 minutes passed&#8230;<br />
3 minutes passed&#8230;.and now one of these guys popped up in my chat window giving me details on who to get in touch with.</p>
<p>3 (THREE!) minutes, and I had an email on the guy who KNEW about the systems and was able to help me&#8230;</p>
<p>Now, I put a lot of energy into building relations, nursing the relations and talking to people, socializing and helping them in various ways&#8230;<br />
Or simply just saying &#8220;Hi, how are you&#8221; once in a while&#8230;</p>
<p>As a result &#8211; my relations is what fuels my collaborative efforts, my knowledge and &#8211; eventually &#8211; my career.</p>
<p>Companies, departments and all sorts of &#8220;managers&#8221; are often the noise that gets between you and the people you need to reach to get something to work&#8230;</p>
<p>And as for the technical helpdesk &#8211; just say no !<br />
It&#8217;s a collection of people who smeared out their knowledge of systems and technologies so thinly that there&#8217;s no substance left.<br />
And &#8211; apparently &#8211; they are not even in possesion of the company phonebook&#8230;I think in time, you&#8217;ll have a better chance of getting hold of people on Twitter and other places, than calling their company and asking for them!</p>
<p><br/><br />
<strong>So dear TAX and all other customers:</strong><br />
Next time you buy a system from a big vendor &#8211; make sure to get the phone numbers and emails addresses of the people who actually <strong>know</strong> something&#8230;<strong>these</strong> are the people you want build relations to !!!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.miraclegeekhouse.com/?feed=rss2&amp;p=97</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Why Android is cool</title>
		<link>http://www.miraclegeekhouse.com/?p=79</link>
		<comments>http://www.miraclegeekhouse.com/?p=79#comments</comments>
		<pubDate>Fri, 27 Nov 2009 22:09:08 +0000</pubDate>
		<dc:creator>Tommy Dejbjerg Pedersen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.miraclegeekhouse.com/?p=79</guid>
		<description><![CDATA[These days I&#8217;m bumping in to a LOT of people using iPhones and loving them. The most happy iPhone users are the ones who have jailbroken their phones and now are able to stream live video recording and to access stuff that was locked down on their phone to begin with.
One of the things that [...]]]></description>
			<content:encoded><![CDATA[<p>These days I&#8217;m bumping in to a LOT of people using iPhones and loving them. The most happy iPhone users are the ones who have jailbroken their phones and now are able to stream live video recording and to access stuff that was locked down on their phone to begin with.</p>
<p>One of the things that they still envy Android users for is the high degree of pluggability that allows Android developers access to phone services such as the ability to react to an incoming call on the phone.</p>
<p><a href="http://joppefan.net/page2/page2.html" target="_blank">LookupIncomingCall</a> is an Android application that uses this feature to look up names for any incoming call on the yellow pages of some countries.<br />
When a new call is received the application simply does a lookup on a national yellow pages service and returns the name of the caller if found.<br />
This is a very handy application to add to your phone and in the current version (1.6) it supports a number of yellow page listings in the US, Sweden, Germany and Denmark.</p>
<p><img src="http://www.miraclegeekhouse.com/wp-content/uploads/2009/11/stacks_image_22_1.png" alt="stacks_image_22_1" title="stacks_image_22_1" width="247" height="300" class="aligncenter size-full wp-image-82" /></p>
<p>As you can see in the screenshot above, the LookupIncomingCall application looks up the number on a phone listing service and the name found is displayed in the notification bar at the top.</p>
<p>LookupIncomingCall supports a number of yellow page services, but the developer has been so kind to allow custom services to be added to the list as well.<br />
This allows developers to plug in custom services for looking up numbers that are not known on public yellow page listings, such as internal phone numbers in a company.</p>
<p>I decided to put together a small program to look up internal phone numbers in my company.<br />
My company uses 3 digit numbers when colleagues need to call each other, so my boss can be reached on the number 200 for instance.</p>
<p>I wrote some code that takes the phone number as input parameter and simply determines the length of the number to decide whether it&#8217;s internal or external.<br />
The code below is deployed on Google App Engine at this location http://lookuplocalnumbers.appspot.com/ and the servlet containing this is mapped to the URL /number &#8211; not very imaginative, but hey it&#8217;s easy to remember <img src='http://www.miraclegeekhouse.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>The service can be called like this <a href="http://lookuplocalnumbers.appspot.com/number?number=73720000" target="_blank">http://lookuplocalnumbers.appspot.com/number?number=73720000</a><br />
returning the name of my favourite local pizza guy !</p>
<pre name="code" class="java">
 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        String number = request.getParameter("number");
        String name = "Not listed";

        //local number ?
        if (number.length() == 3) {
            if (number.equals("200")) {
                name = "The big boss";
            } else if (number.equals("214")) {
                name = "The REAL boss";
            }
            //and so on.....

        } else {
            if (number.length() > 3) {
                name = call118(number);
            }
        }

        ServletOutputStream out = response.getOutputStream();
        out.println(name);

    }
</pre>
<p>The code above contains a very short lookup list of two persons &#8211; one is my boss, and the number 214 is my dear colleague who is responsible for my monthly paycheck, thus &#8211; The REAL boss <img src='http://www.miraclegeekhouse.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>If the number given is longer than 3 digits the lookup is redirected to 118.dk, a Danish yellow page service and finally the results are simply printed out, which makes the LookupIncomingCall application display the results in the notification bar.</p>
<p><strong>Simple, fast and useful</strong><br />
So the above application is not very useful before you can tap into the complete phone directory of your company &#8211; the next person you definitely want in that directory, is the accountant who always calls you at the end of the month to complain about missing bills for your expense report <img src='http://www.miraclegeekhouse.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>But, the sample shows how easy it is to patch a few lines of code together an connect data with the inner workings of your Android based phone.<br />
And this is really the true force behind an open mobile operating system like Android, because it allows you to modify the behaviour of your phone.</p>
<p>And &#8211; if you are a gadget addict like me &#8211; you bring the application to your next Android phone, when you decide to switch for the newest shiny Android phone on the market!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.miraclegeekhouse.com/?feed=rss2&amp;p=79</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Pair blogging</title>
		<link>http://www.miraclegeekhouse.com/?p=63</link>
		<comments>http://www.miraclegeekhouse.com/?p=63#comments</comments>
		<pubDate>Fri, 23 Oct 2009 22:47:45 +0000</pubDate>
		<dc:creator>Tommy Dejbjerg Pedersen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.miraclegeekhouse.com/blog/?p=63</guid>
		<description><![CDATA[For some years now, pair programming has proven to be a great way to get some high quality code crafted together and to be a great way to share the knowledge about how and why the code was constructed.
You get all the benefits of having more eyes on the code along with the ability to [...]]]></description>
			<content:encoded><![CDATA[<p>For some years now, pair programming has proven to be a great way to get some high quality code crafted together and to be a great way to share the knowledge about how and why the code was constructed.<br />
You get all the benefits of having more eyes on the code along with the ability to verbalize the solution you are putting together, which enhances your problem solving skills dramatically.<br />
Chatting about your code and elaborating about how and why you solve a particular problem creates new ways of seeing new solutions.</p>
<p>Also &#8211; pair programming can often just be more enjoyable than programming alone, because &#8211; who REALLY wants to be stuck only with your worst possible critic, yes: Yourself ! <img src='http://www.miraclegeekhouse.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><strong>Blogging with others</strong><br />
But how about pair <em>blogging</em> or even group blogging &#8211; do they offer the same benefits as pair programming ?</p>
<p>I&#8217;ve done a fair amount of pair blogging the last few years and even contributed to a blog with 4 authors working together on a series of blogs, and this has proven to be a good experience to us all.</p>
<p>The process of writing a new blog usually starts with one blogger writing up a draft in a very short time, thus providing the raw material for the blog post.<br />
This first draft contains the core subject of the blog entry as perceived by the blogger and the process of constructing a common view on the blog subject then begins.</p>
<p>The second blogger picks up the thread and maybe starts by checking the facts stated in the blog post to see if they are correct. Or he/she adds comments about the views expressed in the blog and asks questions to expand on certain topics.</p>
<p>Some way during the blogging process, a Skype meeting is very handy to discuss the blog post and what to do about it.</p>
<p>The end product is usually a nicely written blog post, which has some other quality than blog posts like this one you&#8217;re reading right now &#8211; written by a single blogger, without other kind, but critical eyes on it before it is published <img src='http://www.miraclegeekhouse.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>A final thing on collaborative blogging is the positive side effect of the process, where new ideas spring to mind about other relevant blog themes.<br />
When more brains are put to work, new ideas spark to life and new blog entries take life, perhaps when the original blog covers too many themes and needs to be taken apart.</p>
<p>If you do a lot of blogging already, I would highly recommend you to try out collaborative blogging to see the effects of it. </p>
<p>At the very least you will have someone to catch those tricky typos, that sneak by us all when writing blog posts alone <img src='http://www.miraclegeekhouse.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.miraclegeekhouse.com/?feed=rss2&amp;p=63</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Chatting with Google App Engine</title>
		<link>http://www.miraclegeekhouse.com/?p=29</link>
		<comments>http://www.miraclegeekhouse.com/?p=29#comments</comments>
		<pubDate>Wed, 16 Sep 2009 10:44:53 +0000</pubDate>
		<dc:creator>Tommy Dejbjerg Pedersen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[GAE]]></category>
		<category><![CDATA[xmpp]]></category>

		<guid isPermaLink="false">http://www.miraclegeekhouse.com/blog/?p=29</guid>
		<description><![CDATA[Google recently released a new version of their SDK for the Google App Engine(GAE) and starting with this release the SDK now includes support for XMPP services in applications.
The ability to use XMPP opens up a number of interesting possibilities to interact with Google Talk users, but could also prove very useful for other tasks, [...]]]></description>
			<content:encoded><![CDATA[<p>Google recently released a <a href="http://googleappengine.blogspot.com/2009/09/app-engine-sdk-125-released-for-python.html" target="_blank">new version of their SDK </a>for the <a href="http://code.google.com/appengine/" target="_blank">Google App Engine(GAE)</a> and starting with this release the SDK now includes support for XMPP services in applications.</p>
<p>The ability to use XMPP opens up a number of interesting possibilities to interact with Google Talk users, but could also prove very useful for other tasks, such as integrating applications as well.<br />
But let&#8217;s first take a look at how the XMPP support can be put into use.</p>
<p><strong>Sending XMPP messages</strong></p>
<p>This small piece of Java code sends a message to a specific Google Talk user, in this case the (presumably?) non-existent user someone@gmail.com <img src='http://www.miraclegeekhouse.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<pre name="code" class="java">
import com.google.appengine.api.xmpp.*;

import javax.servlet.ServletOutputStream;
import javax.servlet.http.*;
import java.io.IOException;

public class XMPPSender extends HttpServlet {

    public void doGet(HttpServletRequest req, HttpServletResponse res)
            throws IOException {

        ServletOutputStream out = res.getOutputStream();

        //retrieve the service from the factory
        XMPPService xmppService = XMPPServiceFactory.getXMPPService();

        //specify who to chat with - JID is the "bare" XMPP address
        String recipient = "someone@gmail.com";
        JID jid = new JID(recipient);

        String msgBody = "Hi there!";

        //send an initial invitation to chat before sending messages
        xmppService.sendInvitation(jid);

        //build the message - in this case, just plain text.
        //XML is also supported
       Message msg = new MessageBuilder().withRecipientJids(jid)
                                          .withBody(msgBody).build();

        //send off the message and check if things went well
        SendResponse status = xmppService.sendMessage(msg);
        if (status.getStatusMap().get(jid) ==
                                  SendResponse.Status.SUCCESS) {
            out.println("That apparently went well...");
        } else {
            out.println("Something went wrong..");
        }
    }
}</pre>
<p>On line 24 we send an invitation to the receiver of the message and the receiver must then accept the chat session before we can send messages.<br />
A better way to do this, would be for the user to actively register with our application for chatting on a web page or by adding our the id of our XMPP client to the Google Talk roster.</p>
<p><strong>JID names the target</strong></p>
<p>As you can see in line 19, the JID is actually the address of the recipient of the message, also called the XMPP address.<br />
An XMPP address could be a simple Gmail address like in this sample, but it could also target nodes specifying a resource to hit at the target domain.</p>
<p>Targetting specific resources at a domain requires a fully qualified JID like <em>someone@example.com/machineXYZ</em>, which is supported by the XMPP service on GAE.</p>
<div id="attachment_70" class="wp-caption aligncenter" style="width: 670px"><img class="size-full wp-image-70" title="lop-hierarchy1" src="http://www.miraclegeekhouse.com/wp-content/uploads/2009/09/lop-hierarchy11.png" alt="lop-hierarchy1" width="660" height="362" /><p class="wp-caption-text">The Linked Process Cloud (http://linkedprocess.org)</p></div>
<p>&nbsp;</p>
<p>Using full JIDs you could use XMPP to target different nodes in a network and thus distribute processing on different nodes.<br />
The <a href="http://code.google.com/p/linkedprocess/" target="_blank">Linked Process project</a> extends XMPP to distribute processing on different computers and uses fully qualified JIDs to target a specific <em>farm</em> in their process cloud.</p>
<p><strong>Receiving XMPP messages</strong><br />
Another feature of the new XMPP service is the ability to receive messages in your application.<br />
If you want to receive XMPP messages you can do this by adding a few lines of code to a standard servlet as shown below.</p>
<pre name="code" class="java">
import com.google.appengine.api.xmpp.*;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class XMPPReceiver extends HttpServlet {

    public void doPost(HttpServletRequest req, HttpServletResponse res)
            throws IOException {
        XMPPService xmppService = XMPPServiceFactory.getXMPPService();
        Message message = xmppService.parseMessage(req);

        JID fromId = message.getFromJid();
        xmppService.sendMessage(
                new MessageBuilder().
                        withBody("Your reply: " + message.getBody()).
                        withRecipientJids(fromId).
                        build());
    }
}</pre>
<p>In this servlet we simply reply back to incoming messages by echoing the message to the sender after adding &#8220;Your reply:&#8221; in front of it.</p>
<p>To make this work, you will need to change your configuration files a bit.<br />
The first change is in the appengine-web.xml where you need to specify that you want to receive inbound XMMP messages.</p>
<pre class="xml">        xmpp_message</pre>
<p>Next, you have to set up the XMPPReceiver servlet in your web.xml file which a specific URL</p>
<pre class="xml">        xmppreceiver
        XMPPReceiver

        xmppreceiver
        /_ah/xmpp/message/chat/</pre>
<p>The <em>/_ah/xmpp/message/chat/</em> is the path that App Engine looks for to post XMPP messages to.</p>
<p><strong>XMPP use cases</strong></p>
<p>So the above samples simply deal with sending and receiving plain text messages to a Google Talk user.<br />
The App Engine SDK does support exchanging XML messages  as well, so you could exchange messages with another XMPP enabled application, for instance to start processes as done in the Linked Process project.</p>
<p>Other use cases could be to integrate applications such as Google Wave with chat using XMPP.<br />
I put together a small application that notifies a Google Talk user of changes in a wave, so you can get notified if something changes inside a wave that you are participating in.</p>
<p>XMPP support in GAE is still relatively basic, but it is nonetheless a very powerful extension to the toolbox on the app engine and I believe that XMPP support is a vital ingredient in connecting different applications on the net.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.miraclegeekhouse.com/?feed=rss2&amp;p=29</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Growing up to be a Geek</title>
		<link>http://www.miraclegeekhouse.com/?p=65</link>
		<comments>http://www.miraclegeekhouse.com/?p=65#comments</comments>
		<pubDate>Sun, 30 Aug 2009 19:45:18 +0000</pubDate>
		<dc:creator>Tommy Dejbjerg Pedersen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[geekhouse]]></category>

		<guid isPermaLink="false">http://www.miraclegeekhouse.com/blog/?p=3</guid>
		<description><![CDATA[Back in the seventies, a  boy called Tommy was born.
Not a very common name in Denmark and not a name &#8211; as you might think &#8211; chosen to honor the English soldiers who freed Europe in the second world war, nor because of the great musical by the same name made by The Who.
No, [...]]]></description>
			<content:encoded><![CDATA[<p>Back in the seventies, a  boy called Tommy was born.</p>
<p>Not a very common name in Denmark and not a name &#8211; as you might think &#8211; chosen to honor the English soldiers who freed Europe in the second world war, nor because of the great musical by the same name made by The Who.<br />
No, the name was chosen by his big sister and she had picked the name from a television series for children in which an extremely strong red-haired girl was the main character.</p>
<p>The name of the girl was Pippi and she was at the time a very popular character among children, first in books and then on television.<br />
Pippi was the geeky girl left all alone to herself in a huge old house and she ran into a lot of trouble <em>or</em> made the trouble herself. She always came out at the good end though because she had superpowers and was good to come up with new solutions that ordinary people would fail to see.<br />
Tommy was the oh-so-nice and never misbehaving neighbour of Pippi and was always dragged into new adventures by the naughty girl next door <img src='http://www.miraclegeekhouse.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Anyway, name aside, his childhood was rather happy but he felt a bit outside all the time.<br />
He never liked the stuff that most kids do. He didn&#8217;t go to soccer, just because the rest of the boys in the class did.<br />
He didn&#8217;t save every penny he had to get that motorbike that all the other boys wanted.</p>
<p>And he didn&#8217;t mix in with everyone else, even if it was what was expected of a &#8220;normal&#8221; boy to do&#8230;.</p>
<p>So what did he do ?</p>
<p>He got a computer when he was 12. Started playing games on it but also did a lot of coding.<br />
He bought strange German magazines with loads of pages containing machine code in hexidecimal to type in by hand and spend hours on end to type in the correct codes to see the outcome of all this code put into the computer by his hard work.</p>
<p>This hard task to make computers do &#8220;stuff&#8221; and finding the reward in that itself, is what led Tommy to be a geek.<br />
And whatever he did as a grown-up, the effect of typing stuff into a computer and seeing the results of that work, always gave him a kick &#8211; even when it was &#8220;just&#8221; HTML coming out as web pages.</p>
<p>The magic would never disappear. A new &#8220;Hello world&#8221; sample in a new language, tool or IDE, the effect would always be &#8220;YES, I did it &#8211; that worked and felt great!&#8221;.<br />
A new problem to solve that several people have failed to get cracked, leaving it all up to you &#8211; the geek. And you do it, you find that solution, that hidden button, setting or missing data and you save the day for tens, hundreds or thousands of people.<br />
It takes skill, it takes talent &#8211; and, it can&#8217;t be taught!</p>
<p style="text-align: center;">&nbsp;</p>
<p>Geek is for life, and it&#8217;s about life.</p>
<p style="text-align: center;">&nbsp;</p>
<p>Welcome to the Geekhouse. Made by geeks, for geeks.</p>
<p style="text-align: center;"><img class="size-large wp-image-67  aligncenter" title="geekhouse_logo20090818" src="http://www.miraclegeekhouse.com/wp-content/uploads/2009/08/geekhouse_logo200908181-1024x256.jpg" alt="Geekhouse logo" width="819" height="205" /></p>
<p style="text-align: center;">
]]></content:encoded>
			<wfw:commentRss>http://www.miraclegeekhouse.com/?feed=rss2&amp;p=65</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
