Sunday, April 25, 2004
Chicago again this week
VSConnections in Orlando rocked last week. Had a fantastic time, sat in on some great talks by others, mine went well, and got to see a lot of other speakers and writers as usual which is probably the most fun part for me.
The next one is in Las Vegas in November. You should really consider attending this conference. It is small enough to not be as overwhelming and disorienting as something like TechEd or PDC can be, but big enough that you have lots of choices with great speakers in excellent facilities to choose from.
This week I'm back in Chicago for a week doing some architecture consulting. Next week it is off to Redmond for a lab. After that San Francisco for an INETA talk to Bay.net on the 19th (ClickOnce is the topic) and then San Diego for TechEd (where I am giving a talk on Deploying .NET applications). After that Charlotte... and so on and so on... I think the airlines are going to like me a lot this year.
PInvoke.net - what a great idea
Duncan points to a site created by Nathan that is a Wiki of Pinvoke signatures, tips, and tricks. What a great idea. When I teach people about PInvoke, I usually make the comment that one of the trickiest parts of getting it right is getting the signature mapped correctly from the unmanaged types to the managed types. That and of course creating the objects properly and passing them as parameters and handing them as return values. This site will make a great resource for dealing with some of those APIs as long as it continues to grow.
I will make it a point to go add stuff there every time I find myself making a PInvoke call that is not already fully documented there. You should too!
.NET | Community  Sunday, April 25, 2004 8:46:03 PM (GMT Daylight Time, UTC+01:00)  |
Sunday, April 18, 2004
Hello VS Connections in Orlando
Arrived safely in Orlando today for VSConnections. It is being held at the Hyatt Regency Grand Cypress, a fantastic resort. I went out for a run today around the grounds. Lots of nice facilities, their own lake with sailing, kayaks, paddle boats, golf course, horseback riding, biking, etc. Very nice set up. Too bad I will probably be in sessions the whole time and will not end up partaking much.
I am giving two talks at this one, both on Tuesday. One is on the User Interface Process Application Block (which just came out with a new version 2.0 last week) and the other is on one of my favorite topics these days - ClickOnce.
Today is just a pre-conference day, but pretty good crowds so far. Really great set up for the conference. If you haven't been to a VS Connections and can't make this one, I recommend hitting the next one in the fall in Las Vegas.
Tuesday, April 13, 2004
Hosting multiple communities with the ASP.NET Community Starter Kit
I had a reader of my article ping me today because he was having a hard time finding good concise help on how to set up two (or more) communities in an installation of the Community Starter Kit. Rather than just share it with one, I figured my blog is the perfect medium to share it with many. My response is below.
---
The kit is definitely capable of hosting multiple communities or virtual sites out of a single installation. Basically what it does is it discriminates a different “site” based on the server name used to address it. So to host multiple sites, you will need to have multiple domain names mapped to your server, or be able to discriminate them by subdomain (i.e. the servername in servername.domainname.org). Lets say you want to host ClubAAA and ClubBBB as distinct sites from a single installation. ClubAAA and ClubBBB will have to each have their own domain name or subdomain name, mapped to your server. Then when users come into http://clubaaa.org/default.aspx they see one site, and when they come in to http://clubbbb.org/default.aspx, they see another site, even though those two domain names are mapped to the same virtual directory in IIS, the directory where the CSK was installed. Or they could come in as http://clubaaa.hostingdomain.org and http://clubbbb.hostingdomain.org and those two could be mapped to the same installation folder in IIS.
Within the kit, you create two communities using the ISPAdmin interface, which will be at http://localhost/CommmunityStarterKit/ISPAdmin/default.aspx with a default installation. The key thing is to have the domain or subdomain names different. You can play around with this by adding a second community on the local machine. Have one of the communities mapped to a primary and community domain of localhost, and have the second mapped to a primary and community domain of 127.0.0.1. Because the server name part of the URL will be different when you address these two ways, the kit will see them as distinct domains and thus they can be used to discriminate different communities.
You can then go tweak the settings for one domain’s appearance to immediately see the effect. Log into the first community (http://localhost/CommunityStarterKit/default.aspx) with the admin name and password, and go to the Admin interface. Select the Edit Sections option, and select the Appearance tab at the top. Change the theme and style to a different named theme than the default Lunar one. Save the changes and return to the site. You should see a different theme. Now change the address in the URL of the browser to http://127.0.0.1/CommunityStarterKit/default.aspx and you should see the old theme.
Once you have multiple communities set up like this, any changes made to one site or the other through its admin interface will be partitioned by the settings that get saved in the database based on the server name in the URL that you are using to access the site. Likewise any changes made to the site’s data (events, downloads, discussions, etc.) will be partitioned as well from a presentation perspective. In the DB itself, the data all lives in one set of tables intermixed. But the data is always linked to the community to which it belongs so that when it is rendered out through the engine to the UI, it looks to the user like they are accessing a separate physical site.
Thursday, April 8, 2004
VS 2005 CTP IIS problems fixed!
Thanks much to Josh for pointing me here which pointed here which gave the magic incantations and voodoo hex remover to fix the problem I was seeing with IIS after install of VS 2005 CTP.
Monday, April 5, 2004
WinXP SP2 - so good so far
I installed WinXP SP2 RC1 this weekend, and I am loving it as a tablet user. I like the additional security features too, but the new pen input panel rocks. Much easier to use, pops up wherever the input is, shows you the words as it recognizes them, gives you a chance to select alternatives before accepting as input. All very cool.
Also, am I imagining things, or did Outlook get smarter about filtering Spam after installing SP2? It is still set to Low, but I am getting a lot less uncaught Spam the last couple days...
Travel hell...
Ugh. What is worse than 55 teenage band geeks on your flight returning from band camp? Having them connect to the same flight as you so you get to experience them twice. Gee both flights departed over 15 minutes late, despite boarding on time. Any guesses why?
“Where are you sitting? I don't want to sit there. Swap with me. Hey, I want a window. Hey, I don't want the middle. Hey mister, can you change seats with me?...” Unfortunately the Bose headphones only filter out ambient noise.
Sunday, April 4, 2004
TDD in the real world... for real?
I like Test Driven Development (TDD). It makes sense to me at a conceptual level, it feels right, and it basically formalizes a number of practices I have had for years (but without the discipline to necessarily do it the same way all the time). I think it leads to better software both through finding defects earlier and because it changes the way you approach coding in a good way that makes you think about the client API very closely up front (because your tests are client code).
The one thing I don't like or really just haven't gotten my arms around yet is how to really apply it comprehensively across all the kinds of development I do. For business objects that encapsulate some data and expose operations on that data, TDD is perfect and easy to understand. For things like asynchronous, event-driven services and interactive UI code, I still have a hard time figuring out how to apply TDD.
So when I finally got around to reading the latest MSDN, I was looking forward to the article in there on TDD. I found the article to be well written and thought it did a great job explaining the basics and how to put together TDD test fixtures in .NET and work with NUnit. I was a little dissatisfied with the finish though.
As I read, I started salivating as I got to the section titled “Using TDD in the Real World”. Cool, someone is finally going to go beyond talking about money classes as demonstrate using TDD for something hard... or maybe not. Then it started talking about addressing GUI testing, even better... or maybe not. In the end, the “real world” scenario ended up being a combo box driven by a simple data container class for countries, and the only thing that TDD was demonstrated against was the country list class. Hardly a real world scenario, and how you might test the combo box that uses it was quickly slipped around.
Does anyone out there have any good resource links to using TDD for GUI and/or asynchronous/event-driven scenarios? That is the one area I still need a better clue, but I can't seem to find any good examples or discussion of them.
Friday, April 2, 2004
Tech doc weirdness
Thanks to Eric for this link. Great for a few minutes of laughing your ass off.
The sweet bliss of a newly discovered WiFi hotspot
I'm sitting in Roanoke airport waiting to head home after speaking at the Roanoke Valley .NET Users Group last night, and got here a little earlier than I needed to. It is always such a breath of fresh air in this situation to fire up the tablet and see that happy little notification “One or more wireless networks is available...”
Ah, sweet bliss. My day just got a little better. The smile spreads across my face as I join the network and start hitting the net. Especially in places like this where there is no fee, no signing in, no nothing. You are just on.
The only question is why the only airports I seem to experience this in are small airports like Roanoke or Toledo. Granted, for larger airports it would be more expensive, they would need more hotspots to cover the gate areas and yadda yadda. But the improvement in quality of life for mobile warriors would be so worth it. I'm sure we will get there in the not too distant future, I just wish they would hurry up.
RVNUG was a great group last night, gave my talk on Extending ASP.NET with handlers, modules, and custom applications. Think it went well. They are a fairly new group, less than a year old, but good size for a town like Roanoke. Chris Williams, the group lead, was a lot of help in getting in and out of town and to the meeting.
I love being an INETA speaker. Hopefully the groups continue to like having me come talk.
Thursday, April 1, 2004
Carl owes me a beer
Oh yeah, and since I am speaking in Roanoke tomorrow to fill in for Carl who couldn't make it, I think that man owes me a beer! :) Carl, are you listening?
Speaking in NYC and Roanoke
Taught a one day seminar in .NET Security yesterday in NYC through the NYC.net users group at the Microsoft office in mid-town manhatten. Good time, great crowd, excellent questions. I always enjoying teaching classes like this because the topic is so broad and dense, everyone who attends brings different perspectives to the table and different comcerns and challenges they have faced
I learned a lot from the crowd, and they seemed to enjoy the class. All good.
Tomorrow I am off for a quick trip to speak at the Roanoke Valley .NET Users Group, giving my talk on Extending ASP.NET with HTTP Modules, Handlers, and custom applications.
Been ha ving fun playing with VS 2005 CTP, more to follow.
|








| June, 2013 (1) |
| May, 2013 (2) |
| April, 2013 (2) |
| March, 2013 (2) |
| February, 2013 (2) |
| January, 2013 (2) |
| December, 2012 (3) |
| November, 2012 (1) |
| October, 2012 (1) |
| August, 2012 (2) |
| June, 2012 (2) |
| May, 2012 (3) |
| April, 2012 (1) |
| March, 2012 (2) |
| February, 2012 (2) |
| January, 2012 (1) |
| November, 2011 (4) |
| October, 2011 (1) |
| September, 2011 (2) |
| August, 2011 (1) |
| July, 2011 (1) |
| May, 2011 (5) |
| March, 2011 (4) |
| February, 2011 (2) |
| January, 2011 (3) |
| November, 2010 (4) |
| October, 2010 (1) |
| September, 2010 (5) |
| August, 2010 (5) |
| July, 2010 (6) |
| June, 2010 (8) |
| May, 2010 (2) |
| April, 2010 (2) |
| January, 2010 (1) |
| December, 2009 (3) |
| November, 2009 (2) |
| October, 2009 (3) |
| September, 2009 (3) |
| August, 2009 (2) |
| July, 2009 (3) |
| May, 2009 (3) |
| April, 2009 (2) |
| March, 2009 (1) |
| February, 2009 (2) |
| January, 2009 (2) |
| December, 2008 (1) |
| November, 2008 (2) |
| October, 2008 (5) |
| September, 2008 (4) |
| August, 2008 (2) |
| July, 2008 (1) |
| June, 2008 (2) |
| May, 2008 (2) |
| April, 2008 (3) |
| February, 2008 (6) |
| January, 2008 (3) |
| December, 2007 (1) |
| November, 2007 (1) |
| October, 2007 (5) |
| September, 2007 (1) |
| July, 2007 (3) |
| June, 2007 (8) |
| April, 2007 (2) |
| March, 2007 (4) |
| February, 2007 (1) |
| December, 2006 (2) |
| November, 2006 (9) |
| October, 2006 (5) |
| September, 2006 (3) |
| August, 2006 (2) |
| July, 2006 (4) |
| June, 2006 (5) |
| May, 2006 (10) |
| April, 2006 (4) |
| March, 2006 (2) |
| February, 2006 (12) |
| January, 2006 (7) |
| December, 2005 (2) |
| November, 2005 (15) |
| October, 2005 (6) |
| September, 2005 (7) |
| August, 2005 (3) |
| July, 2005 (10) |
| June, 2005 (11) |
| May, 2005 (7) |
| April, 2005 (8) |
| March, 2005 (6) |
| February, 2005 (2) |
| January, 2005 (6) |
| December, 2004 (3) |
| November, 2004 (5) |
| October, 2004 (2) |
| September, 2004 (5) |
| August, 2004 (13) |
| July, 2004 (6) |
| June, 2004 (14) |
| May, 2004 (17) |
| April, 2004 (12) |
| March, 2004 (8) |
| February, 2004 (10) |
| January, 2004 (14) |
| December, 2003 (9) |
| November, 2003 (13) |
| October, 2003 (3) |
Sign In
|