End of an Era

by fwhagen Tue, 12 September 2006

After 6+ years, it has finally come time to move on.  I turned in a letter of resignation to my boss JF after lunch.  I did give the company a few days to come up with a counter, but after dwelling over the reality of the situation over the weekend, I made a judgement call.  Even if they countered at the same rate, they are still short.  I won't detail the pros and cons, but even just monetarily, old is less than new.

It is with heavy heart that I abandon my current project; it has been phenomenal.  I will especially miss the guidance, instruction and motivation of GP.  And TB has become a fixture of working life long ago.  TC, or CT, and his brand of Crazy will be missed, but he's a consultant and not long for this gig.  LE, WG, JR, JP, CF(!) will all be missed.  Damn, what a downer....

But!  On to better things.  While the timing is inconvenient, this is an opportunity that I have been waiting for a long time.  The near 25% raise don't hurt either!  And nobody said I can't come back if it doesn't work out!  I'd prefer to take the team with me though.


Filed Under: Life

Seen Around Town

by fwhagen Wed, 30 August 2006

Yesterday we were out at lunch and stopped at the bank drive-thru.  Below is the site that greeted us:

Bank Window

"So what", you say.  Notice the red warning sign on the bottom left of the glass.  No, not the phone number, the international sign of No Guns! 

No Guns! Does this work?  It must, because why else would it be there?  Besides, in a "Here's your sign" sort of world, some idiot probably tried to rob a bank from the drive-thru!  "Hey," the robber must have thought, "I don't have to get someone to drive the getaway car, I can do it myself using the drive-thru!"  Do you think he was surprised when the girl just walked away and called the police?  "Hey!  Come back!  I'm not finished, yet.  You haven't heard my demands!  Come on...."

I guess international symbols are useful!  I am going to make a few for myself, now that I know they are effective.  Stay tuned....

BTW, the above picture was altered in only one way:  I pixelated the name of the teller, she just works there, it's not her fault.


Filed Under: Life

Programmers' Bill of Sale

by fwhagen Tue, 29 August 2006

Jeff Atwood of Coding Horror, one of my favorite blogs, recently posted his list of Programmer's Bill of Rights.  While I completely agree with his enumeration, I think he overstates things a bit.  The list, editing out the links, is below:

    1. Every programmer shall have two monitors
    2. Every programmer shall have a fast PC
    3. Every programmer shall have their choice of mouse and keyboard
    4. Every programmer shall have a comfortable chair
    5. Every programmer shall have a fast internet connection
    6. Every programmer shall have quiet working conditions

I would add to that the ability to alter or modify my workstation in order to make it more productive to my style of programming.  Not trash the system or make if vulnerable to exploits, of course; but to allow me to load any little utility that I need to make coding easier, faster, or cooler.  I will get into some of these utilities in a later post.

I don't think it's our right to have these things, but the employers obligation to provide them.  Follow me here for moment:  It is my duty to do the best coding I can do given the tools I have.  That includes clear requirements, necessary hardware/software, and decent working conditions.  However, if my employer wants to get the greatest amount of productivity out of me, the above conditions should be met.  If they wish to pay me for substandard conditions, they should expect substandard output.

As GC says, If you go out and hire the greatest distance hauler you can find in order to guarantee the delivery of goods between LA and NY, you don't give him a pickup truck to do it with.

I am fortunate; after six years, I finally have a decent system:

  • A 21" Viewsonic Gfx monitor with a 17" Viewsonic sidekick
  • Dual CPU 3.4GHz Xeons with 2GB RAM
  • Crap keyboard, but I bought me a MS Wireless Laser 5000 mouse
  • Grabbed this comfy chair my first week and never let it go
  • Stupid fast Internet (OC style)
  • Could be quieter, but has been much worse.

So I am pumping out some great code.  At least I am not wasting any significant amount of time trying to coax my system into doing what it's supposed to be doing.


Filed Under: Programming

Backfilling Entries

by fwhagen Thu, 24 August 2006

Now that everything is working OK, I am going to start retrofitting old posts.  So you may see some older posts showing up previous to the first one here now.  Don't be alarmed, it's OK. 

There are still a few things left to do:

  • Create a "bridge" for individual posts.  Each post needs its own page for compatibility reasons.
  • Create a categories list.
  • Publish the blogrole.
  • Continue to adjust the CSS.
  • Create a real front page to utilize all of these features.

That's all work.  I'll do it later...


Filed Under: Blog

Custom Attributes and Validation in C#.NET

by fwhagen Wed, 23 August 2006

I have been laboring through setting up Custom Attributes and automatic validators in C#.NET.  It's very cool stuff, and as explained to me by my far more experienced lead, going to make our downstream efforts vastly simplified.

I was bashing at the keyboard aimlessly over this when I happened upon this article:  
   Attributed Programming in .NET Using C#
which has really helped me a great deal.  If you are interested in building custom attributes for business object entity classes, and you should be, check it out.


Filed Under: .NET

Finally: A Solution

by fwhagen Wed, 23 August 2006

Well I finally have a full solution I can live with for the blog.  Using DasBlog to create the entries and do all the managment necessary on them and a few custom scripts to post from it, I am now able to do nearly everything I need.

I figured out that the easiest way to filter private items is to do exactly that:  the script to post the public blog searches for the Atom tags for private category and removes that entry.  I will probably leverage this concept to create a even more filtered professional blog too.  So now I have 2 blogs from the same source:  a public, censored blog that I am not afraid to let out, and a private one to capture my thoughts and feelings about everything.

I am pleased!  As always, the scripts are available upon request.


Filed Under: Blog

Who am I again?

by fwhagen Fri, 18 August 2006

Please don't look at my public websites.  They all suck.  My personal one because I just don't have the time to build a decent one and the one for the corporation I work for because, well, I just work here.

Let me explain.  I am the Senior Web Developer for the corp.  That means I control the servers and design of all the company websites, right?  Well, not quite.  The Network group controls the servers.  Ok, I don't need to worry about patches, viruses, etc., so good.  Oh, and I don't write the content of the websites either.  Well, that's good too, I don't fully understand the needs of the business as communication to their customers is concerned.  So rightly so, I am relegated to the technical aspects, which I certainly prefer.  Wait, I don't do the design either, that is up to the marketing department and business owners.  Too bad our marketing group is entirely print oriented and don't really understand the unique nuances of the web; and of course the business owners shouldn't, that's not their shtick.

So what do I do here again?  I forget...


Filed Under: Rant

SharpReader and ATOM

by fwhagen Fri, 18 August 2006

I love SharpReader.  I have tried dozens of other readers and aggregators and always come back to it.  I just hate the way it treats ATOM feeds.  Or more specifically, MINE.

See, when I posted a entry, it gets a date.  If I ever go back and update it, it gets another date.  This is built into the spec.  One tag is labeled "published" and the other "updated".  Pretty obvious what each is for, yes?  When I tagged my own entries, I just ignored the <updated> tag.  But I have moved to DasBlog to ease my administration and now it (properly) updates said tag.  But SharpReader uses <updated>, not <published>, for its display and sorting algorithms.  So all of my entries show up out of order if I, say, go back and apply categories to stories.


Keywords: ,

Filed Under: Blog | Software

Testing Private Entries

by fwhagen Thu, 17 August 2006

I want to be able to post rants and anti-establishment entries without having to worry about who sees it.  So I have a "Private" category that I want to filter out. 

You should not see this post!


Filed Under: Private


by fwhagen Thu, 17 August 2006

I have tried to get ATOM to format nice with XSL with nearly no success.  So I switched to CSS.  It works!  Almost.  IE6 doesn't render it properly, which is annoying, as I have been a defender of IE for years.  IE7 should do fine.

If you'd like my CSS file, note the xml-stylesheet tag in the XML and grab it.  If you don't know how, then you don't really need it, do you.


Filed Under: Blog