All following programs are for Windows platform. Most of them are ports from Unix platform. Unless otherwise stated, all the programs work on Windows.
Most of the programs are Open Source, meaning that there is no charge or license fee. Typically the programs are distributed under GPL or other similar license like: LGPL or Perl Artistic License. Read more about licences at:
In order to unpack various types of archive files in Windows, there is free program Ultimate Zip. The program understands huge number of different archive formats, like those of Unix .tar, .tar.gz, .bz2, .zip, .rar etc.
2.1.1 Download, Manual and Links
Emacs is full fledged programming environment which is available for various operating systems. You could call it a mini operating system, because you can completely configure it using Emacs Lisp (elisp). Emacs can edit hundreds of programming languages, compile, run, debug those. In addition it can be used to read Mail, News, write C++, Java, Perl, PHP, Python, HTML, CSS, SGML, XML code and much more. It is possible to extend the Editor with several plug-in packages that called Emacs lisp files (*.el files).
2.1.2 Installing Emacs to home PC environment
Note: Refer to NT Emacs FAQ for more information |
The first step is to create Emacs startup file $HOME/.emacs (dot-emacs). The file behaves like a central configuration for all other loaded libraries. Refer to Windows article "How To Manage Environment Variables in Windows" for instructions how to add HOME variabale.
![]() |
Picture 1. Emacs environment and dot-emacs startup file
|
A generic programming langauge editor (IDE). See Homepage.
Perl is included in Cygwin. Emacs supports editing and running Perl. There are two Perl support modules included in Emacs, perl-mode.el and cperl-mode.el. The cperl verson is includes extensive color support.
Apache and PHP are included in Cygwin. An external Emacs support library php-mode is available.
Sun Java is freely available. Emacs supports editing and compiling Java files.
These languages are included in Cygwin. Emacs supports C, C++ and Pyhon out of the box. See also python-mode and rudy-mode.
3.1.1 How get and install MySQL
MySQL runs in all Windows platforms. MySQL is a small and efficient database that has become extremely popular in internet development. You can almost count on the fact that most WWW-sites (commercial or not) are running under MySQL. Interfaces from Apache, perl, Python and Java are supported. However, be sure to realize that MySQL lacks some key features that are needed in commercial and misison critical applications
Install file is available at <http://www.mysql.com/>.
After installation, examine directories /bin and /Docs, where the programs and manuals are.
![]() |
Picture 2. MySQL directories unpacked. See Manual in directory Docs/
|
3.1.2 Starting the Server
To start MySQL server and client, follow instructions below. Here is picture of the ready working database setup:
![]() |
Picture 3. MySQL client-server setup in action
|
To start using the MySQL, you must start two programs: first start up the database server and then connect to the database with client. The programs can be found under the MySQL installation directory /bin To start the database server, run mysqld (notice "d" at the end). Leave this DOS SHELL BOX open, don't touch the window any more.
dos> C: dos> cd "C:\Program Files\mysql\bin" dos> mysqld-nt --standalone --ansi --basedir="C:\Program Files\mysql" | The "d", daemon version See manual "Preparing the Windows MySQL Environment" |
If you see this message, check that the basedir directory you gave is correct:
Fatal error: Can't find message file 'C:\Program files\english\errmsg.sys' |
If you have troubles starting the server, see these options as well:
--console --defaults-file=<location> --skip-thread-priority --skip-external-locking --skip-innodb --skip-grant-tables --skip-name-resolve --pid-file=%TEMP%\mysql.pid |
To see all how server interprets commands, see command manual or ask about it using --help option. The second command stores the output using ">" to the root of the HOME (U:) directory.
dos> mysqld-nt --verbose --help | more dos> mysqld-nt --verbose --help > u:\mysqld-nt.txt |
If you need option --skip-innodb, it is possible to try with these options instead. The %TEMP% is the Windows default temporary directory location where user has oa write permission.
dos> echo %TEMP% |
Options
--innodb_log_group_home_dir=%TEMP% --innodb_log_arch_dir=%TEMP% --innodb_data_home_dir=%TEMP% |
3.1.3 Sending control commands to server
Open a new DOS shell window from where you can send administrative commands to the server. It is important to shut down the server gracefully:
dos> C: dos> cd "C:\Program Files\mysql\bin" dos> mysqladmin -u root processlist dos> mysqladmin -u root shutdown |
3.1.4 Starting the Client
Open a new dos shell. The client is the program that connects to the database. Check that the server is running and accepting connections:
dos> C: dos> cd "C:\Program Files\mysql\bin" dos> mysqladmin -u root status |
NOT OK message, database didn't start. Recheck your server command line options and try starting server again.
connect to server at 'localhost' failed error: 'Can't connect to mysql server on 'localhost' (10061)' Check that mysqld is running on localhost and that the port is 3306. You can check this by doing 'telnet localhost 3306' |
OK message, database is up and ready to receive connections:
Uptime: 12 Threads: 1 Questions: 1 Slow queries: 0 Opens: 5 Flush tables: 1 Open tables: 2 Queries per second avg: 0.083 Memory in use: 8267K Max memory used: 8267K |
Next, to connect to the database run the client mysql (without the "d" character). After the connection is established, you should see database prompt mysql> in the window. You are now connected to the database and the prompt accepts SQL commands. Remember, that this is not the DOS-command line any more, but you're inside another program.
![]() |
Picture 4. Using MySQL client and its features
|
dos> mysql -u root test | | | Log into database "test" Log as user "root" mysql> select version(); mysql> select now(); mysql> exit # this will end the client dos> # You're back to DOS again |
3.1.5 Sending command files to MySQL from DOS prompt
![]() |
Picture 5. Using notepad to write SQL command files
|
The command files in MySQL are run similarly to other database command files: you feed the file to the database engine. Create a new file with notepad or any of your favorite editors:
-- This is C:\temp\test.sql command file -- Date: YYYY-MM-DD -- Author: john.doe@example.com SHOW tables; DESCRIBE emp; SELECT * FROM emp ; EXIT -- End of SQL command file |
Save the above file somewhere, e.g C:\temp\test.sql and send it to the database like this:
dos> C: dos> cd "C:\Program Files\mysql\bin" dos> mysql --batch -u root test < C:\temp\test.sql ================== Send file to MySQL database "test" |
To gather the response to some file, you modify the command syntax a little further by adding the file redirection:
dos> mysql -u root test < C:\temp\test.sql > output.txt ============ dos> type output.txt dos> notepad output.txt |
![]() |
Picture 6. Cygwin runs on top of Windows libraries. Programs running in Cygwin think they are running in Unix/Linux and Cygwin libraries map the calls to Windows API calls.
|
The homepage is <http://cygwin.com/> (cf. Wikipeadia). Cygwin consists of a library that implements the Unix/Linux POSIX system call API in terms of Windows system calls. This effectively gives Linux like environment and commands under Windows operating syste. All standard Linux commands are bundled with Cygwin.
At right, you will seeFrom the page you will see "Install from the net" link. If you have slow connection, DO NOT click it but steps:
Save the install program setup.exe" to your hard disk (use e.g. c:\temp) and follow the instructions.
![]() |
Picture 7. Download setup.exe to harddisk
|
At top left, select [FULL] view. type name of the package to install in the seach field. Skip any packages that have -debuginfo or -devel in their names.
Repeat this a many times as needed. When ready, select button [NEXT] to start installing all selected packges. By default, the software will be installed in directory C:\cygwin64.
![]() |
Picture 8. Selecting a package for install
|
Note: Subversion is a centralized client-server software. The client program is included in Cygwin. Svn is supported in Emacs 23.x |
Subversion is version control system that is a replacement for decades old CVS in the open source community. It corrects numerous problems that CVS had (CVS did not track renames of files, version directories or handle symlink files). SVN's storage is opaque, meaning that the administrator sees only a "database" and not individual files like in CVS that could be moved deleted or renamed at file system level.
Note: Git is decentralized standalone version control system. Git is included in Cygwin. Git is supported in Emacs 23.x |
Git is written in C, Shell and Perl. The versioned data is kept under directory .git. The project development can be done in branches and the version information is "pushed" or "pulled" to (remote) sites and other locations.
Putty is a free software terminal emulator (communication program) with many features including encrypted SSH version 1 and version 2 authentication. Windows version is availale at <http://freshmeat.net/projects/putty/>. Consult also also How to enable Putty color support for Emacs
![]() |
Picture 9. Configuring terminal to use UTF-8 character set
|
![]() |
Picture 10. Enabling 256 colors in Windows version of Putty.
|