Web Development

HTML, JavaScript and CSS == pretty UI.

ScottGu broke the news last night that Microsoft is making a shared CDN available for the purposes of hosting the AJAX scripts. The full details of the scripts that are supported right now are available here, but basically it’s ASP.NET AJAX 4.0 Preview 5 (which just came out) and jQuery 1.3.2. If you’re using ASP.NET AJAX on the server side, you can just tell the ScriptManager to use the CDN by setting the EnableCdn property to true. I find this implementation a little misleading because it only applies to the scripts within System.Web and System.Web.Extensions. If you want support...

posted Wednesday, September 16, 2009 7:24 AM | Comments | Filed Under [ Web Development ASP.NET ]

Good news, ASP.NET AJAX 4.0 Preview 5 is here! Better yet, Microsoft has overhauled the implementation of tracking disposable objects to include the performance enhancement that was discussed in my “ASP.NET AJAX ‘Disposable Objects’ Performance Heads Up” posts (Part I & II). So how’d they do it? They tag each disposable object with an integer value which represents the objects position in an internal array using a property named “__msdisposeindex” when it’s registered. When it’s unregistered they delete that property from the object and from the array. Small performance heads up that there is a small hidden cost of...

posted Thursday, September 10, 2009 7:31 PM | Comments | Filed Under [ Web Development ASP.NET ]

Ok, I had to put together a Part II to this topic because I was totally wrong in Part I about objects being able to be used as keys because… well, I’m an idiot and didn’t do all my fact checking to make sure my implementation was 100% sound. :) Thanks to Dave Reed who commented on the original post pointing out my flawed thinking. Mea culpa Basically Dave points out that JavaScript objects are really specialized hashtables called associative arrays where the keys absolute MUST be a string OR a type which can be converted to a...

posted Monday, April 13, 2009 8:44 PM | Comments | Filed Under [ Web Development ASP.NET ]

Update: Make sure you read Part II as there was ultimately a fundamental flaw in this implementation which prevents it from working as I originally thought. One of the important features of the ASP.NET AJAX client side framework is the concept of disposing of components/controls so that they unregister event handlers and release DOM element references so that you don’t end up with circular references and, thus, memory leaks. The ASP.NET AJAX client framework takes the same approach as .NET does where there is a Sys.IDisposable interface which you can implement to indicate that your class requires disposal semantics. By implementing...

posted Sunday, April 12, 2009 6:21 AM | Comments | Filed Under [ Web Development ASP.NET ]

As far as I can tell, IE JavaScript debuggers, such as Visual Studio or the new IE8 Developer Tool, have no ability to catch “first chance” JavaScript errors. Honestly, if I had to guess, this is probably because of some limitations of the JavaScript engine implementation more than the tools. Whatever the reason though, you run into a serious problems trying to identify where your errors are occurring if you have a try/catch/finally anywhere in the call stack. If you just have a try/finally what happens is that the debugger will break with the current line of execution being...

posted Friday, March 27, 2009 8:35 PM | Comments | Filed Under [ Web Development ]

There’s a lot of buzz lately about browsers finally getting JIT’d JavaScript. First it was SquirrelFish in WebKit, then FireFox let the cat out of the bag about their implementation called TraceMonkey  and then Google came out with V8 when they unleashed Chrome on the world. Kudos to all of those teams for pushing performance forward since DHTML/AJAX apps these days are really starting to show the signs of weakness in current JavaScript engine implementations. Now’s when I turn this into a rant on how Microsoft dropped the ball again… Let’s...

posted Sunday, January 11, 2009 4:09 AM | Comments | Filed Under [ .NET Web Development ]

Ok, I’ve just started working with Microsoft’s Distributed Caching API (aka “Velocity”) and while I’m very happy with the features thus far (can’t wait for notifications!), I really think the API needs a TryGetValue method. Right now you have the Get, GetAndLock and GetIfNewer methods and all of those return type Object. My suggestion is two-fold: Add the TryGetValue method with similar overloads to Get. Return a bool which, if true, indicates the item was found. Take it a step further and make the method generic. This will help when working with simple...

posted Saturday, January 10, 2009 7:29 PM | Comments | Filed Under [ .NET Web Services Web Development ]

Ok, I just discovered a nasty little problem with ScriptReferences to script files that are embedded in assemblies that are installed in the GAC… starting with System.Web.Extensions itself. First, in case you’re not already familiar with this subject, the way scripts are referenced when they are embedded into assemblies is by building a URL to the ScriptResource.axd handler that is provided by the ASP.NET AJAX server side runtime. The URL that is build includes two query string parameters: “d” – this is a encoded/hashed copy of the assembly identity that includes it’s typical .NET assembly...

posted Tuesday, July 29, 2008 12:20 PM | Comments | Filed Under [ .NET Web Development ]

Just announced over on the IE blog, they've listened to the community and changed the way IE8 will behave with respect to rendering modes. Originally you would have had to put a tag in to tell it to behave the "right" way... now you have to put a tag in to tell it to behave the old, "broken" way. This was a damned if you do, damned if you don't decision. Some people wanted it backwards compatible and some people wanted it forwards. I agree with the forwards compatible personally and am glad to see them change their...

posted Monday, March 03, 2008 4:43 PM | Comments | Filed Under [ Web Development ]

So what do you think? Will IE8 use the CLR implementation of the JScript engine or keep on using the legacy ActiveScript engine architecture that is plagued with COM circular reference issues resulting in memory leakage and a plethora of other performance problems? Seeing as how FireFox 3 is running about 10x as fast now and is only still in beta, IE has a lot of catching up to do. Performance aside, JScript.NET was designed as closely as possible to ECMA standards at the time which means it already contains several of the features that ECMAScript 4 (spec here, examples...

posted Wednesday, February 27, 2008 9:17 PM | Comments | Filed Under [ .NET Web Development ]

Ok, I have to vent a little here. I was really expecting Microsoft to step up the game for their JavaScript support in VS 2008 and unfortunately there are still some serious issues that prevent it from even getting close. These problems even exist after installing the hotfix rollup that came out last week. Let's start with the intellisense experience. The basic intellisense features such as color coding, variable type inference and formatting seems to be working great... albeit slow at times. However once you start to write your own libraries of ASP.NET AJAX classes, the intellisense starts to fall flat...

posted Tuesday, February 19, 2008 11:21 PM | Comments | Filed Under [ .NET Web Development ]

According to the IE Blog, IE8 officially passes the Acid2 tests now. You can see it in action over on Channel9 and hear more about IE8 in an interview with the IE team. From the sounds of it, you will need to opt into using the new rendering engine for backwards compatibility reasons. This will probably be done using some form of header tag in the HTML document. If it is indeed a completely new engine, that also means they essentially could design the entire version of that engine to be 100% compliance based with no backward compatibility at all....

posted Wednesday, December 19, 2007 12:08 PM | Comments | Filed Under [ Web Development ]

Well, I knew there had to be a reason that we haven't seen any real movement in the ASP.NET AJAX Futures realm for a while... say hello to Volta. Basically it's Microsoft's approach to using .NET to emit client side code (JavaScript). It shouldn't be too big a surprise that Microsoft was working on this because Nikhil Kothari released a prototype called Script# that did something similar back when the ASP.NET AJAX 1.0 bits were in beta. Basically it uses reflection to emit JavaScript types based on your .NET types and, even cooler, will translate the MSIL that your C#/VB.NET/IronPython/etc....

posted Wednesday, December 05, 2007 2:23 PM | Comments | Filed Under [ .NET Web Development ]

All my searching tells me that nobody out there has created a custom Session-State Store Provider for ASP.NET that sits on top of Memcache. Are people just hardcoding themselves to Memcache API directly rather than using the provider model? Or are most people just happy with ASP.NET's out of the box state server? So sad that while Session-State has a provider model, the standard Cache does not. Obviously this drives you to use the Memcache API directly for shared state, so maybe that would explain why everyone just bites the bullet and manages their session state directly through Memcache as...

posted Monday, December 03, 2007 5:28 PM | Comments | Filed Under [ .NET Web Development ]

Whenever you choose to full screen a video in Silverlight it always plays the full screen video on your primary monitor. I would prefer it behave more like the majority of apps where it plays full screen on whatever monitor the host window is currently on. Unfortunately there's no program on Microsoft Connect for Silverlight to go report this to, but hopefully Microsoft can get this fixed in the next update to Silverlight.

posted Friday, November 30, 2007 3:04 PM | Comments | Filed Under [ Web Development ]

Well, in case you hadn't already read today, Scott Guthrie has announced a few things about some upcoming beta releases. One of the betas talked about is the next version of Silverlight which used to be labeled as version 1.1. Microsoft has rethought this strategy and is instead going to call it 2.0. If you ask me this is a great idea because the next version is such a major leap forward with the inclusion of the CLR and now a ton of the richer WPF features that it warranted way more than a minor version increase. I'm super psyched...

posted Thursday, November 29, 2007 6:57 PM | Comments | Filed Under [ .NET WinFx/Vista Web Development ]

I've reported a bug over on connect with the full details, but basically what it boils down to is that there's no way to raise exception detail from ScriptMethods when ASP.NET custom error handling is enabled. What happens is that the RestHandler for ScriptMethods detects the custom error handling is enabled and literally throws out all the details of the exception and returns a generic message instead. This pretty much makes it impossible to know what happened on the server. Did it fail to connect to the DB or was there a business logic problem that the user needs to...

posted Friday, August 03, 2007 2:07 PM | Comments | Filed Under [ .NET Web Services Web Development ]

Ian just put an entry up on his blog called Silverlight Controls and Objects which aims to bring some clarity to the way the Silverlight control hooks into the HTML DOM and exposes its own features. A definite must read for anyone doing Silverlight development.

posted Saturday, July 07, 2007 11:32 AM | Comments | Filed Under [ Web Development ]

In case you haven't been following the Apple news flowing in from the WWDC, Apple has officially announced the public beta of Safari for Windows. Very interesting move and very bold performance claims where they claim beating IE by 2x and Mozilla/FireFox by 1.6x in their benchmarks. Unfortunately this means yet another browser to test on for those of us writing web applications. Let's hope Apple keeps this puppy up to date.

posted Monday, June 11, 2007 12:21 PM | Comments | Filed Under [ Web Development ]

Ok, this is a long one, but worth the read if you enjoy the challenges of debugging and working around problems in code that you have absolutely no control over. It's also a great read if you just hate IE and want to laugh at the brief bout of insanity it caused me. :) First, a little backgrounder... Since the creation of Mimeo in 1998 we've been using 256 indexed color GIFs with transparency to display the content pages of our users' documents. PNG has been around for a long time, but it wasn't supported well (if at all) in the major browsers...

posted Monday, May 21, 2007 10:47 PM | Comments | Filed Under [ Web Development ]

Still not sure what Silverlight is or is capable of? Here's a little visual aid to help out. Quite possibly one of the best technology maps I can ever remember coming out of Microsoft actually.

posted Wednesday, May 02, 2007 9:43 PM | Comments | Filed Under [ .NET Web Development ]

So they put up the documentation for the May '07 CTP of ASP.NET AJAX futures. Here's the client reference. Hey, great, they added support for querying by CSS selectors and integrated history features into the Application class, but mainly the documentation is about dynamic languages and Silverlight now. Do you see any documentation for XML-Script? Bindings? Any of the Sys.Preview.UI namespace? Nope. What gives? Someone from MS needs to speak up. Update 6/4: A comment by Stephane (thanks Stephane!) reveals that the documentation for the "previous" features of the ASP.NET AJAX futures is in fact available albeit slightly hard to find. Click here...

posted Tuesday, May 01, 2007 5:42 AM | Comments | Filed Under [ Web Development ]

I find it strange that there has been absolutely no mention of what the MSHTML/IE teams are working on right now yet at Mix. I remember they stood on stage last year and talked about much shorter product cycles. Shouldn't we be expecting some kind of new enhancements by at least the early second half 2007? I really don't care about the IE shell, I care most about MSHTML coming up to speed with more/better support for CSS (gimme my selectors damn it!), enhancements to the DOM, etc.

posted Tuesday, May 01, 2007 4:56 AM | Comments | Filed Under [ Web Development ]

Soooo, ok, they released a new May CTP of ASP.NET AJAX futures. It's got some new support in there for Silverlight related stuff now. Great, awesome, love to see it and totally understand they need to pimp the new platform. What has really happened beyond that though? I'm not seeing (m)any differences in the xml-script, bindings, controls and animation code that (used to?) make(s) up the real power of the previous release of the futures. As a simple example, let's start with the fact that there's no standard ICollection interface. There's INotifyCollectionChanged (weird considering there's no ICollection, eh?) and there's loose support for duck...

posted Monday, April 30, 2007 7:29 PM | Comments | Filed Under [ Web Development ]

Upload up to 4gigs to Microsoft's network and they'll give you back a URL that you can point to and present however you like in your own web site. Backed by Microsoft's content network, you can be sure that if you're Slashdotted or Digg'd your video will (hopefully) still be served up to everyone at full speed. Read more about it here...

posted Monday, April 30, 2007 10:48 AM | Comments | Filed Under [ Web Development ]

There it is. As I suspected, Ray Ozzie just anounced they are pushing out a "first class" .NET runtime environment with Silverlight that will allow you to develop using any .NET languages!!!! I'm waiting to hear details on what exactly "first class" means... will there be full BCL support for example? Update 1:53 EST: Wow. It's a full blown, high performance implementation of the CLR... it even supports new 3.5 language features such as LINQ!!! It supports a "subset" of the BCL, not sure what the specifics are on that yet. They also announced something like HTML DOM integration and a special networking stack. More...

posted Monday, April 30, 2007 9:51 AM | Comments | Filed Under [ .NET Web Development ]

Well, you've probably read this some place else already, but I'm jumping on the bandwaggon since I think it's a huge announcement. The technology formerly known as WPF/E is now officially called Silverlight. You can read all about it over here. I think this is a huge step for Microsoft... and one that's going in the right direction. Perhaps most interesting is that it seems, this post hints at something that has yet to be announced, something I think this post might have already let slip, which is that the .NET runtime may very well come to the Mac in full force (i.e. a complete CLR and framework). That...

posted Monday, April 16, 2007 10:25 AM | Comments | Filed Under [ .NET Web Development ]

We just launched the first version of the site where we depend completely on ASP.NET AJAX to do all our script management. Here's what we did in this initial phase: Added ScriptManager to our Master Page and ScriptManagerProxy to any content pages that required it Changed all static <script> tags to be ScriptReferences Changed all use of ASP.NET 2.0's ClientScriptManager to use ScriptManager instead (i.e. RegisterClientScriptInclude, RegisterStartupScript, etc.) Implemented IScriptControl on our custom controls so now, for the ones that used to have to register their scripts manually through RegisterClientScriptInclude, we just return them through GetScriptReferences ...

posted Thursday, February 22, 2007 1:48 AM | Comments | Filed Under [ .NET Web Development ]

Well, if you've been playing with Atlas, you probably want to run right out and download this latest release. It incorporates a lot of changes which Scott Guthrie covers over here. As someone who's had access to the latest bits for a while now, I've been aware of the changes they were going to make, but now I can finally talk about them publicly a bit. I'm somewhat dissapointed that certain features (xml-script, client-side databinding, etc.) did not make it into the "Core" package, but Microsoft has made a great decision to release these as part of the "Value-Add" CTP. While will...

posted Friday, October 20, 2006 5:41 PM | Comments | Filed Under [ .NET Web Development ]

Well, the news is out over on Scott Guthrie's weblog: Atlas has received it's offical name and true to Microsoft tradition it's no where near as cool as the code-name. :P There are technically three major facets to the product formally known as Atlas and Scott does a good job breaking it down, but I'll sum it up here again: Microsoft AJAX Library - this is the client side JavaScript library. You can use this whether your backend is Microsoft or not. It's the equivalent of the .NET framework for JavaScript and helps with everything from providing an OO approach for JavaScript...

posted Tuesday, September 12, 2006 12:29 AM | Comments | Filed Under [ .NET Web Development ]

We officially rolled out a release of the "My" Mimeo.com web application this weekend. While we actually added some really great customer features, one of the biggest things in this release development wise was a full upgrade to use several features of ASP.NET 2.0 that were previously solved by a bunch of proprietary code that I wrote and the famous Wilson MasterPages. Here's a rundown of features we are now leveraging as opposed to relying on third party: Master Pages -- we used Wilson MasterPages, they served us well :) Validation Groups -- I had written a method called ValidateContainer which would walk the...

posted Monday, September 11, 2006 10:23 PM | Comments | Filed Under [ .NET Web Development ]

Nikhil has posted a control which aims to fix a common problem with most AJAX frameworks where users tend to lose the all too familiar history navigation paradigm that they are used to relying on. What Nikhil has provided is an elegant solution based on the awesome UpdatePanel feature of Atlas. If you're doing AJAX with Atlas and want to solve this problem for your users, you definitely ought to check it out. Hopefully this control will become a part of the Atlas Toolkit Project.

posted Monday, September 11, 2006 6:00 PM | Comments | Filed Under [ Web Development ]

Inspired by Craig's MSDNMan, Ian has created an MSDN browser with WPF. If, like me, you read a ton of MSDN content every day, both of these tools are extreeeemely welcome additions to browsing the online content or using the installed version of the content.

posted Wednesday, June 21, 2006 3:03 PM | Comments | Filed Under [ .NET WinFx/Vista Web Services Web Development Windows PowerShell Team System ]

Heads up on a silent breaking change that I just came across with FormsAuthentication's RedirectFromLoginPage method when migrating from ASP.NET 1.1 to 2.0. The exact message you get will be (with top of callstack): System.Web.HttpException: The return URL specified for request redirection is invalid.  at System.Web.Security.FormsAuthentication.GetReturnUrl(Boolean useDefaultIfAbsent)  at System.Web.Security.FormsAuthentication.RedirectFromLoginPage(String userName, Boolean createPersistentCookie, String strCookiePath)  at System.Web.Security.FormsAuthentication.RedirectFromLoginPage(String userName, Boolean createPersistentCookie)... your method would be here ... There problem here is that some part of your return URL contained invalid characters. In my case, someone was creating a return URL where the query string was not properly encoded and it contained : and / which need...

posted Friday, June 09, 2006 6:03 PM | Comments | Filed Under [ .NET Web Development ]

Dean Edwards, a well-known name in the HTML/CSS/JavaScript world, has whipped up a little test to gauge someone's level of expertise in JavaScript. How knowledgable are you? This got me thinking about Atlas a little. Initially I was ready to say you need to be a level 6 to even think about working with Atlas, but then I realized that the coolest thing about Atlas is that you can work purely at the server control level which requires you to know nothing about JavaScript to get a lot of work done. Of course if you intend to write your own controls or do any...

posted Friday, June 02, 2006 4:24 PM | Comments | Filed Under [ Web Development ]

Hmmm, this is certainly interesting. Not sure how I feel about it honestly. On one hand I think it's kinda cool and innovative, but another part of me wonders if it's the right approach to solving the problem. Keep in mind that JavaScript 2.0 is basically aligning itself with Microsoft's JScript.NET implementation (note: MS worked closely with ECMA on the innovations to ensure they wouldn't be left behind) where you have strong typing and better support for OOP principles (if that's what floats your boat). So, honestly I'm not sure this is worth the investment. IMHO, time would be better spent focusing on providing a better IDE...

posted Tuesday, May 23, 2006 5:58 PM | Comments | Filed Under [ Web Development ]

A couple weeks ago I was wondering where the heck it was and now the first CTP has been released. Downloaded and played with it a little bit and, so far, I love it. Definitely the best environment Microsoft has come up with thus far to do HTML+CSS design.

posted Sunday, May 21, 2006 10:56 PM | Comments | Filed Under [ Web Development ]

Well, for starters WPF/E stands for Windows Presentation Foundation Everywhere. What's that? Well, check out this Channel9 video to find out!

posted Wednesday, May 17, 2006 12:25 AM | Comments | Filed Under [ WinFx/Vista Web Development ]

Microsoft's mea cupla for screwing up the web project model with the Web Site Project type has been released. We've been using it here at Mimeo ever since we started our 2.0/2005 migration and had great success wth it even in the beta stages. The differences between RC1 and Release are surprisingly big, but I guess they did enough internal testing to feel it was solid enough and pushed it out the door. Read all about it on Scott Guthrie's blog and/or download it from here. Big thanks to the team that worked on getting this out there! Oh and make...

posted Tuesday, May 09, 2006 5:44 PM | Comments | Filed Under [ .NET Web Development Team System ]

I just whipped up an implementation of an expression for ASP.NET 2.0 that will do String::Format on top of a string fetched from resource file. You can read about and download it from here.

posted Tuesday, May 09, 2006 5:23 PM | Comments | Filed Under [ .NET Web Development ]

Quartz. You remember... that web development environment Microsoft demo'd at PDC '05? Well, where the heck is it? It was the most immediately useful application out of the entire “Expression” suite of products and while there have been betas for Acrylic and even Sparkle, there has never been one for Quartz. What gives? Curious web developer minds want to know! ;)

posted Thursday, May 04, 2006 1:55 PM | Comments | Filed Under [ Web Development ]

Here's a Channel9 interview with the IE7 team members responsible for fixing/upgrading IE's CSS support in this latest version. I don't care about new IE shell features as much as I do upgrades to the MSHTML rendering engine. IMO they've done a kick ass job, but I still have a hard time forgiving them for taking so long to come around to finally upgrade the thing. :\

posted Thursday, May 04, 2006 8:25 AM | Comments | Filed Under [ Web Development ]

I just made a post to the ASP.NET forms for Web Application Projects about this because that's where it's affecting me immediately, but honestly I think it's a bigger problem than that. Basically I've got an ASCX whose code-behind is marked with ParseChildren(false). I then use AddParsedSubObject to handle the adding of controls inside of that with some custom logic. Unfortunately, despite no errors at runtime and no errors in the source view (those little “squiggles”), I end up with this error when I switch to designer view: This also seems to prevent WAP from being able to split the file into the...

posted Sunday, April 30, 2006 11:19 AM | Comments | Filed Under [ Web Development ]

I did some research back in the beta days of VS2005 for upgrading our existing site to take advantage of a bunch of different features that we had either written custom code or used third party code for. One of those features was localization/globalization. I had spent a bunch of time writing custom resourcing support into our existing ASP.NET 1.1 app that very closely mimic'd what ASP.NET 2.0 and Web Site Projects were going to offer. I have a LocalResources directory per sub-directory that contains all our resx files and then I have a bunch of functions that understand how to resolve those resources based on...

posted Tuesday, April 18, 2006 7:43 PM | Comments | Filed Under [ .NET Web Development ]

You can read about what's new/fixed in the RC here on Scott's weblog, download it here and, for more info on why this new project type was created, check out this MSDN article.

posted Monday, April 10, 2006 9:08 AM | Comments | Filed Under [ .NET Web Development ]

For anyone who's familiar with WATIR, check out this simple MSH script I whipped up: # Create an instance of IE$ie = new-object -ComObject "InternetExplorer.Application"# Navigate to MSN search$ie.Navigate("http://search.msn.com")# Make IE visible$ie.Visible = $true# Grab the DOM document instance$document = $ie.Document# !! See note at end of post !!# Get the query text box and set the search term$document.getElementById("q").innerText = "Drew Marsh"# Click the search button$document.getElementById("srch_btn").click() Now granted this isn't doing the exact same thing as WATIR yet (i.e. it's not really emulating keystrokes to the text box), but basically all one needs to do is create a customized “snap-in” for MSH...

posted Monday, March 20, 2006 8:51 AM | Comments | Filed Under [ .NET Web Development Windows PowerShell ]

So you need people to upload files to your web application, but you're a smart developer and you want to make sure you're not vulnerable to any kind of DoS. Luckily Microsoft has built a setting into the <httpRuntime> element of ASP.NET called maxRequestLength to govern the maximum size of an HTTP request. Great, problem solved! Well, here's the bad news: if someone does exceed that length you can't handle that error gracefully in any way shape or form. The ASP.NET runtime will immediately reject the request based on the Content-Length HTTP header and will not execute any other part of the ASP.NET...

posted Monday, March 13, 2006 9:57 AM | Comments | Filed Under [ Web Development ]

Wow, the future sure looks bright for rich web application development. I like the approach they've taken to get client side data, using JSON, from Web Service method calls. They've also built a rich client side framework of utility classes. The server side story is also very good in that they have a suite of rich Atlas-specific controls/components which spare you having to do a lot of “glue”ing of UI elements to JavaScript if you want to avoid it. My one complaint is that there are a lot of paralells in architecture between the Atlas and WPF and you can even see a lot...

posted Wednesday, September 14, 2005 6:39 PM | Comments | Filed Under [ .NET Web Development ]

Quartz is the codename for an web development IDE, part of the Expression suite, that is targeted at web designers/developers. It's undeniably the best implementation of web development environment out of Microsoft ever. It blows VS.NET off the face of the Earth with it's support for designing web sites with respect to standards technologies (CSS, [X|D]HTML, XSLT, etc.). It also fully supports ASP.NET controls and master page design. As a VS.NET user I'm already jealous.This product came as somewhat of a surprise (to me at least), but it's arguably the most immediately useful product I've seen coming out of the PDC so far. My only...

posted Wednesday, September 14, 2005 2:58 PM | Comments | Filed Under [ Web Development ]

Currently blogging from my little hotel room desk at the Wilshire Grand. I'm in room 446, my cell is 973.699.0532. Feel free to give me a buzz if you'd like to chat or grab some grub. One thing I will say is that there is already a larger female presence here at this PDC than I've ever seen at any previous PDC. Unfortunately, just as I was reflecting on and being impressed by that, I was sadly reminded as to why there aren't more women in this business by some childish, chauvinistic guys cracking the usual slew of jokes on my bus ride back to the hotel from...

posted Monday, September 12, 2005 5:56 PM | Comments | Filed Under [ .NET WinFx/Vista Web Services Web Development ]

I started an Atlas Wiki homepage over on Channel9. Dying to get some new info out of Microsoft, but so far it looks like they're keeping their lips sealed until the PDC.

posted Thursday, August 25, 2005 10:52 AM | Comments | Filed Under [ .NET Web Development ]

Just came across this post on MSDN weblogs which points to this MSDN article which identifies the common patterns that scripters leverage that can cause leaks within web applications for users browsing with IE (any browser that uses MSHTML really). The gist of the problem is that both JScript, Microsoft's ECMAScript implementation, and MSHTML, the HTML rendering engine built into windows and leveraged by IE, are COM based. Even though this is completely transparent to scripters, we can still get bit by COM's circular reference problems. Kinda makes you love the non-ref counting, garbage collection based managed world we live in these...

posted Tuesday, June 21, 2005 8:29 PM | Comments | Filed Under [ Web Development ]

I came across the f(m) project via the Ajaxian Blog. It's pretty neat to see someone undertaking this. I realize there's lots of little scripting frameworks out there, but AFAIK no one has taken the same angle to model it after the .NET BCL. One of the coolest libraries f(m) offers is one that mimics System.Threading. For the uninitiated, there is no such thing as multi-threaded programming in the web browser. The best you can do is schedule work via a Timer, but that's no where near the same thing. It feels good to finally know that, thanks to the rest of the world...

posted Tuesday, May 24, 2005 6:05 PM | Comments | Filed Under [ Web Development ]

Yes, it's official, IE7 has tabbed browsing. Personally I hate tabbed browsing. I like finding my windows via the task bar and am a very strict about my window management in general. That said, I realize I must be in the minority, so I hope the rest of the world is now happy and will stop complaining about IE not having the feature. ;P

posted Monday, May 16, 2005 9:58 AM | Comments | Filed Under [ Web Development ]

Disclaimer: Don't blame me if your productivity takes a hit when you click the following link. This is a really, really great idea and excellent excercise for the brain: Guess The Google.

posted Tuesday, May 03, 2005 9:07 PM | Comments | Filed Under [ Personal Web Development ]

Here's a tidbit of info that will hopefully help some people out. It took me a couple stabs at Google keyword combinations to find the answer. Basically the problem was that we're taking user input in an HTML page which can include Unicode characters and need to pass that on the query string to an ASP.NET handler for processing. What was happening is that when the data was got to ASP.NET the Unicode characters seemed to have been stripped out. Now, being a very Unicode concious person I'm wondering why the heck this could possibly happen considering I've got my...

posted Monday, April 11, 2005 3:31 PM | Comments | Filed Under [ .NET Web Development ]

I've been sitting on a lot of thoughts about this whole AJAX phenomena that is sweeping the industry lately. Tons of people have thrown their two cents in already and I've been meaning to post my thoughts, so here goes. :)  First off, let me beat the horse one more time and say: AJAX is nothing new. It's a nice initiative to have a standard library, but people are kidding themselves when they say this is a revolution of the web. The very browser features that AJAX is founded on have been in IE forever. If you want to wonder why people write...

posted Thursday, March 24, 2005 2:55 PM | Comments | Filed Under [ Web Development ]

Now, I loooove Mozilla/FireFox and am so happy that there's such a great alternative to IE (especially since it's available on other platforms) so this isn't a knock on the technology. It's targeted at the people who like to pretend that the Mozilla/FireFox codebase is somehow blessed by the software gods to be completely free of flaws/vulnerabilities. The realists in this industry already know there's no such thing, but apparently some people are still too near sighted to admit it. Eight vulnerabilities had been discovered in 1.0 and just recently patched with 1.0.1. Naturally I expect an extremely slanted view from the /. crowd, but man this post's...

posted Wednesday, March 02, 2005 6:33 PM | Comments | Filed Under [ Web Development ]

This post goes out to whoever in Microsoft might be able to shed some light on the subject: When, if at all, can we expect to see support for E4X in JScript[.NET]? My main reason for asking is because Mozilla recently added support for it to their ECMAScript implementation and I can already see the same thing that happened when people wrote code for proprietary DOM implementations is going to start happening again. This time though, it's going to be E4X code not working in IE. I realize C-Omega should eventually result in similar features being added to C# 3.0, but that's no...

posted Tuesday, March 01, 2005 3:24 PM | Comments | Filed Under [ .NET Web Development ]

Betrand Le Roy made a post called “Why you shouldn't expose public properties from your pages”. For the 99% of the scenarios I agree with him since it would obviously prevent your control from being reused ubiquitously, but there is at least one scenario where I see this as acceptable: when creating a shell environment scenario like Windows Explorer or MMC. We have the concept of a Library at Mimeo. The Mimeo Library implementation behaves a lot like MMC. You can plug in folder providers (analogous to MMC snap-ins or Explorer Shell Extensions) for the tree view on the left and then each of those...

posted Wednesday, November 17, 2004 9:10 PM | Comments | Filed Under [ .NET Web Development ]

I've looked around and haven't seen this described anywhere. It's a tough bug to come up with a succint search query for though, so maybe I just missed someone else reporting it. In any case here are the details in case anyone else ever runs into this. Basically, if you create a UserControl, decorate it's code-behind class with [ParseChildren(true, “Content”)] where “Content” is a property of the control of type ControlCollection that redirects the controls to a region within the UserControl (say a PlaceHolder), then use this control inside of your WebForm and define an <input> as a child element it will blow up...

posted Monday, November 15, 2004 9:34 PM | Comments | Filed Under [ .NET Web Development ]