« Nicholas Sarkozy 2007 | HomePage | A.3 Open Source and Free Software »

Wednesday, March 01, 20061141229100

A.3 Open Source and Free Software

Note: This is an excerpt from a draft of my thesis, A Computer Model of National Behavior. The introduction and table of contents are also available

A.3 Open Source and Free Software

According to the Open Source Initiative, the license for open source software,

“...shall not restrict any party from selling or giving away the software as a component of an aggregate software distribution containing programs from several different sources. The license shall not require a royalty or other fee for such sale.”


The proliferation of open source software means a wide collection of powerful software applications are freely available. This has allowed the author to develop the software for this thesis with high quality tools. Without these programs, the cost of development would have been much higher, and much of what has been accomplished would have been cost prohibitive.


The following open-source applications were used in the building of the model. They are grouped by category, and a short commentary follows each category.

Servers
Apache HTTP Server
MySQL Database Server

Apache and MySQL were the base over which almost everything else was built.
Commonly used together, the world's most popular web server according to Netcraft and the world's most popular open source database according to the vendor were invaluable. They allowed the author to leverage his experience to rapidly build the tools needed for this thesis. They also ensured that the thesis was platform independent. Development occurred mostly on a Windows XP home desktop, while the final simulation was run on 4-way Xeon industrial server machine.

Programming Languages
PHP
Perl

PHP was used in conjunction with Apache to build web-based tools for this thesis, especially Mapper and Merge. Additionally it served as the basis of the content managers. Perl was the language of choice for the simulation itself, as well as MapMaker and numerous small tools.

Content Managers
Geeklog
phpMyAdmin

Geeklog served as a machine-independent journal for development and ad-hoc change control mechanism. With Geeklog, the author was able to comment changes, make back-ups of key functions, and track his progress through time. phpMyAdmin is a visual front-end written in PHP served through Apache for the MySQL database server.

Text Editors
Jext
Syn

Jext and syn replaced Microsoft Wordpad and Microsoft Notepad respectively. Jext's color highlighting and careful selection of fonts and colors make it a friendly environment for coding. Syn is able to open and search very large files quickly, and it becomes especially important when examining large log files.

Office Suite
OpenOffice.org

OpenOffice.org, or OOo, is composed of Writer (word processor), Calc (spreadsheet), Impress (presentation), and Draw (illustration). OOo has very good Microsoft Office import and output filters. It also has an open and simple file format, while allowed reports to be generated quickly by custom written scripts. Every component of OOo has been used during this thesis.

Image Manipulation
The Gimp
Image Magick

The Gimp assisted in basic image editing, such as cropping screen captures and preparing images for display. Image Magick, through its Image::Magick module for Perl, was critical in allowing images to be drawn from a computer program. The maps and dials used in the reports, for example, were written with Image::Magick.

File Management Utilities
Zip
7zip

Zip is a windows port of the GNU zip utility for unix-like systems. It was necessary for the operation of OOOlib with minimal changes, and was incorporated into dhaOOO. 7zip is a visual compressed file manager similar to Winzip. It proved to be the most user-friendly and stable compression tools with compressing files larger than a gigabyte.

Other
OOOlib
Mozilla Firefox
Wikipedia

OOOlib is a small utility for generating OpenOffice.org documents from a Perl program. It is the basis for dhaOOO. Mozilla Firefox is a web browser that was used to view Merge and Mapper. Wikipedia is an open source encyclopedia used for reference in the writing of this thesis.

10:05 Posted by Dan tdaxp in Software, Thesis | Permalink | Comments (0) | Email this

Post a comment