Dancing over the Windows, Day II-B

After getting the backups taken care of, I took a few moments to clean up after the more intrusive installations. That involved turning off the MSSQL related services, telling Javas jusched updater to take a hike—instead making a scheduled task for it, which is what the installer should have done! After that, I sanitized the %Path% environment variable back to the default, and used my documented list of where I installed everything, to write out the desired environment variables.

In order to keep the systems path clean, yet make it easy to make regular changes as part of batch scripts (like compiler specific ones) or per-user profile variables. Here is a list of my creations:

%DEF_PATHEXT% and %Def_Path%
These are just references to the systems default values for %PATHEXT% and %Path%, so they can be referenced later without concern for the actual system values.
Userprofile overrides for %PATHEXT% and %Path%
I’ve set PATHEXT to %DEF_PATHEXT%;%Extra_PathExt% and Path to %Def_Path%;%GoogleChrome_Path%;%RemoteUtils_Path%;%Utilities_Path%;%WWW_Path%;%MediaPlayers_Path%;%Graphics_Path%;%OfficeApps_Path%;%Games_Path%;%JavaRuntime_Path%;%Gtk2Runtime_Path%;%Perl5_Path%;%PHP5_Path%;%Python2_Path%. Which provides my user with virtually everything I could want, short of access to compilers and what not.
%Extra_PathExt%
Extra extensions that I would like to *not* have to type, namely making Perl/Python/Ruby use and coexistence much easier.
%RemoteUtils_Path%
Various remote utilities that I use often, things like PuTTY.
%Utilities_Path%
Slips several frequently used programs into my path: like SysInternals and Archivers. Yes, I do use a command prompt to unzip crap often enough to warrant this :-P.
%WWW_Path%
The paths to world-wide-web related programs, that are only meaningful with an internet connection. Instant messengers, VoIP, web browsers, blah blah. This also means I can have a lot of fun without reaching for the mouse ^_^.
%MediaPlayers_Path%
Quick access to MPlayer / MEncoder and anything else that comes in handy.
%Graphics_Path%
Software for manipulating images, GIMP, Dia, Wings 3D, Blender, et alii.
%OfficeApps_Path%
Paths to the kind of software often found in office suites, most importantly a snappy PDF reader. There’s not much else that I use regularly, since word processors are often brain damaged from a productivity standpoint.
%Games_Path%
Various games, of the kind that can actually be run without changing directories; that is no unreal engine garbage.
%JavaRuntime_Path%
The systems standard Java Runtime Environment, suitable for responding to Java applications that need to make me wait an hour for them to startup ^_^
%Gtk2Runtime_Path%
The systems
%Perl5_Path%
Reference to all that Perlicous goodness, can’t have a box put to work without a copy of perl setup, now can we?
%PHP5_Path%
In case I need to test some code, I always keep an interpretor within arms reach; for things that require a server, I just SCP it over to another box, that happens to be running Apache.
%Python2_Path%
I decided that this time I would run both versions of Python, this chooses the 2.x branch. For better or worse, not all valuable libraries have made the transition Python 3.x yet :-/
%Python3_Path%
Same as the above, for for Python 3. It should be most useful to me, for testing scripts for compatibility with 3.x
%Ruby_Path%
A language that I rarely use these days, but always keep available for a rainy day 😉
%Devel_Path%
Pointer to various development tools that are not very implementation specific and should be optionally available to all user accounts. It’s made up of other environment variables, just like the %Path% override.
%Devel_Utils%
Assorted utilities like tags generators and build tools
%ScmTools_Path%
Qucik access to source code management: Subversion, CVS, blah blah. The only thing I actually give a flying flub about, is Git.
%JavaDevel_Path%
One huge Java development kit with more bells and whistles then I could care to look at. This variable basically exists to provide access to javac and relations
%Qt4Devel_Path%
Paths to the Qt SDK, the best toolkit for doing graphical software that I’ve ever found. API wise, I reckon WxWidgets would be more natural to Windows developers fingers (wxNames::LikeThis instead of QNames::likeThis) but I’m perfectly happy with Qt.
%Gtk2Devel_Path%
Basically a software development kit for GTK+ apps in C/C++, kept independent of the systems Runtime—so build time will never break Pidgin, Gimp, & friends
%MinGW_Path%
For setting up quick access to the GNU Compiler Collection.

I’ll likely write a set of development environment scripts, that will handle tailoring my cmd environment to a specific task. Exempli gratia: MinGW, Watcom, MSVC, JDK, Py2, and Py3.

Because I know from first-hand experience, many games built around Unreal Engine 2 among others, still treat the Operating System like MS-DOS, I’ve also taken the liberty of setting up a “Gamers” group. That should make playing RvS/SWAT without elevated privileges as possible as it ever is going to get… lol. Considering how crappy they are on the inside, and being UE2, I don’t expect it to actually be possible without further abuse. Really, I wonder how some companies get this crap on the market…

Anyways, time to setup the games 🙂

To be continued…