Older blog entries for waffel (starting at number 31)

disable maven enforcer rule

Apache maven enforcer rules are very useful in large projects. A common usage of such enforcer rules is to define them in a central point like a project parent pom.xml. For example following enforcer definition can be set in a pom parent:

package-parent pom.xml:

...
<plugin>
  <artifactId>maven-enforcer-plugin</artifactId>
     <executions>
       <execution>
         <id>enforce-java-1_4</id>
         <goals>
           <goal>enforce</goal>
         </goals>
         <configuration>
           <rules>
             <requireProperty>
                <property>java.compiler.version</property>
                <regex>1\.4</regex>
                <regexMessage>You must compile with Java 1.4, as long our servers run in old NetWeaver!</regexMessage>
              </requireProperty>
            </rules>
            <fail>true</fail>
         </configuration>
      </execution>
    </executions>
</plugin>
...

This enforcer rule should ensure that all projects, which using the parent POM using a Java 1.4 compiler.

Often such parent pom defines many other useful properties and settings for projects. If you want to use these definition and ONLY want to disable the enforcer rule you can simple do follow „trick“:

...
<parent>
  <groupId>org.waffel</groupId>
  <artifactId>package-parent</artifactId>
  <version>1.1</version>
</parent>

<build>
   <plugins>
     <!-- we need to overide the enforcer rules here because we have java 1.6 and not the  old 1.4 -->
      <plugin>
        <artifactId>maven-enforcer-plugin</artifactId>
        <executions>
          <execution>
            <id>enforce-java-1_4</id>
            <phase>none</phase>
          </execution>
        </executions>
      </plugin>
   </plugins>
</build>
...

I use the same approach here as described in my article how to diable a inherited maven plugin.


Filed under: software Tagged: disable, enforcer, maven, plugin, rule

Syndicated 2010-11-18 16:33:22 from waffel's Weblog

Columba – Java based EMail-Client honoured by big IT Magazin in Germany

As anybody knows I’am a Co-developer for the last years for a Java based EMail client called Columba. Now the program was honoured by the big german IT magazin Heise.

The last moths, there are no more many code changes in the project and I can say the project is dead (from the developer point of view). I have learned many about open source programming, Java coding and got new friends in this project. It was very funny to work on this EMail client!

Now we got after many years good feedback for our work and it is nice to see that the project still have users which are like this kind of EMail client.


Filed under: java, software Tagged: columba, EMail, Heise, mail client, power tool

Syndicated 2010-09-07 16:27:38 from waffel's Weblog

using ScribeFire to create faster my blog entries

An articte on Heise shows me the cool Firefox plugin called ScribeFire which can be used to write Blogentries in Firefox with a much better Wysiwyg Editor than the default provided by wordpress.

For sure, ScribeFire supports many blog frameworks and has some cool features.

I love this plugin and hope I’am now able to blog more than the last month’s


Filed under: Blogroll Tagged: blog, firefox, plugin, scribefire

Syndicated 2010-09-07 14:51:23 from waffel's Weblog

fixed attachment creation for testopia

Today I found the time to fix a problem in testopia – the mozilla test extention for Bugzilla.

The problem was, that we where unable to attach files to a test case in the testopia extention. After some research I found out, that the tr_attachment.cgi module uses the Testopia:Attachment perl module to do the database stuff.

I have changed to too simple database insert statement to a more secure prepared statement which uses the type BLOB for the contents and it works perfekt.

To get the fixed file you can download it from the original bug 576524.


Filed under: software Tagged: attachment, bug, bugzilla, fix, image, perl, problem, testopia

Syndicated 2010-08-16 12:37:15 from waffel's Weblog

howto disable inherited maven plugin


We using in our department a big hierarchy of maven parents (like the apache community does). Some of these parents define useful plugins.

If I want to use the parents (and often this is a good idea, because the parents defining for example version informations for my dependencies), but I do not want to have a specific plugin invoked while I’am using maven, I can simple disable the plugin with follow configuration in my pom.xml:

...
<build>
  <plugins>
     <plugin>
        <artifactId>thePluginArtifact</artifactId>
        <groupId>thePluginGroup</groupId>
        <executions>
           <execution>
              <id>the-execution-id</id>
              <phase>none</phase>
           </execution>
        </executions>
     </plugin>
  </plugins>
</build>
...

The trick how to disable a plugin is to set the phase of the plugin to none.

Eingetragen unter:software Tagged: disable, maven, none, phase, plugin

Syndicated 2010-02-16 13:43:12 from waffel's Weblog

brand new Album “Kälte” finished


I would likely present the new Album “Kälte” from my Band Cryo Tekk on lastfm.

We are all happy to have this album finished after two years. You can listen to our album for free on lastfm.

We are also happy that we are on the “Industrial Underground Sampler number one” from Quickstar Productions. Hopefully this takes us all a step forward.

It would be nice if someone leaves a shout on lastfm.

Eingetragen unter:Cryo Tekk Tagged: album, Cryo Tekk, Kälte, music, new

Syndicated 2010-02-12 21:56:52 from waffel's Weblog

create self signed multi domain certificate


I have a domain mydomain.com with some sub level domains like

  • nexus.mydomain.com
  • svn.mydomain.com
  • www.mydomain.com

Now I need a self signed certificate for all these domains because I want to use them over HTTPS. There are some steps to do this. First of all: you don’t need for this propose your own root certificate. You should replace all occurence of mydomain.com with your own domain name and sub domains.

On the gentoo server where the apache should host the domains, I have to create the certificate. I do following steps:

  1. Generate a private key
    openssl genrsa -des3 -out server.key 1024
    
  2. Generate a CSR (Certificate Signing Request)
    openssl req -new -key mydomain.key -out mydomain.csr
    
    Country Name (2 letter code) [DE]:DE
    State or Province Name (full name) [Sachsen]:Sachsen
    Locality Name (eg, city) [Leipzig]:Leipzig
    Organization Name (eg, company) [My Company Ltd]:mydomain.com
    Organizational Unit Name (eg, section) []:Information Technology
    Common Name (eg, your name or your server's hostname) []:mydomain.com
    Email Address []:thomas dot wabner at mydomain dot com
    Please enter the following 'extra' attributes
    to be sent with your certificate request
    A challenge password []:
    An optional company name []:
    
  3. Remove Passphrase from Key
    cp mydomain.key mydomain.key.org
    openssl rsa -in mydomain.key.org -out mydomain.key
    
  4. Generating a Self-Signed Certificate

    To include all required subdomains a extensions file must be used. For example I have created a file /home/waffel/ssl/mydomain_extensions with following content:

    [ mydomain_http ]
    nsCertType      = server
    keyUsage        = digitalSignature,nonRepudiation,keyEncipherment
    extendedKeyUsage        = serverAuth
    subjectKeyIdentifier    = hash
    authorityKeyIdentifier  = keyid,issuer
    subjectAltName          = @mydomain_http_subject
    [ mydomain_http_subject ]
    DNS.1 = www.mydomain.com
    DNS.2 = nexus.mydomain.com
    DNS.3 = trac.mydomain.com
    DNS.4 = svn.mydomain.com
    

    The last command to create the certificate is:

    openssl x509 -req -days 365 -in mydomain.csr -signkey mydomain.key -out mydomain.crt -extfile /home/waffel/ssl/mydomain_extensions -extensions mydomain_http
    

In the apache configuration for the ssl host’s I have enabled the ssl module with following content:

...
ServerAlias svn.mydomain.com trac.mydomain.com nexus.mydomain.com

        ErrorLog /var/log/apache2/ssl_mydomain_error_log
        <IfModule log_config_module>
                TransferLog /var/log/apache2/ssl_mydomain_access_log
        </IfModule>

        SSLEngine on
        SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
        SSLCertificateFile /etc/apache2/ssl/mydomain.crt
        SSLCertificateKeyFile /etc/apache2/ssl/mydomain.key
        SSLCertificateChainFile /etc/ssl/cacert.pem
        <FilesMatch "\.(cgi|shtml|phtml|php)$">
                SSLOptions +StdEnvVars
        </FilesMatch>
        <Directory "/var/www/localhost/cgi-bin">
                SSLOptions +StdEnvVars
        </Directory>
        <IfModule log_config_module>
                CustomLog /var/log/apache2/ssl_mydomain_request_log \
                        "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
        </IfModule>
...

For exmaple if you need such certificate to connect your maven with a self installed nexus repositiory over https you can follow the article from ahoehma.

A more detailed description with some beckground information about the certificate creation can be found here.

Posted in administration, webmaster Tagged: apache, certificate, domain, extensions, https, multi, openssl, self, signed, ssl

Syndicated 2009-11-17 16:29:37 from waffel's Weblog

using keychain under cygwin


If you want to use the keychain tool under cygwin to aviod entering your passwort for your external server again and agin, you may follow my short guide:

In the follow example I work on my home PC named master and want to use the keychain tool with my server test-server.de.

  1. Install the keychain tool under cygwin
  2. Start you cygwin bash and generate your own private and public key pair:
    ssh-keygen
    

    Of course you should set a password for your private key. The keys are now in $HOME/.ssh/

  3. Copy your public key from $HOME/.ssh/id_rsa.pub to your test-server.de (in a temporary folder)
  4. Login to your test-server.de
  5. Copy the content of your public key and insert it at the end of your $HOME/.ssh/known_host. If the file does not exists, create a new one.
  6. Logout from your test-server.de
  7. Now you can do the following every time you start your cygwin shell:
  8. Start the keychain tool with your private key:
    /usr/bin/keychain $HOME/.ssh/id_rsa
    
  9. Source the generated sh file from keychain:
    source $HOME/.keychain/master-sh
    

    Dependend of your hostname (in my example master) the file name from the keychain directory may differ.

To stop the ssh-agent (which is started in the background from the keychain tool) you may use

keychain -k all

If you have more than one server where you want to connect without retyping the password you can re run steps 3-6 from the guide.

Posted in software Tagged: bash, cygwin, generate, key, keychain, login, ssh, ssh-agent

Syndicated 2009-11-06 13:39:31 from waffel's Weblog

Calculate your training heart frequency


The formula to calculate your trainig heart frenquency is:

  • THF: training heart frequency
  • CA: chronological age
  • RHF: rest heart frequency

THF=220-CA-RHF*0,65+RHF

For example, if your age is 30 years and your rest heart frequency is 60, then your training heart frequency is 144,5. This means if you start your training (for example jogging) you can watch your pulse. You should then have minimal a pulse of 144,5 to have a training result (trains your heart and your circular flow).

Posted in medicine Tagged: frequency, heart, pulse, training

Syndicated 2009-11-02 12:59:13 from waffel's Weblog

Howto upgrade ]project-open[ 3.1 to vmware 3.2 version


We have a self compiled version of ]project-open[ version 3.1 running on our intranet server. Because there is no more support for this version and there is also no more any documentation about this version out there we have decided to switch to the ]project-open[ vmware 3.2 version. There are some steps required to get all data from 3.1 into the 3.2 installation.

First of all: Make a backup of your database!

  1. Login as admin into your 3.1 web interface and make a postges backup http://[YOUR_SERVER]/intranet/admin/backup/
  2. The backup data is now on your 3.1 machine under /web/projop/filesystemstorage/backup/[YOUR_BACKUP_FILE].sql .
  3. Download the ]project-open[ vmware image from sourceforge. Because we use virtualbox instead of vmware we mount the vmware image into our virtualbox.
  4. In virtualbox you have to select SCSI:1 as your harddisk interface because the vmware installation tries to mount /dev/sda1 as your root.
  5. after success start of the virtualbox you have to login as root (default password is root)
  6. Now you have to switch your runlevel to S (single user mode) with init S.
  7. In this runlevel you have to restart postgres with /etc/init.d/postgesql restart.
  8. Switch now from root to postgres with su - postgres.
  9. Connect to the postgresql master database template1 with psql template1
  10. Drop the projop database drop database projop;
  11. Now you can leave the postgresql shell with \q
  12. Create a new projop database createdb projop --owner projop
  13. Set postgres dialect for the database createlang plpqsql projop
  14. Import the tsearch2 tablees psql projop -f /web/projop/packages/intranet-search-pg/postgresql/tsearch2.sql
  15. Import your backup from the 3.1 system (copy the data from your 3.1 machine first) psql projop -f /web/projop/filesystemstorage/backup/[YOUR_BACKUP_FILE].sql
  16. Run the post patch psql projop -f /web/projop/preconf/poall.post-patch.sql
  17. Switch back to root exit
  18. Switch back to the runlevel 5 init 5
  19. Restart the postgresql system /etc/init.d/postgresql restart
  20. In you web browser you should now be able to login as administator (username and password from your old 3.1 system!)
  21. Update all enabled packages http://[YOUR_SERVER]/acs-admin/apm/packages-install?update_only_p=1
  22. Select on the page all packages which should be upgraded and start the update procedure (this may take any time)
  23. Restart the projop web server with http://[YOUR_SERVER]/acs-admin/server-restart

I hope thats all and your system is now running with ]project-open[ 3.2.

Posted in administration Tagged: project-open, update, upgrade, virtualbox, vmware

Syndicated 2009-10-02 10:05:02 from waffel's Weblog

22 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!