Since word of it first spread, and since seeing a demo of it while I was in Redmond back in October, I've been very excited about the ASP.NET MVC Framework. And since its initial CPT release, I've been messing around with the ASP.NET MVC Framework quite a bit. Though I did have some trouble (like getting it to run in IIS7 on Vista—never got it working, even with help from Phil Haack), I really like what I've seen, and can't wait to begin using it in production. Now, it looks like it will soon be one step closer to being production-ready.
In a few weeks, there will be an ASP.NET MVC Mix Preview Release, which will address a number of this, as discussed by Scott Guthrie in his blog post titled ASP.NET MVC Framework Road-Map Update. Of all the goodness that he mentions, one thing stood out:
We have also factored out the URL routing infrastructure from the rest of the MVC framework with this preview, which enables us to use it for other non-MVC features in ASP.NET (including ASP.NET Dynamic Data and ASP.NET Web Forms).
As someone who uses URL Rewriting quite extensively, this is great news! I can't wait to see what I can do with the URL routing infrastructure and my existing Web Forms based applications.
One of the reasons I moved to a new host is because they were already offering ASP.NET 3.5 on their servers (and the price was right). The next logical step, after moving this site to the new host, seemed to be moving this site to ASP.NET 3.5. In order to try some new things out with LINQ to XML, and VB 9, that has now happened.
The first order of business was to try using LINQ to XML to pull in an RSS or Atom feed of my bookmarks at ma.gnolia, and utilize that data in the Links section of this site. It was ridiculously easy. A couple of lines of code to get a list of all the distinct tags, and a few more lines to grab the title and URL of each bookmark, based on the tag selected. Right now, I am just displaying both in simple lists (using the new ListView control, also very nice), but I will be spiffing it up and adding some additional functionality soon.
Now, since my day job involves working with XML most all of the time, I am very tempted to bring some of my existing code into the world of LINQ to XML.
For more information on LINQ, check out Scott Guthrie's LINQ related posts.
If you've followed this weblog for any length of time, then you know that I track all referrers via an HTTPModule that I wrote a year ago. What you don't know is that I recently implemented a way to “misdirect” certain referring sites, such as those responsible for referrer log spam. At first I thought about just adding the sooner fan site that was responsible for the land thief traffic to this list, but then I thought of something else -- something a little more fun. Now my Referrer HTTPModule intercepts sites with “sooner” in the hostname and displays an intermediate page before allowing them to access the post they so eagerly want to read.
Copy and paste this Url into your browser (http://www.soonerfans.firstdownsports.com/forums/showthread.php?t=9144 - sorry not going to link to their site), then follow the link on that page back to my site to see what I mean. Now for most of you, the humor will be lost, but Longhorn fans, as well as anyone who despises ou, you'll get a kick out of it.
"Learn about ASP.NET from the experts! These free events are live and interactive. Live code demos and attendees asking in depth engaging questions are all part of this live event. This is a great way to get educated, engaged, and enlightened on Microsoft developer tools."
I was in the middle of registering for an account at MyDomain.com when I came upon some poorly coded form validation. One of the fields is the answer to a secret question. The user gets to choose the secret question from a list 7 options -- I chose one that asks “What is your father's middle name?” The problem I have is that the validation requires that the answer must be at least 6 characters -- my father's middle name does not meet this requirement. Come to think of it, besides my own middle name, no one else in my immediate family has a middle name 6 characters or longer.
Fortunately, I can get around this by choosing a different question (assuming I don't run into similar issues), or I can elect to not have a secret question, and thus no need for a secret answer...I wonder if selecting this option will still require a word of 6 or more characters...let's see...
Ok, it didn't balk at not having a secret answer, but upon submitting the form it did tell me that I don't have permission to access the server. Great. So much for trying them out for their free DNS services. I guess I get what I pay for.
I know that they've developed a Primary Interop Assembly for building applications using the Documentum Foundation Classes (DFC), but I've yet to give it a try.
This next week, we will be wrapping up an engagement with a member of Documentum's consulting services, and I will finally be able to dig into some code. So I am interested in hearing experiences from anyone who is already using .NET with Documentum.
Special Access to Longhorn and Whidbey PDC Release CodeActive MSDN Operating Systems, Professional, Enterprise, and Universal subscribers may request a set of software distributed at the Microsoft Professional Developers Conference 2003 (PDC), including the preview versions of the "Longhorn" operating system and SDK, and Visual Studio "Whidbey".
Eligible MSDN Subscribers can request the previews by calling MSDN Customer Service. Certified Partners and Breadth ISV / Empower partners should contact their respective Service Centers for further assistance. Note that the preview package contains DVD media, and a DVD drive is required. Please allow 3-4 weeks for fulfillment.
I came across this recently when I needed to filter a DataView (using the RowFilter property of the DataView) so that only records containing Value LIKE '2__' (underscore is single-character wildcard in T-SQL). This way I get 200, 201, 202, 203,..., 299, but not 2000, etc.
After a thorough review of the MS docs and my ADO.NET book from Wrox (which incorrectly states that * is for single character wildcards), I decided to just use the LEN() function available in Expressions and limit my results to LEN(Value) = 3 (based on example above).
Then end result is something like this:
MyDataView.RowFilter = "Element='Topic' AND Value LIKE '" & Chapter & "%' AND LEN(Value) = " & TopicNumberLength
Sure would have been nicer to just have a single-character wildcard.
Fortunately, I finished the book last night and will be getting back to studying any time now. I just wish that I could plow through my exam prep text as quickly as I made it through the Harry Potter book.
This afternoon I took the plunge and bought some Transcender exams and ordered a couple of prep books. The web app exam is up first. I'll keep you posted on my progress.
It was great to meet Ruth Walther, both she and Stephen are relieved now that the new version of the Community Starter Kit is complete and unleashed.Oh man, how did I miss this? I guess this is what happens when you "disconnect" for a week or two. And just when I thought that I was done with the site I used the beta of the CSK on...
At first glance, it seems to be a fairly usable replacement for Query Analyzer. I will try to use it exclusively over the next couple of weeks and see how it goes.
A design had already been done for this particular site, so all I needed to do was create a theme out of the design and assign it to the site -- simple enough. Then I plugged in the controls that are included with the CSK, tweaking a few along the way, and of course adding a couple of my own. A few days later, what do you know, I've nearly got a fully funtional, dynamically generated site that is going to be super easy for the site owner to CRUD content.
There are still a couple of bits of fuctionality to modify, but this is way better than having to do all of it from scratch. I'll put up a link to the site once it is complete.
It seems to be working now. I reworked the code a bit. I'll be keeping an eye on it.
Since about half of the hits I get from Google involve searches relating to the calendar control, I will report back here as soon as the testing is done.
I do wonder if it is going to need a key. I didn't see one listed. Maybe it will use the same key as VS .NET v1.0. It would suck to have spent all this time downloading it and then not have a key to install it.
lots of people are interested in harvester. cool. :)Add my name to the list of people that can't wait to try out Chris' Harverster. From his screenshots, it looks like a winner. How about an early preview, Chris?
Build a tool that uses the System.Net namespace of the Microsoft .NET Framework to check a POP3 e-mail account for unread messages. [MSDN: Visual Basic .NET]This does look like fun!
Now, if VS.NET 2003 would hurry up and RTM...
I've not attended a FWDNUG meeting since I went to the very first one, but I will not miss this one.
Out of curiosity, if you are a .NET developer in the Dallas/Ft. Worth area, shoot me a note either via the comment system here, or email. If you belong to either DDNUG or FWDNUG, let me know as well. Also, if you have a personal weblog, or site, please include the url. I am just curious at to whether any local .NET developers are coming across my site.
Writing the code so that entries showed up where they are supposed to was easy, but I am having a heck of a time getting consistent formating of the calendar itself. For example, using CSSClass for styling the control is hit or miss -- mostly miss, and on my server, the font-size and forecolor properties of TitleStyle don't want to work, at least not if I also want to use NextPrevStyle. However, if I create the exact same calendar in a page running on XP Pro, they work.
Has anyone else experienced similar inconsistencies with this control? It is really starting to annoy me.
Robert Scoble is planning a .NET Blogger's dinner in San Francisco (Saturday, February 8th) during the VSLive conference. Anybody interested in joining in? We are meeting at the San Francisco Marriott at 6pm.I didn't think I would really miss VSLive this year. Afterall, I'd only gone once before (last year, specifically for the VS.NET launch). Then I come across this, and start thinking about all the cool stuff I am going to be missing out on.
[StronglyTyped - Richard Caetano's weblog on software development]
As it is, I will be in the bay area during the week that VSLive is going on (arrive early afternoon on the 9th, staying until the 15th), so maybe I can latch on in the evening one night for something that doesn't require an event pass.
We are embarking on a rather large data conversion project, where we will be converting around 76,000 pages of content from Interleaf files to XML. At the same time we are moving from BladeRunner to Documentum as our repository, and switching from Epic to XMetal as our XML editor. We also have to build the publishing process for taking the content from XML to whatever else (print, CD, online, etc). Oh, and this all has to be complete by the end of the year so that starting in 2004 our content is updated in XML.
I am confident that we will succeed.
Oh well, if you think of something, let me know. If it is already implemented, I'll say so.
The good talks have been few and far between. The one highlight so far was yesterday's first keynote presented by none other than Don Box. It was a nice look inside the world of SOAP and Web Services.
One other highlight was my aquisition of beta 1 of Office 11. I really liked the demo MS had of XDocs, and I can't help but to wonder if the next version of Word might work as an XML editor, instead of having to use something like Epic or XMetal.
I am going to try hooking up with Ken. We've only ever talked via email and IM, so I am looking forward to the possibility. If there is any once else out there that lives in the area or will be at the conference, email me.
I'll be in the Inner Harbor area, so if anyone has suggestions for things to do or places to go, drop a comment here, or email me.
Additionally, after I had my schema, I then used the xsd.exe utiliy to create a class file from the RSS schema. I am now deserializing XML feed files into a rss object and then using that object within the feed reader included in the weblog app I am building.
I know, this isn't exactly earth shattering, but it is fun doing things a little different from how I am accustomed to doing them.
Here is what it has so far:
So there you have it. I guess I should post something over at metaApps so that people who end up there but not here know that it isn't dead.
Charles Cook's XML-RPC library for .NET is indeed very handy. I was able to quickly and easily implement "pinging" of weblogs.com using it. I haven't done anything with the metaWeblog API (or Blogger API in .NET), but I bet it would be easy as well.
I went to VSLive! in San Francisco this year, and am considering it again.
Where have you gone? Would you go back? What conference have you wanted to attend, but haven't?
More and more, I am seeing this same sentiment expressed across the web on the various tech related sites I visit. Of course, I didn't think that my group of friends were the only ones to be disillusioned with this industry, but I had no idea the feeling was so widespread.
I got into this industry because at one time I really enjoyed technology, I enjoyed immersing myself in the latest and greatest, I loved creating things. I still enjoy technology and creating things, but more and more I find myself longing for a simpler life. A life where I touch technology because I want to, not because I have to.
Of course the technology industry has afforded us a very nice lifestyle, a lifestyle where we don't have to worry about finances quite as much as the average family. Where we can splurge on high dollar items without going further in debt. Where we don't have to save up to take that really nice vacation - we just go.
So, while I find myself struggling to stay focused, I am not quite ready to give up the perks of the trade. Now, if I could just figure out how to maintain focus so that I am not forced from my perch before I am ready.
By the way, I'd like to be a park ranger for the National Forest Service.
Well I am off to Austin for some Longhorn Football.
What I meant to say is "believe it or not, I've found renewed enthusiasm for my weblog application" - to the point that I am once again writing code.
What happened, you ask? Simple, I started mocking up a new admin site and that just seemed to get the juices flowing again. The next thing I knew, I had this whole new thing staring back at me from the screen. Give me a few more days and you can see it too.
The worst part is that there is so much to do. Perhaps that is part of it, maybe I am overwhelmed at what's left. There is no more "low hanging fruit" to be picked off. To make anymore progress, I must face the issues I've been putting off.
This always seems to happen with me and my side projects.
I finally had a chance to look at it today, and have built a simple page that searches Amazon.com for books about ASP.NET. You could see it, but I broke it.
The webservice looks like a good start, though there are some things missing, such as a product description. However, I could see this being used by someone who is an Amazon affiliate, like myself, to display a list of books to their visitors. Taken a step further, I might look for visitors coming to my site from search engine sites, get their search terms, and display a list of books based on those terms. I nice personalized list of books reflecting whatever it was that drew the visitor to my site.
Except that my web server already has ASP.net. I get a few hundred hits a day. What do I care? :-) I understand what motivates someone like Dave to make it just require FTP and no active server components. He has a monetary interest in working with the largest crowd possible. Personally, I don't have any such need. I'd rather prefer something powerful and dynamic over something static and flaky, but that's just me. :-) [The .NET Guy]
Exactly! Let me burn cycles on my server - it has plenty to spare. :-) As to Drew's later point about caching and page regeneration, I actually don't care too much about complex caching and page generation algorithms for this application. If I have to re-generate a page every time I get a request, that's ok with me, assuming we're not talking about a huge amount of CPU time (which we shouldn't be). I'm also willing to have to tweak .aspx files and/or code to customize my site (theme, page layout, etc.), rather than have a complete customization engine...[Greg Reinacker's Weblog]
There sure is a lot of talk about a .NET weblog tool. I suppose I really should get metaBlog finished. Speaking which, I still don't know about the name, but I just can't think of anything else at the moment.
Follow along at metaApps.com.
The initial beta is going to be limited, so please email if you'd like to try it out. (You'll need ASP.NET and SQL Server).
I am building a web site/content management framework, but in the meantime, I have these other systems to support. What to do, what to do? I know what to do...finish the framework and the use it in every site I have. Easier said than done. I need to add features and functionality now, not in a month or two.
The sites...
This hits a bit too close to home. It is looking more and more like we will be packing up and heading back to Texas. The job market here in Colorado is dead. How I wish I had been part of the earlier layoffs...the ones where they gave 2 months severance, AND the job market was still decent. Now when the market totally sucks ass, you get a token couple of days and a swift kick in the hind quarters.