Wednesday, September 21, 2011

Setting up Windows Desktop - Part 1: Software

This is the first in a series of techie articles, where I describe my recent experience setting up my Windows desktop PC for Math & Programming.

I recently purchased a new Desktop PC. This system is quite powerful (compared to my old Mac laptop), and I would like to put it to full use. Besides web browsing and other “client computing”, I would like to migrate my Mac-based projects (developing 3qual in Eclipse, Photo library management, etc) to this machine. I would also like to run a Linux system where I can explore programs and developer tools that are designed for Linux, and I want to access the Linux-formatted (ext-format) hard drive in my system, if possible.

This series outlines the solutions I have found.

To get started, let’s install useful software.

Bootstrap with Ninite

Ninite provides a great tool to build a bundle installer with many popular software packages. Visite http://ninite.com and configure a custom installer for software you like. 

Beware, though: some it is junkware. Do not blindly include everything!

I recommend the following:
General programs
  1. Web Browsers: Chrome, Firefox, Safari, and/or Opera, as many as you like. If you prefer to run Chrome Beta or Firefox Beta, skip those here and download the Betas from their sources.
  2. Messaging: SkypeTrillian is also popular. (I use Gmail’s web-based Google Talk & AIM client)
  3. Media:
    1. VLC for playing video and DVDs
    2. foobar2000 for playing music
    3. K-Lite Codecs, CCCP for handling various audio/video formats
  4. Runtimes: Flash, Java, .NET, Silverlight, AIR, Shockwave, for running applets of various natures.
  5. Imaging:
    1. Paint.NET (better than Paint)
    2. Picasa photo library manager and editor
    3. GIMP 2.6: PhotoShop alternative image editor (unless you want to get GIMP 2.7 from the source)
    4. Inkspace vector graphics editor
  6. Documents:
    1. LibreOffice  alternative to Microsoft Office
    2. PDFCreator or CutePDF for Print-to-PDF (like the Mac does)
    3. SumatraPDF or Foxit to read PDFs. Adobe Reader if you must.
  7. Security
    1. Essentials by Microsoft.
  8. Utilities: RealVNC
  9. Compression: 7-Zip for all compressed file formats.
  10. Developer Tools: All of these are great.
  11. Anything else you know you want, also. Beware of “Trial” versions.
As soon as you have Firefox or Chrome installed, stop using Internet Explorer.

Cygwin
If you have any interest in Unix, install Cygwin. Cygwin provides a Windows implementation of POSIX (Portable Operating System Interface for Unix). The rest of this post uses “Cygwin” and “POSIX” mostly interchangeably.

The defaults are basically fine.

Be sure to add xinit to the list of packages to install, which will provide an X Server that we will use later (when we create a Linux virtual machine).

After install, you can run bash.exe and lots of other Unix classics. If anything you like is missing, run cygwin setup.exe again and see if what you need is available for install.

Note that Cygwin creates a new home directory for you, under a directory called home that is placed under wherever you installed Cygwin. Thus,  ~ and ~username do nor point to your Windows home directory! If you prefer to have a combined Windows/POSIX home directory, move your POSIX home directory into your Windows home (“user profile”) directory:
mv $HOME $HOMEPATH\\cygwin
and then create a soft link that points from the POSIX location into your Windows home (“user profile”) directory:
ln -s $HOMEPATH\\cygwin $HOME
Special Cygwin tip: Some POSIX programs prefer Unix-style paths with forewhacks (“/”) . Most Windows programs prefer Windows-style paths with backwhacks (“\”), even when called from a Cygwin shell. To easily switch between the two forms, use cygpath, as in this example:
$ WindowsProgram.exe $(cygpath –windows ~/my_file)
$ posix_program $(cygpath –unix C:\myfile)

Programmer Tools

Programmers install these software packages:
  • Git version control system: Either:
    • install “git” and related packaged as part of your Cygwin installation
      • Run Cygwin setup.exe and choose+install the “git” programs
      • Add “export PATH=/usr/lib/git-core/:$PATH” to your ~/.profile , to make all the git commands available in your shell (especially git-gui)
    • or install Git for Windows, which is a combined Cygwin+Git bundle.

Other software

If you’d like to keep an eye and finger on your system’s CPU speed, temperature, and fan speeds, install CPU-Z and SpeedFan.

For power-user system debugging, grab SysInternals Suite, featuring Process Explorer, PsKill, and more. The suite does not have an installer, so create C:\Program Files\SysInternals\ and copy all the files into there.

Many of these are command-line utilities, so “Edit environment variables for your account” and add the C:\Program Files\SysInternals\ to your PATH variable.

I’m doing a little math these days, so I installed MiKTeX TeX engine, and LyX LaTeX GUI front-end.

For more math fun, you can install RStudio to run the R statistics programming system, or you can install RStudio Server on a Linux system, and connect to that through your browser.

To keep tabs on disk space usage, WinDirStat.

To fix file attributes (like incorrect dates from cameras with mis-set clocks), SKTimeStamp.

To Be Continued…

Whew! Now we have a mostly functional Windows workstation.
There’s a lot still to do. Here’s what’s coming up later in the series:
  1. Migrate our photo libraries from Mac iPhoto to Windows.
  2. Installing a virtual machine inside on our PC, so we can run a Linux on Windows system, and run real Linux programs side by side with Windows programs.
  3. Recurse! Set up our favorite Linux programs on our virtual Linux machine.

No comments:

Post a Comment