Wednesday, July 27, 2005
Again taking inspiration from Joel:

http://www.joelonsoftware.com/news/20020715.html

Major point of article:  Coders in large shops are often rewarded for writing lots of buggy code and then swooping in at the last minute to fix their own mess and make themselves the hero.

I worked with a guy; let's call him Squirrels, who was just this kind of coder.  He would churn out volumes of code.  Whereas some coders progressively improve their craft, this guy progressively randomized his output.  You could tell when he read a new article in MSDN because that code would go into his project.  Most programmers are somewhat guilty of this but this guy was the extreme.  He would try out something new and cool (or not so cool) while neglecting the basics of simplicity and readability let alone the niceties of error handling and maintainability. 

He would race ahead of his disasters, making junior programmers responsible for fixing his messes and then moving from Visual Basic to web development to database development and management seemingly just to avoid having to work on his own evil machinations.

I learned a valuable lesion, more != better and quality is sometimes hard to quantify especially for a little bald dude with a Napoleon complex and an ex-auto mechanic turned axe-man.  But that’s another post…




Wednesday, July 27, 2005 9:36:41 AM (Central Standard Time, UTC-06:00)  #    Comments [0]
Man this guy has a way of saying things:

http://www.joelonsoftware.com/articles/HighNotes.html

I wonder why I stay up till 1 am making that last tweak to polish the UI.  I'm hoping to hit the high note...
Wednesday, July 27, 2005 9:14:36 AM (Central Standard Time, UTC-06:00)  #    Comments [0]
 Friday, July 08, 2005
I've been thinking seriously about business oppurtunities and for some reason there is a general conception among many people that a business idea has to be new and original.  I've got news for ya' brotha' there ain't nothing new under the sun.  Well there is but the these ideas are few and far betweena and they are mostly improvements on old ideas. 

Hence the point of this post.  Pick a business, fiind a way to do it better, faster, cheaper etc then make money.  Recently I read an article that reinforced this belief:

http://www.joelonsoftware.com/articles/AardvarkMidtermReport.html

Joel came up with an idea for an improved remote computer assistance software.  The key word is improved, not new, just better. 

Now to the point, I've been kicking around the idea of a sort of cross bread between a certain electronics shack, a certain big box store and a cell phone dealer. 

We will handle small personal electronic items and networking of digital appliances whether these are cell phones, pda's, pc's or a fridge that has a NIC card.  The emphasis is on small high margin devices which are wireless.  The key to this goal is service.  We will out service any competitor.  All employees are A+ certified or equivalent and customer friendly which means no rude high school kids!  We will not carry low margin big box merchandise.  Our customers are SOHO (small office home office) and individuals.  Our goals is to make the customers digitial devices work together to increase value (see Metcalfes law).  

This is the template to move forward with.  The working name is Gadget Tree.  To be continued...
Friday, July 08, 2005 10:17:02 AM (Central Standard Time, UTC-06:00)  #    Comments [0]
 Tuesday, July 05, 2005
  • Adblock
  • Image Zoom
  • All-in-One Gestures
  • Disable Targets for Downloads
  • IE View
  • Web Developer
  • miniT
  • NoScript

All should be availabe at:
https://addons.mozilla.org/extensions/?application={ec8030f7-c20a-464f-9b0e-13a3a9e97384}
Tuesday, July 05, 2005 9:44:54 AM (Central Standard Time, UTC-06:00)  #    Comments [0]
 Saturday, July 02, 2005

I'm writing this looking back from a potential future where microsoft becomes a consulting services company and its Windows OS is is the OS/2 of its day.  Microsoft failed to embrace the Open Source software movement.  Well not exactly.  Microsoft failed to research the make up of this group.  Not only the creators of OSS but the users of OSS.  The users are almost more importannt then the developers in this case.  Why?  MS decided that OSS was foolish and that the developers engaged in OSS where giving away their services and their time.  MS argued that software should be paid for and that developers should be making money.  I can't argue with any of this and on this point they are very correct.  However you have to look at the motivations of the OSS community. 
    The first perspective is the users.  They get free software without the worry of the licensing nightmare that accompanies most commercial software.  There is no good way to keep track of the software installed on most systems.  Don't get me wrong there are several improving ways of monitoring installed software but this is usually not free.  There is SMS and related products but this is still difficult, with many small to medium companies struggling to 1) understand their licensing agreements and 2) comply with their licensing agreements.  How do I know this?  I was employed by a small division of a VERY large corporation.  We had incredible resources but it was still a great challenge to manage all of the various MS and related software and all the third party software.  When you are told to install software on that laptop today because the boss is going out of town and needs it right now, you do it. 

            However as we move forward in time and major shift in development away from desktop and towards web applications began.  The two reasons for this were 1) DLL Hell, which is its own article/book/series of books on its own and the licensing debacle referenced above.  So we have a paradigm shift from desktop software to web software to alleviate the installation and maintenance nightmare of desktop software.  Note that we have had several paradigm shifts from the original main frames and UNIX boxes to the all powerful desktop to the client server heydays of the mid nineties and eventually to the web centric model that is emerging today. 

            Microsoft of course saw this and countered with .NET.  Make you think that .Net is all about the network and every server and desktop with .NET would be instantly connected and on the web.  Well here is reality: .NET did not ship with Windows XP.  Nor was it on the 2000 servers most people were using at the time.  But the worst was yet to come.  All of my client server apps written with VB6 and MSSQL would have to re written because VB.NET was not backward compatible with VB6.  Goodbye desktop hello web.  So VB6/COM training/talent/know-how goes to ASP and ASP.NET and then in ASP.NET vbscript is abandoned (rightfully or wrongfully) in favor of javascript.  So know I have wasted 5-6 years with VB and COM and must upgrade my skills.  So lets go looking for training for our staff. 

Wait a second.  What’s this java stuff.  That will really take off and that’s what all the big guys use on their servers and even better this language was written for the web and even better developers can fell like they are writing in C and feel smart while having the memory management of VB.  Yeah Java!  Then along comes .Net with C# the Java killer. 

All the while many free lance developer, student, academics, government and pretty much any software developer who has limited resources has been searching for ways to reduce software costs while remaining inside the boundaries of the law.  Well a few of them get together and figure some stuff out and write some programs to share.  Why not create this and why not create that and pretty soon you have an OS and a web server which is all your really need in this new world.  Why not have a few web languages?  Keep building on the foundations of what is currently available, get smart and hungry people to work on it and wait a while.  Pretty soon you have some pretty good tools written for smart people by smart people to do the things you need to do.  Bugs are fixed quickly, people are friendly this whole thing isn’t too bad. 

So all of a sudden OSS becomes to pretty decent software with a price that you can’t beat.  So the question is why pay for all that software especially when all you need is a web browser (available on Windows 98) to access all of the company network and software which is now web based.
...End of Part 1...Part 2 soon to come...

Saturday, July 02, 2005 11:28:43 PM (Central Standard Time, UTC-06:00)  #    Comments [2]
 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]