March 2004 - Posts
I'm not sure if this is factored into the Whidbey beta feature set already, but keeping with the goal of reducing the total amount of programming code, I think a worthwhile addition would be a property that could be set at the Page declaration level or in a configuration file that would set a URL to redirect requests in the case a page contained content for mobile devices.
For example, the following construct is used all the time as a means of redirecting requests from desktop browsers to mobile pages:
if(Request.Browser[“IsMobileDevice”] == “true“)
// load mobile content
Perhaps something like this:
<% @Page Language=“C#” RedirectUrlIfNotMobileDevice=“http://www.mydesktopsite.com” %>
or, in web.config:
What do you think?
I've been a musician since I was 5 years old, playing guitar, piano and drums (I turn 30 (YIKES!) next month). I've learned that in software development, as in life, music helps to calm the soul. Some old friends - Def Leppard - came through for me yet again this morning.
Working up against an insurmountable deadline with big-time money on the line, I was getting nowhere, running circles on a mobile app with ASP.NET. So, I spun my “Pyromania” CD. The band has saved my butt before, and didn't disppoint this time. I don't really believe in superstition, but this is something that worked before, so I might as well stick with it. Productivity increased by 500% and I flew through the inevitable debugging process. By the time I got to “Rock of Ages“ I was nearly finished. (For the record, I've had similar success with power ballads and classical music.)
My guess is that because the songs were familiar to me, they took my mind off programming completely directing focus on the problems I was having. And indirectly the rhythm of the music paced my keyboard-laden labors, creating a “developer's metronome“, if you will.
Perhaps when you don't have complete, total, undisturbed focus on something it helps one's workflow. It makes sense - step away from the forest a bit to see the trees. It's strange it worked out this way, because in college I was just the opposite. I wouldn't study until late at night so as not to be bothered by anyone or anything and have total concentration.
But...I have noticed that there's one genre of music I just can't code to - techno. Something about the repetitive nature of house, rave or techno music for some strange reason just throws me off and actually promotes more mistakes. However, I work with creative people who swear by it.
Oh well, to each his own. Long live metal!
How about you...does music help you write better/faster/cleaner/more efficient code or work better in other ways? If so, what genre(s)?
I commented awhile back about my fascination with, if not an endorsement of, reality television. I don't watch any of the programs - except for one - ESPN's Dream Job. I'm a freakin' addict....mainly because in addition to being a web development lead, I'm a sports anchor, too. And trust me, I've been anchoring comical segments, hard news and sports for years, and of the three, sports is definetly the hardest.
The show is run really well, and although it started out way too corny, with too many guns blazing and segments that seemed a little too scripted (i.e., the phone call from a producer in the case of a tie), the producers evidently toned down the format and had Stuart Scott (a true genius of the TV biz) mellow out a tad.
And at the time I'm composing this rant, we're sadly approaching the last of Dream Job's six episodes of non-stop pressure. In each of the show’s 6 weeks, the contestants are faced with yet another daunting skill of anchoring, such as live anchoring, co-anchoring (both with a partner of their choosing and with someone assigned to them), general sports knowledge, interviewing skills and ability to put a story together. So, it's telling “our” story - that doing this kind of stuff for a living is a lot harder than just coming up with fancy catch phrases, calling highlights, praising the Lakers and lamenting the Red Sox.
The one thing that gets me about the mental and emotional wringer that the panel of judges put these pour souls through on live television is the hypocrisy. As someone who evaluates broadcast media talent myself, it drives me nuts when the candidates are ripped for making a gimmicky comment, quirky gesture, out of context reference or minor mispronunciation of someone’s name, when the real-life SportsCenter anchors do it all the time. And so do I. And so do the rest of us in the business. You can’t fault the contestants for trying – they’re just trying to conform to ESPN’s model of success and emulating what they ultimately want to become. In this regard, they're already in.
The four people left are solid all-around anchors, and I'm truly bummed to think three of them will be going home, and that I can't watch them after next week. So from my professional viewpoint, here's what I like about the remaining candidates:
- Aaron Levine - this kid was born to anchor sports. He's got the people skills, camera presence, broadcast-perfect voice, interviewing skills and sports chops to get it done. He’s razor sharp when put in tough situations, and is a total pro 100% of the time.
- Maggie Haskins - without a doubt, the best writer of the bunch by far. And the rest are really, really good. Phenomenally gifted with a pen, with stats and with visual storytelling, although her exuberance rubs some people the wrong way (not me). Maggie also displays the best body language when reporting out in the field, namely her head movement and hand gestures. She's a bit rapid, a bit jerky in her movement on the sportsdesk, but that can be refined. Otherwise, really well done.
- Mike Hall – Aaron’s twin, skill-wise. Probably the best all-around guy of the bunch, M.H. is a great interviewer, writes great leads, transitions between stories well, is comfortable on the newsdesk, has cool catch phrases, has a great sense of humor, and reads copy really well. I can see Mike transitioning gracefully from an up-tempo highlight to a serious story like a death or arrest. And take it from me – that’s NOT easy.
- Zachariah Selwyn - the man. And my mom's favorite for being the guy with the long hair (she's also a fan of the show). Zack's got the think-on-your-feet wit, writing style and people skills that make him a fan favorite. He genuinely knows his stuff and will have the widest library of catch phrases and witticisms of ANY SportsCenter anchor if he makes it. He also brings the intangible advantage of being able to banter to the table, which is a hell of a lot harder than you might think. His anchoring posture is a bit rough...folding one’s arms into your chest gives off the impression of insecurity, which Zack is definitely not. But that’s easily correctable.
So good luck all! If it were up to me, I’d say take ‘em all and let them rotate. Heck, let them run ESPN2 all by themselves. None is clearly better than any of the others in terms of all-around skill, but they’re all terrific. But tragically, it's the nature of the broadcast media industry (especially for TV) that you're only as good as your last newscast, so whomever pulls off the most mistake-free performance will be the lucky one. Man, this weekend is going to be rough.
And I’m just a spectator.
“See, a funny thing happened when we were putting the press kit together...”
While clicking through the 19 links it took from the FTPOnline site to Bill Gates' speech at VSLive! (BTW, thanks UI designers...my wrist really enjoyed that), I noticed that at the bottom of the video stream page, it mentioned that one of the presenters in the forthcoming days for the “Building ASP.NET Web Applications“ talk would be “Ron Howard of Microsoft“.
Now I may be wrong, but the accompanying graphic looks like good ol' Rob, the guru of ASP.NET caching (and one would assume that it would be).
Maybe the event planners did this deliberately to sell more tickets for the talk? Attendees will think the speech will be presented by the Academy Award-winning director! Imagine that...Opie/Richie Cunningham will tell you about working with the Cache API! Ha!
Hey, I'm not ragging on VSLive. I'm in the media biz, too, and I appreciate all they do for the community. And Lord knows I've made mistakes that were exponentially worse, but thought this was funny. (Just to prove my point, I once said on live TV that a person with the last name “Bordallo” was “Bordello” by mistake, which the person and their family sure didn't appreciate).
A fantastic new blog belonging to Heather Hamilton, a senior marketing scout for Microsoft, gives great insight on what the company looks for in marketing people and the various groups and functional roles marketing plays. Heather gives all sorts of interesting thoughts on technical marketing, how to structure a resume, and other neat topics. Definitely bookmark-worthy stuff.
Apparently, the company in late 2003 put together a group to go out and find talented technical marketers - those brilliant people who bridge business model savvy with sound technical acumen (or, as I like to refer to them “the chosen few”). Jealousy isn't very becoming, is it?
I tell you, I nearly electrocuted myself as I salivated all over my keyboard when reading some of the job descriptions, especially for technical evangelists. That is so me. :)
An incredibly appropriate quote for how I'm feeling at the moment is the popular mantra of the International Reading Association: “Reading is fundamental”. Julia Lerman made a cute comment about my love for reading anything and everything ASP.NET awhile ago, which I totally got a kick out of. Thanks Jules!
On that note, I was pleased to see today the return of some great ASP.NET content to public consumption. First, the official re-launch of ASPToday is good to see (good job, Simon Robinson) with some great articles already posted, with contributions from ASP.NET developer emeritus Alex Homer forthcoming. Also, I was stoked to check out the latest Microsoft.com BackStage column, talking about the re-design of TechNet Online. I've always gotten a hoot out of this column. More large sites should take this approach.
These posts also come on the heels of the return of the much-overdue return of Nothin' But ASP.NET, featuring Rob Howard's awesome discussion of Whidbey’s provider design pattern.
Lastly, on a shamelessly self-promotional note, I've also written an article for MSDN on ASP.NET caching for detail pages across multiple platforms, which is waiting its turn in the publication cycle...look for it soon!
I've applied recently to work at a certain company (who shall remain nameless as to preserve the chance that I might actually work there someday), whose hiring practices are well-documented, and who admittedly favors certain schools for their rich history of producing those with a high level of technical savvy and overall academic acumen. I'll also admit that I'm tragically not one of those people – for both my bachelor’s and master’s degrees, I did what I could with the money I had at the time (which wasn't much on both occasions).
As an undergrad, I went to a small school, that...how shall I say....isn't known for producing Nobel prize-winning scholars. :)
In going through the company's HR pages, one of the form fields was, naturally, “Education”. A drop-down menu preceded the normal textbox used to type in my schools, which conveniently listed all of the select colleges, universities and tech schools that typically produce the caliber of person they're looking for – the usual Ivy League suspects, the U of Texas @ Austin, CalTech, Boston University, et al.
And then, of course, was my little afterthought form field where I was forced to manually type “University of Guam”. Go Tritons!
I'm not condemning companies that use this approach, nor am I ragging on their HR policies/practices (Microsoft uses a similar strategy as I’ve seen); I think it gives the company distinction and gives one something to aspire towards. But at the same time, it's a harrowing reminder of reality and the way the world works.
If I could do it all over again, would I change anything? Nope. If I was ashamed of my degrees and from whence they came, it would defeat the whole point of being educated. And while I didn't get one degree from some big school that coincidentally three U.S. presidents call their alma mater, I picked up several pieces of paper from smaller schools and am better because of it. I’m damn proud to have taken business classes just 500 meters away from what’s widely thought to be the world’s foremost research center for marine biology.
So for me, I’m happy. The worst thing you can walk around with in life is hypocrisy or regret, and fortunately I have neither. As for my yet-to-be-conceived kids, that’s a different story. My daughter’s going to Yale, with my son at West Point. J
Of all the new enhancements in the Whidbey IDE, my favorite feature by far is the /CODE directory, which provides automatic compilation for any .CS, .VB, WSDL or XSD files lying within it. This is exponentially helpful for rapid development and a brilliant addition to the product.
One thing I mulled over this morning was how a developer can reference the assembly name in a configuration file for custom HttpModules or HttpHandlers, when an underlying class file is stored in /CODE. The CLR ultimately compiles all files contained within /CODE into a single assembly - but how does one know what that name is at design-time?
The answer: use “Code”
Consider the following web.config snippet, citing the format for declaring an HttpModule:
<add name="ModuleName" type="Namespace.Class,AssemblyName" />
In place of the "AssemblyName" attribute value, I tried the name of the .CS file containing the class (with and without the file extension), the class name itself, removing the argument altogether, using “this”, “.”, and using the exact same value for the both Name and for both arguments of the Type attribute - none of which worked. I couldn't suss it out, until Scott Guthrie was good enough to point out that at least for the alpha bits, we are to use “Code” as the value for the Assembly name argument:
<add name="CustomAuthentication" type="SecurityModules.CustomAuth,Code" />
Now, this introduces a new concern - how about naming conflicts for legacy web applications that already have an assembly resident in the \BIN directory, named “Code”? I tried it out, copying over a proxy class .DLL for hitting the Google web service, and renamed it “Code.dll”. An HttpModule I'd written still worked perfectly, not conflicting. I also authored a quick .CS file, compiled it to a .DLL from scratch and saved it to \BIN...the HttpModule continued to work. This is unbelievably cool.
Tragically, there's very little documentation (if any) about this, so I hope this spawns some. Maybe this was announced en masse at PDC…one more reason I should have gone. L
One of the coolest features I like about Whidbey is Master pages, and the feature is aptly named...pretty good marketing. However, it wasn't until I wrote an article for MSDN recently that I realized that the ad hoc title for ASP.NET 1.x master pages, as in “master/detail pages”, has essentially been cannibalized by the new formal name. It makes sense...the first people who started informally labeling those pages master pages were early book writers, and it just stuck and spread through the community.
Anyone have any idea what we'll be calling such pages with links that allow one to drill down to more information in the V2 world? Here are some suggestions:
- Host pages
- Main pages
- List pages
Care to come up with any more?
I was browsing on Volt's site, and they've got a pretty cool resume parsing script...you paste in yuor resume and it gives its best attempt to auto-fill in your data into form fields. Pretty interesting!
More Posts Next page »