home :: technology

Incorporating Blosxom in an Existing Website

Here’s how I configured my website to use Blosxom as its CMS (content management system - a fancy term for the way a site is organized). My requirements were:

  • The root URL (www.kcaran.com) had to point to blosxom.cgi.
  • The URL’s to blog entries should look like static links (e.g., http://www.kcaran.com/entries/technology/linux/debian_upgrade_woes.html
  • Files and directories outside of Blosxom should be accessible as before. My Fantasy Football pages should still reside at http://www.kcaran.com/footb/. And I should be able to create new files and directories without changing the web server configuration.
  • Once you have Blosxom configured and working the way you want, place it in a directory named blosxom under your root web directory. For me, that would be /var/www/caran/blosxom.

    [caran@mlougee caran]$ pwd
    /var/www/caran
    [caran@mlougee caran]$ ll blosxom/
    total 60
    drwxrwsr-x   9 caran    www-data  4096 Oct  7 14:17 ./
    drwxrwsr-x  25 caran    www-data  4096 Oct  7 14:27 ../
    -rw-rw-r--   1 caran    www-data    14 Sep 29 08:57 .cvsignore
    drwxrwsr-x   2 caran    www-data  4096 Oct  7 14:54 CVS/
    -rwxrwxr-x   1 caran    www-data 16784 Oct  7 14:17 blosxom.cgi*
    drwxrwsr-x   3 caran    www-data  4096 Oct  5 12:29 css/
    drwxrwsr-x   4 caran    www-data  4096 Oct  7 13:41 entries/
    -rw-r--r--   1 www-data www-data     0 Oct  7 14:16 error_log.txt
    drwxrwxr-x   3 caran    www-data  4096 Oct  7 14:54 feedback/
    drwxrwsr-x   3 caran    www-data  4096 Oct  7 14:23 flavours/
    drwxrwsr-x   3 caran    www-data  4096 Oct  4 14:34 images/
    drwxrwsr-x   4 caran    www-data  4096 Oct  5 12:30 plugins/
    

    Last Updated: Thu, 17 Nov 2005

Using CVS in a Windows environment

Managing and tracking changes made to code, otherwise known as version control, is vital to any software project, large or small. CVS, the Concurrent Versions System, is one change management application. This is a summary of how to use CVS in an environment with servers running both Unix and Microsoft Windows operating systems.

See more ...

Last Updated: Wed, 05 Oct 2005

Javascript Support for Firefox

Making your Javascript code work on both IE and Firefox isn’t hard. Here are a few modifications to IE-only code to make it work on Firefox:

See more ...

Last Updated: Thu, 17 Nov 2005

Using Perl Under IIS

Some may consider me a masochist, but Perl is my language-of-choice for web applications, even when I am “forced” to use Microsoft’s Internet Information Services, otherwise known as IIS, for my web server.

As usual, the Microsoft server has little quirks that need to be tamed in order to write cross-platform code. Here are some tips for making your perfectly good Perl code run under IIS:

See more ...

Last Updated: Mon, 26 Sep 2005

Perl Modules Primer

Splitting a Perl application into seperate files can be trickier than doing it in other languages, like C or C++, but it is still an important part of producing maintainable code.

Creating the Package

A Perl module is a collection of code stored in a single file. By definition, all variables and function names in the module are stored in a package with the same name as the file.

For example, a module named Cgiutils would be stored in the file Cgiutils.pm. Any functions or variables in the module belongs to the Cgiutils package namespace. The beginning of the file should look like this:

See more ...

Last Updated: Mon, 26 Sep 2005

Things I always need to look up in Perl

Here are some random Perl things I always need to look up:

See more ...

Last Updated: Mon, 26 Sep 2005

SQL Server: Padding of data in columns of type ‘varchar’

I’ve been having some trouble with the way Microsoft SQL Server pads strings stored in its tables with spaces. Generally, I would assume that columns of type ‘CHAR’ would be a fixed length (and therefore padded), while columns of type ‘VARCHAR’ would be variable length. But I would be wrong.

The default behavior for SQL Server 7.0 and Server 2000 is that CHAR’s and VARCHAR’s are padded to their maximum lengths. To make the VARCHAR columns unpadded, the ‘ansi_padding’ property needs to be set to ‘off’. Unfortunately, you must do this every time you open a session with the database server. There isn’t a way to force ANSI padding off as the default.

See more ...

Last Updated: Mon, 26 Sep 2005

Debian Upgrade Woes

We run two Debian Linux servers at work: a back-up web server and a sandbox for random Linux development. Recently, I decided to do an apt-get upgrade on the servers to update their software packages to the latest versions.

I figured it would be simple. We were already running the unstable branch. And it hadn’t been that long since I last attempted an upgrade. So, as root, I issued the following commands:

# apt-get update
# apt-get dist-upgrade

Uh-oh! I kept getting the following error:

Setting up libc6 (2.3.5-3) ...
mv: error while loading shared libraries: libacl.so.1: cannot enable
executable stack as shared object requires: Error 14 

See more ...

Last Updated: Thu, 17 Nov 2005

Installing ODBC on Linux

At work, we use Microsoft SQL Server and IBM AS400 databases. Here’s how I set our Linux boxes to allow them to connect to the databases through ODBC. There are seperate instructions for the Debian and RedHat distributions.

ODBC connections require several layers of software to work. The bottom layer consists of the individual ODBC drivers for each database system. Our top layer is the DBI/DBD interface for Perl. In between these layers is the ODBC driver manager, which keeps track of the DSN’s and their corresponding ODBC drivers.

Packages and Software to Install

Debian Version (“unstable” distribution)

We use unixODBC as our ODBC driver manager. First, install unixODBC:
NOTE: Perl’s DBD::ODBC module requires the developer’s version of unixODBC.

  # apt-get install unixodbc-dev

See more ...

Last Updated: Thu, 17 Nov 2005

Sending an email in HTML format using Outlook

For those of you lucky enough to use Microsoft Outlook for email, here’s how to send a message in HTML format:

See more ...

Last Updated: Mon, 26 Sep 2005