December 2003 - Posts
Oh well, I guess you get what you (don't) pay for. It was too good to be true...NASDAQ used to have a publicly-accessible XML feed for stock quotes, and I've noticed it's been inaccessible for several days, and finally found a couple links from some PHP gentlemen who said the service has been cut off.
So, this basically killed of the effectiveness of a custom server control I built months ago and that was available from the ASP.NET Control Gallery. Darn.
In case you missed it live earlier this month, or if you're like me and live in a place where geography mandates having to get up at 3AM on Wednesday mornings to watch live presentations, Jeff Prosise's “Power ASP.NET Programming“ kicks major ass.
The Wintellect guru talks custom HttpHandlers for dynamic imaging with GDI+, logging in the HTTP pipeline, and has lots of cool demos, and a sweet database-dependency trick for SQL Server and ASP.NET 1.x. Jeff also discusses what not to do when developing code and components, so as a pessimist, I enjoyed it. It's a 200-level WebCast, discussing topics outside of the scope of the normative presentation on ASP.NET, so it's a must-watch.
(Plus, you'll chuckle at the constant commentary by what I assume to be Jeff's pet parrot squaking in the background). :)
Check it out.
Borrowing a timeless theme from the late, great Jerry Garcia, here’s my list of memorable moments for being a proud ASP.NET developer over the past 12 months. Feel free to append your own, as I’m sure I’ve left something out.
- Updated version of ASP.NET Web Matrix released
- New edition of Steve Walther’s seminal work “ASP.NET Unleashed” published, featuring ASP.NET 1.1 examples in C# and VB.NET
- MMIT included as part of VS.NET 2003, eliminating need for separate download
- Dave Wanta’s aspNetEmail component slays competition for sending mail
- Someone figures out how to share session data between ASP 3.0 and ASP.NET 1.x
- ASP.NET Forums take off...and take over
- Data provider for Oracle released
- C# gains leverage over VB.NET (ouch - you may throw tomatoes....NOW!!!)
- The eternal “should I use a DataReader or DataSet?” argument, after much debate, is put to rest in numerous community forums
- Whatever happened to ASPElite?
- I foolishly fall victim to the soon-to-be bought out IDG Books (aka, Hungry Minds), now Wiley Publications, serving as technical reviewer and getting screwed out of a payment
- Starter Kits made public
- ASPAdvice inherits mailing list community from now-defunct ASPFriends
- The .NET Show promises - and then cancels – episode on developing custom server controls
- Microsoft Application Blocks released to rave reviews
- I get selected as a Whidbey alpha tester. I have seen the future, and it is very, very, very good.
- Freeware Cassini web server debuts (I think this happened in 2003)
- ASPToday.com becomes part of fallout as Wrox goes under; properties later acquired by APress
- Microsoft makes big push towards RSS in several of its public web properties
- Community top dogs make move towards blogs, thanks to Scott Watermasysk’s .TEXT
- Bravo to the cat who made DataGrids scrollable by setting <div style=”overflow:auto;”><asp:DataGrid id=”dg” runat=”server”></div>
- MSDN-TV debuts with Rob Howard talking about AppSettings
- I secure two subscriptions to ASP.NET Pro Magazine – one for the office to get wrecked, one for archival at home
- Addison-Wesley rolls out outstanding “.NET Developer Series”- advanced books without fluff or marketingspeak
- ASP.NET WebCast Week on MSDN announced – <and the crowd goes wild!>
- 2.0 - Whidbey blows ‘em all away after premiering at PDC
I'd like to initiate a community-oriented project for visual modeling, centric strictly to ASP.NET development. It will, at its core, incorporate the main concepts Jim Conallen of Rational introduced for the Web Application Extension for UML (WAE) in his excellent book “Building Web Applications with UML”.
Basically, I’m looking to organize discussions for a common set of icons and associated visual modeling glyphs to be used by ASP.NET developers, for our way of life. This logically could begin with the simple icons already available in VS.NET and Web Matrix for ASP.NET-related file types to demonstrate files and their relationships, and could extend all the way to things like components, Use Cases, XML Web services relationships, namespace hierarchies, custom controls, HttpHandlers, caching & cache dependencies, DALs, application settings, and Global.asax-resident routines. However, this will only extend UML, not supercede it.
I’ve been meaning to do this for use within my own projects, and I’d be happy to share it with you, too.
I think it would really help us understand each other’s cool code and architectural tips as we share ideas if we could develop a common set of images and conventions just for us.
In my opinion, Microsoft technologies are to date a bit weak at providing such visual help (in comparison to Rational, for instance), and UML in general is overkill for web-based applications. The WAE Conallen spoke of is good, but not MS-specific.
Basically, I'm just making an open call for a diverse group of people within the ASP.NET community willing to share their ideas (minimal time required...just a couple of messages every now and then) and work on developing an image set to iconify ASP.NET concepts. We’ll then aggregate this information and make it available for public download. If this really takes off, I’m hoping to have enough cool stuff to collaboratively develop an IDE add-in for visual modeling, available as freeware.
Hopefully, it’ll be effective enough to be recognized and used with somewhat broad distribution by Microsoft web developers.
I’m willing to start and archive the information generated by such discussions, and do the majority of the legwork to get this going. Anyone interested?
I’m quite sure someone has brought this up at some point either theoretically or jokingly, and I’m not sure how feasible it would be (although I think it would be pretty cool), but can/should a page’s view state be able to be typed, rather than just storing all data within as type object?
Perhaps the convention of - ViewState[“key”] - could include a second argument when 2.0 rolls out, which would be the explicitly-stated data type for the data?
CHEESY EXAMPLE 1:
String myName = “Jason Salas”;
ViewState[“aDudeInGuam”,System.String] = myName;
Or, possibly this could be set in web.config for **certain** ViewState entries, providing typing information, as the Profile does object for personalization in 2.0?
CHEESY EXAMPLE 2:
<viewstate keyName=“phoneNumber“ type=“System.Int32“/>
Or, maybe include a ViewState API (there’s a thought), similar to what is provided with the Cache API, wherein developers have a variety of overloaded methods from which to choose in setting/accessing view state values?
CHEESY EXAMPLE 3:
int homePhoneJenny = 8675309;
Would this even be worth it, or make sense? It seems to me like this would fit in nicely with Whidbey’s push towards more streamlined programming without the need for casting/recasting data.
Certainly, many people would get something out of it when working with business logic, and if this would help improve the expensive performance hit caused by the Framework's internal binary serialization for types without readily-available type converters, that would be gravy.
What do you think?
I noticed a couple of days ago that the free XML feed from NASDAQ has been inoperative, returning an empty root XML node, and has yet to come up. I first got wind of this after noticing that a custom stock ticker server control several months back (http://www.kuam.com/techtalk/nasdaqcompositecustomservercontrol.htm), was showing up blank.
I checked the source, and sure enough, NASDAQ was empty.
Something similar happened to the free http://weather.interceptvector.com/ XML feed for weather data about a year ago. I, and several others, used to tap that service for its great features. The guy who ran it (a nice dude, I corresponded with him a couple times), took it offline after apparent repeated problems.
My big pet peeve project of late has been trying to pull of anonymous personalization in ASP.NET 2.0. I've talked to several PMs on the WebParts/Portal Framework team, and they say that such was possible previously, but it's since been taken out.
It's become more of a hobbyist project now than anything, even though most people I've talked to defer to using content stored in a database to provide personalization. Basically, I'm trying to create a facility that will allow a site's user to be able to shift WebPart-based content areas around without requiring membership.
It's a stretch, but I'm still working out the kinks. I'm just running circles around how to get an index for each WebPart and persist it, across postbacks and through sessions.
In the process, I've been turning the WebParts API upside-down trying to figure it out. It was mentioned previously that the protected SavePersonalizedData() method probably provides this type of functionality.
What was that line about persistence being a virtue?
I recall one of my viewers being absolutely livid over the fact that I mentioned the term “killer app” during the TV segment I host on web development, thinking I was making a call to violence. In response, I did what all great journalists do - used her lack of foresightedness as the subject of my next column. :)
It's funny...as I'm filling out Christmas cards, I'm subconsciously being way too wordy in the corporate sense, rendering what should be sentimental, cheery, holiday greetings into de facto fluffy ads. In business school, I was taught to be as verbose and long-winded as possible, and then as a journalist, I'm required to be extremely refined and simplistic. And of course, as a programmer, my very existence is rooted in and around logic. Needless to say, the many directions in which my brain is tugged daily make for some interesting internal debates about how to communicate.
This made me think...what are the most overused buzzwords/marketingspeak used in the development world to market IT products today? Here are some of my faves:
- “...gives you more granular control over...“
- “scalability with stovepipe applications“
- “a rich UI“
I'm interested in seeing what new terms become part of the developer's lexicon, whether by use or by force. What are your top buzzwords/terms?
I've always found the optional file you can save in a Web site, ROBOTS.TXT, while sound in purpose, extremely hypocritical and potentially lethal to a site's integrity. As a guy who’s been in technical marketing for more than a decade, it's always been interest of mine to see the practical use of tidbits of information towards giving a site maximum exposure. As a budding developer years ago, this was also one of my first forays into “security“.
As a refresher, ROBOTS.TXT is a simple text file stored in the root directory of a Website, containing metadata, instructing search engine spiders which directories/subdirectories to avoid browsing so as not to include sensitive information in their indexes. A simple concept, but the fact that these files can be browsed by any idiot with a browser and Internet connection of any speed makes them dangerous.
For more on ROBOTS.TXT, visit http://www.robotstxt.org/wc/robots.html
It's literally like saying, "Hey, there are certain directories I have secretive content stashed in, and I don't want you to see them at all...and here they are."
Need proof? Check these URLs out for some good examples how varying organizations in varying industries creatively use the file:
In fact, if memory serves, I recall an engineer at Sun Microsystems several years back writing quite the scathing criticism about the use of ROBOTS.TXT on www.sun.com, seeing as how it gave hackers one less challenge to break their stuff (Sun apparently had a bunch of internal download sections, CGI scripts and administrative utilities located in directories they didn't want search engine spiders to find out about). By storing the directory names in ROBOTS.TXT, Sun was essentially giving people the direct URL(s) to their private information, which granted was password-protected, but still overcame arguably THE major hurdle of hacking a site - figuring out which directories contain the good stuff.
As for me, I constantly use the META tag
in pages I don't want spiders to see. That normally does the trick. Using ROBOTS.TXT improperly just invites users savvy enough to know it exists (as many of you now do, after reading this) to type in your site’s domain name, and appending “/robots.txt”.
To be the file’s proponent, it does do an effective job of preventing spiders from indexing your stuff. And sure, this locks unwanted access out from I'd dare say 97% of the Web browsing community. It would only be Web developers trying to hack Web developers, and one would hope that there would be enough honor among thieves, as it were, or at least an appreciation for parity, that savvy people would not engage such pursuits.
However, some organizations do use the file to their advantage, not implementing it as a security means, but more so as a way to not let redundant content or data that would otherwise clutter the Web even more be indexed.
And just in case you’re wondering, don’t even bother looking for the file on my site - it doesn’t exist. :)
I was really impressed with the former Wrox's (now APress) title, “ASP.NET Website Programming: Problem, Design, Solution”, and I'm hoping that for Whidbey, they'll be more titles like this.
It really gave an architectural perspective on an application, taking a single theme and expanding it exhaustively throughout the course of the book. It show in-depth code and concepts behind several sub-applications within the main app, which is really needed more these days. And, it really leveraged some of the aspects of building an ASP.NET application with reusable code and components. It's still one of the better reads out there.
Hope there's more planned for the future.
More Posts Next page »