Thu, 02 Nov 2006

Fedora Core 6

Mirrored Fedora logo

I downloaded and installed the latest offering from the Fedora Project this past weekend: Fedora Core 6 "Zod". For me the fastest mirror continues to be the one graciously provided by Telus in Canada. As with the last Fedora release, this one installed without a problem on my Toshiba Satellite Pro 4600 notebook. Sound and wireless networking worked perfectly out of the box.

Image of Fedora Core 6 desktop

In addition to being one of the slickest looking releases, it appears to run faster than Core 5, which was even faster than Core 4. It is amazing to me, and a testiment to open source, that each release of an operating system can offer more in terms of features, yet still run more efficiently on my aging Pentium III notebook than the previous version. Wouldn't it be nice is all operating systems worked that way?



posted: 00:33 | 0 comments | tags: , ,


Mon, 02 May 2005

Linuxfest Northwest 2005

This past weekend I attended Linuxfest Northwest in Bellingham, WA with a buddy of mine who came down from Canada. There was an exhibit room set up with various vendors and groups as well as a packed presentation schedule with events running throughout the day.

Although there were a number of speakers I would have liked to have heard, we only had time to sit in on three. All three represented great achievements in open source development. The three presentations we attended were:

  • Clam AntiVirus - Clam AntiVirus is a GPL anti-virus toolkit for UNIX. Its main purpose is in the integration with mail servers for the purposes of attachment scanning.
  • Asterisk - Asterisk is a complete PBX in software. It runs on Linux and provides all of the features you would expect from a PBX and more.
  • MythTV - MythTV is a suite of programs that allow you to build the mythical home media convergence box on your own using Open Source software and operating systems.

They were all good presentations and it was easy to see that a lot of work has gone into each project to bring it to the standard it shares today. I personally can't wait to find a spare computer to set up a MythTV box and hopefully rid myself of the numerous VHS tapes that are scattered around the living room.



posted: 21:00 | 0 comments | tags: , ,


Fri, 11 Mar 2005

Pippy: Python for the Palm

Image of Pippy running on Palm device

The other night I was browsing the internet searching for some Python stuff and I stumbled upon this. Pippy is a port of Python 1.5.2+ to the PalmOS. After reading the web site I went looking for my old Palm IIIxe handheld, dropped in some fresh AAA's and plugged it into the cradle which was attached to my Fedora Core 3 box. After transfering the two .prc files over to the Palm I had a working subset of Python on my old PDA. The developers even included a feature that allows one to write your own Python modules in the memo pad application and then import them into the interpreter.



posted: 00:54 | 0 comments | tags: , ,


Sat, 05 Feb 2005

Ejabberd Jabber Service and JWChat

Image of ejabberd administration screen

One of the things I have wanted to do, however, lacked the need for it, was setup a Jabber instant messaging server. That is, until about three months ago, when I was presented with a problem to which I needed a solution for. I needed a Jabber server that would allow clients to connect to it from behind a corporate firewall. The Jabber port for a non-SSL enabled connection is 5222; the Jabber port for a SSL-enabled connection is 5223. The easiest solution, which was not an option, would have been to open the blocked ports on the firewall and allow the users to access a public server.

A buddy of mine referred me to JWChat, a Jabber web client which uses only JavaScript and HTML on the client-side. JWChat needs support for HTTP polling on the backend server. HTTP polling is a protocol that, "enables access to a Jabber server from behind firewalls which do not allow outgoing sockets on port 5222, via HTTP requests." The CVS version of JWChat was tested in combination with ejabberd-0.7.5, an HTTP polling capable server. Reviewing the current Jabber server implementations, ejabberd supports approximately 77% of the expected server features of the Jabber/XMPP protocol and the license is GPL. Another nice feature.

The ejabberd web site has two good tutorials on installing ejabberd and another one on installing JWChat and configuring the server. Once the server is up and running, ejabberd has an embedded webserver to provide a web administration tool. A sample screenshot is shown above.

The ejabberd server is currently running on Apache 1.3.31 and I found the biggest difficulty was getting the web server setup correctly. Through no fault of the documentation, I feel it was simply a lack of understanding on my part to what was going on. The web server needs to be setup so that it redirects requests from the HTTPBASE of config.js of the JWChat configuration to the HTTP polling capable Jabber server component, which in this case, is ejabberd. In my config.js configuration, HTTPBASE was simply set to, "http-poll/". In the Apache configuration file you need to make sure you have the mod_proxy and mod_negotiation modules enabled. Depending on how you built your Apache server, if you see the following lines in your Apache configuration you probably have it already,

#
# Dynamic Shared Object (DSO) Support
#
.
.
.
LoadModule negotiation_module libexec/mod_negotiation.so
LoadModule proxy_module       libexec/libproxy.so

For the mod_proxy section of the Apache configuration I had the following,

<IfModule mod_proxy.c>
    ProxyRequests Off
    ProxyPass /jabber/http-poll/ http://private.mycompany.com:5280/http-poll/
    <Directory proxy:*>
        Order deny,allow
        Deny from all
        Allow from all
    </Directory>
</IfModule>

and in the VirtualHost section I had,

<VirtualHost xxx.xxx.xxx.x:80>
  Servername private.mycompany.com
  DocumentRoot /usr/local/apache/www/private
  AddDefaultCharset UTF-8
  RewriteEngine On
  RewriteRule ^/http-poll/ http://private.mycompany.com:5280/http-poll/ [P]
  <Directory /usr/local/apache/www/private/jabber>
    Options +MultiViews
  </Directory>
</VirtualHost>

After some searching I found the following startup script which I placed in the /etc/rc.d/init.d directory of the linux server to control the starting and stopping of ejabberd.

#!/bin/sh
#########################################################
#
#     ejabberd -- script to start ejabberd.
#     Written by Sander Devrieze (s.devrieze at pandora.be)
#
#########################################################

ERL=/usr/local/bin/erl
NAME=ejabberd

#########################################################

case "$1" in
  start)
        echo "Starting $NAME."
        cd /var/lib/ejabberd/ebin/
        $ERL -pa /var/lib/ejabberd/ebin \
             -name ejabberd \
             -s ejabberd \
             -ejabberd config \"/etc/ejabberd/ejabberd.cfg\" \
                       log_path \"/var/log/ejabberd/ejabberd.log\" \
             -sasl sasl_error_logger \{file,\"/var/log/ejabberd/sasl.log\"\} \
             -mnesia dir \"/var/lib/ejabberd/spool\" \
             -heart \
             -detached
        ;;
  stop)
        echo "Stopping $NAME."
        echo "rpc:call('ejabberd@`hostname -f`', init, stop, [])." | $ERL -name ejabberdstop
# should be -s in place of -f with -sname in place of -name for other way of starting
        ;;
  status)
        echo "Not implemented yet."
        ;;
  restart|reload)
        $0 stop
        sleep 3
        $0 start
        ;;
  *)
        echo "Usage: $0 {start|stop|status}"
        exit 1
esac

I have used both the JWChat web client for instant messaging as well as my Gaim client and both work really well with the server.



posted: 02:42 | 0 comments | tags: , ,


© 2008 PlatosCave.net