These top 10 posts are a little bit tiresome, but in case anyone out there wants to know which tools the developers of Delphic Sage hold near and dear to their hearts, I bring you the following list:

  1. Visual Studio (or Eclipse)
  2. SQL Server Management Studio
  3. SVN / Visual SVN / Tortoise
  4. SQL Compare (with Command Line)
  5. jQuery
  6. FireBug
  7. Cruise Control
  8. NAnt / Ant
  9. Fiddler
  10. YSlow

Most of these tools are free....some are not. Either way, I feel that these tools are a fair representation of how much web development has changed in the past few years. Now, if only the browsers could keep up we could really start to make some progress!

Ok, before the flame war begins, I will say that I do indeed realize that the title of this post is totally assinine. Also, I would like to include a disclaimer that the BSOD I refer to is in reference to a "Black Screen of Death".

The Real Story

Over the weekend, I was flying out of Philadelphia International Airport to attend the wedding of a dear old college friend. I did the online flight check-in on my macbook, and hopped a cab out to the airport. Once through security, I went to the arrival/departures board to be sure that everything was on time with my flight, and encountered the screens pictured above. A few were empty screens that would have otherwise contained the flight data, while others were totally blacked out displaying and apple logo and what I am guessing was some sort of unique identifier for the server or screen. There was also and airport worker standing with a clipboard and a line of other passengers, but I simply checked my gate number on my boarding pass and settled into listening to some tunes and drinking coffee at the gate. At some point, I pulled my head out of iPodland and noticed that my flight did not seem to be boarding. I asked the lady at the counter, who informed me that my gate changed...but since the system was down I did not know! Anyway, I had to run to another terminal and just made my flight by about 5 minutes.

Now, before you get all huffy with me

Let me just say that I am an apple OSX fan, but being a software engineer I also rock a ThinkPad running windows for development purposes (in addition to my macbook).  I'm not a total stranger to Linux either. Personally, I have little or no allegiance or dogmatic belief system associated with any specific technology, as I am happy to drop one thing for another on a case by case basis. I have always enjoyed seeing gigantic Windows BSOD shots projected on the sides of buildings and other highly public places, and found this to be a pretty amusing alternative.

Why would we want to change the output of ASP.NET server controls?

When writing either a custom web control derived from an existing control or a control adapter, it is not uncommon that we need to modify the html output of that is normally generated only slightly, without having to reinvent the entire wheel. In fact, saying that this "is not uncommon" is a bit of an understatement. If you've seen many of our recent development posts on this blog you will notice that we spend a fair amount of time trying to manipulate the output of asp.net. As user interfaces gain complexity and other client side frameworks enter the picture, we consistently find ourselves less than satisfied with the standard output offered by ASP.NET server controls. Recoding all of the output can be a risky proposition because the original microsoft rendering code often contains conditionals that account for various scenarios, browsers and property settings. In the case of control adapters, the ability to use virtual methods with inheritance to override the rendering of particular attributes or elements is somewhat limited. This might leave the developer somewhat stuck with needing to re-invent the wheel with their control adapter. I'll go over a simple, general technique for those, "I want to produce the exact same html except..." situations.  Keep reading to see a neat little short cut to this tak much easier, and no...we're not talking about doing string replaces on the output stream!

Adding Some Sweet JQuery Animation to Your ASP.NET Form Validators

This blog post is a continuation of my previous post on this subject. In case you haven't, I highly suggest you give it a read here so that you will have some clue what the heck I am talking about. After writing that original post, I received number of requests asking that I take it a step further by adding some animation into the mix so that my extended ASP.NET form validators are truly deserving of the title "jQuery Style". The results are pretty slick, and I have added the new functionality into our internal timesheet system and it seems to be holding it's own accross the different browsers and operating systems that we employ here at DS. And yes, I actually used JQuery to do it, since it offers some nice, quick out of the box options for animation that have been battle tested.

See Demo | Download the Source Code 

How It's Done

Ok, prepare to be dazzled. This whole addition is doable by overriding one of the .NET validation functions and adding about 2 lines of code to it.  Have a look:

   1:  ValidatorUpdateDisplay = function (val) 
   2:  {
   3:      if (typeof(val.display) == "string") 
   4:      {
   5:          if (val.display == "None") 
   6:          {
   7:              return;
   8:          }
   9:          if (val.display == "Dynamic") 
  10:          {
  11:              //changed this block to not set display to inline, but to remove style attribute entirely
  12:              //undo comments if not using jQuery
  13:              if(val.isvalid)
  14:                  $(val).hide("fast");//val.style.display = "none"; 
  15:              else
  16:                  $(val).show("fast");//val.removeAttribute("style");
  17:              return;
  18:          }
  19:      }
  20:      if ((navigator.userAgent.indexOf("Mac") > -1) && (navigator.userAgent.indexOf("MSIE") > -1)) 
  21:      {
  22:          val.style.display = "inline";
  23:      }
  24:      val.style.visibility = val.isvalid ? "hidden" : "visible";
  25:  }

 

B-ri

GMail Goggles?

Oct
07
2008
by B-ri

Google has done it again.

Just in time for "Joe Six Pack" to enjoy the Presidential debates, Google Labs has released Mail Goggles. Mail Goggles, unlike beer googles, prevents you from doing stupid things.

So how does it work?

  1. You consume a fair amount of alcohol.
  2. You convince yourself that your boss is a jerk, or maybe that some significant other who screwed you over is indeed "the one" after all.
  3. You write an email to this person telling them how you really feel.
  4. You click send.
  5. Mail Goggles pops up and asks you 5 questions of 3rd grade math with a 60 second time limit.
  6. You fail to answer the questions, so the message does not get sent. Therfore, you avoid making an ass out of yourself.

Society Benefits

  • Less people getting fired would lead to a reduction in the unemployment rate.
  • Fewer bad relationships getting back together would lessen the number of divorces down the line.
  • A decline in restraining order applications would free up local court resources.
  • A reduction in the number of emails sent will free up much needed bandwidth for Celebrity Gossip and Miracle Diet advertisements.

My Ideas for Google Labs

  • Reply to All Confirmation - There's nothing like sending a snide comment to the whole company.
  • Mail Goggles Browser Plugin for SSL Pages - Prevent yourself from buying John Voigt's car on Ebay .
  • Sarcasm detection: puts any sarcastic comments that may be interpreted literally in italics.
Results Per Page 
Page: 1 2 3 4 5