Tech Blog

Jay's Technical blog

MS Ajax JSP tags - release 0.2

26 June 2007
Jay Kimble

[WARNING! This is an archived post and as such there may be things broken/missing here.. you have been warned.]

I added a couple new controls and am going to concentrate on the more useful stuff for the next release.

You can find it here.

[I hope someone finally sees this and picks it up.  If not along about 0.5 I'll beat on one of my buddies to publicize it].

'Git 'R Done' Coding...

22 June 2007
Jay Kimble

[WARNING! This is an archived post and as such there may be things broken/missing here.. you have been warned.]

I've been reading a bunch of stuff online the last week or so that talks about theory or at least the idealism that some have thrown out.  Thanks to Dave Hayden, Joe Healy, Jim Zimmerman, and my buddy Tim, I think I have some perspective on this stuff.

I'm well aware that some will write me off after this post (but probably not because it seems so many love to argue on the net).  There's actually a recently featured post here on CodeBetter (that I won't draw attention to) that talks about the ideal of perfecting your software.  It's an interesting read although I'm not particular fond of the "elitist attitude" nor the "jabbing nature" of the post (which I seem to remember the "jabbing" stuff got someone in trouble on CodeBetter in the past, but alas it will probably get me in trouble instead).

Anyway, I think the ideal (minus the jabs at MS) is laudable.  Unfortunately, I think that this is far from the reality that many of us live in.  I had a customer want a web site that used MS Access as its back end. 

A decision like using Access is not a good one... and even after being provided the data on why this is a bad idea the client basically said "I'll go elsewhere if I need to..." 

At the end of the day, I had to build it (this was before I went indy... but even at that I'd take his money today).  Now mind you I built this sucker using the best tools I had available (NHibernate/Castle as an ORM because well with Access it's all inline SQL).  At the end of the day the customer was thrilled and I was scared of that the database might blow up.

I met a guy yesterday who wrote ASP.NET 1.0 using notepad for 9 months, AND was successful at it (long story why he had to do it... let's say he works for the US Gov't at some level and leave it at that).  You might say "MORT", but I say "Wow! the crap we all deal with in the world of reality."  We often use the word "Mort" in a negative manner and honestly the description is inaccurate.  The number of guys I would call Mort (the 9-to-5-er who doesn't want to learn anything and only wants to use what's handy) I can count on 1 hand. 

You may scoff at this, but you know what, I bet this happens to you or has happened to you (I'm not talking to the idealist; I'm talk to joe programmer in the trenches).  "We know you said that to do this right would take 1 month, but we want it next week or it's..." your butt, your bonus, etc.  So what do you do.  Well there's always the choice of leaving, but eventually that mentality catches up to you (6 jobs in one year looks really bad on a resume').

More than likely you cut a few corners to get it out the door.  You skimp on the QA process (tests, etc.), you probably cut back on your model as much as you can... maybe you throw Business Logic in (God forbid!) the ASP.NET codebehind, because "well it is an Access database being used and its probably as maintainable as anything else."  And why?  Because you are a guy who gets crap done... sometimes you get to build the big architecture questing after the "perfect" model, but it's not often you get to do that... sometimes you get to work on the code again to add new features, but again, it's probably under the same duress. 

AND, I don't think it's evil.  Yeah, it's not the architecture you think is the best... maybe it is using the drag-drop mentality often maligned, but it gets the job done within the timeframe you have been given(and the customer is aware of that they are making trade offs on the design).  The trick is to do what needs to be done and to be able to easily justify what you did... Let me give you another perspective...

My dad gave 30 years to a steel mill where he was told what to do.  Now you may say "Bah, steel mill! Your dad is unskilled!"  ptuee!  I spit on your words.  My father was a maintenance man in a steel mill which means he fixed the machines... all the machines.  If that meant fixing hydraulics he did it.  If that meant welding something he did it.  You see my Dad was trained in all those areas (and probably more).  The bosses (these "bosses" were usually hired from somewhere else... not internally promoted) who were willing to listen to him got better work because he helped them (using his years of experience and training) to figure out a better way (which was oftentimes quicker to do or made things quicker in the long run).  The ones who -- like what we often deal with-- didn't want his advice because they were hell-bent on doing what their limited experience told them should be done... well, they got exactly what they asked for (which sometimes resulted in a mess).

I'm not saying you shouldn't target perfection... you should, but oftentimes the design choices made are not in your power (so you have to apply what patterns you can find to resolve the problem).  If you are "Einstein" this will drive you nuts (because it ain't perfect).  If you are "Elvis" this bugs you, but it doesn't keep you from "getting it done," and you are probably way more valuable to your company then any 3 guys of the other types.

[I used the MS developer personas, because I have recently seen their names come back up again... I'm still not thrilled with the list, because Mort really doesn't exist... most of us are some variation of Elvis... or Einstein... with some Mort tendencies... its a stereotype that creates the all kinds of prejudice that you want to avoid.]

MS Ajax Extensions in JSP (Java)

21 June 2007
Jay Kimble

[WARNING! This is an archived post and as such there may be things broken/missing here.. you have been warned.]

I have been working for the last month in JSP (well, actually it was a couple months ago).  Since I had to do some Ajax scripting and am more familiar with MS' Ajax Client Library.  Healy goaded me today in the Day of Ajax.  Since I have been sitting on this for a bit, and since I haven't had time to make much headway on it.  I decided to go ahead and release what I have (which isn't a lot) on the DTAjax CodePlex site (look in the releases for it).

I have 2 working controls right now. 

  • ScriptManagerJ is a JSP tag that manages the scripts that need to be included in the form.  It also calls the Application.initialize function for you.
  • ModalPopup is a JSP tag that lets you use the Ajax Control Toolkit's ModalPopup control.

I will be making some more releases in the future to get more controls working in the JSP space. 

[Small update... I added the Ajax Control Toolkit DropShadow to the project.  If you are interested in helping let me know]

[tags: JSP tag, MS Ajax, Ajax, Java]

Why over a million downloads means nothing...

18 June 2007
Jay Kimble

[WARNING! This is an archived post and as such there may be things broken/missing here.. you have been warned.]

So last week I blogged about how happy I was that Safari had been released for Windows.  "Why?" you may ask is simple.  If you want me to support your browser make it easy for me to use it.  Honestly I'm no lover of Safari, but to be able to test stuff with it (without having to use a VNC connection or having to physically move to my Mac) and against it would be heaven (ok, maybe I'm a little too strong with "heaven" but you get the idea).

So I read a story today where Apple has announced that they have had over 1 million downloads of it. 

I would like to tell you that about 7 of those downloads are mine.  I downloaded Safari 3 beta, and got... uhmm... I guess the write wards are "an unusable experienced."  Right there was a rendering of Apple's web site complete in a browser with Safari's look and feel except there was 1 thing missing... there was no text on the page.  Worse yet, I couldn't type anything into the address bar or into the google search.

My Screen (nice, hunh?)

I thought I did something wrong, so I uninstalled it and re-downloaded the file from the web site and tried again... same result.  So I decided to download the one with QuickTime... then I decided that this sounded like bundling to me and did I really want the latest QuickTime? (the answer is "NO"). 

A few days later someone suggested that I try again, but since I'm on Vista I should try to set it run as administrator (I wasn't thinking this was a great idea, but it would be nice to be able to runt he darn thing, so I tried it with the same result).

I have read about fixed releases several times and have went and redownloaded to see what happens and receive the same result (always).

<sigh /> And to think if it was MS who did this the entire Tech News industry would be making fun of MS over this.  How could Apple release something like this is beyond me (and IMO this problem is HUGE).

[tags:Safari on Windows]

Healy messed up... Day of Ajax postponed 1 day

13 June 2007
Jay Kimble

[WARNING! This is an archived post and as such there may be things broken/missing here.. you have been warned.]

Joe Healy just called me to see if Thursday the 21st was a good day for the Day of Ajax.  He just found out that the room was double booked, so we had to change our time. 

Hopefully, all of you who were coming can make it a day later.  If not I'll plan on re-doing my presentation for the Tampa CodeCamp (in July).