Written on 2009/07/18

Intro: Small Miscellaneous Non-Work Side Stuff:
These are just little / simple / bonus miscellaneous things.  But some can be useful (or at least cool / fun).  And, it's also a small part of the bigger picture, which is enthusiasm for software development, and continued life-long education and self-development.  Probably a more interesting topic would be areas of deeper more significant software development and education/research, or a more significant side project (currently that's City Hero Defense), or day job work (or college projects).  But I think it should be harmless to share some side fun things like this too, here in an optional separate dedicated section.


Explanation:
Even outside of my day job, I've been an enthusiast for software/computers and software development.  In fact, there can be a concern with someone who does software development out of love.  The problem is you have to balance these times when you spent time (effort, focus) working on something (or wrote some program) that is not directly for your day job, and then when you're done with it you think, "oops, it's after 2am" or "oops, maybe it would've been better to put that effort/time into something extra for day job team / project".

So you do have to balance these things.  But, a lot of it actually turns out to be useful (at least in an indirect way) to apply to day job, general learning, and give more perspective and breadth of software understanding.  Or, just help make daily life more efficient (or fun).  I'll give some specific examples.

I started using OneNote just on a whim to try it out, because I had a day job teammate who was taking handwritten notes in meetings on a tablet PC.  But in the long-run, I ended up moving from paper/txt notes, to online yahoo notes/widget or google notes, to OneNote, and I now use OneNote frequently to keep things organized, including a huge amount of stuff relating to day job.  But also relating to grocery list, or any kind of research, or to-do lists.  My use of EverNote, and EverNote on Windows Mobile was similar and related.

Another example is AutoHotKey.  I started to use it for little things like to give me the same Win+1, Win+2 etc taskbar keyboard shortcuts you get in Windows Vista on Windows XP.  But later I wrote some AutoHotKey scripts entirely for day job.  One example is an AutoHotKey script that I press ctrl+alt+win+C, and it runs a Python script that I also wrote to convert between Windows vs. Linux path for our NSF/Samba AMD file servers, and then puts it in the clipboard.  This was a nice convenience when doing lots of cross-platform software development/engineering stuff where I am working on Windows with heavy use of Linux via a RealVNC window.

Another example is getting a little exposure to additional languages/APIs besides just the ones I normally use (I normally use C++ mostly, but also Python, C#, unix shell, maybe Java).  Some examples are: trying out Adobe Flex, website stuff, AutoHotKey, Mac OS X.


List: here's a list of some examples of random software/computer stuff I've played with outside of work:
* this website itself, the blog, the message board, and a lot of various little computer/software hobby stuff
* AutoHotKey scripts
* Pidgin scripts
* OneNote, EverNote: huge notes fan
* tech news podcasts listener; always reading up on tech/software stuff, and trying out software
* smart phones enthusiast; small Windows Mobile test program (calculator); familiar user of Windows Mobile, iPod touch is next
* tiny C# program to breakup text file for reading on iPod; booted Linux on iPod (and GBA too)
* tiny screen saver program shows clock
* using cloud software like Live Mesh, such as for easy file sync between desktop / laptop / office computers
* various media file converting; media center stuff, such as XBox 360 controller as mouse
* various file backup methods
* becoming familiar with Mac OS X now, with Mac Mini, in relation to Torque 3D project, City Hero Defense
*** This really is only a small partial list of the things I happened to think of today when writing this.