What Do You Use to Debug Linux / UNIX C/C++ Programs?

in Categories Ask nixCraft, GNU/Open source, Linux, programming, UNIX last updated February 24, 2009

The purpose of a debugger is to allow you to see what is going on inside another program while it executes. It is useful to find out what another program was doing at the moment it crashed. I know most people will recommend GNU gdb, Nemiver, Valgrind or IDE such as Eclipse. I use gdb when it is really required; otherwise I debug the old fashioned way using printf() or cout statements.

Security Through Obscurity: MAC Address Filtering ( Layer 2 Filtering )

in Categories data center, fedora linux, FreeBSD, Gentoo Linux, GNU/Open source, Hardware, Iptables, Linux, Networking, RedHat/Fedora Linux, Security, Ubuntu Linux, UNIX, Windows, windows vista, Wireless networking last updated February 17, 2009

MAC Filtering (layer 2 address filtering) refers to a security access control methodology whereby the 48-bit address assigned to each network card is used to determine access to the network. Iptables, pf, and IPFW can block a certain MAC address on a network, just like an IP. One can deny or allow from MAC address like 00:1e:2a:47:42:8d using open source firewalls. MAC address filtering is often used to secure LAN or wireless network / devices. Is this technique effective?

Why Did You Switch From IE ( Internet Explorer ) ?

in Categories Ask nixCraft, Linux, Linux desktop, UNIX, Windows, Windows server, windows vista last updated February 11, 2009

I was going though my server logs / Google Analytics settings and found that over 60% users are on MS-Windows. However, each and every month visitors are switching to Firefox or Google browser and so on. So I would like to know your reasons for making switch from IE to another browser. Why did you switch and which browser did you switch to?

How To Tail (View) Multiple Files on UNIX / Linux Console

in Categories data center, Debian Linux, Download of the day, fedora linux, File system, FreeBSD, Gentoo Linux, GNU/Open source, Howto, Linux, Linux Log Management, Monitoring, package management, RedHat/Fedora Linux, Suse Linux, Sys admin, Tip of the day, UNIX last updated February 9, 2009

The tail command is one of the best tool to view log files in a real time using tail -f /path/to/log.file syntax on a Unix-like systems. The program MultiTail lets you view one or multiple files like the original tail program. The difference is that it creates multiple windows on your console (with ncurses). This is one of those dream come true program for UNIX sys admin job. You can browse through several log files at once and do various operations like search for errors and more.

How To Write Object-Oriented Shell scripts For Multiple Platforms

in Categories Howto, Linux, programming, Shell scripting, Sys admin, UNIX last updated January 19, 2009

This may come handy while writing cross-platform scripts.

If you don’t want to commit to the idiosyncrasies of a specific shell running on a particular platform, try the Squirrel Shell. The Squirrel Shell provides an advanced, object-oriented scripting language that works equally well on UNIX, Linux, Mac OS X, and Windows systems. Write a script once, and run it anywhere.

Squirrel is a high level imperative/OO programming language, designed to be a light-weight scripting language that fits in the size, memory bandwidth, and real-time requirements of applications like video games.

=> Speaking UNIX: The Squirrel portable shell and scripting language

Tutorial: OpenOffice.Org Mail Merge

in Categories fedora linux, Gnome, GNU/Open source, Howto, Linux, Linux desktop, OS X, Tips, Ubuntu Linux, UNIX, Windows last updated January 14, 2009


Mail merge is a software function describing the production of multiple documents from a single template form and a structured data source. This helps to create personalized letters and pre-addressed envelopes or mailing labels for mass mailings from a word processing document which contains fixed text, which will be the same in each output document, and variables, which act as placeholders that are replaced by text from the data source. The data source is typically a spreadsheet or a database which has a field or column matching each variable in the template. When the mail merge is run, the word processing system creates an output document for each row in the database, using the fixed text exactly as it appears in the template, but substituting the data variables in the template with the values from the matching columns.

This technique of merging data to create mailshots gave rise to the term mail merge. OpenOffice.Org has a in built software mail merge feature.

If you haven’t tried OpenOffice.org’s mail merge feature because you find it confusing or difficult to use, you are in luck. Mail Merges in OpenOffice.org and StarOffice provides a detailed description of the mail merge feature from start to finish. Among other things, it shows how you can use the mail merge to create letters, labels, and envelopes.

=> You can download this excellent PDF ebook for your persusal or read the article online – Mail Merge in Openoffice.org: Everything You Need to Know.

Nokia To Add LGPL Option For the Qt UI and Application Framework

in Categories Kde, Linux, Linux desktop, OS X, UNIX, Windows, windows vista, X server last updated January 14, 2009

Good news for all developers! QT will be available under the LGPL starting with version 4.5. The GNU Lesser General Public License (LGPL) is a free software license published by the Free Software Foundation. The LGPL places copyleft restrictions on the program itself but does not apply these restrictions to other software that merely links with the program. There are, however, certain other restrictions on this software. The LGPL is primarily used for software libraries, although it is also used by some stand-alone applications, most notably Mozilla and OpenOffice.org.

This option could increase Qt usage and adoption. You may see more cross platform commercial application on the Linux desktop. This is huge news for cross-platform developers.