Articles / Tutorials

All articles tagged with Tutorials

No avatar March 22, 2008 00:00 Need to have maps on your Web page? It's simple!

This article will show you how easy it is to set up interactive maps for your Web page, including multiple layers and interactivity between your view of your Web page and your backend business logic.

No avatar February 23, 2008 00:00 iPhone Development: Go Web, Young Programmer

Sometime this month -- according to the latest rumors, anyway -- we'll find out why 2008 won't be like 2007. That's when Apple plans to release the Software Development Kit (SDK) for their runaway hit Gadget of the Century, the iPhone. As of this writing, no one outside of Cupertino can really say what the SDK will include. It might well be the keys to the kingdom. Then again, it might just prove to be the shackles that bind your development future to Apple's fortunes. You see, if you as a developer build your applications using the official iPhone SDK, then those apps are bound to the platform, and being bound to the platform, of necessity, limits your audience. That's seldom a good thing. Rather than going down that path, why not consider something bolder? Why not strike out on your own and build a Web-based application that looks as good as a native iPhone app but that isn't beholden to Apple?

No avatar September 29, 2007 00:00 Writing Syslog Messages to MySQL with rsyslogd

In this paper, I describe how to write syslog messages to a MySQL database. Having syslog messages in a database is often handy, especially when you intend to set up a frontend for viewing them. This paper describes an approach with rsyslogd, an alternative enhanced syslog daemon natively supporting MySQL. I describe the components that need to be installed and how to configure them.

No avatar August 25, 2007 00:00 Build Your Own XML Parser

Recently, I needed to write a script that would parse an XML file and extract various bits of information. I'm sure there are plenty of excellent XML modules for Perl, but I didn't want to go through the pain of having to find one and install it (along with its tree of dependencies). Besides, I was sure that I was dealing with well-formed XML, and all I was doing was extracting fields, so I didn't need error-checking, XSLT, XInput, and all that fancy stuff. I just rolled my own XML parser in about 100 lines. It's not fancy. It makes all sorts of assumptions that will cause it to break in a production environment, but I thought I'd show how it's built.

No avatar March 03, 2007 00:00 Definitions and Benefits of Statement, Branch, and Path C...

Code coverage is a way to measure the level of testing you've performed on your software. Gathering coverage metrics is a straightforward process: instrument your code and run your tests against the instrumented version. This produces data showing what code you did -- or, more importantly, did not -- execute. Coverage is the perfect complement to unit testing: unit tests tell you if your code performed as expected, and code coverage tells you what remains to be tested.

No avatar June 17, 2006 00:00 Creating Charts and Graphs with GNU R

As the R homepage explains, "R is a language and environment for statistical computing and graphics. It is a GNU project which is similar to the S language and environment which was developed at Bell Laboratories..." Although it is not as widely known or utilized as one might expect, R is a powerful tool which provides a wide variety of statistical techniques. One of its major strengths is its graphics capabilities. With R, even the statistically challenged can easily produce publication-quality graphs and charts, in a variety of image formats (JPEG, Postscript, and PDF, among others). In this tutorial, I will give a short introduction to R with a focus on its graphing capabilities.

No avatar February 19, 2006 00:00 NAT traversal for the SIP protocol

NAT stands for Network Address Translation. It's the technology which allows most people to have more than one computer in their home and still use a single IP address. Most of the time, a router with NAT support gets data packets from the internal network (with internal IP addresses) and sends them to Internet, changing the internal IP address of each packet to the external one.

No avatar October 15, 2005 00:00 OpenCyc Calculator

In his book "Integration-Ready Architecture and Design", Jeff Zhuk states that today's software engineering practices suffer from one serious drawback: the non-reuse of common algorithmic knowledge.

No avatar August 20, 2005 00:00 SSL Encrypting Syslog with Stunnel

In this article, I describe how to encrypt syslog messages on a network. Encryption is vital to keeping the confidential content of syslog messages secure. I describe the overall approach and provide a HOWTO to do it with the help of rsyslogd and stunnel.

No avatar June 04, 2005 00:00 Gmail on Home Linux Boxes using Postfix and Fetchmail

If you have a Gmail account and would like to use it in conjunction with your personal computers, this tutorial will walk you through configuring and installing the latest version of Postfix with SASL authentication and TLS encryption necessary for connecting and relaying mail to and configuring fetchmail with STARTTLS to fetch messages from your Gmail account to your local system. It will also discuss how to forward mail to other computers and how to automatically backup copies of email messages.

No avatar May 07, 2005 00:00 Video and Audio Streaming with Flash and Open Source Tools

Flash has always been developed and used for multimedia purposes, but until version 6, the possibilities for audio streaming were limited, and there was no video support. With versions 6 and 7, Macromedia introduced video support and a new file format to support various ways of streaming. This article covers only a streaming variant called "progressive download", which does not need server support.

No avatar April 23, 2005 00:00 Processing Corpora with Python and the Natural Language T...

In this tutorial, we're going to look at how Python can be put to work in the manipulation and analysis of corpora. Corpora (the plural of corpus) are collections of written texts or spoken language, usually structured in some way to facilitate their automatic processing.

No avatar March 26, 2005 00:00 SFTP For Business Use

Many months ago, the organization I work for placed a request with our development department for a secure file transfer system. The file transfer system needed to be far more secure than FTP and more reliable than creating an HTTP uploading system. After a few weeks of research and testing, I suggested that we create an SFTP Server to handle the file uploads.

No avatar January 01, 2005 00:00 Configuring a Transparent Proxy/Webcache in a Bridge usin...

A proxy/Webcache is a computer which sits between your LAN and your Internet connection, usually in the gateway. Its job is to capture and save every Web page that the client machines in your LAN visit, so that the next time someone requests a page, the proxy/Webcache already has it and sends it to the client. This saves bandwidth and usually speeds Web navigation.

No avatar December 25, 2004 00:00 SQLite Tutorial

This article explores the power and simplicity of sqlite3, starting with common commands and triggers. It then covers the attach statement with the union operation, introduced in a way that allows multiple tables, in separate databases, to be combined as one virtual table, without the overhead of copying or moving data. Next, I demonstrate the simple sign function and the amazingly powerful trick of using this function in SQL select statements to solve complex queries with a single pass through the data, after making a brief mathematical case for how the sign function defines the absolute value and IF conditions.

No avatar November 27, 2004 00:00 Virtual Filesystem: Building A Linux Filesystem From An O...

You can take a disk file, format it as an ext2, ext3, or reiser filesystem, and then mount it, just like a physical drive. It's then possible to read and write files to this newly-mounted device. You can also copy the complete filesystem, since it is just a file, to another computer. If security is an issue, read on. This article will show you how to encrypt the filesystem and mount it with ACL (Access Control Lists), which gives you rights beyond the traditional read (r), write (w), and execute (x) permissions for the three user groups "file", "owner", and "other".

No avatar November 13, 2004 00:00 Computer Cloning with Partition Image

When you have over a hundred computers to install, you really start to scratch your head and think that it would be nice not to do the same installation a hundred times. When I faced this problem, I looked at computer cloning as a solution. I did not want to spend big bucks on commercial software like Norton Ghost. I know that some people might be skeptical about using Open Source software, but I gave partimage a try and found it to work very nicely.

No avatar September 11, 2004 00:00 Custom Content Management with PHP

It is well known that you can create powerful Web pages with PHP. Often, the question arises: How are these pages made? This tutorial wants to give you some hints on how to make your Web site appear more managed from both inside and outside. These are my own approaches to Web development; I hope you find them useful. Take these things as ideas rather than good practice.

No avatar August 14, 2004 00:00 Lemon Parser Generator Tutorial

Lemon is a compact, thread safe, well-tested parser generator written by Dr. Richard Hipp. Using a parser generator, along with a scanner like flex, can be advantageous because there is less code to write. You just write the grammar for the parser.

No avatar July 24, 2004 00:00 Converting Older Window Maker Themes

The successful conversion of an older theme to the current scheme can be done quickly and easily, with just a little leg work.

No avatar May 15, 2004 00:00 Introduction to Multicasting

Multicasting is the ability to transmit a single stream to multiple subscribers at the same time. Unlike conventional streaming, it does not need one stream per recipient. Instead, there is one stream on any one segment of the network on which there is a subscriber. It is the task of the routers to track subscriptions and to create copies only on an as-needed basis. Unlike broadcasting, segments on which there are no subscribers do not receive the stream.

No avatar May 31, 2003 00:00 Configuring an Open Source Mail Gateway

No matter whether you work for a large business or use email simply for family communication, you've probably received junk mail. If you have used email for any length of time, you probably know what it's like to deal with a virus. Unfortunately, fending off unwanted or dangerous electronic communication has become a daily struggle for many system administrators.

No avatar May 17, 2003 00:00 Generating PHP Database Access Layers

The productivity benefits of the PHP platform are well known. Its easy syntax, latent typing, high level of abstraction, and support for objects simplify and accelerate the production of large applications. In this article, I propose using code generation tools to build even higher-quality and more easily maintained PHP code.

No avatar May 10, 2003 00:00 Benefits of the Qt Object Model

Qt is known as a cross-platform graphical user interface toolkit. It is that, but it's also a toolkit for dealing with databases, file access, sockets, and much more. This article concerns the Qt object model and why it is an improvement over the classic C++ model.

No avatar March 08, 2003 00:00 Fine-tuning MPlayer

MPlayer is a movie player. It's written mainly for Linux, but it works on most Unices and even on other architectures like OSX, QNX, and (somehow) even Windows. Although it's a desktop/end-user application, it is not as user-friendly as it should be. Some time ago, I even told newbies (coming from Windows) to try xine instead of using the commandline MPlayer.

No avatar December 28, 2002 00:00 Making Presentations with LaTeX and Prosper

A number of dedicated presentation programs have been written for Unix systems, but they may not serve your needs if you have special requirements, especially the need to display mathematical formulas. The Prosper package can help you create attractive presentations while letting you use the full power of LaTeX.

No avatar October 12, 2002 00:00 The Antidesktop

Over the years, I've used 4Dwm, Afterstep, Blackbox, Enlightenment, FVWM, Icewm, KWM, PWM, Sawfish, Window Maker, and wmx, and played with many other window managers. I used Window Maker more than any other, but generally would only stick with one for a couple of months before getting restless and trying something else. Finally, though, I settled on a setup I've used exclusively for over a year. It's decidedly not for everyone, but may be of interest to some.

No avatar June 08, 2002 00:00 Templates in Ruby

Templates are a valuable tool in any programmer's toolkit. I'm not talking about C++ templates, in which new concrete classes are created by replacing variable types within a template class. I'm talking about text templates, in which a string contains markers for replacement items, which are replaced with values.

No avatar April 13, 2002 00:00 The Scalability of Ruby

There are lots of reasons to like Ruby. It's a pure object oriented language. The syntax is elegant, and the use of blocks creates a novel feel. Another reason to like Ruby is its scalability. I don't mean scalability in the performance sense, but in regards to how you can code simple Ruby macros to solve small problems and also use Ruby in its object oriented form to support very large or complex applications.

No avatar December 29, 2001 00:00 ICQ Development with the ickle Library

In recent years, the popularity of instant messaging solutions has grown dramatically. It's now difficult to say who was the first to invent something more rapid than email, but there is no doubt that among the wide variety of existing IM solutions, ICQ is the most popular one.

Project Spotlight

milter manager

A flexible and low administrative cost anti-spam system.


Project Spotlight


Python bindings for the Qt GUI toolkit