<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0">

    <channel>

        <title>Blog</title>
        <link>http://www.duyx.nl/blog</link>
        <description></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>Blog</title>
            <url>http://www.duyx.nl/logo.png</url>
            <link>http://www.duyx.nl/blog</link>
        </image>

        
            <item>
                <title>happy birthday</title>
                <guid>http://www.duyx.nl/blog/2010/08/16/happy-birthday</guid>
                <link>http://www.duyx.nl/blog/2010/08/16/happy-birthday</link>
                <description>
&lt;p&gt;&lt;a class="external-link" href="http://thank.debian.net/"&gt;http://thank.debian.net/&lt;/a&gt;&lt;/p&gt;
</description>
                <author>JeP</author>

                
                    <category>friends</category>
                
                
                    <category>debian</category>
                
                
                    <category>linux</category>
                

                <pubDate>Mon, 16 Aug 2010 20:41:36 +0200</pubDate>

                
            </item>
        
        
            <item>
                <title>the Boomerang effect</title>
                <guid>http://www.duyx.nl/blog/2010/06/26/the-boomerang-effect</guid>
                <link>http://www.duyx.nl/blog/2010/06/26/the-boomerang-effect</link>
                <description>
&lt;p&gt;The boomerang effect is difficult to explain.&lt;/p&gt;
&lt;p&gt;You can best try it by going to Luxor and visit the &lt;a class="external-link" href="http://www.boomerangluxor.com"&gt;Boomerang Luxor &lt;/a&gt;hotel.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
</description>
                <author>JeP</author>

                
                    <category>traveling</category>
                
                
                    <category>holidays</category>
                

                <pubDate>Sat, 26 Jun 2010 14:49:14 +0200</pubDate>

                
            </item>
        
        
            <item>
                <title>Acrassicauda - heavy metal refugees from Iraq</title>
                <guid>http://www.duyx.nl/blog/2010/06/07/acrassicauda-heavy-metal-refugees-from-iraq</guid>
                <link>http://www.duyx.nl/blog/2010/06/07/acrassicauda-heavy-metal-refugees-from-iraq</link>
                <description>
&lt;p&gt;An amazing&amp;nbsp; documentary about war, music, iraq and refugees.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;a class="external-link" href="http://www.vbs.tv/watch/acrassicauda--2/heavy-metal-in-baghdad-feature"&gt;http://www.vbs.tv/watch/acrassicauda--2/heavy-metal-in-baghdad-feature&lt;/a&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
</description>
                <author>JeP</author>

                
                    <category>peace and war</category>
                
                
                    <category>music</category>
                
                
                    <category>overpijnzingen</category>
                

                <pubDate>Mon, 07 Jun 2010 00:40:00 +0200</pubDate>

                
            </item>
        
        
            <item>
                <title>Egypt Today</title>
                <guid>http://www.duyx.nl/blog/2010/04/26/egypt-today</guid>
                <link>http://www.duyx.nl/blog/2010/04/26/egypt-today</link>
                <description>
&lt;p&gt;The whole day I was busy. Going to the City of 6 October to see the progress the new&amp;nbsp; house my friend is building in a newly created city in the desert.&lt;/p&gt;
&lt;p&gt;The desert was hot and sandy. And the Cairo traffic is very busy. And going through the Cairo traffic and to a market can be exhausting. So i was happy to arrive in my hostel. A nice, quiet and friendly place in the centre of Downtown Cairo.&lt;/p&gt;
&lt;p&gt;After arriving back to my hostel, Dina and some of the other guest came back from getting some diner take home Egyptian diner. and drinks. They invited me. And it looked so good that even i was full with pizza, I could not resist to taste some. The Egyptian Stella beer was most refreshing after a day in the desert. And although there was some language difficulties we talked a lot in English, Arab and Spanish. A nice evening after a special day. Finally at around 3 am I saw my bed.&lt;/p&gt;
&lt;p&gt;When I arrived in Cairo, i arrived also in the night and came to the hostel around 3am. The first day i felt sorry for Dina to be awake till 3am just because I was arriving. But after sitting and talking with her and the other guests till this time, i feel a little more relaxed about this.&lt;/p&gt;
&lt;p&gt;The interesting part of staying in a hostel like &lt;a class="external-link" href="http://www.dinashostel.com"&gt;Dina's Hostel&lt;/a&gt; is meeting many interesting people from all over the world.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Other guests are the Spanish photographing teacher, that has her own hostel in Spain, A journalist from Canada, an American that teaches English in Korea. And also we had a student from Germany that speaks 6 languages (even Dutch) and who was very helpful in translating. Oh, and Dina is just a wonderful host. Check out her hostel, its an amazing place in the centre of Cairo, while I ask her about interesting places to see tonight in Khan el-Khalili Souk (the big middle-eastern market dating back ages ago).&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Maybe next time that i will be here, Dina managed to get expand her hostel on the roof. This would make a wonderful place for breakfast or relaxing in the evening under the stars.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
</description>
                <author>JeP</author>

                
                    <category>traveling</category>
                

                <pubDate>Mon, 26 Apr 2010 14:40:56 +0200</pubDate>

                
            </item>
        
        
            <item>
                <title>كل عام وأنتم بخير</title>
                <guid>http://www.duyx.nl/blog/2010/01/01/643644-639627645-64864662a645-62862e64a631</guid>
                <link>http://www.duyx.nl/blog/2010/01/01/643644-639627645-64864662a645-62862e64a631</link>
                <description></description>
                <author>JeP</author>

                
                    <category>holidays</category>
                

                <pubDate>Fri, 01 Jan 2010 00:15:56 +0100</pubDate>

                
            </item>
        
        
            <item>
                <title>Mobinil prepayed 3g with Sony Ericsson MD300 </title>
                <guid>http://www.duyx.nl/blog/2009/12/05/mobinil-prepayed-3g-with-sony-ericsson-md300</guid>
                <link>http://www.duyx.nl/blog/2009/12/05/mobinil-prepayed-3g-with-sony-ericsson-md300</link>
                <description>
&lt;p&gt;I first installed the md300 debian package ... which didn't work with mobinil. &lt;br /&gt;But wiht some changes to the wvdial config (see attached wvdial-mobinil.conf) I was able to use the MD300 modem with mobinil 3G internet. &lt;br /&gt;With the current price 1Mb is 0.30 EGP, so such prepay card. So be carefull which sites you visit.&lt;/p&gt;
&lt;p&gt;The configuration (taken from the example config of the md300 package, generated with md300 --init) needs to be changed a little to make it work with mobinil in egypt.&lt;/p&gt;
&lt;h3&gt;Configuration for wvdial to use md300 with mobinil&lt;br /&gt;&lt;/h3&gt;
&lt;pre&gt;[Dialer Defaults]
Modem = /dev/ttyACM0
Init1 = AT+cfun=1
Init2 = AT+cgreg=1
Init3 = AT
Init4 = AT &amp;amp;F &amp;amp;D2 &amp;amp;C1 E0 V1 S0=0
Init5 = AT+IFC=2,2
Init6 = ATS0=0
Init7 = ATZ
Init8 = ATQ0 V1 E1 S0=0 &amp;amp;C1 &amp;amp;D2 +FCLASS=0
Init9 = ATZ+cgdcont=1,"IP","mobinilweb"
Password = 
Check Def Route = 1
Phone = *99***1#
Idle Seconds = 0
Modem Type = USB Modem
Stupid Mode = 1
Compuserve = 0
Baud = 460800
Auto DNS = on
Dial Command = ATDT
Ask Password = 0
ISDN = 0
Username = mobinil 
Password = mobinil
Carrier Check = off

[Dialer mobinil]
Stupid Mode = on
Username = mobinil 
Password = mobinil
Auto Reconnect = on
Phone = *99***1#

&lt;/pre&gt;
&lt;p&gt;Some things in this config are double, and I guess unneeded. Unfortunately while writing this I am now in Holland and am unable to check changes to the file. Please try and let me know.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;References:&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;http://www.niclabs.cl/entel/MD300/UbuntuDebian%3DENG.html &lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
</description>
                <author>JeP</author>

                
                    <category>debian</category>
                
                
                    <category>linux</category>
                

                <pubDate>Sat, 05 Dec 2009 23:52:47 +0100</pubDate>

                
            </item>
        
        
            <item>
                <title>open source SAN storage</title>
                <guid>http://www.duyx.nl/blog/2009/10/03/open-source-san-equivalent-storage</guid>
                <link>http://www.duyx.nl/blog/2009/10/03/open-source-san-equivalent-storage</link>
                <description>Many people in IT love the KISS - Keep It Simple, Stupid - principle.
&lt;p&gt;But they also like flexibility .....&lt;/p&gt;
&lt;p&gt;Every layer of flexibility, removes some simplicity. But AoE uses two well known standards (ATA and Ethernet) so the specification document only counts 12 pages. Many high density disks talk (S)ATA and every network connected computer knows Ethernet so why add more complexity with protocols like iSCSI if you want to connect to a remote SATA disk? Setting up your first AoE storage from a recent Linux distribution costs you less than 12 minutes. Changing a physical hard drive takes longer. Lets get our export our first SAN raw disk that we can format and mount on another system.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;On the storage server side&lt;/h3&gt;
&lt;p&gt;Install vbladed or vblade-persist. After that you can choose an empty! partition, logical volume or disk image to export over ethernet. Export this with the vblade daemon. Make sure export to the intended storage clients MAC address with MAC filtering.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;On the client side&lt;/h3&gt;
&lt;p&gt;Install aoe-tools and insert the kernel module aoe. After that you can run aoe-discover (from within the same subnet as the exporting storage server) and you will see a new device in /dev/etherd/e.X.Y.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;You can use this device as any regular block device or disk. So the first thing you probably would like to do is create a filesystem on it and mount it.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;So why do you want this AoE? If you want to centralize your storage in one machine (behind a lock), or you want to build a quiet system without own internal disks. Or ... well there are many reasons ... Why would you want to have a disk in every device? Keep your disk storage central, keep your energy usage low. Manage your data from a central point.&lt;/p&gt;
&lt;p&gt;It is quite easy to build a diskless machine that boots from an AoE disk. Your client machine needs to be capable to boot with PXE. For the server side I would suggest using dnsmasq for tftp and and dhcp. You just need to make a slightly altered initrd with AoE included to boot from the network. Then you would have a quiet system that is easy replacable. If it dies, just replace the hardware, change some settings on your boot and storage server and start the new hardware to boot with the same storage. No need to reinstall your OS. Within minutes your new system is up and running again. If your storage server holds important data, think about a backup strategy to protect against human or technical failure.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;See also&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;a class="external-link" href="http://www.debian-administration.org/articles/553"&gt;http://www.debian-administration.org/articles/553&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="external-link" href="http://support.coraid.com/support/linux/contrib/adnet/debianboot.html"&gt;http://support.coraid.com/support/linux/contrib/adnet/debianboot.html&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="external-link" href="http://www.s-mart.net/aoe.txt"&gt;http://www.s-mart.net/aoe.txt&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="external-link" href="http://en.wikipedia.org/wiki/Dnsmasq"&gt;http://en.wikipedia.org/wiki/Dnsmasq&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
</description>
                <author>JeP</author>

                
                    <category>storage</category>
                
                
                    <category>low energy computing</category>
                
                
                    <category>debian</category>
                
                
                    <category>linux</category>
                

                <pubDate>Sat, 03 Oct 2009 22:50:00 +0200</pubDate>

                
            </item>
        
        
            <item>
                <title>credit and freedays check for jumblo voip</title>
                <guid>http://www.duyx.nl/blog/2009/08/23/credit-and-freedays-check-for-jumblo-voip</guid>
                <link>http://www.duyx.nl/blog/2009/08/23/credit-and-freedays-check-for-jumblo-voip</link>
                <description>
&lt;p&gt;This was itching me, so I had to scratch. After some stumbling with sh, sed and curl I managed to get the two -for me- most important checks to work with my jumblo voip account:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp; creditminutes&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp; freedays&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;In the hope these added checks for jumblo.com are usefull to others I send my patch to Simon G and he has released a new version.&lt;br /&gt;&lt;br /&gt;Check it out on: &lt;a class="external-link" href="http://www.simong.net/finarea/fincheck"&gt;http://www.simong.net/finarea/fincheck&lt;/a&gt;&lt;/p&gt;
</description>
                <author>JeP</author>

                
                    <category>voip</category>
                
                
                    <category>linux</category>
                

                <pubDate>Sun, 23 Aug 2009 11:55:13 +0200</pubDate>

                
            </item>
        
        
            <item>
                <title>adslrouter reset</title>
                <guid>http://www.duyx.nl/blog/2009/08/22/adslrouter-reset</guid>
                <link>http://www.duyx.nl/blog/2009/08/22/adslrouter-reset</link>
                <description>
&lt;pre&gt;#!/usr/bin/env python
#
# This script will ping to 'checkaddress' if network is
# unreachable it will connect to the modem and reboot it.

# 20090822 Jean-Paul 

import commands
import pexpect
import time
import sys

#settings
checkprog='ping -c 1 -q'

connect='telnet Your_modem_address_here'                         # replace with your modem ip
passwd='replace with your password'                              # replace with your modem password
sleeptime=1
menuline='Enter Menu Selection Number: '
checkaddress='google.com'


## Sub routines 
def adsl_login_logout(connect, passwd):
    """ test routine to check if we can login and logout"""
    p = pexpect.spawn(connect)
    p.expect('Password: ')
    p.sendline(passwd) 
    time.sleep(sleeptime)
    p.sendline('99') 
    #print '[Debug] now exitted the ADSL modem.'

def adsl_reboot(connect, passwd):
    """
       Routine to login to a zyxel 650 adsl modem on its telnet port and reboot the modem.
       Unfortunately I was not able to use expect after logging in, so decided to just send the sequence of commands
    """
    ### logging in
    p = pexpect.spawn(connect)
    ## set this for debugging:
    #p.logfile=sys.stdout
    p.expect('Password: ')
    p.sendline(passwd) 
    
    time.sleep(sleeptime)
    p.sendline('24') 
    time.sleep(sleeptime)
    p.sendline('4') 
    time.sleep(sleeptime)
    p.sendline('21\r\n')    # to be sure to send a retorn (\r\n)
    p.close()



def main():
    connection = False

    # check if address is reachable
    checkcommand="%s  %s" %(checkprog, checkaddress)
    result = commands.getstatusoutput(checkcommand)
    if (result[0] == 0): # command returned ok 
       #print '[Debug]: Connected!'
       connection = True
    if connection == False:
       print '''
             WARNING: Not connected to Internet!
             I was unable to reach "%s".
               Ping result: %s 
               Will now try to reboot the modem with (%s)\n
             '''  %(checkaddress,result,connect)
       adsl_reboot(connect,passwd)


if __name__ == '__main__':
    main()

&lt;/pre&gt;
</description>
                <author>JeP</author>

                
                    <category>python</category>
                
                
                    <category>linux</category>
                

                <pubDate>Sat, 22 Aug 2009 16:27:58 +0200</pubDate>

                
            </item>
        
        
            <item>
                <title>jip en janneke low power cluster</title>
                <guid>http://www.duyx.nl/blog/2009/05/07/jip-en-janneke-low-power-cluster</guid>
                <link>http://www.duyx.nl/blog/2009/05/07/jip-en-janneke-low-power-cluster</link>
                <description>
&lt;p&gt;The developer of this low energy, high availability system is Dr.ir. Rick van Rein, the system is based on commodity hardware (fit-pc) and uses only open standards / open source software.&lt;/p&gt;
&lt;p&gt;&amp;nbsp; Rick claims his solution is more secure and has higher availability than raid1 because both hosts in the cluster (named Jip and Janneke) can easily be located at different sides of the building (or even further if you wish).&lt;/p&gt;
&lt;p&gt;&amp;nbsp; The design is also extremely usefull in a high availability, low cost voip SIP PBX setup.&lt;/p&gt;
</description>
                <author>JeP</author>

                
                    <category>low energy computing</category>
                
                
                    <category>voip</category>
                
                
                    <category>linux</category>
                

                <pubDate>Thu, 07 May 2009 21:18:59 +0200</pubDate>

                
            </item>
        
        
            <item>
                <title>plone quotator portlet</title>
                <guid>http://www.duyx.nl/blog/2009/04/13/plone-quotator-portlet</guid>
                <link>http://www.duyx.nl/blog/2009/04/13/plone-quotator-portlet</link>
                <description>
&lt;p&gt;Getting a random quote whenever I (re)opened our webpage was one of the things I liked a lot of our old page and which I could not find a standard product for in Plone. At least not a product that uses the MySQL database which holds our quotations.&lt;/p&gt;
&lt;p&gt;Of course it would be much easyer now to just use a small java script from &lt;a class="external-link" href="http://www.quotationspage.com/"&gt;http://www.quotationspage.com/&lt;/a&gt;&amp;nbsp; but that would simply be too easy, wouldn't it? It would not be a nice challenge and it would not give use the opportunity to manage our own quotation collection.&lt;/p&gt;
&lt;p&gt;In this first post about my new challenge I will explain the baby steps I have taken so far to start making this Plone Product or Portlet. Somehow i feel it is difficult to find a way to get started developing on Zope/Plone, maybe this post could help someone else later on to get started.&lt;/p&gt;
&lt;h2&gt;Finding a debugger&lt;/h2&gt;
&lt;p&gt;Every developer should become friends, or get married with a good debugger. So the first steps i took was finding a debugger for Plone.&lt;br /&gt;I first tried to use the plonectl from my instance. Also I found the product Clouseau. It is equivalent to plonectl, only it is online, as a webpage. Giving the opportunity to do much neat things, like working online together.&lt;/p&gt;
&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;Clouseau is a Zope and Plone debugger and introspector. It
            allows you to interact with Plone and alter it without being
            encumbered by security restrictions. It provides a Python prompt
            that is connected to the Zope database and contains all the objects
            from your Plone site. This is equivalent to a zopectl or PloneShell
            prompt. (Clouseau help page)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;h2&gt;Getting Plone talk with SLQ&lt;br /&gt;&lt;/h2&gt;
&lt;p&gt;After getting some sleep this morning I continued still looking at the Clouseau command line on my test site. And I had no clue where or how to start. Maybe the title of this paragraph would better be &lt;em&gt;getting me to talk to Plone&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;One of the challenges is getting the python-mysql moduel installed. Using the buildout egg entry python-mysql did not work, it failed with strange unexpected errors. Installing the package &lt;span class="ul-threaded"&gt;&lt;span class="text-cell"&gt;libmysql++-dev was the way to go.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;I won't go details about this issue because the description and solution can be found at:&amp;nbsp; &lt;a class="external-link" href="http://plone.org/support/forums/general#nabble-td333556"&gt;http://plone.org/support/forums/general#nabble-td333556&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Now things are setup to start experimenting with python and sql, lets try to connect to the database. To try if you can connect, try something similar to the following in the plonectl or in the web interface of Clueseau&lt;/p&gt;
&lt;pre&gt;&amp;gt;&amp;gt;&amp;gt; import MySQLdb
&amp;gt;&amp;gt;&amp;gt; conn = MySQLdb.connect (host="localhost", user="me", db="test")
&amp;gt;&amp;gt;&amp;gt; cursor = conn.cursor ()
&amp;gt;&amp;gt;&amp;gt; cursor.execute ("SELECT VERSION()") 
1L
&amp;gt;&amp;gt;&amp;gt; row = cursor.fetchone ()
&amp;gt;&amp;gt;&amp;gt; print "server version:", row[0] 
server version: 5.0.32-Debian_7etch8-log
&amp;gt;&amp;gt;&amp;gt; cursor.close ()
&amp;gt;&amp;gt;&amp;gt; conn.close ()
&lt;/pre&gt;
&lt;p&gt;Yes it worked, Ii could connect to my database.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Now try if it is possible to get one quote out of the quotes table. Lets start plonectl and give it a try, try to get quotation 2 (the first one is dutch)&lt;/p&gt;
&lt;pre&gt;bin/plonectl debug
...
&amp;gt;&amp;gt;&amp;gt; import MySQLdb
&amp;gt;&amp;gt;&amp;gt; conn = MySQLdb.connect (host="localhost", user="me", db="test")
&amp;gt;&amp;gt;&amp;gt; cursor = conn.cursor ()
&amp;gt;&amp;gt;&amp;gt; cursor.execute ("SELECT citaat FROM citaten where id=2") 
1L
&amp;gt;&amp;gt;&amp;gt; row = cursor.fetchone ()
&amp;gt;&amp;gt;&amp;gt; print "Quotation 2: ", row[0] 
Quotation 2: A wise man will make more opportunities than he wil make friends.
&lt;/pre&gt;
&lt;h2&gt;Parts needed&lt;/h2&gt;
&lt;p&gt;Following parts were used / needed for this:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;mysql-python&lt;/li&gt;&lt;li&gt;&lt;code&gt;(zmysqlda)&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="ul-threaded"&gt;&lt;span class="text-cell"&gt;libmysql++-dev (needed for mysql_config)&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;References&lt;/p&gt;
&lt;a class="external-link" href="http://www.kitebird.com/articles/pydbapi.html"&gt;http://www.kitebird.com/articles/pydbapi.html&lt;/a&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
</description>
                <author>duyx.nl sys admin</author>

                
                    <category>plone</category>
                

                <pubDate>Mon, 13 Apr 2009 11:59:17 +0200</pubDate>

                
            </item>
        
        
            <item>
                <title>Secure thin X Terminal image (cd or disk)</title>
                <guid>http://www.duyx.nl/blog/2009/04/13/secure-thin-x-terminal-image-cd-or-disk</guid>
                <link>http://www.duyx.nl/blog/2009/04/13/secure-thin-x-terminal-image-cd-or-disk</link>
                <description>
&lt;p&gt;To take advantage of the the latest possibilities, we use the latest version from a bootstrapped Debian Sid. We will work from within that chroot environment to build the Debian Lenny LDM secure X terminal live cdrom. Lets go through the process step by step.&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;First prepare our build environment. Bootstrap a Debian Sid version:&lt;/li&gt;&lt;/ul&gt;
&lt;pre&gt;debootstrap sid sid-chroot http://debian.org/debian
&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;This takes some time, it makes a base debian Sid filesystem in sid-chroot.&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Enter the new filesystem with chroot:&lt;/li&gt;&lt;/ul&gt;
&lt;pre&gt;chroot sid-chroot
&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;Now you are in the new Sid environment.&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;We need the Debian live-helper package, so let's install it:&lt;/li&gt;&lt;/ul&gt;
&lt;pre&gt;apt-get install live-helper&lt;/pre&gt;
&lt;ul&gt;&lt;li&gt;Get the attached script (&lt;a class="external-link" href="../download/minilive-ldm.sh/view"&gt;http://www.duyx.nl/download/minilive-ldm.sh&lt;/a&gt;).&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;pre&gt;wget http://www.duyx.nl/download/minilive-ldm.sh&lt;/pre&gt;
&lt;ul&gt;&lt;li&gt;&amp;nbsp;Run the script to make the binary iso that contains LDM and xorg etc:&lt;/li&gt;&lt;/ul&gt;
&lt;pre&gt;./minilive-ldm.sh lenny&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;This wil start building a Debian Lenny system, install the requiered packages and finally make a binary.iso.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Have a coffee or whatever you do when you wait.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;In the mean time while waiting, please feel free to review my script, and help me figure out a smart way to automagically install the host key from&amp;nbsp; the target LDM_SERVER on the live system. Without this, the LDM login failes&amp;nbsp; ... it uses ssh, and ssh needs to have been authenticated with the ssh server on the target host. ...&lt;/p&gt;
&lt;p&gt;&amp;nbsp;A workaround is to add the ssh-key manually. After starting the live system, switch to a terminal console (eg: CRT-ALT-F1) and run "sudo ssh LDM_SERVER", where LDM_SERVER is the address of your local ssh capableb terminal server.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;If everything went well (depending on network connection, a working
debian mirror and other things that might go wrong), you will have a
folder named ldm-live-lenny where you will find the binary.iso.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;When finnished building the binary.iso exit the sid chroot environment with the command "exit", to return to your normal Debian system.&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;You could test the file before burning it to a cdrom with qemu.&lt;/li&gt;&lt;/ul&gt;
&lt;pre&gt;apt-get install qemu
qemu -cdrom ~/sid-chroot/ldm-live-lenny/binary.iso
&lt;/pre&gt;
&lt;ul&gt;&lt;li&gt;&amp;nbsp;If the binary.iso workes fine, burn it to cd:&lt;/li&gt;&lt;/ul&gt;
&lt;pre&gt;wodim binary.iso
&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;Hope this information is usefull&amp;nbsp; (i guess so if you continued reading untill here:) )&lt;/p&gt;
</description>
                <author>JeP</author>

                
                    <category>debian</category>
                
                
                    <category>linux</category>
                

                <pubDate>Mon, 13 Apr 2009 11:55:58 +0200</pubDate>

                
            </item>
        
        
            <item>
                <title>Lenny revives old Thinkpad</title>
                <guid>http://www.duyx.nl/blog/2009/01/23/lenny-revives-old-thinkpad</guid>
                <link>http://www.duyx.nl/blog/2009/01/23/lenny-revives-old-thinkpad</link>
                <description>
&lt;p&gt;It is possible that the card is not activated. First find the id of the card with lspnp -v (part of the pnputils package in debian lenny).&amp;nbsp; After finding the ID of the card, it is possible to enable the card with:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;echo 'activate' &amp;gt; /sys/devices/pnp0/00:[CARD ID]/resources&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Finally I altered this script to make it work on the Thinkpad 770E. It can be downloaded from:&lt;/p&gt;
&lt;a title="thinkpad_pnp_sound.sh" class="internal-link" href="../downloads/thinkpad_pnp_sound.sh"&gt;thinkpad_pnp_sound.sh&lt;/a&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
</description>
                <author>JeP</author>

                
                    <category>music</category>
                
                
                    <category>debian</category>
                
                
                    <category>linux</category>
                

                <pubDate>Fri, 23 Jan 2009 11:00:00 +0100</pubDate>

                
            </item>
        
        
            <item>
                <title>called mama today</title>
                <guid>http://www.duyx.nl/blog/2008/12/15/call-mama</guid>
                <link>http://www.duyx.nl/blog/2008/12/15/call-mama</link>
                <description>
&lt;p&gt;This morning I phoned my mom. She had just returned from holidays. But the main reason this event is worth a post is that it was my first call with mama, using my own IP phone / Home build Astlinux (&lt;a class="external-link" href="http://www.astlinux.org"&gt;http://www.astlinux.org&lt;/a&gt;) Voip call with mom.&lt;/p&gt;
&lt;p&gt;I did try calling my mom before from my Voip system but somehow we did not speak. I was not sure if she did not answer the phone, or that she did answer, but we could not hear each other. So mum, this explains some of the mistery calls last few months.&lt;/p&gt;
&lt;p&gt;Last few weeks I had time again to invest in my Astlinux project. I build Astlinux from source,&amp;nbsp; installed it on a new (low power) box and reviewed all the settings.&amp;nbsp; I changed the RTP ports in the asterisk configuration to match the Nat / Firewall settings in my modem. Probably it helps that Asterisk tries to set up voice (RTP) channels on a port that can come through the firewall.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;My mom was okay by the way. Her house was cold while the heating system broke down during her holidays. Se came from 30 degrees, and arrived in a 5 degrees home. Home sweet home :)&lt;/p&gt;
&lt;p&gt; She asked me how to get her pictures from her USB flash disk on her computer .... I am anxious to see her holiday pics.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a class="external-link" href="http://www.astlinux.org"&gt;http://www.astlinux.org&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="external-link" href="http://www.asterisk.org"&gt;http://www.asterisk.org&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
</description>
                <author>JeP</author>

                
                    <category>voip</category>
                
                
                    <category>holidays</category>
                

                <pubDate>Mon, 15 Dec 2008 15:30:16 +0100</pubDate>

                
            </item>
        
        
            <item>
                <title>plone with eggs</title>
                <guid>http://www.duyx.nl/blog/2008/12/13/setting-up-plone</guid>
                <link>http://www.duyx.nl/blog/2008/12/13/setting-up-plone</link>
                <description>
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Introduction&lt;br /&gt;&lt;/h2&gt;
&lt;p&gt;Lets start with a little history. Me and my brother were blogging on our old website in pure html. At that time the word blogging did not even exist. Later on we made some php forms in front of a database back-end to make it more easy to add a new post to our website.&lt;/p&gt;
&lt;p&gt;Also we extended our site with a rudimentary chat page. Our latest invention on our own site was to let our viewers add their own items, we called it "make your own news".&amp;nbsp; All that was many years ago -- i start to feel old when i hear myself say that.&lt;/p&gt;
&lt;p&gt;So lets talk about setting up Plone. There are somem misunderstandings about Plone, and one is that it is so hard to setup and difficult to understand in comparison to other Content Management Systems (CMS).&lt;/p&gt;
&lt;p&gt;Maybe that is partly true, Plone is an Open Source &lt;em&gt;Enterprise&lt;/em&gt; CMS, and has a different focus than many other Open Source CMS systems, like Joomla, Wordpress or Drupal.&lt;/p&gt;
&lt;p&gt;Plone can compete with all of these and has o lot better track record when it comes to security issues.&lt;/p&gt;
&lt;p&gt;Let me&amp;nbsp; explain what I did to set things up to get this site running.&lt;/p&gt;
&lt;h3&gt;My webserver&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;Apache server in front (need redirects in apache, outside of the scope of this post) &lt;br /&gt;&lt;/li&gt;&lt;li&gt;A Pentium III 800 MHz machine, with 512Mb of Ram (quite slow for a Plone site)&lt;/li&gt;&lt;li&gt;Debian Etch with the build tools (aptitude install build-essential) installed - not sure if that is enough I started from a running Debian. &lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;h3&gt;My goals&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;website with blogging functionalities&lt;/li&gt;&lt;li&gt;test site&amp;nbsp; for testing before applying changes to the "production site"&lt;/li&gt;&lt;li&gt;keep it simple (also to manage, backup and maintain later on) &lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;h2&gt;Installing Python, Zope and Plone&lt;br /&gt;&lt;/h2&gt;
&lt;p&gt;At my former job at&amp;nbsp;&lt;a class="external-link" href="http://www.zestsoftware.nl"&gt;http://www.zestsoftware.nl&lt;/a&gt; as time passed we ended up with different versions of Python, different versions of Zope, and different versions of Plone. All installed on different locations. Every site was setup in a different way and it was becoming a more difficult to maintain.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Now Plone.org comes with the unified installer for Unix based Plone installations. And I wanted to try that.&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;as root&lt;br /&gt;&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;downloaded Plone Unified installer for Linux/BSD/Unix from &lt;a class="external-link" href="http://plone.org/products/plone"&gt;http://plone.org/products/plone&lt;/a&gt;&lt;/li&gt;&lt;li&gt;unpacked to /opt/Plone-3.X.X-UnifiedInstaller/&lt;/li&gt;&lt;li&gt;chmod&amp;nbsp; /opt/Plone-3.X.X-UnifiedInstaller/&amp;nbsp; to +rwx for all&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;li&gt;as normaluser &lt;br /&gt;&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;cd to /opt/Plone-3.XX-Unifiedinstaller and run &lt;em&gt;./install.sh --instance=test.site.com&amp;nbsp; standalone&lt;/em&gt;&lt;/li&gt;&lt;li&gt;everything you need will be build in /home/normaluser/Plone-3.X/&lt;/li&gt;&lt;/ul&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;The first time you run this can take some time. After the first time, building a new instance seemed to go faster.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;The build worked with no issues for me. The Zope/Plone instance is in the&amp;nbsp; sub folder /test.site.com/.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;The installer informed me nicely about the new admin user and (randomly generated) password. To start the new Plone instance I had to go into the instance folder and issue the command "bin/instance start". Out of the box the site will run on port 8080, so your newly created Zope instance can be managed at http://YourServersAddress:8080/manage/&lt;/p&gt;
&lt;p&gt;The buildout command also generated a fresh Plone site in the Zope instance which can be reached at http://YourServersAddress:8080/plone.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;In my situation I wanted to run the site on another port. This is done in the file buildout.cfg, where i changed the variable &lt;em&gt;http-address =&amp;nbsp; &lt;/em&gt;to the number i wanted. After changing the file I ran bin/buildout.&lt;/p&gt;
&lt;em&gt;&lt;/em&gt;
&lt;p&gt;And automagically the new configuration was&amp;nbsp; put into the relevant zope config file(s). After starting te instance with &lt;em&gt;bin/instance stop&amp;nbsp; ; bin/instance start &lt;/em&gt;the instance was running on my preferred port.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Buildout is a wonderful thing, it makes handling Zope and Plone easy. Lets see how to use it to add an add-on product.&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;&lt;strong&gt;Add-on Product with Python Eggs&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;To install an add-on product in Plone in the past you had to find it
download it and unpack it inside your Zope instance Products folder. in
the README..txt you would find the dependencies of the Product. That is becomming history, lets look at the future.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;As one of the early bloggers, I want to have a blog Product. So lets try Quills. Quills has a Python Egg of a beta version of Quills 1.7 something.&lt;/p&gt;
&lt;p&gt;Modern Python products are more and more distributed in eggs.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;One of my goals is to setup a site easily, but also set it up in a way that is easy to maintain. So it would be nice if i can configure all needed add-ons and configuration settings in one configuration file. Thats where we have buildout.cfg.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;I added one line to buildout.cfg so the part from eggs now looks like this:&lt;/p&gt;
&lt;pre&gt;# Add additional eggs here
# elementtree is required by Plone
eggs =
    elementtree
    FeedParser
    Products.Quills
&lt;/pre&gt;
&lt;p&gt;&amp;nbsp; The line&amp;nbsp; "Products.Quills" is all that was added to the buildout.cfg file. After that, just running &lt;em&gt;bin/buildout&lt;/em&gt; is enough.&lt;/p&gt;
&lt;p&gt;&amp;nbsp; Buildout will do the hard work. Finding the Quills product somewhere,&amp;nbsp; downloaded it, configured and installed the thing, complete with dependancies.&lt;/p&gt;
&lt;p&gt;&amp;nbsp; After starting the instance again, with &lt;em&gt;bin/instance start &lt;/em&gt;the site Quills was now available in Plone as an installable product.&lt;/p&gt;
&lt;p&gt;&amp;nbsp; To tell the Plone site to install the Quills product I went to&lt;/p&gt;
&lt;p&gt;http://yourServerAddress:8080/Plone/prefs_install_products_form where i choose all Quills related stuff and clicked the install button. After that in the Plone site the choice "weblog" was added to the "&lt;em&gt;Add New...&lt;/em&gt;" menu.&lt;/p&gt;
&lt;p&gt;&amp;nbsp; Another product that I installed was the easy-backup recipe for buildout. For more information about that, Reinouts post - see my references below.&lt;/p&gt;
&lt;p&gt;&amp;nbsp; Building the second instance for testing purposes was easy. It was just a matter of copying the instance folder and everything in it with &lt;em&gt;cp -a, editing the &lt;/em&gt;buildout.cfg to use another port, and running &lt;em&gt;bin/buildout&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp; In a few hours I managed to install a Plone site (and a test stie) with an add-on product for blogging functionality. After installing the easy backup recipe the site could also be backed up easily.&lt;/p&gt;
&lt;h2&gt;TIPS&lt;/h2&gt;
&lt;ul&gt;&lt;li&gt;try running bin/buildout again if something went wrong  (downloads could have failed)&lt;/li&gt;&lt;li&gt;start in foreground mode &lt;em&gt;bin/instance fg&lt;/em&gt; to see what is happening&lt;br /&gt;&lt;/li&gt;&lt;li&gt;go to http://myserveraddress:8080/manage to manage your site(s) from the Zope Management Interface (ZMI)&lt;/li&gt;&lt;li&gt;add an email server to the mail config in Site Setup&lt;/li&gt;&lt;li&gt;run in debug mode if you are busy changing thing on the instance filesystem - changed files will be reread on a reload of a page&lt;br /&gt;&lt;/li&gt;&lt;li&gt;if you try your mail server settings with the contact form (and still logged in as admin) you might get the following error&lt;strong&gt;:&amp;nbsp; "P&lt;/strong&gt;&lt;strong&gt;lease correct the indicated errors."&lt;/strong&gt;&amp;nbsp;
Don't worry, you filled in the two fields, subject and message in the
right way. This error is related to the fact that user admin has no
email address set, and a logged in user is expected to have an email
address.&amp;nbsp;&lt;/li&gt;&lt;li&gt;

you &lt;em&gt;must go inside &lt;/em&gt;the installation dir and start the installer with ./install.sh, else the install will not work &lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;h2&gt;Issues&lt;/h2&gt;
&lt;p&gt;During the installation there were a few issues, I will mention them to help myself and others to not get into the same situation as I did this time.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;The titles of blog entries are very small, they are on the site displayed in a small&amp;nbsp; letter (with H3). This is in my opinion related to the issue:&lt;/p&gt;
&lt;a class="external-link" href="http://plone.org/products/quills/issues/151"&gt;http://plone.org/products/quills/issues/151&lt;/a&gt;
&lt;p&gt;&amp;nbsp; In the test instance I tried to change the some basic css from the standard NuPlone. The file I edited was [instancename]/parts/plone/NuPlone/skins/nuplone_styles/nuplone.css.&lt;/p&gt;
I expected that changing the blue color from the portlets and menu background, would be easy. But somehow in the little time i spend on it, I was not able to get the Quills portlet "Weblog Authors" to show up in the purple color I wanted. Other parts were changed though (after restarting the instance). Remember Quills was a beta version, and I did not put much time in finding a solution.
To really make my own skin, I think I would better make my own skin product and set that up correctly in buildout.cfg to be installed&amp;nbsp; automatically.
&lt;p&gt;&amp;nbsp;&amp;nbsp; Another strange thing happened. To try to follow my own steps while I was writing this post I wanted to make a new instance. Somehow&amp;nbsp; this time I did not get a Plone site inside the new Zope instance.&lt;/p&gt;
&lt;p&gt;When I tried running the new instance in the foreground with&lt;/p&gt;
&lt;p&gt;&lt;em&gt;newinstance/bin/instance fg, &lt;/em&gt;I saw the following errors:&lt;/p&gt;
&lt;pre&gt;zope.configuration.xmlconfig.ZopeXMLConfigurationError: File "/home/USERNAME/Plone-3.1/tijdelijktest/parts/instance/etc/site.zcml", line 15.2-15.23
    ZopeXMLConfigurationError: File "/home/USERNAME/Plone-3.1/Python-2.4/lib/python2.4/site-packages/Products.Quills-1.7.0b2-py2.4.egg/Products/Quills/configure.zcml", line 7.2-7.34
    ZopeXMLConfigurationError: File "/home/USERNAME/Plone-3.1/Python-2.4/lib/python2.4/site-packages/quills.app-1.7.0b1-py2.4.egg/quills/app/configure.zcml", line 7.2-7.34
    ZopeXMLConfigurationError: File "/home/USERNAME/Plone-3.1/Python-2.4/lib/python2.4/site-packages/quills.app-1.7.0b1-py2.4.egg/quills/app/security.zcml", line 5.4
    ImportError: No module named core.interfaces
&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; Guess something went wrong when Quills was installed (with the eggs method or while trying it in other ways). I have to get deeper understanding of zcml and eggs and configurations, but that is outside the scope of this project.&lt;/p&gt;
&lt;p&gt;&amp;nbsp; It was still possible to setup a Plone site in the "broken" instance. All the needed products were still installed, so I had to log into the ZMI and select "Plone Site" from the drop-down menu, click the Add button, and wait.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; The biggest problems to get the site running were not Zope and Plone related. One of the problems was myself. Yesterday evening I was trying to finish things while I was sleepy... The other thing was that the firewall rules on my server did not let connect to my site. I kept on puzzling with my rewrite rules in Apache and my /etc/hosts file to try to see the website, but could not get it to work. After solving the first issue with a good night rest, the firewall issue was resolved quickly.&lt;/p&gt;
&lt;h2&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;First of all I have to conclude that setting up Plone on a Linux based system is easy. A few simple steps and Zope and Plone are running. It took only a few hours, to compile, install, play and get things right to my liking.&lt;/p&gt;
&lt;p&gt;&amp;nbsp; At the moment there are two issues. The first one, is I have to learn how to make my own skin product and configure that in buildout.cfg before I can start to change the look of the site, else my changes will get lost when running bin/buildout. The other issue is the error when trying to set up a new instance. These are minor issues, which was maybe caused while using a beta state version of an add-on product for Plone.&lt;/p&gt;
&lt;p&gt;&amp;nbsp; If you read this post, you can see that the basic functions of Zope, Plone and the beta version of the add-on product Quills are working well.&lt;/p&gt;
&lt;h2&gt;References&lt;/h2&gt;
&lt;p&gt;&lt;a class="external-link" href="http://plone.org/documentation/tutorial/installing-plone-3-with-the-unified-installer"&gt;http://plone.org/documentation/tutorial/installing-plone-3-with-the-unified-installer&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="external-link" href="http://reinout.vanrees.org/weblog/archive/2008/07/03/easy-backups-with-buildout"&gt;http://reinout.vanrees.org/weblog/archive/2008/07/03/easy-backups-with-buildout&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="external-link" href="http://reinout.vanrees.org/weblog/archive/2008/07/03/easy-backups-with-buildout"&gt;http://quills.sitefusion.co.uk/blog/archive/2008/06/04/weblog-products-quills-and-quillsenabled-beta-releases&lt;br /&gt;&lt;/a&gt;&lt;/p&gt;
</description>
                <author>JeP</author>

                
                    <category>plone</category>
                

                <pubDate>Sat, 13 Dec 2008 17:36:20 +0100</pubDate>

                
            </item>
        

    </channel>
</rss>


