Beta's recommended software

Here is a list of software I recommend. Most of them are free. For those commercial products, I've tried them out and like them.

The icons

PalmOS-based PDA
e.g., PDAs by Sony, Handspring, or Palm
(Why use Windows CE when there's something better?)
Linux (or other unix variants)
Yes there's a mirror site at HKU CSIS
MacOS X
MacOS 9 (or older)
Windows

The software list

Names link to the site of the software. Descriptions are mostly mine. Yes they are biased. License will be entered if known. Icons may link directly to download sites or mirror sites.

For unix geeks

They'll make you feel at home even if you are not using unix.
Cygwin unix environment for windows GPL
Cygwin
       
emacs Extensible, real-time editor
Mac users may find the Enhanced Carbon Emacs by Enrico Franconi useful.
For those who want to build the software yourself, the page by Andrew Choi, a former teaching staff of HKU CS, would be helpful.
GPL  
Fink unix software for your Mac          
GNU-Darwin A collection of GNU tools for Darwin GPL        

Web browsers

For those who use Internet Explorer without thinking, here are some very good choices. I don't really know why MacOS X come with IE but not Mozilla or Netscape. Anyway, Safari is good enough (enable its tab feature in Preferences) and I found no reason to use IE on a Mac. Mozilla is simple in design, quite efficient, and doesn't integrate with the operating system so much that you don't know whether you are configuring the browser or the OS. The tab facility is simply great. For Windows users, besides Mozilla and Netscape, Opera is also a very good choice --- it can report itself as netscape, IE, or some other browsers. Its mouse gesture support is nice too.
Mozilla Why use IE when we have a better choice?
The tab feature is very convenient.
Mozilla Public License  
Netscape Navigator Netscape Navigator uses mozilla as its rendering engine.
"Netscape" used to be pronounced as "Mozilla" in the past indeed, but now things have changed......
   
Opera A fast browser alternative.
Support of mouse gesture is what distinguish it from other browsers.
   

Communications

Windows communication programs are quite broken. That's why there are so many basic communication programs for windows in the list --- for other OSes most of these (e.g., ssh) have already been built into the OS software bundle.
VNC VNC: Virtual Network Computing
Accessing your computer (X, Windows, MacOS) anywhere! Even for PDAs! Amazing!
GPL
PuTTY PuTTY
telnet and ssh client for Windows
MIT        
ncFTP ncFTP
Nice convenient software for ftp
Client: free
Server: CAL
   
ssh Secure shell client
ssh client for windows from ssh.com
SSH noncommercial        
ICQ ICQ --- I seek you
A very popular messaging software.
There's also a web-based ICQ2Go, usable even if your computer do not have ICQ installed.
Look for the "Download ICQ" icon in the main site. For PalmOS or Mac users, look for the "ICQ for Mac" and "ICQ for PalmOS" links. There's no Linux ICQ client from icq.com, but licq.org has written some ICQ-compatible clients.
LICQ: GPL
Others: ICQ

Multimedia

Apple has the long tradition of providing excellent support for multimedia production and playback, MacOS is an ideal platform for multimedia. The i* series of software (iTunes, iMovie, etc.) and Quicktime are nice software that comes with the OS. Microsoft countered that by designing something MS-specific, e.g., Audio Video Interleave (AVI) or Windows Media Video (WMV) which are similar to what Quicktime and MP3 provide, respecitively. So, unless you want to limit the cross-platform compatibility of your media data, my recommendation is that MS-specific technologies should be avoided.
Audacity Audacity
An excellent audio recorder and editor. Supports viewing of audio spectrum.
GPL  
IrfanView IrfanView
A very fast media viewer and converter. Supports most graphic, audio and video formats.
Freeware        
irfanex Shell extension for IrfanView Allows access of some IrfanView functions from Windows Explorer Freeware        
CDex CDex
CD ripping, converting, MP3 encoding, etc.
         
gs, gv, gsview, ghostview Ghostscript, Ghostview and GSview
Software for viewing PostScript and PDF files.
   
gnuplot gnuplot
A very useful program to plot a variety of types of graphs. A lot of information about the package can be found in http://www.gnuplot.info/.
   
Quicktime Quicktime
Player, streaming server and broadcaster to handle Quicktime, SMIL, and other media files.
     
RealOne RealOne
A media player and web browser. Plays RealMedia, HTML, SMIL and other media files.
Look for "Free RealOne player".
       
VLC VLC media player
Open source cross-platform media player
GPL  
acroread Acrobat reader
Reads PDF files.
 

Productivity

OpenOffice.org OpenOffice.org
The open source office suite designed to be compatible with MS Office.
GPL
SISSL
PDL
   

Chinese support

Sometimes the Chinese support built into the OS may not be good enough.
HKSCS Hong Kong Supplementary Character Set
Indispensible for display of Hong Kong Chinese characters for Windows.
Mac users don't worry. MacOS X comes with HKSCS support builtin.
         
QCode QCode input method
CangJei is an input method that I keep forgetting and relearning after not using it for month or so before I finally bought QCode. It's much more easy to learn and remember than CangJei, and allows typing Hong Kong Chinese characters much easier. Now I'm using it for both my PDA and Windows.
Commercial    

Software development

For those who like or need to write programs......
Java The Java Language
I write C++. At the beginning, I didn't like Java; I thought it was just C++ with garbage collection. Java is not a nicely designed programming language. Objects are not first-class language entities. Multiple inheritance is forbidden and replaced by the stupid interface mechanism which is essentially the same as defining pure abstract classes. There are many reason not to like Java, but these issues become secondary as the collection of Java libraries grow. Now Java become one of the my first languages of choice when it comes to development, mainly because of its cross-platform compatibility.
 
PHP PHP: Hypertext Preprocessor
You'll find a trace of many langauges in PHP: shell scripts, AWK, Perl, C, C++, Java,...... I don't say it's a nicely designed language, but it's convenient for quick web development. Afterall, it's the P of the LAMP model of web database development.
 

Algorithms

Algorithm design manual The Stony Brook Algorithm Repository
Algorithms and implementations from "The algoritm design manual"
Homepage

Development libraries

Reuse is an important programming activity. Here are a list of libraries you may find useful. I haven't tried every one of them, so please just tell me if you have any specific recommendations.
CGList Directory of Computation Geometry Software Homepage
GAMS Guide to Available Mathematical Software Homepage
LEDA a Library of Efficient Data structures and Algorithms
Homepage
LAPACK Linear Algebra PACKage
Homepage
BLAS Basic Linear Algebra Subprograms
Homepage
FFTW Fastest Fourier Transform in the West
Homepage
IT++ IT++
A C++ library of mathematical, signal processing, speech processing, and communications classes and functions
Homepage

And of course...

... here are some software I wrote
handyScripts 1.0 Little handy scripts
I've developed a number of little scripts that could be good to be placed in your local/bin . You can find description of the distributed scripts in the README file. They are open source under GPL. You can download the package handyScripts-1.0.tar.gz and install it in /usr/local/bin using the standard method:
	./configure
	make
	make install
	
If you want to install the scripts in, say, ~/local/bin , the commands to use are
	./configure --prefix=$HOME/local
	make
	make install
	
Since they were developed mainly for my own use, some of the external programs needed in the scripts (e.g., psbook) may not be available in your environment. Yet, comments, suggestions and bug reports are welcome. Just email me at clyip at cs dot hku dot hk about that. Thanks.