Wednesday, December 31, 2008

Meta-blog: Programming: love it or leave it.

Yes, I know Orin doesn't believe in meta-blogging, but this is a topic that is close to heart. I'm referring to Jeff Atwood's recent comments regarding programming as a career and specifically Joel Spolsky's remarks. I have to say I am in total agreement. While programming wasn't my first (or second) career choice growing up I have fallen totally in love over the last 15 years with software craftsmanship. Software programming is an 'excellent career' that will feed you daily challenges and mind puzzles to work over. How many job's out that evolve on a daily basis? I do totally commend the original authors aspirations to obtain a new degree. Personally, I think everybody should be updating their personal skill sets and knowledge core over the course of their life. I don't believe education is ever completed; regardless of life's course.

I have worked for large ISV's, micro ISV's and in house IT honing my craft and have never been bored. I have met many fellow developers that grumbled and griped and it never failed to amaze me that they don't share the same passion I do.

I agree totally Jeff: Programming: love it or leave it.

But then like Jeff, I am spending New Years Eve working on Black Freight and updating my blog.

Monday, August 18, 2008

Another Meta-Blog, No Repect!

While reading some blog aggregation this morning (during a compilation session), I ran across this blog posting this morning.

I had an experience very similar to this one just a few short years ago (no names of course). This sort of thing seems to happen more often in small companies whenever you have developers working for non-developers that believe they are tech-savy.
The approach I took was to educate the non-developers in what I do and how I go about doing it. Sometimes it worked, and sometimes it didn't work at all because, like anything you have to give and take.
The experience I most remember was discussing a new database design for some inventory tables. I believed in a normalized transactional design and they believed in a highly non-normalized design to support Access reports. At first I got angry because they were spoiling my 'pure' design, and the DBA was angry because he was trying desperately to create a normalized design for the database. Everybody walked away from the table angry, the developers, the dba, and the project owners because nobody budged.
After the meeting, I was reflecting on every bodies positions on the matter; and there seemed to be no way to move forward. I decided to suck up my pride and accept a badly designed database model in order to move the project forward; it's called "Compromise". The project was canceled in the end anyways, the stakeholders decided the cost was too much for their simple project.

Friday, August 8, 2008

Grieve for what you have?

I can't remember where, but I once read that people should experience grief for what they have. My thought at the time was 'That is just plain nonsensical' and moved on with my life & studies.

However, events have occurred in my life that have forced me to evaluate what is important to me and where I want to be in 3,6,9,12 months from now. So I ask this question gentle readers: Have you ever grieved for what you have?

Tuesday, August 5, 2008

Drill Baby Drill???

So, a recent campaign speech from McCain called off-shore drilling as our solution for oil independence from the middle east. You have to be kidding me; this can't be our solution. While I am now a supporter of Obama for president (I was a Clinton booster); I do think McCain has done a great job for Arizona. He was and is a good senator; but his energy solution for the country is horrible. In a speech recently he spoke a line that scares me to the core: "Drill baby Drill".

All it takes to see the failure of this solution is to use common-sense. How much does humanity currently depend on the ocean? Now why in the world would want to dump oil into the ocean?

The discovery for oil requires a 'lot' of test-drilling; and during this test-drilling thousands to millions of gallons of oil could be released before the proper facilities are put in place to harness this oil.

Consider the public outrage that occurred during the Exxon oil-spill not to long ago, this is *nothing* compared to the damage we will be doing should be start doing off-shore drilling. Its all about common sense people.

Off-Shore Drilling?

Off-Shore Drilling? You have to be kidding me; this can't be our solution. While I am now a supporter of Obama for president (I was a Clinton booster); I think McCain has done a great job for Arizona. He was and is a good senator; but his energy solution for the country is horrible. In a speech recently he spoke a line that scares me to the core: "Drill baby Drill".

Now, people use common-sense. How much does humanity currently depend on the ocean? Now why in the world would want to dump oil into the ocean?

The discovery for oil requires a 'lot' of test-drilling; and during this test-drilling thousands to millions of gallons of oil could be released before the proper facilities are put in place to harness this oil.

Consider the public outrage that occurred during the Exxon oil-spill not to long ago, this is *nothing* compared to the damage we will be doing should be start doing off-shore drilling. Its all about common sense people.

To Region or Not To Region, that is the question

In the .net blogging world, it seems that many folks are debating over Jeff Atwoods post on his disdain of regions (see here). My initial reaction was that I agree with Jeff Atwood on many of his points, but I don't agree with his conclusion. I personally use regions for one simple point: To allow me to focus on my current problem at hand.

Jeff has outlined 4 of his problems with regions:
1. Folding directives are glorified comments.
2. Folding is used to sweep code under the rug.
3. Folding is used to mask excessive length.
4. Folding can hide deficiencies in your editor.

I have seen these abuses in both close and open code. This sort of abuse needs to be corrected on a team level, but either the senior or lead developers of said team. If you have renegade programmers using regions as comment fields, you either need to instruct them in the proper fashion of comments, or "get them off the bus".

Personally, I tend to enjoy the region feature of Visual Studio as it allows me to almost work in Visual Studio as productive as I was with Visual Age for Java. One of the nice features of the old version of visual studio is that it forced you to work on a class on a 'method by method' approach. Granted, this can be destroyed if you have a renegate team-member(s) that use them for comments; but this can be corrected behavior. BTW, a wonderful free add-on to Visual Studio to allow you to standardize on the deployment approach to regions is Regionate.

Thursday, July 17, 2008

Old Friends, New Ideas

Through the magic of LinkedIn; I've been in touch with an old friend of mine from Cyclone Commerce TJ. For the record, he is on the market looking for a C# Developer job; and I would give him 2 thumbs up to anybody hiring him.
Anyways, I noticed he posted a video resume and while a tad rough around the ideas I have to say kudo's to the novel idea. It shows innovation and the ability to think outside the box which is critical for our field.

Been away awhile, whats new?

Busy Busy!
It was mentioned to me that I haven't blogged in awhile and yes that is very much true. At my new digs at Ping Golf, we have been busy with a very large project of deploying our Business Automation software at our Japan facility. While a large project that involved tons of coordination and rework was actually a lot of fun; in some aspects it reminded me of my early days at ISV's.

I'd like to comment on something that is interesting. Way back in the early 2000's; we undertook a localization effort at SalesLogix. While the language was different (Delphi); the effort to localize in C# was very similar. One might have expected that over the last 8 years our industry would have learned something and made the process easier. Granted, we didn't have to worry about things such as AnsiString or the such; but the effort was *not* easier by any stretch.

Wednesday, January 9, 2008

When open soure dies

As a true geeky software developer (non mort) I am always chasing shiny things; and passionately devouring new technology as quickly as I can. However, every now and then something really reaches out and grabs you; and sometimes it is not something that you truly expect.
For example, a sampling of my favorite open source projects:
  • iBatis - A lightweight ORM for various languages
  • Paint.NET - Think early PaintShopPro before it became bloated
  • Notepad++ - A swiss army knife of a text editor
Unlike many open source zealots I didn't select these because I wanted to support a particular license or programming language. I selected them because they solved a problem I had in the lightest way possible. During my stint(s) at Trans-soft I encountered and adopted a new framework in a language that I detested but it solved my problems and I fell in love with it: HealthMonitor. HealthMonitor solved a need that man people ignore or build themselves, the monitoring of applications and services with altering based on rules and severity. Unfortunately the application simply 'worked' and once installed didn't really need tinkering with and thus becomes forgotten until something fails. Recently i went to pull a new version to experiment with for my new employer and was dismayed to see that the company has abandoned its opensource line in favor of a closed source solution for pay. As a developer that lives in both worlds I can understand their reasoning to make a buck; but I can also be dismayed to lose a product that 'worked'. After googling for awhile, I can not find a replacement for this truly great function. Has anybody else found one? I have considered porting the application to a language I write in (C#, F#, or Boo) but don't want to go through this effort if somebody else is actively pursuing the same goal.

Thursday, January 3, 2008

Netflix's Click To Play


Way back in the day, when Netflix just came out they revolutionized the way you rented DVD's. Instead of paying 'per hit'; you paid your monthly fee and watched what you could when you could. Their success was evident as they dragged the monolith (at the time) Blockbuster with them into the exact same market. I was slow to jump on the Netflix bandwagon; however, due to pure pressure of my coworkers back at SalesLogix I climbed on board and was hooked.

Along the way I have switched back and forth between web-based DVD suppliers for my movie addiction and there is really no perceivable difference between Blockbuster and Netflix to myself. The other day, I was tinkering with my Media PC in my living room and just happened to use a new feature Netflix added that allows me to watch a DVD without the DVD called Watch Instantly. Clicking their Play button opens a modified Windows Media Player instance (so reported), although you must click Play about 3 times to get to the actual movie on different play buttons. While the quality of the movie isn't pure DVD quality or that of HD television, the usability and 'on demand' nature more than compensates for those minor issues.

I would hope Blockbuster is watching netflix again. Netflix wasn't the first to offer video on demand with a large archive; however, they were the first to do it right.