<?xml version="1.0" ?>
<?xml-stylesheet href="" type="text/css"?>

<rss version="2.0">

    <channel>

        <title>Old redinnovation.com blog</title>
        <link>http://www.redinnovation.com/old-blog</link>
        <description>Mikko's blog</description>

        <generator>basesyndication</generator>
        <!-- TODO
        <lastBuildDate>Mon, 30 Sep 2002 11:00:00 GMT</lastBuildDate>
        <copyright>Copyright 1997-2002 Dave Winer</copyright>
        <docs>http://backend.userland.com/rss</docs>
        <category domain="Syndic8">1765</category>
        <managingEditor>dave@userland.com</managingEditor>
        <webMaster>dave@userland.com</webMaster>
        -->

        <!-- TODO: Should there be an individual image associatable with each
        Weblog object?  I think so... -->
        <image>
            <title>Old redinnovation.com blog</title>
            <url>http://www.redinnovation.com/logo.png</url>
            <link>http://www.redinnovation.com/old-blog</link>
        </image>

        
            <item>
                <title>The mobile future is here</title>
                <guid>http://www.redinnovation.com/old-blog/archive/2007/06/20/mobile-future-is-here</guid>
                <link>http://www.redinnovation.com/old-blog/archive/2007/06/20/mobile-future-is-here</link>
                <description>&lt;p&gt;A new age of information technology has just begun. Nokia released its &lt;a href="http://mymobilesite.net" target="_self"&gt;Mobile Web Server&lt;/a&gt; product on 19th June. &lt;br /&gt;&lt;/p&gt;&lt;p&gt;Mobile Web Server is a application/service for mobile phones. You can run a mobile web server software in Nokia Series 60 mobile phones. Others can connect to your mobile phone and browse around in items you wish to share.&lt;/p&gt;&lt;br /&gt;Some use cases that pop up my mind are&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Sharing photos in Internet instantly they are taken with your camera phone&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Sharing your calender with your colleagues&lt;/li&gt;&lt;li&gt;Browse your vital contact information if you have forgot your phone somewhere&lt;/li&gt;&lt;li&gt;Remote control your phone camera&lt;/li&gt;&lt;li&gt;etc.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;I believe we cannot yet comprehend all the possibilites with our limited PC - web server mindset. By combining GPS, social networking, accelerometers and service mash ups something exist beyond imagination.&lt;br /&gt;&lt;br /&gt;Visit at my mobile webserver in address &lt;a href="http://moo.mymobilesite.net" target="_self"&gt;http://moo.mymobilesite.net&lt;/a&gt;. All content is served directly from my mobile phone. I have fixed 128 kbit/s 3G connection so it might be a bit slow. However, WiMax &amp;amp; co. are waiting behind the door, so connection speed problems will be gone in few years.&lt;br /&gt;&lt;br /&gt;The best thing is that Nokia offers free HTTP proxy traffic and DNS name for every registered mobile phone. Currently, mobile operators don't assign Internet IP address for their   connections. This seriously limits the Internet-ability of mobile phones. Nokia's proxy server solves the problem by keeping a HTTPS tunnel open from Nokia managed Internet server to your mobile phone.&lt;br /&gt;&lt;br /&gt;Also, the mobile web server is based on Apache and Python technologies. Python is a very agile programming language and creating new hacks is easy as changing the diapers. I think I am going to implement something kinky, just to see how cool it can be.&lt;br /&gt;&lt;br /&gt;FTW Nokia!&lt;br /&gt;</description>
                <author>Mikko Ohtamaa</author>

                
                    <category>mobile web server</category>
                
                
                    <category>web</category>
                
                
                    <category>http</category>
                
                
                    <category>mobile</category>
                
                
                    <category>series 60</category>
                
                
                    <category>nokia</category>
                
                
                    <category>symbian</category>
                
                
                    <category>python</category>
                
                
                    <category>cellular</category>
                
                
                    <category>apache</category>
                

                <!--
                <dc:creator tal:content="feedentry/getAuthor"></dc:creator>
                <dc:rights tal:content="feedentry/getRights"></dc:rights>
                -->

                <pubDate>Wed, 20 Jun 2007 16:44:42 +0300</pubDate>

                
            </item>
        
        
            <item>
                <title>Enabling virtualization on HP nx9420</title>
                <guid>http://www.redinnovation.com/old-blog/archive/2007/03/26/enabling-virtualization-on-hp-nx9420</guid>
                <link>http://www.redinnovation.com/old-blog/archive/2007/03/26/enabling-virtualization-on-hp-nx9420</link>
                <description>&lt;p&gt;Hardware virtualization (VMX) allows one to run guest OS inside your primary OS efficiently i.e. faster. Without hardware support, OS emulation crawls like snail in tar. In Linux, kernel support for VMX is called KVM (Kernel Virtual Machine). Ubuntu support for it was added in Feisty.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;I wanted to run Windows XP guest inside Ubuntu Feisty Fawn host with my HP nx9320 laptop. The laptop has Intel Core 2 Duo CPU supporting VMX techonology.&lt;/p&gt;&lt;a href="https://help.ubuntu.com/community/KVM" target="_self"&gt;This&lt;/a&gt; Wiki page &lt;a href="http://forums1.itrc.hp.com/service/forums/bizsupport/questionanswer.do?threadId=1051601&amp;amp;admit=-682735245+1174856867388+28353475" target="_self"&gt;and this thread&lt;/a&gt; were very helpful.&lt;br /&gt;&lt;br /&gt;Enabling VMX was major pain. First results were harsh&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;$modprobe kvm-intel&lt;br /&gt;FATAL: Error inserting kvm_intel (/lib/modules/2.6.20-6-generic/kernel/drivers/kvm/kvm-intel.ko): Operation not permitted&lt;br /&gt;&lt;br /&gt;$dmesg | grep kvm&lt;br /&gt;[ 4790.548000] kvm: disabled by bios&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;In turned out that I had to enable VMX in bios. &lt;a href="http://h20000.www2.hp.com/bizsupport/TechSupport/SoftwareIndex.jsp?lang=en&amp;amp;cc=us&amp;amp;prodNameId=1839212&amp;amp;prodSeriesId=1839153&amp;amp;swLang=8&amp;amp;taskId=135&amp;amp;swEnvOID=1093" target="_self"&gt;HP support page&lt;/a&gt; provides BIOS update.&lt;/p&gt;Ok, I boot to Windows, run BIOS installer, reboot, go to BIOS and enable Virtualization under Device configuration, reboot to linux and modprobe again.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;$modprobe kvm-intel&lt;br /&gt;FATAL: Error inserting kvm_intel (/lib/modules/2.6.20-6-generic/kernel/drivers/kvm/kvm-intel.ko): Operation not permitted&lt;br /&gt;&lt;/pre&gt;
D'oh. I reboot again, go to BIOS, double check that virtualization is enabled and reboot to Linux.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;$modprobe kvm-intel&lt;br /&gt;FATAL: Error inserting kvm_intel (/lib/modules/2.6.20-6-generic/kernel/drivers/kvm/kvm-intel.ko): Operation not permitted&lt;br /&gt;&lt;/pre&gt;
In this point, smoke was coming from my ears. I was already planning to write email to HP support that "your BIOS update really doesn't do anything and I will never buy anything from you."&lt;br /&gt;&lt;br /&gt;Well. Luckily I still had a little patience to Google around. It turned out that you need to do "real hard reset" for laptop. This means powering off and taking battery away before VMX is enabled. Thanks for HP Business Support Forum users to &lt;a href="http://forums1.itrc.hp.com/service/forums/bizsupport/questionanswer.do?threadId=1051601&amp;amp;admit=-682735245+1174856867388+28353475" target="_self"&gt;telling out this information&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;After power cut reboot, modprobe installed kvm-intel succesfully.&lt;br /&gt;</description>
                <author>Mikko Ohtamaa</author>

                
                    <category>kvm</category>
                
                
                    <category>feisty fawn</category>
                
                
                    <category>enabling</category>
                
                
                    <category>virtualization</category>
                
                
                    <category>vmx</category>
                
                
                    <category>ubuntu</category>
                
                
                    <category>hp</category>
                
                
                    <category>qemu</category>
                
                
                    <category>nx9420</category>
                

                <!--
                <dc:creator tal:content="feedentry/getAuthor"></dc:creator>
                <dc:rights tal:content="feedentry/getRights"></dc:rights>
                -->

                <pubDate>Mon, 26 Mar 2007 00:33:42 +0300</pubDate>

                
            </item>
        
        
            <item>
                <title>Importing Gnome and KDE applications settings</title>
                <guid>http://www.redinnovation.com/old-blog/archive/2007/03/25/importing-gnome-and-kde-applications-settings</guid>
                <link>http://www.redinnovation.com/old-blog/archive/2007/03/25/importing-gnome-and-kde-applications-settings</link>
                <description>I installed Ubuntu Feisty Fawn for testing. I had to migrate Gnome terminal settings from my previous Ubuntu (Edgy Eft) to the test platform.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Copying Gnome terminal settings&lt;/h3&gt;&lt;br /&gt;All Gnome applications store their settings in your home folder/.gconf/applications&lt;br /&gt;&lt;br /&gt;Just copy .gconf/apps/gnome-terminal from the old system to the new system. You need to logout and login to restart gnome-settings-daemon and make the copied settings effective.&lt;br /&gt;&lt;br /&gt;.gconf is invisible in the default file browser. Go to home folder Hit CTRL+L to see the location bar and type in /.gconf to get into the folder. &lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Copying KDE Konversation settings&lt;/h3&gt;&lt;br /&gt;Konversation is IRC client for Linux. I didn't want to retype all channel and password information again, so I just copied existing Konversation settings.&lt;br /&gt;&lt;br /&gt;KDE stores settings in home folder/.kde/config/APPNAMErc file. Just copy this file from new system to another.&lt;br /&gt;&lt;br /&gt;</description>
                <author>Mikko Ohtamaa</author>

                
                    <category>gnome</category>
                
                
                    <category>kde</category>
                
                
                    <category>terminal</category>
                
                
                    <category>gnome-settings-daemon</category>
                
                
                    <category>migration</category>
                
                
                    <category>konversation</category>
                
                
                    <category>feisty fawn</category>
                

                <!--
                <dc:creator tal:content="feedentry/getAuthor"></dc:creator>
                <dc:rights tal:content="feedentry/getRights"></dc:rights>
                -->

                <pubDate>Sun, 25 Mar 2007 20:59:30 +0300</pubDate>

                
            </item>
        
        
            <item>
                <title>Ubuntu Feisty Fawn - Almost there</title>
                <guid>http://www.redinnovation.com/old-blog/archive/2007/03/25/ubuntu-feisty-fawn-almost-there</guid>
                <link>http://www.redinnovation.com/old-blog/archive/2007/03/25/ubuntu-feisty-fawn-almost-there</link>
                <description>&lt;p&gt;&lt;a href="http://www.ubuntu.com" target="_self"&gt;Ubuntu&lt;/a&gt; is a the most popular desktop oriented Linux distribution today. Recently they released a beta version of upcoming release Feisty Fawn. I have been using the previous release, Edgy Eft, for my work laptop few months now. There are some issues with Edgy and I took a test ride with Feisty to see if there has been any progress in hope I could be more productive with my computer.&lt;/p&gt;My computer is HP-Compaq laptop nx9420 laptop. It has ATI x1600 display card. My desktop setup involves external monitor, external keyboard, trackball and WLAN. &lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h3&gt;Summa summarum&lt;/h3&gt;&lt;p class="callout"&gt;Feisty Fawn has progressed greatly what comes to WLAN usability. On the other hand, dual monitor working with Ubuntu desktop is not bed of roses and is greatly lagging behind Windows and MacOS X due to technical issues  which  could have been solved aeons ago.&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;Pros&lt;/h3&gt;&lt;br /&gt;The most important enhancement for me was getting &lt;a href="http://www.gnome.org" target="_self"&gt;Gnome'&lt;/a&gt;s Network Manager working out-of-the-box. First time in the Linux history I was able to connect to my wireless network with few clicks. Before it has taken hours manually editing text files and reading cryptic logs. Kudos for  Network Manager team! It's always nice to see how things are made easy for end users.&lt;br /&gt;&lt;br /&gt;There  has been other progress too. I had filed few bugs before and one installer bug which bothered me has been closed now.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="https://launchpad.net/ubuntu/+source/ubiquity/+bug/78930" target="_self"&gt;"Go back" button doesn't work if swap space is not enabled in installer&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Timezone selector dialog has a map where you can click your country. Map zooming function was really slow. Now it has been fixed by removing zooming.&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;Cons&lt;/h3&gt;With my dual-head configuration, everything didn't work out of the box as I expected. I reported every little detail I faced during the set-up&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="https://bugs.launchpad.net/ubuntu/+bug/95886" target="_self"&gt;Wrong keyboard layout after installation (US instead of FI)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://bugs.launchpad.net/ubuntu/+source/linux-meta/+bug/95892"&gt;Long boot delay with Intel Pro/wireless&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://bugs.launchpad.net/ubuntu/+source/linux-meta/+bug/95896"&gt;fsck forced after Feisty install: super node timestamp in the future&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://bugs.launchpad.net/ubuntu/+source/linux-restricted-modules-2.6.8.1/+bug/95899"&gt;ATI display driver sets wrong resolution with two displays&lt;/a&gt;&lt;/li&gt;&lt;li&gt;
        
          &lt;a href="https://bugs.launchpad.net/ubuntu/+source/restricted-manager/+bug/95901"&gt;Usability: empty use checkbox confusing  after installing something requiring restart&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;One could translate this as: "Feisty Fawn beta works for you if you are English speaker and use only single monitor."&lt;br /&gt;&lt;br /&gt;Feisty Fawn is still in beta stage. I am little skeptical if these issues (excluding keyboard map issues) can be fixed during the beta stage, since they are not Ubuntu specific. Maybe when the next incarnation of Ubuntu comes out the Linux world has taken another step toward the Year of Desktop Linux.&lt;br /&gt;&lt;br /&gt;Multi-monitor support is still not there. This is more Linux than Ubuntu specific problem, since it hits every Linux distribution under Sun. Using two monitors (laptop + external, laptop + video projector) is very common nowadays. Unfortunately Linux just doesn't jut it. This is so complex and big issues that a decided &lt;a href="http://www.redinnovation.com/blog/archive/2007/03/25/dual-head-issues-with-linux" target="_self"&gt;to own a blog entry for it&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;</description>
                <author>Mikko Ohtamaa</author>


                <!--
                <dc:creator tal:content="feedentry/getAuthor"></dc:creator>
                <dc:rights tal:content="feedentry/getRights"></dc:rights>
                -->

                <pubDate>Sun, 25 Mar 2007 19:49:08 +0300</pubDate>

                
            </item>
        
        
            <item>
                <title>A cold cup of Linux and many monitors</title>
                <guid>http://www.redinnovation.com/old-blog/archive/2007/03/25/dual-head-issues-with-linux</guid>
                <link>http://www.redinnovation.com/old-blog/archive/2007/03/25/dual-head-issues-with-linux</link>
                <description>The Linux show stopper for my work is using two monitors (a.k.a. dual-head). Monitor management generally is major Pain In The Ass in Linux. It is possible, but good end user tools are missing and you need to choose one of many different far-from-perfect technical approaches.&lt;br /&gt;&lt;br /&gt;X server, which manages Linux desktop visual interaction, doesn't
provide a real interface to manage several monitors. It would require a
co-operation from display driver vendors, user-land application
developers (Gnome and KDE), Linux distribution teams  and X.org team to come up with a solution.
Because many different parties are involved and the problem falls to "no
one's land" the progress has stagnated in this area. People still need to fire up their text editors and manually edit cryptic config files and type terminal commands to get something done.&lt;br /&gt;&lt;br /&gt;Windows did this
back in '95. Display driver vendors have made up their own driver hacks
to workaround the problem, but because the hacky nature of driver hacks, they will
be never usable enough for average end users. There is no technical
limitation why this wouldn't work, since Windows and MacOS X have been
doing this many many years. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;When one is not enough&lt;/h3&gt;&lt;br /&gt;People need two monitors when&lt;br /&gt;&lt;ul&gt;&lt;li&gt;They do presentations (PowerPoint)&lt;/li&gt;&lt;li&gt;Work with software development environments &lt;br /&gt;&lt;/li&gt;&lt;li&gt;Artists&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Here is what kind of display set-ups ATI driver provides&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;a name="172597"&gt; &lt;/a&gt;Laptop Mode (toggle between internal or external screen) 
  &lt;/li&gt;&lt;li&gt;&lt;a name="172598"&gt; &lt;/a&gt;Clone Mode (same content on both screens) 
  &lt;/li&gt;&lt;li&gt;&lt;a name="172599"&gt; &lt;/a&gt;Big Desktop (one desktop stretched across two screens) 
  &lt;/li&gt;&lt;li&gt;&lt;a name="172600"&gt; &lt;/a&gt;Dual Head (separate instances of X running on each screen)
&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;
Big Desktop mode is what most people want. This means that the same
desktop is shared between both monitors. You can drag and drop windows
from one monitor to another. NVIDIA's corresponding technology is called
"TwinView". &lt;br /&gt;
&lt;br /&gt;
Unfortunately, Big Desktop is a awful hack. Setting up Big Desktop requires
going to command line and/or poking around configuration files
manually. Or, in worst cases, to put it bluntly&lt;b&gt;, &lt;/b&gt;it just doesn't work. Big Desktop (TwinView)  relies on making a  fake screen resolution which is the sum of all screens. Each physical monitor has a viewport into this
total area. The total screen
resolution is monitor 1 width + monitor 2 width X maximum of monitor
heights.&lt;br /&gt;
&lt;br /&gt;What works for me now is "dual head" configuration. Both monitors have their own X server running. Set up worked like a charm and both screens have their correct display resolution. But charm ends there. Since both screens have their own X process and X doesn't have "inter-x-process" communication mechanism, working with this kind of set-up is pain&lt;br /&gt;&lt;ul&gt;&lt;li&gt;You cannot configure screen resolution and layout with end user applications&lt;br /&gt;&lt;/li&gt;&lt;li&gt;You cannot drag windows from a screen to another&lt;/li&gt;&lt;li&gt;Application are not aware of the existence of the second monitor&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Clicking link on a screen where Firefox is not running results to an error dialog "Firefox is already running, but is not responding" &lt;br /&gt;&lt;/li&gt;&lt;li&gt;Both monitors have duplicate task bars, star menus and other shared desktop stuff&lt;br /&gt;&lt;/li&gt;&lt;li&gt;etc.&lt;/li&gt;&lt;/ul&gt;The only thing that actually works is dragging desktop icons from screen to another. I can drag icons, why I cannot drag windows?&lt;br /&gt;&lt;br /&gt;In Big Desktop (TwinView) you get another bunch of problems&lt;br /&gt;&lt;ul&gt;&lt;li&gt;You cannot configure screen resolution and layout with end user applications&lt;/li&gt;&lt;li&gt;Started application windows are opened on the wrong monitor&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Applications don't necessary know on what monitor they are and are opening dialogs to wrong monitors&lt;/li&gt;&lt;li&gt;If screen resolutions don't match, which they rarely do, there is some mysterious empty space around the smaller resolution monitor and you can move mouse cursor off screen. This is very annoying since it makes hitting the scrollbar at the right edge of the screen with mouse cursor very difficult.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Size estimations fail in applications because of fake total screen resolution&lt;/li&gt;&lt;li&gt;Monitor specific taskbar and other panels don't necessary work&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Again, Windows and MacOS X don't suffer from these problems.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Monitor hot-plug woes&lt;/h3&gt;&lt;br /&gt;Hot-plugging monitors, e.g. video projector for presentation, gives its own number of problems. At least in Ubuntu and ATI's proprietary display driver, the wish to just go to somewhere, plug-in monitor and have a slide presentation is the worth of bagful air. &lt;br /&gt;&lt;ul&gt;&lt;li&gt;Nothing happens when monitor is hot-plugged&lt;/li&gt;&lt;li&gt;You need to reboot to make monitor detected&lt;/li&gt;&lt;li&gt;You need to run aticonfig to set-up correct resolution for the video &lt;/li&gt;&lt;li&gt;You need to reboot again&lt;/li&gt;&lt;li&gt;You need to hope that in this step everything works and presention can be started&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;h3&gt;Conclusion&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;As long as display driver vendors, X.org and co. cannot come up with real standard way to manage many screens in Linux, there is no progress in userland applications. Functionality like TV out, correct resolutions and monitor layout setup will require rebooting and command-line hacking. The Year or Linux Desktop cannot be declared until these kind of basics issues for desktop working have been solved.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt; &lt;/p&gt;</description>
                <author>Mikko Ohtamaa</author>

                
                    <category>x.org</category>
                
                
                    <category>big desktop</category>
                
                
                    <category>screen</category>
                
                
                    <category>nvidia</category>
                
                
                    <category>dual-head</category>
                
                
                    <category>monitor</category>
                
                
                    <category>ati</category>
                
                
                    <category>twinview</category>
                
                
                    <category>display driver</category>
                
                
                    <category>gnome</category>
                
                
                    <category>linux</category>
                
                
                    <category>single-head</category>
                
                
                    <category>resolution</category>
                
                
                    <category>display</category>
                
                
                    <category>aticonfig</category>
                

                <!--
                <dc:creator tal:content="feedentry/getAuthor"></dc:creator>
                <dc:rights tal:content="feedentry/getRights"></dc:rights>
                -->

                <pubDate>Sun, 25 Mar 2007 19:40:40 +0300</pubDate>

                
            </item>
        
        
            <item>
                <title>Piercing Windows 2003 firewall</title>
                <guid>http://www.redinnovation.com/old-blog/archive/2007/03/05/piercing-windows-2003-firewall</guid>
                <link>http://www.redinnovation.com/old-blog/archive/2007/03/05/piercing-windows-2003-firewall</link>
                <description>&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Go to Start -&amp;gt; Programs -&amp;gt; Administrative tools -&amp;gt; Local Security Policy&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Double click Packet Filter&lt;/li&gt;&lt;/ul&gt;&lt;ul type="square"&gt;&lt;li&gt;Click add. The Security Rule Wizard shoul come up.&lt;/li&gt;&lt;ul type="none"&gt;&lt;li&gt; Do not set IP address (the rule doesn't specify a tunnel)&lt;/li&gt;&lt;li&gt; Network type: All network connections&lt;/li&gt;&lt;li&gt;IP Filter List: Click Add button. IP Filter Dialog comes up.&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Name: Open port XX&lt;/li&gt;&lt;li&gt;Click add. IP Filter Wizard should come up.&lt;/li&gt;&lt;li&gt;Source address: My IP address&lt;/li&gt;&lt;li&gt;Destination address: Any IP address&lt;/li&gt;&lt;li&gt; Protocol: TCP&lt;/li&gt;&lt;li&gt;From this port: &lt;b&gt;The port number you wish to open&lt;/b&gt;&lt;/li&gt;&lt;li&gt;Finish&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Click ok.&lt;/li&gt;&lt;li&gt;You are now back in Security Rule Wizard.&lt;/li&gt;&lt;li&gt;Select the rule you created. Click next.&lt;/li&gt;&lt;li&gt;Choose permit. Click next.&lt;/li&gt;&lt;li&gt;Click Finish.&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Close Packet Filter dialog properties by clicking ok.&lt;/li&gt;&lt;/ul&gt;</description>
                <author>Mikko Ohtamaa</author>

                
                    <category>tcp</category>
                
                
                    <category>opening</category>
                
                
                    <category>windows</category>
                
                
                    <category>firewall</category>
                
                
                    <category>piercing</category>
                
                
                    <category>win2003</category>
                
                
                    <category>port</category>
                

                <!--
                <dc:creator tal:content="feedentry/getAuthor"></dc:creator>
                <dc:rights tal:content="feedentry/getRights"></dc:rights>
                -->

                <pubDate>Mon, 05 Mar 2007 14:24:19 +0200</pubDate>

                
            </item>
        
        
            <item>
                <title>Hacker's story - How Plone changed my life</title>
                <guid>http://www.redinnovation.com/old-blog/archive/2007/01/15/hacker-s-story-how-plone-changed-my-life</guid>
                <link>http://www.redinnovation.com/old-blog/archive/2007/01/15/hacker-s-story-how-plone-changed-my-life</link>
                <description>&lt;p&gt;

&lt;/p&gt;

&lt;p&gt;This story
is greatly inspired by Tom Lazar's blog entry &lt;a href="http://www.tomster.org/blog/archive/2006/07/16/fulltime-developer/"&gt;On
Living 'The Life[tm]'&lt;/a&gt;. He tells his story. I feel that I need to tell mine,
in hope to inspire and encourage people. And naturally, when it's once well written
down, I don't need to reinvent my background story in every occasion.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;I am an
entrepreneur, and have been a full time entrepreneur few months now. Nowadays,
when people ask what my job is, I answer "I am hacker".  Usually the conversation ends there, with a
strange expression on the questioner's face. It's much easier say to be a
hacker than to explain all this open source and contracting stuff to people
outside IT scene. And I like being called a hacker. I think I was born to be a
hacker.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;What hacker
does? He codes. By coding I don't refer to programming alone, but to all
activity happening at the front of computer which requires a lot of typing and
results to new wonderful things. A hacker codes, with passion, a code which does miracles.
Passion is the key element. All the expertise gushes from the natural love for
the technology. This brings expertise which cannot be achieved in 8/24 job, in
company training, in office environment or at the university classes. You need
to be an adventurer who lives in Internet to stay in constant touch with the
latest technology. You don't do these things to get a comfortable office with
nice salary - you do it to create a better world for people to live. &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;I have been
writing code since I got my first PC as 8-years-old kid. It had black and white
Hercules monitor, which greatly limited running games. So, I just had my text
mode and &lt;a href="http://en.wikipedia.org/wiki/GW-BASIC" target="_self"&gt;GWBASIC &lt;/a&gt;interpreter, and all I could do was to type code. Thanks,
Bill. Since then I have been coding everything: embedded, server, web, WAP,
Windows, Unix, UI, protocol, 3D games, mobile phones, ring tones, you-name-it.
And I am pretty sure that I have reached my limits as a software developer. &lt;/p&gt;

&lt;h2&gt;What kind of person I am?&lt;/h2&gt;

&lt;p&gt;It might come
as a surprise, but I didn't study computer science in the university. I studied
industrial engineering and management. By far, it has been the best choice in
my life. It has crucially made me a person I am now. In class room, I learnt
basics of quality, project management, and basic managerial stuff. But the real
growing happened outside class room.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Mainly due
to high team spirit in &lt;a href="http://www.optiem.fi" target="_self"&gt;our student organization&lt;/a&gt;, a bit unsocial guy, like I
was, turned out to be a nice friendly guy who can actually handle people and
management stuff too. Nowadays, I love be at the stage. I love to discuss with
people. I love to help people. I insult people less with not-so-well-though
phrases. I can take any criticism people throw at me. The sharpest edges of my
nerdish, fly agaric like, nature have been polished out. I am not a natural
born leader, I know my weaknesses, but I have gained enough social skills to
run a business.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Thank you
for student organization &lt;a href="http://galleria.optiem.fi/" target="_self"&gt;activities&lt;/a&gt;! (The actual growth process consists of sitting
in student organization meetings, parties, lots of &lt;a href="http://en.wikipedia.org/wiki/Koskenkorva_Viina"&gt;vodka&lt;/a&gt;, sauna, crazy
stuff done naked, and causing havoc for general society. And lots of vodka.)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;h2&gt;Tipping point of the life&lt;/h2&gt;



&lt;p&gt;The tipping
point of my life was on spring 2006. &lt;a href="http://en.wikipedia.org/wiki/The_Tipping_Point_(book)"&gt;Tipping point&lt;/a&gt;
is a book by Malcolm Gladwell, much hyped by Ruby folks (whose active efforts
of marketing and making out-of-box experience easy as possible might some day
be the nail in Plone's coffin). I am not sure whether I can apply the term 'tipping
point' to something qualitative as life, but oh boy, my life took a totally
different course then.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;I had done
little &lt;a href="http://www.opensourceusability.com/"&gt;experiments&lt;/a&gt; with
Plone. Gosh, Plone was hard to learn. Plone is candy outside, monster inside.
Don't ever think about asking documents in open source world, but even the
slightest code comments would have been really helpful when I was sunk in the
incomprehensive software layers of Plone and Zope. Anyway, I felt that I could
give something back to Plone community, so I released and patched few Plone
products. I don't know what I hoped when I added a little signature to release
notes "will work for food".&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Then, I got
the first email. Someone was asking for help. Kindly, I wanted to help. It
appeared that someone had fell in love with Plone, but this incomprehensive
software layers part was a bit too much for her. I ended up doing a month worth
of working hours for little fee. My Plone consulting career just had started.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;I didn't
find my office work very rewarding; Plone work as
an open source hacker was much more fun. I started to be more active in Plone
community - I got more work propositions. Then I though passed my mind: if I
could do this for my life.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;b&gt;Plone has the most functional business
ecosystem from all those numerous open source projects I have seen. &lt;a href="http://plone.net/"&gt;Companies&lt;/a&gt; really make money making Plone services and
it creates push for Plone. I don't know how Plone ecosystem has evolved to be
Plone ecosystem. But If I had not picked Plone I wouldn't be where I am today.&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;br /&gt; &lt;/b&gt;&lt;/p&gt;

&lt;h2&gt;Going incorporated&lt;/h2&gt;

&lt;p&gt;in Autumn
2006, I told to &lt;a href="http://www.ardites.com/"&gt;Ardites&lt;/a&gt;, my former
employer, that I want to go for my own business. They kindly offered a soft landing to the entrepreneurship world. I was able to work for them as a
part-timer and later as a subcontractor, providing basic workload for myself
and thus guaranteed that I had butter on my bread. My advice: If you want to go
for your own business, always ask possibility of doing some kind of deal with
the current employer. Don't burn bridges, but tell how it's a good option for
both of you.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Currently I
have two contracting projects unrelated to Plone which take the greatest share
of my time, but also provide some stable income. After nine months, I have had
five clients who have paid for Plone tasks. A fun point is that all those are
foreigners. A contractor is a rare sight here in my beloved home country where national
social system is strong. Not everyone wants to be a wage slave in a safe,
stable, environment.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;I got
myself incorporated at the turn of the year.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Now, when I
am not a hacker alone anymore, but a manager too, I want to impose my hacker
values to business life: Openness, altruism and the pride of one's work. There
are already some &lt;a href="http://www.liferay.com/"&gt;companies&lt;/a&gt; doing it and
they have inspired me to take these steps. Let's see if hackers make good
managers.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;I am hiring
one of my good friends as my associate. He is not hacker as I am, but I really
need the pair of extra hands. My biggest worry is that if I can offer enough
work for my buddy. Instead of getting Plone contracts through open source
community, I hope we can aim for non-technology specific web site deals. General
web sites might not pay as well as platform specific consulting, but I doubt whether I can get enough work through Plone community.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;h2&gt;The future                &lt;/h2&gt;

&lt;p&gt;I have a
vision. The vision is "software product business." Consulting business
is easy, but you'll never get rich with it. Every penny you got is tore off
from some poor bastard's back skin - if it's not you then it's your colleague. Thus,
you'll need to create new business, by definition, not just help others.
Unfortunately, I am 30k€ - 100k€ short of cash to start bigger
product development ventures. Let's see how things will turn out.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Ultimately,
what I  thought I want to do in my life is to make video games. It's my
childhood dream. Write games, direct them and product them. Tell my stories
and then watch when people are enjoying. I want to be kind of an architect of
fun. Unfortunately game business has high risks and is quite costly, one AAA
title costing over 10 million euros.  As I said, I am still a bit short of cash. &lt;br /&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;I also want
Jaguar and a house in Australia - little silly dreams.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Meanwhile,
if you need a Plone hacker or have extra 10 million euros, you know where to get
my email. &lt;/p&gt;

&lt;p&gt;&lt;img class="image-inline" src="../image-bank/hoppi.jpg" alt="May day monster" /&gt;&lt;br /&gt;&lt;/p&gt;







&lt;div align="center"&gt;&lt;i&gt;Seek to understand then be understood.&lt;/i&gt; – Stephen R. Covey, author&lt;br /&gt;&lt;br /&gt;;-)&lt;br /&gt;&lt;/div&gt;&lt;p&gt; &lt;/p&gt;

</description>
                <author>Mikko Ohtamaa</author>

                
                    <category>hacker</category>
                
                
                    <category>life</category>
                
                
                    <category>business</category>
                
                
                    <category>entrepreneurship</category>
                
                
                    <category>geek</category>
                
                
                    <category>ethics</category>
                
                
                    <category>plone</category>
                

                <!--
                <dc:creator tal:content="feedentry/getAuthor"></dc:creator>
                <dc:rights tal:content="feedentry/getRights"></dc:rights>
                -->

                <pubDate>Mon, 15 Jan 2007 06:57:33 +0200</pubDate>

                
            </item>
        
        
            <item>
                <title>First steps with Django</title>
                <guid>http://www.redinnovation.com/old-blog/archive/2006/09/09/first-steps-with-django</guid>
                <link>http://www.redinnovation.com/old-blog/archive/2006/09/09/first-steps-with-django</link>
                <description>I have been poking around with Django few days now. I have been doing Plone development two years, so pardon me if my comments on Django are inaccurate. Here is a bit mindflow pouring out of my head. Again pardon for not-so-well-ordered content.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;On the blue corner...&lt;/h3&gt;&lt;br /&gt;&lt;a href="http://www.djangoproject.com" target="_self"&gt;Django &lt;/a&gt;is a web development framework. You can easily implement small site functionality on it. Django has a bit hype around it now when the father of Python, Guido van Rossum, named it as &lt;a href="http://www.eweek.com/article2/0,1895,2009632,00.asp" target="_self"&gt;the preferred framework for Python web development&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://plone.org" target="_self"&gt;Plone content management system&lt;/a&gt;/(running on &lt;a href="http://zope.org" target="_self"&gt;Zope &lt;/a&gt;application server) is complete content management solutions which ships with tons of stuff like permissions. workflows, complete skinnable UI. Plone has been here for years, there are a lot of real companies doing web development and some developers estimated Plone installation base be several thousands.&lt;br /&gt;&lt;br /&gt;Naturally both are open source.&lt;br /&gt;&lt;br /&gt;Common for both of these web platforms is that they are based on &lt;a href="http://python.org" target="_self"&gt;Python &lt;/a&gt;programming language. Currently, Python is my favorite as a wrist saving language. Python has compact, easy-to-read, syntax: You type less - you are more productive. &lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Test-fix-restart&lt;/h3&gt;&lt;br /&gt;Plone takes aeons to boot (it loads nearly 10 MB Python code to memory). This makes Python code debugging painful, even on the latest monster machines. (Note: this doesn't concern CSS/HTML development). Plone used to have on-the-fly code replacing, but with the latest Plone/Zope versions it usually fails due to Zope 3 dependencies. Zope 3/Five doesn't support hot replacing code, does it?&lt;br /&gt;&lt;br /&gt;Django boots in one second. &lt;br /&gt;&lt;br /&gt;&lt;h3&gt;The best of both&lt;br /&gt;&lt;/h3&gt;&lt;br /&gt;Django doesn't have a hiearchial content tree which makes things like automatic navigation trees, permission inheritance, etc. difficult. On the other hand, a big part of Plone codebase internals deal with acquistision: you have extra things to worry about. &lt;br /&gt;&lt;br /&gt;Django is good when you don't need through-the-web content editing, the content is mostly static and there aren't many people working on your site (permissions).&lt;br /&gt;&lt;br /&gt;Also, Django is based on traditional relational SQL databases. Plone's object-oriented Zope database, though is better for hierarchial content like most of CMS deal with, is simply weird. This scares off management people. &lt;br /&gt;&lt;br /&gt;&lt;p class="discreet"&gt;Why Zope backend is better for CMS? For example, it has field level automatic permission support, hiearchy (SQL doesn't do trees very well) and built-in capabilities to deal with HTML (e.g in search). The high level of integration is also needed when building very high performance sites - tuning database access on product level à la Plone's Cache-Fu product is the only way to achieve high level dynamic performance for content.&lt;br /&gt;&lt;/p&gt;Templates are a big part of web development, since in the end, it alls goes to down to ugly HTML hacking. Django uses its own template language. I wonder what lead to yet-another-template-language decision, since the world is already full of template language engines (Smarty, Velocity, XSLT bunch, Freemarker). Unlike Zope's TAL, Django is a generic string replacement language. TAL co-opereates with HTML tags so that it doesn't break the structure of template document. Though the latter might be more painful to write, I prefer it because in the end it gives you easier toread results.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Hype(r)space&lt;/h3&gt;&lt;br /&gt;Even though Plone is an old project, it lacks the marketing it deserves. Plone is tons of times more mature than Ruby on Rails &amp;amp; co. but when you mention Plone everyone is like "huh?". People even know Django better. I wonder where Plone would be today if it had buzz around it like RoR or Django.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Common woes&lt;/h3&gt;&lt;br /&gt;Let's hope that &lt;a href="http://www.redinnovation.com/blog/archive/2006/09/09/organical-growth-in-code/folder_contents" target="_self"&gt;organic growth&lt;/a&gt;, one of my favorite topics, don't harm Django codebase as much as it has harmed Plone. Looks like Django already had some mixed styles in its coding conventions. &lt;br /&gt;&lt;br /&gt;</description>
                <author>Mikko Ohtamaa</author>

                
                    <category>python</category>
                
                
                    <category>open source</category>
                
                
                    <category>plone</category>
                
                
                    <category>content management</category>
                
                
                    <category>django</category>
                

                <!--
                <dc:creator tal:content="feedentry/getAuthor"></dc:creator>
                <dc:rights tal:content="feedentry/getRights"></dc:rights>
                -->

                <pubDate>Sat, 09 Sep 2006 00:50:29 +0300</pubDate>

                
            </item>
        
        
            <item>
                <title>Organical growth problems in open source codebases</title>
                <guid>http://www.redinnovation.com/old-blog/archive/2006/09/09/organical-growth-in-code</guid>
                <link>http://www.redinnovation.com/old-blog/archive/2006/09/09/organical-growth-in-code</link>
                <description>
One common feature in nearly all community driven open source projects
is that they grow organically - stuff gets added when people need it.
People come from different backgrounds, have different principles and
goals. You cannot command them into engineering discipline like in big
corporation world. This leads to tangled codebase.&lt;br /&gt;&lt;br /&gt;
I have been working with few Python based open source projects (Plone,
Zope, Django and Python itself, all community driven) and then with
Java projects (Eclipse, IBM led). &lt;br /&gt;&lt;ul&gt;&lt;li&gt;Community driven code borns through natural evolution&lt;/li&gt;&lt;li&gt;Corporate driven code borns through design and discipline&lt;br /&gt;
  &lt;/li&gt;&lt;/ul&gt;
In my opinion, the strong lead might
lead to higher quality code base which is more fun to work with (i.e.
gives less headache). &lt;br /&gt;

&lt;ul&gt;&lt;li&gt;If there are big payrolls involved someone is usually paid to
create documentation and there might be even useful comments in the
source code due to formal reviews. Less try-to-see-how-it-works, less
dive-into-source, less headache.&lt;/li&gt;&lt;li&gt;The style is consistent. You don't see code like
MyClass. my_function(). getAnotherFunction(). isthisreasonable().  Java has standard coding conventions, when Python lacks them. The result is eye hurting soup to read. Since
good auto complete is nearly impossible to implement in Python IDEs, double
checking function naming is even more PITA.&lt;/li&gt;&lt;li&gt;More polish. You won't find XXX, TODO, etc. in code in a critical moment when you thought the subsystem was already working&lt;/li&gt;&lt;li&gt;After things are once done without too much thinking, phasing them out is difficult. "This method will be deprecated" warnings may stay in the code many years. &lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;h3&gt;&lt;br /&gt;&lt;/h3&gt;In community driven open source projects, at least code conventions could be forced in the scope of the project itself. Other kind of strict rules might not work. Decrease too much the degree of the freedom and soon you don't have committers at all. &lt;br /&gt;&lt;br /&gt;I have myself patched some Plone products. It's very unmotivating when your freshly baked cake gets tossed away when the codebase maintainers point things you are not interested in and thus your patches are rejected. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</description>
                <author>Mikko Ohtamaa</author>

                
                    <category>python</category>
                
                
                    <category>organical growth</category>
                
                
                    <category>open source</category>
                
                
                    <category>code base</category>
                

                <!--
                <dc:creator tal:content="feedentry/getAuthor"></dc:creator>
                <dc:rights tal:content="feedentry/getRights"></dc:rights>
                -->

                <pubDate>Sat, 09 Sep 2006 00:19:31 +0300</pubDate>

                
            </item>
        
        
            <item>
                <title>Lost'n'found</title>
                <guid>http://www.redinnovation.com/old-blog/archive/2006/08/21/lost-n-found</guid>
                <link>http://www.redinnovation.com/old-blog/archive/2006/08/21/lost-n-found</link>
                <description>&lt;p&gt;Plone's stock search functionality has several shortcomings&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Search form doesn't utilize Plone's content model and is based on scripts containing a lot of hard coded location information, making customizing and creating variants difficult. &lt;br /&gt;&lt;/li&gt;&lt;li&gt;Plone's Smart Folder functionality provides rich search criteria, but doesn't provide easy end user interface to do arbitary queries - searches are static, created by the site manager.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The underlaying architechture, Zope's ZCatalog, doesn't support boolean queries or multiple sort keys.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;According to the &lt;a href="http://www.jyu.fi/Members/tarvans/sivut/" target="_self"&gt;research&lt;/a&gt; (sorry, Finnish only!) made at University of Jyväskylä, Plone's default search result listing can be confusing. Try it yourself: go to plone.org and type "Eclipse" to the search field. The first hit is a screenshot instead of the tutorial you are probably looking for. &lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ol&gt;&lt;ul&gt;&lt;li&gt;Searches don't utilize content type in the ranking, only word counts in the text matter. &lt;br /&gt;&lt;/li&gt;&lt;li&gt;The results lack location information. If there are similiar titles under many folders, the result will be ever more confusing. A simple use case would be a folder per company department, each folder having "personell" page. One couldn't distinguish pages from each other in the result listing.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ol&gt;A new product, &lt;a href="http://plone.org/products/custom-search" target="_self"&gt;Custom Search&lt;/a&gt;,  addresses these problems&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Search forms are Archetypes based objects, meaning they appear in the navigation tree, they have permissions, etc.&lt;/li&gt;&lt;li&gt;Adding new forms and search fields can be done through-the-web easily If you have need &lt;i&gt;very&lt;/i&gt; custom code, the search items can be extended using the normal class inheritance and schema magic which is used for the all Plone content types. &lt;br /&gt;&lt;/li&gt;&lt;li&gt;Numeric, boolean and ranged search indexes are supported. This is useful if your content types have attributes like a price.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Custom Search uses &lt;a href="http://www.dieter.handshake.de/pyprojects/zope/AdvancedQuery.html" target="_self"&gt;AdvancedQuery &lt;/a&gt;product by Dieter Mauer as a backend. AdvancedQuery monkey patches ZCatalog to support boolean queries and multiple sort keys.&lt;/li&gt;&lt;/ul&gt;Here are &lt;a href="http://plone.org/products/custom-search/documentation/manual/manual/some-sample-screenshots" target="_self"&gt;some screenshot examples&lt;/a&gt; what Custom Search can currently do. &lt;br /&gt;&lt;br /&gt;For some use cases, Custom Search is already very usable. It still lacks some functionality like batching support (all search are displayed on one page) and adding boolean conditions to the queries. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</description>
                <author>Mikko Ohtamaa</author>

                
                    <category>plone</category>
                

                <!--
                <dc:creator tal:content="feedentry/getAuthor"></dc:creator>
                <dc:rights tal:content="feedentry/getRights"></dc:rights>
                -->

                <pubDate>Mon, 21 Aug 2006 04:34:03 +0300</pubDate>

                
            </item>
        
        
            <item>
                <title>First post</title>
                <guid>http://www.redinnovation.com/old-blog/archive/2006/08/21/first-post</guid>
                <link>http://www.redinnovation.com/old-blog/archive/2006/08/21/first-post</link>
                <description>The Earth is calling</description>
                <author>Mikko Ohtamaa</author>


                <!--
                <dc:creator tal:content="feedentry/getAuthor"></dc:creator>
                <dc:rights tal:content="feedentry/getRights"></dc:rights>
                -->

                <pubDate>Mon, 21 Aug 2006 04:00:59 +0300</pubDate>

                
            </item>
        

    </channel>
</rss>


