Why Free and Open Source Software

Even though, most of us cannot afford to buy commercial software, it is not an excuse to use pirate software. There usually is someone who is skillful and generous enough to develop free software for us to use.  The list below is the list of freeware that I regularly use.

Please note that while I am using the software listed below, it does not mean that I endorse them.  While I have been successfully using the software on a daily basis, your mileage may vary.  Be CAREFUL to read the End-User License Agreement (EULA) before proceeding with the installation.  Several items in the list are also open source software.

If you have any suggestions, please feel free to email to suradetj at gmail.com.

Software Portals

I regularly visit these web sites; some sites contains not only links to freeware but also to shareware and commercial software.

Snapfiles Although this site is not the best freeware portal, it is my favorite freeware site.  When I start looking for freeware, I usually start with this site.
The free country This is a freeware only portal with emphasis on programming and web mastering resources.  It also contains the links to tutorial and documentation.
Version Tracker This site tracks the release of all software (freeware, shareware, commercial software, etc.)  It usually provides the most up-date information about the latest release of software.  If you want the lastest software, start with this one.
STKSA very useful collection of open source software and freeware.  There are also demonstrations and additional information about the software.  This site is in Thai.


Database Engines

SQLite A public-domain software library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine.
PostgreSQL An open-source enterprise-class relational database system.  It runs on all major operating systems, including Linux, UNIX (AIX, BSD, HP-UX, SGI IRIX, Mac OS X, Solaris, Tru64), and Windows.  It is fully ACID compliant.  One of my favorite database engine.
MySQL A very popular open-source database enginee.  Usually, MySQL is usually combined with the other three open source software to form the package call LAMP (Linux, Apache, MySQL, and PHP).

Developer's Tools

Programming Languages

C++

C++ is usually my first choice for developing a speed-critical software.
Mingw Minimalist GNU for Windows:  A complete GNU toolsets for producing native Windows programs.  Note that it does not contain an IDE (Integrated Development Enviroment).  However, Eclipse can be used as it front end.
Lcc-win32 This is not exactly a C++ compiler.  It is a C compiler orginated from the retargetable compiler book.
VC++ 2008 Express The free version of Microsoft Visual C++ 2008.

Java

Java is usually my first choice for developing cross-platform software.
Sun Java SDK The de facto Java compiler.
Eclipse The most popular open source Java IDE.  It can also draws UML, manage C++ projects, and so on via plugins.
BlueJ An instructional Java IDE.
DrJava An instructional Java IDE.

Matlab

Matlab is used by a lot of people.
Octave My first choice for running existing Matlab code because it will run most of Matlab codes without modification. (Cross-platform)
Scilab A very popular alternative to Matlab but the Matlab file may need some modifications to run. (GUI, Cross-platform)
Freemat Another very popular alternative to Matlab but the Matlab file may need some modifications to run. (GUI, Cross-platform)

Python

Python is usually my first choice for developing prototypes.
Activestate Python My favorite Python distribution.

S

S is usually my first choice for performing complex statistical analysis.
R A free open-source implementation of S programming language.  It is used mostly for statistical computing and graphics.  (Cross-platform)
PSPP A free open-source software for statistical computing and graphics intended as a replacement for SPSS.  (Cross-platform).

Scheme

Scheme is my first choice for teaching programming to the beginners.  Although its unusuall syntax may make the beginners uneasy, its very high-level abstraction helps eliminate the concerns about syntax after a few practices.
DrScheme My favorite environment for teaching programming.

Documentation Tools

Doxygen A documentaiton system similar to JavaDoc for C, C++, Java, Objective-C, and Python.

Version Control Tools

TortoiseSVN A subversion client, implemented as a Windows shell extension.  Requires Windows 2000/XP.  I use this tool regularly.
Mercurial A distributed version control.  I currently use this tool to maintain most of my work because I want to have the complete history on all my computers to avoid the single-point of failure problem.
WinCVS A standalone CVS client.  I use this excellent tools for 4 years before migrating to subversion.
Git Another distributed version control used by Linux Kernel Development.  I use it with some of my Linux development work.

Graphics Tools

Viewers

FastStone viewer An image browser, viewer, converter and editor for almost all major graphic file formats including BMP, ICO, GIF, JPEG, PCX, PNG, TIFF, TGA, and WMF.
Irfanview An single file image viewer for almost all major graphic file formats including BMP, ICO, GIF, JPEG, PCX, PNG, TIFF, TGA, and WMF.

Capture Tools

FastStone screen capture A screen capture tool supporting all major graphic formats including  BMP, ICO, GIF, JPEG, PCX, PNG, TIFF, TGA, and WMF.  It is now shareware.
Camstudio Screen Recording Software. Open Source.
Debut Video Capture Screen Recording and Streaming Video Capture Software. Freeware.

Multimedia Tools

AVIcodec A free multimedia file analyzer.
iTunes A music player for Windows and Mac.
VLC media player A free cross-platform media player.  It can play VCD/DVD without changing the hardware region-changing count.

Network Tools

FileZilla An FTP/SFTP client.
Mozilla Firefox A web browser.
Mozilla Thunderbird A POP3/SMTP cleitn.
MrPostman A POP3 interface program fro webmail such as hotmail, gmail, mail.com, yahoo, etc.
Kompozer A WYSWYG web authoring system.
PuTTY A SSH/Telnet client.
Trillian A multi-protocol instand messenger.  It supports AIM, ICQ, IRC, MSN, and Yahoo.
WinHTTrack An offline browser or website duplicator.

Office Application

OpenOffice.org An open source alternative for Microsoft office application.
OxygenOffice Professional  An open source alternative for Microsoft office application, derived from OpenOffice.org

Organizer

EssentialPIM A personal information manager with a portable version that can run out of flash memory drive.
Sunbird A stand-alone version of very popular extention for Thunderbird email software.

Printing

CutePDF A PDF printer driver.  Requires Ghostscript.
Ghostscript A PostScriptâ„¢ and PDF interpreter.
PDFill PDF Tool A tool to manipulate PDF files.  Requires Ghostscript.
PrimoPDF A PDF printer driver.

Project Management Tools

OpenProj An open source project management software.  The original intention was to be a replacement for Microsoft Project.  Requires Java.
GanttProject An open source project management software.

Reference Tools

Freemind An open source mind-map tool.
JabRef A cross-platform bibliography manager for BibTeX bibliography format.
Lexitron A Thai <-> English dictionary by NECTEC.
Royal Dictionary A Thai word for english term by the Royal Institute.

Security

Ad-aware A world-renounced anti-spyware.
Avast Antivirus One of the best freeware Antivirus.
Spybot A world-renounced anti-spyware.
Spywareblaster Prevent the installation of spyware and other potential unwanted software.
ZoneAlarm A personal firewall.

Utilities

7-Zip A file archiver supporting 7z, ARJ, BZIP2, CAB, CHM, CPIO, DEB, GZIP, LZH, RAR, RPM, TAR, Z and ZIP.
Agent-Ransack A file searching tool supporting regular expressions, integrating as a shell extension.
Context A programmer's editor.
ExplorerXP A Windows Explorer alternative.
eXpress Checksum Verifier A checksum verification utility, supporting CRC32, MD5, and SHA-1.
IZArcA file archiver supporting 7-ZIP, A, ACE, ARC, ARJ, B64, BH,  BIN, BZ2, BZA, C2D, CAB, CDI, CPIO, DEB, ENC, GCA, GZ, GZA, HA, IMG, ISO, JAR, LHA, LIB, LZH, MDF, MBF,  MIM, NRG, PAK, PDI, PK3, RAR, RPM, TAR, TAZ, TBZ, TGZ, TZ, UUE, WAR, XXE, YZ1, Z, ZIP, and ZOO.
NotePad++A a free and open source editor for editing source code and replacing Notepad.  It supports several languages.
PSPad A programmer's editor.
SyncBack A backup utility.
TreeComp A directory comparison/synchronization utility.
TreeSize A utility to show size of a folder and its subfolders.
WinMerge A file comparison utility.

If you have any suggestions, please feel free to email to suradetj at gmail.com.

.