Paul Wilson's .NET Blog

Ramblings from the Creator of WilsonDotNet.com

  • Speaking at the Atlanta Code Camp on ASP.NET Custom Providers

    The Atlanta Code Camp (2006) is scheduled for tomorrow (May 13, 2006) at DeVry University in Decatur (not the MS Offices in Alpharetta).  I'm currently scheduled to give my presentation on ASP.NET Custom Providers at 8:45 am, although the schedule may change.  The new services exposed by the new provider model in ASP.NET v2.0 are some of the best new things, so this should be a great topic.  My goals for this presentation are to introduce these new services and the provider model, and to convince everyone to build their own custom providers.  Well maybe that's a little strong, but I do think that most enterprise web apps should consider this, and I'll show some simple sample custom providers.  In particular, I'll give you the code for some very simple Membership, RoleManger, and SiteMap providers that work on top of O/R Mapping.  We won't be focusing on the O/R Mapping at all, so that's not a prerequisite, since you can always add your own database logic if you desire.  But O/R Mapping does make working with custom providers far easier, and it automatically works with MS Sql, Access, Oracle, MySql, and most other databases as a bonus.  And if you need more, my WilsonWebPortal has better optimized versions of these same providers, as well as adding custom Profile and WebEvents providers.

    I've also got a lot of very good books to give away, in addition to the ones that will be given away all day long in all the sessions.  They are (1) Apress' Beginning ASP.NET 2.0 in VB 2005 by Matthew MacDonald, (2) Apress' Pro VB 2005 and the .NET 2.0 Platform by Andrew Troelsen, (3&4) two copies of Addison Wesley's Visual Studio Tools for Office Using Visual Basic 2005 by Eric Carter and Eric Lippert, (5) Addison Wesley's SQL Server 2005 Distilled by Eric Brown, (6) O'Reilly's Programming SQL Server 2005 by Bill Hamilton, (7) Microsoft Press' Programming ASP.NET 2.0 Core Reference by Dino Esposito, and (8) Microsoft Press' Programming ASP.NET 2.0 Applications Advanced Topics by Dino Esposito.  And I'll give you the book of your choice (that's still left) if you attend my session and come up before it starts to introduce yourself and tell me you read about this offer on my blog.  I've also got a few 32MB USB Keys if you prefer that instead of a book, so even if you don't want a book you can still come up and introduce yourself and tell me you read about this on my blog.  Any books or USB keys left after that will be given away during the session however I see fit, so come early -- but please form a line to keep it nice and professional.  :)

    There's a lot of other sessions that look good too of course, and most of them are probably better speakers than I, so come out -- assuming you did register.  I'm not even sure how I'll pick between some of these sessions, since there are several ones in each time slot that I'm interested in attending.  So don't be offended if I attend a different session Wally -- I may still make it to your Atlas session, as I really am interested, but there are other good ones too, so its hard to decide.  So see you at the Atlanta Code Camp tomorrow -- and don't forget the location is DeVry and not the MS Offices since we needed more space.

  • Tim Doesn't Like Live.com -- And I'm Not Sure About Atlas

    Tim says he doesn't like Live.com -- its slow and its ugly -- and there's just no point in it.  I have to say that I agree, but I also think there's an even bigger problem -- Atlas !  Now I'll be the first to admit that I still haven't spent much time with Atlas, so maybe I'm missing something, but it just feels all wrong to me.  Don't get me wrong, I like Ajax, when its used correctly and within reason -- of course I also liked it back in 1999 before it was called Ajax.  I also like some of the Ajax implementations from what I've seen of them, but that's where Atlas goes wrong.  What do I mean?  Quite simply it doesn't try to be an Ajax implementation -- instead it tries to be a client-side framework.  And just why do we need a client-side framework?  Oh yea, to build sites like Live.com -- it all makes perfect sense now.

  • Interested in Astronomy -- Try Slooh.com's Twin 14" Scopes

    I don't usually make many recommendations, since I don't want to sound like a commercial (unless its about me of course), but you've got to try Slooh.com !  I've always loved astronomy (and most every other science for that matter), but I've never had the opportunity to really see things myself.  I actually even bought what I thought was a good backyard telescope a few years ago, but I returned it when the Moon was just bright and Saturn was just a blur.  But then I read about Slooh.com in my Discover magazine the other day (another highly recommend resource -- every article is a must read for me every month), and I thought this was too good to pass up.

    So what is Slooh.com?  Basically someone has setup 2 14" telescopes on a mountain in the Canary Islands and hooked them up to the net -- and you get unlimited viewing for $99 a year (they have smaller per-minute deals also).  One scope is controlled by the professionals, with paid commentators, but the other scope is controlled by members -- you can pick what you want to see in an available time slot, and those are actually easy to get, and you can always watch what others have selected too.  Each viewing is only 5 minutes, but that's more than long enough for even objects far away to resolve in decent detail and color -- and the timezone difference is perfect.

    Now let me share my family's observations from last night.  We saw the Moon and all its craters crystal clear as I expected, and we saw Saturn pretty well -- I had hoped Saturn would be better but I do understand this is only a 14" telescope (better than anything we could personally own, but not as good as the biggest either).  But then we looked at Pluto -- and you can't even tell which bright dot out of many others in the background it really is -- and that was a perfect educational opportunity.  Why?  Because the only way astronomers actually found Pluto (and others farther now) is by looking for small movement over several hours or even days !

    We also have observed lots of galaxies, nebulas, and other objects too, but it was definitely the planets that I wanted to look at with my son first.  Just make sure you realize that far away objects actually take several minutes to appear in full color and clarity since it has to collect enough light.  Its really fascinating and I highly recommend it to anyone wanting to observe the planets and stars and more.  And you certainly can't beat it for the price and the educational value either -- by the way, "slooh" is a play on "slew", which is how you turn a telescope, so I suppose you're supposed to pronounce it "slu" and not "slo".

  • Review: Programming SQL Server 2005 by Bill Hamilton

    Programming SQL Server 2005, by Bill Hamilton, is an excellent book to help developers experienced with MS SQL 2000 to get up to speed on what's new in 2005.  First, it is focused squarely towards developers, which is a great thing for developers -- no more having to wade through all of the DBA-oriented features.  Next, it is only about the new features, which again is a good thing for most of us -- no need to skip the usual chapters on the  basics of MS SQL and T-SQL.  Finally, it is short and concise, with good practicle examples, which is good again -- no massive repeat of the documentation or silly hello world examples.  There is good coverage of the new T-SQL syntax, of the CLR integration, of all things XML, of SMO which replaces DMO, and of SSIS which replaces DTS.  There are also intros to all other features, like Web Services, WMI, Reporting, Server Agent, Service Broker, Notification, Replication, Analysis, and SQL Mobile.  This content level feels about right for a concise book on what's new -- you may need more on some features, but there are entire books on some of these.  Note that the book claims to be for all levels of developers, but its clearly only appropriate for those with SQL 2000 experience since its just what's new.  Finally, as with every other book I've seen, there is no attempt to give you any advice on what you should avoid and why -- something that I would like to see.  For instance, everyone likes to talk about CLR integration, but most will misuse this, and most DBAs will never allow you to use SQL Web Services.  But in general, if you are an experienced MS SQL 2000 developer that wants to quickly get up to speed on SQL 2005, then this will be an excellent book for you.

  • Using Reflection (and O/R Mappers) with Nested Classes

    I can't say that I've ever used a nested class myself, but I recently had a problem posted to my forums that involved a nested class and my ORMapper.  I tested it myself and concluded that it was a bug due to my never having worrying about it before.  Well it wasn't easy to find the solution, but I'm happy to report that there was no bug at all -- you just have to know the trick that .NET expects when using nested classes with reflection.  It turns out that you should use a plus sign (+) instead of a dot (.) when referring to the nested class in a type name that you are going to reflect on -- so something like this:  "Name.Space.Main+Nested".  Its even in the MSDN docs here, although its not in other parts of the MSDN docs that I was originally looking for it at, like here.  Anyhow, I assume this information will be useful to anyone using reflection with nested classes, and it probably applies to other O/R Mappers also, so it seemed worthy of posting on this blog.

  • Anyone heard of Login problems for some IE users?

    I'm using the new ASP.NET v2.0 Login control and it works great for me and most other users in both IE and FireFox, but there seems to be a small number of users that cannot get it to work in IE on at least some computers.  I'll be the first to admit that maybe its not the Login control at all, since maybe its some other esoteric code of my own or some setting I've chosen, and in fact I have created a very bare-bones test with the Login control that seems to prove it is not the issue for these users.  So my question, since I haven't figured it out yet, nor do I see anything like this in the forums or the MSDN Feedback Center (Ladybug), is if anyone else has encountered anything like this, and if so then how were you able to resolve it?  Again it works great for me in IE, so I can't duplicate the problem, and it works great for most other IE users, but there are a few IE users that are unable to login (or at least their credentials are lost immediately) and they don't report anything odd in their browser settings.

  • Atlanta .NET User's Group on March 27 with Greg Young on AOP

    Greg Young is going to be giving a fascinating presentation on AOP at the Atlanta .NET User's Group on March 27.  I'm going to try to make this one since (1) Greg is a great speaker, (2) AOP is really cool (like O/RM), (3) Greg's writing a book on AOP, (4) Greg contributes actively to several open-source projects related to AOP, and (5) Greg's presentation description sounds enlightening.  Do you really need any more reasons?

  • Presentation and Code from my Intro to O/R Mapping Talk

    Thanks to the Atlanta C# User Group for allowing me to present last night.  I'm a terrible speaker, in spite of years of teaching practice (former math professor and grad student before that), so I'm content if people learn something even if they aren't impressed by my speaking skills (or lack thereof) -- and it sounds like I did accomplish that goal from the feedback I've gotten.  Getting up in front of a user group like this one is a lot more awkward than teaching math though, since I knew I knew far more math than my students ever would, but I'm sure of just the opposite here -- the room was definitely full of very smart people that know what they are doing.  Anyhow, feel free to download my presentation and code from http://www.WilsonDotNet.com/Downloads/IntroORMapping.aspx -- the key to me is to compare the code and procs in the Standard project with the lack of similar code in the ORMapper project, which is far more important than the slides.