One of the coolest things about Gmail is its filters — set up properly, filters can add loads of functionality to your already-powerful Gmail account. Save time and space, rid your inbox of unwanted emails, and turn your Gmail into a multi-functional tool with simple filters.
Thoughts on cloud, observability, appdev, architecture, and open source software, but not always in that order...
Wednesday, May 30, 2007
Friday, May 25, 2007
DB - Nijmegen - DB
Again a ride to work and back, this time over a new route from DB -> Oss which is through the farms and country instead of through the city. It seems to be a single km longer but the route saves me about 15 minutes each way!
Total ride was only 85 km’s as I was a bit late leaving for home so decided to take a train part way home and rode from Oss -> DB. Weather was great, 25 degrees!
Tuesday, May 22, 2007
A day without X
Would you be able to survive one full day without using the X server? Linux offers us a wide assortment of CLI based tools. There is no reason why you shouldn’t be able look up stuff online, read your email, look at pictures, watch movies and listen to music without X. Here is a list of apps that will help you survive a day without the X server.
Exclusive Lifehacker Download: Trick out Google Reader with Better GReader
read more
PMS v1.3.1 released today!
Since my last release of PMS I have been hard at work fixing some of the bugs and problems that surfaced as a larger user group started making use of PMS. Today I release version 1.3.1 and you can see the results of ICIS research work via the publications listing found on their site, just follow the Research link.
A listing of the fixed tickets can be found in the PMS Trac
- Milestone 1.3 (closed tickets)
- Tickets included in 1.3.1 release branch.
Furthermore, a new site has been opened to host the ICIS PMS at http://pms.cs.ru.nl.
Monday, May 21, 2007
WordPress - separating Trackbacks and Pings from normal comments
# edit your themes comments.php file and # look for the starting points I have provided. # <!-- You can start editing here. --> </code><h3 id="trackbacks">Trackbacks/Pings</h3> <ul class="commentlist"> <li class="">smaller"> id="comment-"> <p><cite> by — @ <a href="http://www.blogger.com/post-edit.g? blogID=3868547292717970492&postID=5015798110612907785# comment-%3C?php%20comment_ID%28%29%20%20%20%20 %20%20%20%20%20%20%20%20?%3E"></a></cite></p> comment_approved == '0') : ?> <em>Your comment is awaiting moderation.</em> </li> </ul> <h3 id="comments">Comments</h3> <ol class="commentlist"> <li class="">" id="comment-"> <cite></cite> comment_approved == '0') : ?> <em>Your comment is awaiting moderation.</em> <p class="commentmetadata"> <a href="http://www.blogger.com/post- edit.g? blogID=3868547292717970492amp;postID=5015798110612907785# comment-%3C?php%20comment_ID%28%29%20%20% 20%20%20%20%20%20%20%20%20%20%20%20%20?%3E" title=""> at </a> </p> </li> </ol>
I hope this helps you to sort out something for your own site with regards to Comments, Trackbacks and Pings. ;-)
Tux in the Indy 500!
Sunday, May 20, 2007
Den Bosch - Oss - Maas - Den Bosch
Saturday, May 19, 2007
Java on Guice - Dependency Injection (video)
"Google Guice is an open source Dependency Injection framework from Google. Guice is based on annotations and generics unlike Spring which depends on XML of Java for wiring dependencies. Guice injects constructors, fields and methods (any methods with any number of arguments, not just setters). Guice provides support for custom scopes, static member injection, Spring as well as Struts 2.x integration and AOP Alliance method interception. Guice is available at Google Code. You can find the User guide and Javadocs from there."
Follow-up: Linux courses available online free!
This week I was Dugg on a page I have had on my site for some time now, an amazing experience to watch.
I put a new plug-in for Digg and Delicious on my site and was testing it by using my Linux courses available online free page. Well, this took off like a rocket and the web-server was straining very hard just to keep up (and failing to do so more often than not)… I was able to recover from the problems by turning on the site caching plug-in but it was still a very busy day.
The hit counter took off on the first day far above my normal average of around 200-250 visitors and peaked at 964 hits. Day two was the high point, 7314 hits! Day three saw a drop to 844 and day four (weekdays all of them) was back down to 292 hits. Today is Saturday and it is afternoon my time with the counter up to 1536 hits and counting.
The Digg.com site has a feature that ranks the top 10 most popular Dugg articles in the first 12 hours of their lives (from the point that they hit the status of ‘popular’). My courses hit the #3 spot before time ran out:
Ranked #3 on Digg.com
I have kept an eye on the comments as the material in the courses that was posted is a bit old. I teach these every so often and it has been some time since the last course was taught. I only update the material when on a paid assignment (so if hired I customize and update to the clients wishes). This was noted by a few people in the comments.
Other than that, was nice to see that there is apparently a big need of on-line free courses for Linux. Maybe a good idea to start an Open Source Project that provides this? Would there be enough interest in maintaining a set of courses on-line?
I wonder…
Tuesday, May 15, 2007
Friday, May 11, 2007
Gimp and 3D DVD box covers plugin
.gimp2.2/plug-ins/
directory in your home directory, and then make it executable. Then, get yourself a DVD cover image from somewhere, open it in the Gimp, and click Python-Fu ==> DVD Cover
to get the pretty 3D version."He would be happy to hear any comments you have over on his site. ;-)
Thursday, May 10, 2007
Ubuntu consoles missing (no F1-F6 consoles)?
# tty2 - getty # # This service maintains a getty on tty2 from the point the system is # started until it is shut down again. start on runlevel 2 start on runlevel 3 stop on runlevel 0 stop on runlevel 1 stop on runlevel 4 stop on runlevel 5 stop on runlevel 6 respawn <<< ERROR! /sbin/getty 38400 tty2exec /sbin/getty 38400 tty2 <<< ERROR!The last two lines are reversed for one and the last line itself is a mesh of two commands, just need to clean them up to look like this:
... exec /sbin/getty 38400 tty2 respawn
Do this for all tty# files and you will have your consoles back under CTRL+ALT+{1-6}. ;-)
Tuesday, May 8, 2007
The Queen of the Netherlands opens Huygens building at Radboud University Nijmegen
Queen opens Huygens building |
There are some professional pictures in this slideshow and a very nice video report of the Queen’s visit.
Leaving the Radboud University Nijmegen
I have accepted a new job in the Java development team at the SNS Bank, in s-Hertogenbosch. This group has made a very nice impression on me and I like the atmosphere there. I will start at the end of the summer after finishing up a few things at the university.
This is the first time in my life that I leave a job due to no career advancement possibilities and not because I was unhappy (or the company went under). Very strange feeling but the winds of change are blowing and I am ready for a new challenge!Monday, May 7, 2007
Trac setup mirror of SVN repo with SVK (includes sync)
# login as root and create local svk depot. # $ svk mkdir //mirrors # link the local mirror to our abtlinux repo. # $ svk mirror https://abtlinux.svn.sourceforge.net/svnroot/abtlinux //mirrors/abtlinux # sync initial content over to local mirror. Just add this # to a cronjob and you will have automated syncing to # keep the mirror updated. # $ svk sync -a # now we need to move the local repo out of our ~/.svk/local location and into # our svn web based location. # $ mv ~/.svk/local /var/svnroot/mirrors # change the svk depotmap to point to new location. # $ svk depotmap # change the file that opens to point to your svn location, mine # looks like this: # --- '': /var/svnroot/mirrors ===edit the above depot map===
Finally we point our /var/lib/trac/abtlinux/conf/trac.ini at the local svn mirrror site and resync your trac with:
# my resync looks like this: # $ sudo trac-admin /var/lib/trac/abtlinux resync
Ubuntu Trac project management software setup
# first we need to install the packages. # $ sudo aptitude install trac libapache2-svn \ libapache2-mod-python libapache2-mod-python-doc
Next we need to setup the Trac environment.
$ sudo makdir -p /var/lib/trac $ sudo chown www-data.www-data /var/lib/trac
Now we need to setup an apache configuration with a new trac site, so add the following as /etc/apache2/sites-available/trac:
ServerAdmin eric@abtlinux.org ServerName trac.abtlinux.org DocumentRoot /usr/share/trac/htdocs ErrorLog /home/erics/logs/abtlinux-error_log CustomLog /home/erics/logs/abtlinux-access_log combined #Alias /trac-static /usr/share/trac/htdocs SetHandler mod_python PythonHandler trac.web.modpython_frontend PythonOption TracEnv /var/lib/trac/abtlinux PythonOption TracUriRoot / AuthType Basic AuthName "AbTLinux Trac Server" AuthUserFile /var/lib/trac/abtlinux/.htusers Require valid-user
Now I am going to enable the new trac site (this will be pointed to with an A record as trac.abtlinux.org):
$ sudo a2ensite trac $ sudo /etc/init.d/apache2 force-reload
This is a good point to go and setup Ubuntu Apache and Subversion setup with DAV support (includes SVN migration), this will get your subversion with authentication running.
With a working installation of our project, we can finish the Trac installation which will make use of our subversion setup.
$ sudo mkdir -p /var/lib/trac $ sudo trac-admin /var/lib/trac/abtlinux initenv $ sudo chown -R www-data /var/lib/trac/abtlinux
After all this, I opened the trac url (in my case, http://trac.abtlinux.org) and see nothing but error messages over neo_cgi.so:
Traceback (most recent call last): File "/var/lib/python-support/python2.5/trac/web/main.py", line 387, in dispatch_request dispatcher.dispatch(req) File "/var/lib/python-support/python2.5/trac/web/main.py", line 206, in dispatch req.hdf = HDFWrapper(loadpaths=chrome.get_all_templates_dirs()) File "/var/lib/python-support/python2.5/trac/web/clearsilver.py", line 135, in __init__ raise TracError, "ClearSilver not installed (%s)" % e TracError: ClearSilver not installed (/usr/lib/python2.5/site-packages/neo_cgi.so: undefined symbol: Py_InitModule4)
Some research showed that this was a Feisty problem and upgrading to ClearSilver 0.10.4 solved the problem, so download this from http://www.clearsilver.net. Before building edit the configure.in file:
# add 2.5 to variable python_versions. # python_versions="2.5 2.4 2.3 2.2 2.1 2.0 1.5 24 23 22 21 20 15"
Now we need to build and install correctly.
# just build normally. # $ sudo ./configure $sudo make $sudo make install # then link the neo_cgi.so to the python2.5 # $ cd /usr/lib/python2.5/site-packages $ sudo ln -s /usr/local/lib/python2.5/site-packages/neo_cgi.so
Open the Trac url (http://trac.abtlinux.org in my case) and bingo! ;-)
As a side note, if you want to migrate Trac database data from one machine to another (as I want to here above), you need only to replace the /var/lib/trac/abtlinux/db/trac.db file with your original setup (ensure of course that your /var/lib/trac/abtlinux/conf/trac.ini file is adjusted from the defaults as needed) and resync your Trac setup as follows:
$ sudo trac-admin /var/lib/trac/abtlinux resync $ sudo /etc/init.d/apache2 reload
Ubuntu screen backspace problem fix
alias screen='TERM=screen screen'
Sunday, May 6, 2007
Cycling in the Veluwe today!
Friday, May 4, 2007
Ubuntu Apache and Subversion setup with DAV support (includes SVN migration)
# first install subversion and apache libs. # $ sudo aptitude install subversion libapache2-svn # next we need a repository, I like to store all my # subversion repositories under /var/svnroot. # $ sudo mkdir -p /var/svnroot/projects $ sudo chown www-data:www-data -R /var/svnroot $ sudo chmod 770 -R /var/svnroot $ sudo svnadmin create /var/svnroot/projects
Next we need to configure apache, so edit the file /etc/apache2/mods-available/dav_svn.conf, here are some of the basic things you need to set.
... # Uncomment this to enable the repository DAV svn --- # no anonymous access. Satisfy Any Require valid-user --- # path to repo's. SVNParentPath /var/svnroot ..... AuthType Basic AuthName "Subversion Repository" AuthUserFile /etc/apache2/dav_svn.passwd ...
Now we need to setup a user with htpasswd and restart apache.
# provide a password when asked. # $ htpasswd -c /etc/apache2/dav_svn.passwd tester # restart apache and after creating a new repository. # $ sudo /etc/init.d/apache2 reload
To setup a project, I just dumped and loaded from an existing project as follows.
# at existing project site we dump the repository (called 'projects'). # $ sudo svnadmin dump /var/svnroot/projects > projects.dump # move that to your newly setup subversion location and load. # $ scp remotehost:/path-to-dump/projects.dump . $ sudo svnadmin load /var/svnroot/projects < projects.dump # open url: http://hostname/svnroot/projects # and supply user 'tester' and your password should # allow you to browse the repo.
All comments are welcome, please post if you have any questions!
Thursday, May 3, 2007
Vim for your Macbook
It is also easy enough to install via the 'ports' if you have that installed:
# This will currently give you Vim v7.0.224. # $ sudo port install vimNote that you need to be careful and ensure that you are using the ports version in /opt/local/bin/vim and not the Mac version I found in /usr/bin/vim (v6.2). I altered my PATH variable to point to first the /opt/local/bin before searching /usr/bin to solve this.