Posts

Showing posts from January, 2007

Is Debug Mode Evil?

"On April 29, 1974 when the US Congress refused to authorize emergency funding to support our ally the South Vietnamese, that's when I stopped being a Liberal." --Mort Kondracke One of the difficulties in working with .NET, especially ASP.NET, is being able to determine whether an assembly has been compiled in Debug Mode or Release Mode, and especially whether an application is running in Debug Mode (e.g. debug="true" in the compilation element of web.config). This also applies to the Page level attribute, debug="true", in the @Page directive. It is definitely evil if a production app is being run in debug mode - it will use a lot more memory, stuff that should be cached will not be cached, and a half dozen other generally "evil" things. Recently I chimed in on a post by MVP Rick Strahl where he posts some code to determine "runtime" debug status via the HttpContext: if (!HttpContext.Current.IsDebuggingEnabled) Script = Optim...

Microsoft Expression Web Designer - Dreamweaver Killer?

I looked at the beta of this but now its for sale (you can download a fully functional trial here ) and all I can say is, "this thing totally rocks!". You get advanced WYSIWYG design support for any kind of ASP.NET or HTML page, CSS taglets that actually show you what the rendering looks like (you can just highlight an element in Design view and right-click on a CSS style and choose "Apply Style"), and (Damn - I don't know how the HELL they do it but...) the ability to import a complete ASP.NET web site -- over HTTP -- and start working on it! It's got features up the GAZOO and it's also very easy to learn to use. I gotta tell ya, this is the engine that will be built into Visual Studio.NET "v.Next" (Orcas) as the built-in ASP.NET HTML editor designer, and if it's gonna be anything like what you get with Expression Web, you can just take your Dreamweaver 8 and uninstall it, because there isn't much of anything I can think of that you wo...

When is it time to "Move On"?

Recently I made the decision to "Move On" from a position I had been at for two years. I went about it very methodically, and the results were highly successful. I'll be starting as a Senior Developer / Architect at a much more stable company, for a lot more money, and with a vastly improved work environment at the end of January. I'd have left sooner, but the boss asked me to hang around for the obligatory two-week notice, so that's OK with me. Developers have to realize that sometimes your skill set exceeds the capabilities of the work environment you were originally hired into. What I mean by that is, if you find that your work environment is no longer sufficiently remunerative in terms of the challenges you are presented with as a professional "problem solver", that you aren't getting the raises, perqs or bonuses that you feel you should be getting for the innovative, quality work you do, or that you just plain feel that your work environment is ...

How NOT to make a code example!

"I have no idea where I'm going. But the real question is, what was I doing here in the first place?" -- Art Buchwald This is a bit of a pet peeve of mine, and ordinarily I wouldn't even bother to write about it except for the fact that I saw this article on MSDN and just had to shake my head in quasi-disbelief. An otherwise excellent article on how to do BHO's (Browser Helper Objects) in managed code, and what does their example do? You guessed it: a "Hello World" MessageBox in your Browser! Good God, folks! Is that the most innovative code illustration you can come up with? It's completely USELESS! How about getting an RSS feed, doing a search, or creating a link? You see something similar in many code examples, both in books, and in print and online articles. All you get is a Console application that "illustrates" a technique that should have been put into a self-contained class library. Instead, all the "guts" is totally ti...

Whoops! Got Tagged!

From the It Really Happened Department Developer: "Why is Visual Studio.Net so SLOW!" Developer 2: "Try closing a few of the other nine copies you've got running." <Got Tagged?> I don't know who came up with this, but I've seen it around and now I've been tagged by my buddy, MVP Rick Strahl . That means I've got to tell you five things about myself that you don't know about me. Let's see... 1) I'm the kid who set Hi Tor on fire! Yep, when I was 14, I and Tommy Lockhart decided to hike up to Hi Tor, a mountain that overlooks the Hudson River in northern Rockland County, New York. Tommy and I had started a fire to cook our hot dogs and we scrambled up the metal radio tower at the top of the mountain to enjoy the panoramic view. The winds were high, and before we could clamber back down, the whole top of the mountain was on fire. We hi-tailed it back home as fast as we could. They sent a helicopter up there to douse it with water...

New Features at IttyUrl.Net

My latest creation, Ittyurl.net , which takes the "short url" concept quite a bit farther, now features my "Multi-Search" , which searches currently 18 different providers simultaneously (live.com, google blog search, msn search, msdn search, digg, asp.net forums, technorati, blogmarks, reddit, Yahoo news, blogdigger, waypath, blogpulse, fybersearch, feed24.com, icerocket.com, furl.net, and google news), removes duplicate links, and presents your results in a nice page-able Gridview display. If you are interested in some pointers on how I do this, check out this recent article on eggheadcafe.com . The concept of IttyUrl.net is that if you create a short url there, you should not only be able to get a free RSS feed of all your links, but your short url should be shared with others so it is searchable and thus people who use the site can use it to find "similar" content that others have saved. There is also a very easy-to-use SOAP 1.2 complian...

World's First Silent Ringtone - a la John Cage

Conceptual artist Jonathon Keats has created the world's first silent ringtone, a bootleg of John Cage's famous piano piece that contains four minutes and 33 seconds of silence. Cage performed 4'33" live before an audience in 1952. Keats wrote "My Cage," a 4:33 minute ringtone of pure, unadulterated silence. You can get it for free from Start Mobile , a ringtone distributor, and Keats urges people to remix and mashup his ringtone as much as they wish. From the ringtone ad: A remastering, "My Cage" is also a remix, introducing serendipity into the equation, delivering performances unpredictably, whenever calls come unexpectedly. The silence may take place without the listener being aware of it. Or the listener may hear a call - phantom silence - when there's no one on the line. "My Cage" all-encompassing: Even those who don't use it as a ringtone have the potential to experience it, in the silence of an unanswered call. Note: To ful...

More Web 2.0 Goo for You?

Image
I just have to shake my head and laugh at how silly buzzwords have become. Buzzwords, particularly on the Internet, have gotten to the point where they've replaced the human ability to actually observe and think -- with patterns of "brainwave gibberish" that evoke images of the classic Pavlovian doggie-style "knee jerk on demand" reaction. Case in point: "Web 2.0" What IS this God-awful Horseshit? Yes, I know all about the O'Reilly conference and them laying out all the groundwork and guidelines about what is and what is not "Web 2.0" and I really couldn't care less! Look, A web site is a web site. It might be good, it might be bad. It might have a lot of snazzy features, and it might not. It might be useful, and it might not be, notwithstanding the previous items. You wanna put a snazzy label on it to make you "feel all good"? -- knock yerself out! Did you know that if you search Digg on "Web 2.0" (all time) you...

More Patent Parking Extortion - only now it's Universities!

A research foundation backed by the state of Washington has sued three of the world's biggest consumer electronics makers over claims that they have infringed a series of patents surrounding the Bluetooth short-range wireless technology. The suit was filed in Federal court in Seattle and claims that Matsushita, Samsung and Nokia should have sought a license before using the technology in cellphones, headsets and other electronic equipment. The Washington Research Foundation, which said it was acting on behalf of the University of Washington , owner of the patents in dispute, said it had already secured a license over the technology from Broadcom, one of the biggest makers of communications chips, that would cover any consumer electronics that employ Bluetooth chipsets made by Broadcom. However, it said that the three companies had all sold devices based on chipsets made by British-based CSR, which had not been licensed. CSR slammed the legal suit as "without merit in relation...

Extract Files from an MSI Installer without a full install

Have you ever wanted to get at some assemblies in an .NET MSI installer, but you either didn't want to do a full install, or there is some condition in the MSI Installer that doesn't let you install it (such as, you need such and such program, version X, and you do not have it on your machine)? You can do an Administrative installation using MSIEXEC.EXE and the /a command - line switch: The administrative installation runs only basic actions like InstallFiles in the AdminExecuteSequence table. You cam also run this, passing the command to start /wait which will block until msiexec.exe completes and returns: start /wait msiexec /a product.msi TARGETDIR="%TMP%\Product" /qn Ah! Now I can fire up Reflector and look inside those little boogers! N.B. A commenter mentions "LessMSIrables" a tool to extract files from MSI's. Here is the actual link: http://blogs.pingpoet.com/overflow/archive/2005/06/02/2449.aspx