Tuesday, June 21, 2005
Here's a rather lengthy article on how Microsoft is losing the API war to the Web.  He goes on to explain why M$ has stopped working on DHTML and Internet Explorer.  Worth the read but set aside a few minutes to you can get through the whole thing:

It validates all of us former desktop dudes who have fled to the web. 

http://www.joelonsoftware.com/articles/APIWar.html
Tuesday, June 21, 2005 10:41:55 AM (Central Standard Time, UTC-06:00)  #    Comments [0]
 Friday, June 17, 2005
I've decided on the following format:

Tabs for indenting, spaces for alignment.

In gvim I have set tabstop=2 and in Crimson I have set View > Tab Size = 2 also.

This way I have tabs in the files but I can set the actual tab display to be anything I want.

This should provide a consistant look to the source code.  2 spaces is about right, 8 is way too much as your code quickly gets too far to the right.
Friday, June 17, 2005 5:11:07 PM (Central Standard Time, UTC-06:00)  #    Comments [3]
UNIX has a nice command named alias that lets you create a new command from either one or more existing commands and parameters.  For instance you could alias "lpstat -t | pg" as "stat" and then you could just type stat at the command line instead of the long ugly string each time.

Windows (at least up to XP) does not have a mechanism for this.  Instead I use batch files to replicate the alias functionality.  I create a directory containing all my alias batch files and then add this directory to the path like this:

    from the command prompt type: 
   
        path = %PATH%;newdir

   %PATH% is the environment variable that represents the current path so this command allows you to append to the current         path.

So in my case I created a directory c:\work\cmd and then added it to the path path = %PATH%;c:\work\cmd.  Then I create the batch files for each command I want to alias.  For instance I use gvim so i created a bat file with this text:

    Start "GVIM" "C:\Program Files\vim\vim63\gvim.exe" %1 %2 %3 %4 %5 %6 %7 %8 %9

and saved it as vi.bat.

    Start tells windows to open the program in a new window.  Otherwise your command line window will hang and wait for the     program you launched to exit, which is not the behavior I want.

    "GVIM" tells windows what the display name of the window is.  Not necessary but I like it.

    "C:\Program Files\vim\vim63\gvim.exe" is the full path the exe to run.

    %1 through %9 is simply a way to pass through any parameters on the command line (like file names) to the program you         are starting.
   
So now I can "vi" a file by typing "vi filename.txt" from the command line.

I like this technique because it is very portable between machines.  Just copy over one folder and then add one entry to the path and you are set.  Very handy for me since I regularly use 3 PC's and I'm always tinkering with new programs etc.  It's not as nice as alias but it works.


Friday, June 17, 2005 2:01:34 PM (Central Standard Time, UTC-06:00)  #    Comments [0]
 Thursday, June 16, 2005
Here is something I need to do tonight or this weekend.  My reception in the bedroom is fair to middlin' at the best.  I need to create one of these suckers to increase my surfing satifaction.

I might even create a matching tin foil helmt to keep the satelite signals out ;>.

How to:
http://www.popsci.com/popsci/how2/article/0,20967,1057201,00.html

A little better site with more pictures and explanations:
http://www.freeantennas.com/projects/template/

A nice picture of the setup
Thursday, June 16, 2005 12:37:04 PM (Central Standard Time, UTC-06:00)  #    Comments [3]
 Wednesday, June 15, 2005
I was looking for a way to delete a Window's service and I came accross the sc command.

Just open a command prompt and type sc and then the action you would like to perform.

Examples:
    Delete a service: 
        sc delete service_name
    Start a service:
        sc start service_name
    Stop a service: 
        sc stop service_name
    List all services: 
        sc query
 
The actuall service information is stored in the registry at this location:  
  HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services
If you're curious I was re-installing MySql on a machine and the mysql service already existed so I needed a way to get rid of it.  I knew there was a command to control services but I had to do some research and came up with this.

Enjoy.
Wednesday, June 15, 2005 12:59:21 PM (Central Standard Time, UTC-06:00)  #    Comments [0]
 Monday, June 06, 2005
This is a site I've used more then once:

http://www.lookuptables.com

A good site for ASCII, COBOL, HTML and UNICODE character codes and translations.  It's almost faster then looking at the sheet I have hanging on my cube wall.


Monday, June 06, 2005 3:19:22 PM (Central Standard Time, UTC-06:00)  #    Comments [0]
 Friday, June 03, 2005

Do you call yourself a Java developer or a .NET programmer?  Do you think a carpenter calls himself a handsaw carpenter or a table saw carpenter or a belt sander carpenter?  The point, if it is not obvious, is that you should not pigeon hole yourself into claiming that you’re only a one trick pony.  Could you imagine a carpenter getting a job if they walked into contractor’s office and said “I use a hand saw really well but I’ve never really messed with this hammer stuff?”  That carpenter would be laughed out of the office. 

One thing some of the language evangelists forget is that a language, IDE, framework, OS and the hardware it all runs on are just tools.  Humans advance by making tools and then making better tools.  Imagine if we had stopped at the flint axe because the flint axe evangelists said that the flint axe was the best axe ever made.  At that point it probably was but eventually we moved from the Stone Age to the Iron Age and the Steel Age and now you can buy nice steel axes at Home Depot for reasonable prices.  Of course you can also buy a chain saw and save yourself a lot of hassle. 

So what does this mean for you, the sophisticated computer programmer of today?  It means that you should think of yourself as a programmer.  It may be acceptable to think of yourself as web developer or enterprise software developer who is fluent in many of the tools of your trade.   Don’t get stuck in the rut of your current tool of choice.  VB6 programmers learned this lesson all too (or should have) well when Microsoft decided that VB as they knew it was no good and needed to be replaced.  Goodbye VB6, COM+, COM, etc, hello .NET, good bye knowledge, hello training classes. 

A good craftsman uses the best tools for the job.  If a new tool comes along that can make a job faster, easier or results in better end products, you can bet that it would be adopted.  However there are always the Luddites that believe nothing new can be better.  So the advice is to stay agile and keep learning.  If you catch yourself bashing another technology without having used it, maybe you should reconsider after all right now you could be out hunting bison with a stone axe, instead of sitting in a nice climate controlled office sipping lattes and reading this excellent article.

Friday, June 03, 2005 11:32:55 AM (Central Standard Time, UTC-06:00)  #    Comments [2]
 Wednesday, June 01, 2005

I’ve been in the habit (well I’ve usually not had a choice) of learning a new language each year or so.  I’ve always had an interest in scripting languages, this is not unusual as I started my programming life as a system administrator and I used VB scripting edition for all kinds of things.  I’ve since learned quite a few languages and some I’ve enjoyed and some I have not.  I looked into PERL last year as it is used where I work and I had read about it in The Pragmatic Programmer.  I was a little bit disappointed.  What a mess.  It seemed like a patched together hack and I was not much more productive then if I had simply used Java or C#.  With that out of the way, I was surprised to see a book published on-line by the authors of The Pragmatic Programmer. 

Programming Ruby is a book dedicated to the Ruby language.  Ruby is supposed to be simple to use and very object-oriented.  I have decided that this is the next language I will dive into.  One reason I am interested is the productivity promised by the Ruby on Rails framework. 

 
Here is a list of what I am expecting:

  • Easy to learn
  • Easy to use
  • Minimal hassle
  • Minimal quirks
  • Free to use
  • Good for web developing

 
Some things that I am interested in finding out:

  • Data Access capabilities
  • Availability of editors (code completion, etc)

 I will post again once I have read the book and coded enough to form an opinion of Ruby.

Wednesday, June 01, 2005 9:21:17 AM (Central Standard Time, UTC-06:00)  #    Comments [0]
 Tuesday, May 31, 2005

For anyone who has used Norton Ghost to build an image, Acronis True Image Pro 8.0 will be a breath of fresh air.  Here are the features:

  • Easy to use GUI interface
  • Can be used inside Windows XP, no need to boot into DOS
  • Reasonably priced, I purchased my copy for $32.50 from newegg.com, Norton Ghost appeared to be priced about twice as high
  • Can mount images as drives and browse the contents.

I downloaded it, installed it and made an image in about a half hour.  I did not need to create any 3.5" floppy boot disks ala Norton.  Everything was done inside Windows XP.  I love it when you can buy software quickly, it does what it says its going to do and you can go on with your life.

*one note, the software is $50 on Acronis' site but can be had cheaper on newegg.com or a similar site.

www.acronis.com


Tuesday, May 31, 2005 9:43:04 AM (Central Standard Time, UTC-06:00)  #    Comments [0]
This weekend I had some time so I decided to wipe my PC and start from scratch.  I wiped off my current XP Pro build and installed it from scratch.  This time however I created an image of my clean install once I had downloaded and installed all the updates, security patches and service packs for Windows.  I installed a minimum number of drivers so that I can use the build if my devices change. 

All in all it is a pretty smooth transition.  I keep all of my data on a seperate drive from my OS so the transition was pretty straight forward.  I need to start doing this every few months just to keep things clean.
Tuesday, May 31, 2005 9:34:12 AM (Central Standard Time, UTC-06:00)  #    Comments [0]