 Sunday, August 07, 2005
Hello everyone!
In case you haven't heard, the time is upon us for the next quarterly installment of MSDN Events. Glen is planning to present a series of talks on ASP.Net 2.0 which promise to be good stuff. All of the MSDN events are full of good information, but there's something missing. That something is the local fingerprint - the stamp of the local community. So at this MSDN event, we're going to try something new. We want to put together a series of chalk talks with some of the most skilled and well known developers and architects in the local community. We want to get three individuals to come to the MSDN event at 9am and stand around, eating muffins and plumbing the depths of your .Net knowledge for the benefit of the community.
Are you interested and available on Thursday, August 25th from 9am to noon? We'd love to have you be one of the feature "chalkers"!
— Matt Ranlett
 Tuesday, July 26, 2005
That is right, it is 1:03AM, but registration is up and running. Please let all of your friends know and tell them to start signing up for the SharePoint 1,2,3! sessions. If you sign up for the Hands on labs please try to make it to the sessions so you can see how to do the HOL. Also if you would like to use one of the computers on site please email us ahead of time so we can try to set one up for you.
Update *** Here is the location information for the SharePoint 1,2,3! Events. Keep the questions coming.
Meeting Location: Microsoft Southeast District: Alpharetta, GA Address: 1125 Sanctuary Pkwy., Suite 300 Alpharetta, GA 30004
http://www.atlantamspros.com/Events/tabid/53/Default.aspx
—Brendon Schwartz
Posted with BlogJet
 Monday, July 25, 2005
$99 gets you a full day of training from DevelopMentor (former home of Don Box and Chris Sells and our very own Doug Turnure). It's at the Cobb Galleria and you're a sucker if you don't go. Sign up via the banner on the SQL Server User Group - www.atlantamdf.com and you'll help earn the group a donation. You'll also get a kickback of your very own. If you sign up through AtlantaMDF, you'll get a $25 Amex cash card. Of course, you don't have to tell the people reimbursing you that you'll be getting some cash back...
-- Matt Ranlett
PS - you won't see this even on the calendar b/c it's not free.
 Saturday, July 23, 2005
I don't know who at Microsoft makes the travel plans for things like the Indigo Roadshow, but I want to talk to them sternly about their apparent neglect of Atlanta. I'd love to see this show, but I'm not going to drive to Florida for it. Seriously - 2 shows in Florida and 1 in Philly and that's it for the East coast? Come on! How about Atlanta? At least think about my friends in Raleigh (apparently no one ever does)!
-- Matt Ranlett
Brendon and I hyped the SharePoint 1, 2, 3! event to the INETA board and they loved the idea. So much so that they want us to give them the content and they'll spread it around the community. They all had some useful and constructive advice for us as well.
Check out www.SharePoint123.com and learn about the event being hosted by the Atlanta Microsoft Professionals - a new user group in town. Sign up for the newsletter on www.atlantamspros.com and be among the first to know when registration for the SharePoint event opens.
-- Matt Ranlett
I had a great time at the geek dinner. I started the evening off with great conversations with Glen Gordon, Jim Wooley, Chris Wallace, and Brendon. Glen was telling me that at MGB they just were going over the sales analogy for the year - winning a race, all teams working together like all the cylinders and pistons working together, the race car and the pit crew, blah blah blah. Then Mario Andretti came out on stage. Yup - THE Mario Andretti. Awesome!
After a while, I wandered off to chat with almost the entire INETA board, who showed up from the MGB conference happening downtown. I had a great chat with them and ended up pitching them an idea Glen mentioned. They loved it, Glen loved it, and it looks like we're going to do it. I'll post more on THE IDEA when we do a bit more planning and it looks like a reality.
I chatted with Shawn and Michael about independent consulting. Shawn's doing well and Michael is excited about the future. I'm sure they're both going to do well - they're among the brightest people I know.
I wandered back over to the INETA people and Brendon and I sat there for a while bragging to them about the dynamic and highly active Atlanta user group community. They loved some of the ideas we talked about with them and they were highly impressed at how much stuff actually goes on here in Atlanta. I think Brendon and I might have come across as a bit more super than we actually are (they called us Super UG Leaders) but they were impressed by the cohesion of the entire UG leadership team and the dedication of the UG members. I think that right now INETA is struggling to find it's value for the average UG member, and the board is interviewing the community to find out what we need.
It was also good to talk to Paul for a while. I've not seen him for a bit as he's been working hard on stuff that actually helps him pay his mortgage. Paul's a great guy and I hope he manages to work user groups back into his schedule on occasion. Even if he doesn't, I'll make sure I don't lose touch with him.
Over all, I had a great time at the meeting, even though I never got a chance to talk to Robert Scoble. Oh well. I'm sure he's a great guy, he just kept happening to be on the opposite side of the room I was on all night until he left and skipped out on his tab 
-- Matt Ranlett
Shawn Wildermuth organized a great Geek Dinner, co-hosted by Robert Scoble. Everyone shows up and orders overpriced specialty beers and food at 5 Seasons - our favorite Geek Dinner spot. To keep everyone's order straight with their bills, the waitress takes everyone's card and runs it through to open a tab for each individual order. At the end of the meal, the cost is charged to the card now on file and everyone just has to sign a receipt. Every but Scoble, that is! He managed to leave without signing his slip and b/c his card didn't run through correctly (unnoticed by the waitress at the time) she doesn't even have a card number for him.
So now Robert owes Paul Lockwood $45
-- Matt Ranlett
 Thursday, July 21, 2005
Last night was the first time I’ve ever attended one of the Atlanta SPIN meetings. This group seems to be targeted at project managers and seems to cover topics like Scrum and CMMI. These are great topics, but outside of my personal area of interest so I probably won’t be going back unless they get another headline speaker like Mr Randy “Granville” Miller. I will say this about the group – they had the most formal meeting and leadership structure I’ve ever seen in a community user group! We had about 35 people in attendance, which one of the SPIN leaders said was extremely good turnout for their groups.
Randy Miller has an impressive pedigree in the Agile development community – he’s worked for years at Borland and Microsoft to bring eXtreme Programming and Agile techniques to the masses. He’s written several books, including an upcoming book soon to be released. Randy came to the SPIN meeting to talk about his work with Microsoft and the Microsoft Solutions Framework (he actually got “yelled” at for starting his talk too early!).
For those unfamiliar with MSF, you can learn a lot on the Team Systems MSF homepage. Essentially, MSF is a set of software tools which help you stick to a software development process. For example, you have a business analyst talk to a customer and write up a list of requirements. The list of requirements is broken down into small tasks by project managers. The developers estimate how long each task will take and hand the task list back to the PMs. The PMs schedule the development cycles and turn the tasks back over to the development team. The devs work like mad getting quality stuff (including automated test (we hope) out to the test team and finally everything is built for the customer. In this development process, there are some tools helping you get through the process. The business analyst might use Excel spreadsheets. PMs might use MS Project. Devs and Tests might use Visual Studio. Visual Studio Team Systems can actually link all of these tools together with the built in issue tracking and reporting system so the experience of managing the software development process is seamless. MSF for Agile is one type of software development process. There are countless other methods which can be used with VSTS – Scrum, CMMI, Iterative, Rational, Waterfall, etc. That’s actually the coolest part of MSF – it can be completely customized to your particular method of development. MSF for Agile, out of the box, is simply a set of recommendations and process guidance for Agile development.
Randy spent 99% of his time showing us the tools, only resorting to PowerPoint to display a graphic and web links. We watched as he started a brand new project and talked us through adding requirements, planning out iterative cycles, breaking larger tasks into smaller tasks, reporting on the status of those tasks, etc. The “business analyst” persona created a spreadsheet of requirements, which was checked into a SharePoint work area. The spreadsheet was imported to Project, which automatically populated the VSTS work items. We did some fake scheduling and prioritizing and we were ready to develop. We looked at several reports showing our status and what things would look like as they went wrong.
Randy was a great presenter and I’m sorry that he only had an hour to talk to us. I felt that he had more to say if only he had the time. Oh well. If you were unable to make it to the presentation, I hope that my blog entry piques your interest and you start to learn more about the extraordinarily flexible toolset that Visual Studio Team Systems offers.
-- Matt Ranlett
 Wednesday, July 20, 2005
The next Atlanta MSDN event takes place on August 28th. Check out the topics Glen is planning on covering:
Be sure to register early as we've been hearing about 400+ people registering for these events.
-- Matt Ranlett
 Monday, July 18, 2005
With the help of people in the user group community we loaded the initial website for SharePoint 1,2,3! We will get the registration set up this week so check back and make sure you register for the events.
If you do not know about the SharePoint 1,2,3 event it is part of our new user group, the Atlanta Microsoft Professionals.
Thanks to Jake Dan Attis, Keith Rome, Chris Wallace and Matt Ranlett, who are the other guys that are helping to put this event together. Make sure and thank them for giving up their weekends and nights to help out with the event.
We have many more ideas and events that we want to try to plan, so we will keep you posted on what is to come.
—Brendon Schwartz
Posted with BlogJet
 Thursday, July 14, 2005
I’ve recently blogged about SharePoint123 – the upcoming series of SharePoint training hosted by the Atlanta Community. The Atlanta Community organizing the SharePoint123 sessions has decided the best way to keep things organized is to form a new user group – the Atlanta Microsoft Professionals. The mission of the Atlanta Microsoft Professionals is to study in depth some of Microsoft’s tools, including SharePoint.
We’ve finally gotten a rough web presence online for the Atlanta Microsoft Professionals User Group at www.atlantamspros.com. We will be putting up a site for the SharePoint123 events very soon, but the user group site at www.atlantamspros.com will be the central point for membership registration. Register with the site to receive all future newsletters and e-mail communications.
— Matt Ranlett
posted with BlogJet
 Wednesday, July 13, 2005
Wednesday, July 20th, Randy Miller from Microsoft’s Visual Studio 2005 Team Systems group is coming to the Microsoft Offices to talk to the SPIN process User Group about the newest features of Visual Studio Team Systems and MSF Agile. For more information, visit www.atlantaspin.org. To prevent us from having three User Group meetings in a single week, we have elected to cancel the Monday meeting of the Atlanta Mobility User Group.
-- Matt Ranlett
posted with BlogJet
Bill Baker, program manager of the SQL Server Business Intelligence team, is coming to town on July 21st to speak to the SQL Server User Group. To accommodate Mr. Baker’s busy schedule, the SQL Server group will be meeting in the Microsoft Offices off of Mansell Rd instead of their normal meeting location in the Concourse buildings. Be sure to visit www.atlantamdf.com to register for the meeting. Registration is used to calculate how much pizza should be purchased.
-- Matt Ranlett
posted with BlogJet
 Tuesday, June 28, 2005
Announcing the Portal Development Mini Code Camp – featuring Maxim Karpov
Microsoft Charlotte Campus
8050 Microsoft Way AP2 Building Charlotte North Carolina 28217
Register Now
Join us for our newest Charlotte Code Camp! This one day Code Camp consists of a single track, and is dedicated to portal technologies such as SharePoint, DotNetNuke, and ASPNET 2.0. Our speaker will be Maxim Karpov, who has been one of our highest rated code camp speakers. All PPTs and samples will be given out to attendees.
As always, the Code Camp Series represents the best technical content by the local developer community and select Microsoft Developers, put on for the community, at no cost. Code Camps are always free and guaranteed to be the most fun that you can have anywhere!
Tentative agenda (subject to change):
8:30-9:00 Registration 9:00-9:15 Opening comments 9:15-11:00 Session 1: What is a Portal Application/Glimpse of technologies 11:00-11:15 Break 11:15-1:00 Session 2: SharePoint Technologies 1:00-2:00 Lunch 2:00-3:45 Session 3: DotNetNuke 3:45-4:00 Break 4:00-5:45 Session 4: ASP.NET 2.0 5:45-6:00 Closing comments 6:00-7:00 Chalk board session
There are ONLY 200 seats available for this event, so sign up now...

http://blogs.msdn.com/trobbins/archive/2005/06/27/433183.aspx
 Monday, June 13, 2005
I let Brendon sleep in again. D’Arcy and I headed over to the convention center early again for breakfast. I swear – that Canadian is crazy! A wild man!
Anyway, the first session I caught was Rob Howard’s early morning cabana talk about his company Telligent Systems and their Community Server product (the successor to .Text). He answered lots of my questions and provided the group with a roadmap for the future of Community Server. Number 1 cool thing I learned is that Community Server’s main mission recently has been to provide multiple methods of access to their products. Not only can you browse their forums on the web, but they also support NNTP access to the forums so you can browse and reply the forums from your favorite news reader (Agent, Omea, Outlook Express, etc.). Since the Telligent Community Server runs the ASP.Net forums, I’ll be adding them to my list of newsgroups in Omea.
Brendon caught up with me at the cabana (he managed to make it for the last half of the presentation) and then we went to go give our stuff to Mark D. Mark D and Mark B drove down to Orlando from GA and offered to load up all of our stuff in their car so we didn’t have to ship it all back. This turned out to be really useful as Brendon and I took a few boxes of books to give to the groups. We managed to completely fill the trunk of Mark’s CRV.
Back at the conference center everything was shutting down. The vendor area had closed down the night before. The community cabanas were in “give away all the remaining stuff” mode so we got some packs of CDs for the groups. We helped break down the INETA booth by deflating some random palm trees and beach balls. We said our good-byes to everyone who was leaving that day and made plans with those who were sticking around to go out for dinner that evening.
Cut to Bahama Breeze. Brendon, Rob, and Caleb rode with D’Arcy (who’d rented a car as he was sticking around for vacation after the conference with his wife). Trisha and I caught a ride with Keith Nicholson, an old friend of Mark Dunn’s. We all went to Bahama Breeze for an excellent dinner. The rain was really coming down, so our initial plan to go to the hotel pool was crushed. Instead we decided to go to the Pac Man Cafe and Arcade in Port Orlando (near where the Jam Sessions and Influencer’s party had been). Trisha’s actually pretty good at video games. Caleb sucked and Rob didn’t play. Brendon beat us all at every game he played. We had all purchased cards that gave us unlimited play for an hour, so when our hour was up we headed back to the hotel. The plan was to go to the pool.
Back at the hotel, we all ran up to change, but when we got down to the pool we found that they’d already closed it due to the previously bad weather (which was clear by now). Too bad, it was a really nice pool complete with a lazy river to float around in. Brendon, Caleb, and Trisha found the hotel game room, complete with free Foozeball. Once again, Brendon showed off that he was the best at games. Whichever team he was on won. After everyone was tired of losing to Brendon we went up to the bar for a drink. At this point, Brendon was Elimi-dated. Has anyone ever seen that show on UPN or wherever where a group of guys tries to all date one girl, all at one time. She eliminates the potential dates, one at a time, until she’s down to just one. That was our running joke of the evening b/c Trisha was the only girl with 5 other guys. Rob and D’Arcy were Elimi-dated first b/c Rob quit after the Pac Man arcade (and D’Arcy left to drop him off and pick up his wife at the airport). Brendon was next, so it was just Caleb and I drinking a beer outside with Trisha. Ok, I had a beer, Trisha had wine, and Caleb had some fruity girly drink called a Red Devil. We made fun of him for that. Eventually I was the next to go – 12:30 AM and I was tired. So I left Caleb and Trisha with a half dozen of Trisha’s friends who we found inside the bar.
Tech Ed’s over. I had a blast, learned a lot, met tons of great people, got lots of UG swag, and basically ate and drank myself to oblivion. I’m exhausted!
— Matt Ranlett
posted with BlogJet
Brendon slept in this morning, so I left early with D’Arcy and headed over to the convention center to have breakfast. After breakfast I went to Rob Howard’s presentation on building data driven web sites. I’ll post the notes I took in another blog posting.
Yesterday, Mark D. told Brendon and myself that if we took the BizTalk mini-exam that we’d get free copies of the Sams Publishing BizTalk Server Unleashed, regardless of our scores. Now, I’ve never seen BizTalk. I attended 1/2 a session on beginning BizTalk on Monday and a cabana session with Mark Berry on Tuesday. Brendon’s company uses BizTalk in their solutions, so he’s been studying (he actually already had the BizTalk book). Anyway, I went and took the exam and apparently did well enough to get into the BizTalk/Commerce Server/Host Integration Services party at Universal Studios that evening. I was previously unaware of the party. I told Brendon about the party and that he should take the exam even if he already had the book.
I BEAT Brendon on the BizTalk exam! I know I was lucky, but it happens rarely enough that when I beat Brendon at something I get to gloat a bit. Now that I’ve gloated, Brendon says he committed to grinding me into the dirt with his score on the real BizTalk certification exam when it comes time to take it. I’m sure he’ll do it too… But for now, the story is that I beat Brendon at something.
After more cabana sessions, Brendon and I headed over to the BizTalk/Commerce Server/HIS party at Jimmy Buffet’s Marguritaville in Universal Studios. Open bar, prime rib, mahi-mahi… I think I’ve had more to eat and drink this week than ever before! After the party, Brendon and I wander around Universal with Marky Mark and the Funky Bunch (that’s what we started calling Mark Dunn, Mark Berry, and the people from the BizTalk dev team (especially Yumay – the PM for BizTalk – she’s funky). We watched Shrek 4D, rode the Mummy, Terminator 3D, Back to the Future (my head got bashed into the wall so many times on this ride I left with a headache). We also indulged in some more free food. I ate until I was ready to pop!. Good times!
— Matt Ranlett
posted with BlogJet
This entry is going to be really short. I forgot to take notes on anything I did, and now I’m writing this several days after the fact.
I do remember two things. At lunch I went with Brendon and Mark Dunn to watch a live taping of DotNetRocks. Carl Franklin had several PMs from the Visual Studio Team Systems product on stage with him for the broadcast. This will be episode 117 and I’ll let everyone listen to the episode as it’s posted on www.franklin.net.
At 6pm a bunch of us lucky enough to get into the Microsoft Influencers party headed over to the Millennium and Matrix clubs in Port Orlando to eat, drink, and be merry. Brendon and I both had a great time hanging out with Mark Dunn, Glen Gordon, Carl Franklin, Ted Pattison, Tim Ewald (I think that’s who it was – lots of alcohol was imbibed), Rob Zelt, Chris Williams, and more. I think it was about 12:30 or 1 when we finally left for the evening.
— Matt Ranlett
posted with BlogJet
We started our day at 7:30 am by meeting up with Mark Dunn and heading from breakfast to the second keynote address. This time the speakers were essentially Samantha Bee and Paul Flessner – vice president of Windows Server Systems. Paul’s actually been to Atlanta recently giving a talk about SQL Server. I think he’s had a promotion since then. Anyway, we had a cool demo of the new RFID support built into Visual Studio, SQL Server Reporting Services, and SQL 2005 64 bit vs 32 bit. It turns out that while Microsoft has the 3rd place marketshare of Database $$ behind IBM and Oracle, they are the #1 installed database across all platforms (including Unix, Linux, and mainframe) in the world. This includes leadership in the enterprise application area. The capture fewer $$ b/c they cost so much less. The sideshow talked about a $320,000 per processor cost to install IBM’s DB2 vs Microsoft’s $25,000 per processor cost.
After the keynote it was my turn to work the CodeZone booth. CodeZone has officially launched now, so I can tell you what it is. Head over to www.codezone.com to check out the next evolution in developer web portals, this one supported by Microsoft but driven by the community at large. Sign in and create a profile which identifies your particular development interests and your location (zip code). The portal site will allow you to add your favorite blogs and news feeds to your portal desktop. As the site is based on ASP.Net 2.0 web parts, you can drag the content windows around to fit your particular needs. One of the best parts is the local events container. Since this is a community driven site, if anyone enters something (a new blog, a new event) which the system thinks you might be interested in, you get informed as the new items bubble up onto your screen. This is sort of like a MyYahoo or MySharepoint portal site, but developer focused.
Brendon and I had lunch with Todd Fine and the RDA crew. Most of the lunch conversation was dominated by RDA business, but we did occasionally discuss the conference and the sessions. The RDA people seemed to really be focusing on the BizTalk sessions.
After lunch, Brendon and I headed over to the cabanas to listen to a BizTalk session with Mark Dunn and Mark Berry. Mark Berry presented an intro to BizTalk’s context driven routing. To those of you who aren’t sure what BizTalk is, it’s a product Microsoft sells to help connect systems together by taking messages (output) from one system, performing required changes on the message, and sending the message to the next system in the chain. BizTalk is an Enterprise Application Integration program, able to connect several systems together with a single central point of orchestration. When talking about context based message routing, BizTalk is able to promote certain elements of a message to the message context or header. Then, based on the information in the context, certain operations can be done. For example, let’s say we have an order processing system taking in orders from both the US and Mexico. If we wanted to send the US messages to one shipping department and the Mexican messages to another shipping department, we could promote the origination location information to the context and programmatically decide which send port should receive which message. Logically quite simple, the extreme flexibility of the BizTalk product make this less than trivial to configure. Mark Berry was an excellent instructor and gave me a thorough understanding of the hows and whys behind context driven routing. I’m sure that I’ll have to do more research if I ever actually want to use the entire product, but I’m now aware of the high quality of training programs available at Dunn Training.
Tuesday night featured the CodeZone launch party – open bar, shrimp, sushi, alligator, potato cups filled with cheese and more. The food was great and the company was better. I saw lots of (now) familiar faces and spent some time chatting with Chris Williams from South Carolina, Trisha Lacey from Microsoft and CodeZone, Caleb Jenkins from Oklahoma, Frank La Vigne from Virginia, Rob Zelt from North Carolina, and more. If I miss names, I apologize. I’m writing this from memory and I did have a drink or two. I did want to mention the cool toys Trisha handed out to those of us on the CodeZone beta testing team. We got these neat digital compasses which will be very handy whenever we go camping or driving around in unfamiliar territory.
After the CodeZone launch party, several of us headed over to play the Mobilizer Madness game. If we won we could win a smart phone or some other fancy electronic doodad. Here’s the game: you get an internet aware Pocket PC phone connected to a website. You have to follow the prompts to answer a variety of questions and complete a variety of missions. We had to use the Pocket PC to take a creative photo, answer two questions about previously delivered mobility-based sessions, and interact with a variety of actors sprinkled around the convention center. Our character interactions involved playing Boggle, attempting to pick up a woman at a coffee bar, making a “tourist” laugh, and listening to a story for hints from a guy dressed like a Blues Brother. The entire affair was timed – 1 hour to get as much done as possible. We ended up coming in 5th place out of 15 teams, but we blame our poor performance on the two kids who joined our group. They ended up with the phone as the contest started and were fairly intent on not giving it up. They had this terrible habit of reading half of the question and then taking off running at top speed away from us. We wasted at least 10 minutes and split the group up several times trying to keep up with them. Brendon and I were sure that if we had control of the device we could have done better by fully reading the directions for each mission. Oh well – we didn’t end up in last place.
Following the Mobilizer game, Brendon and I headed over to the DotNetNuke Birds Of a Feather session where the creators of the DotNetNuke web portal software talked to us about the past, present, and future of their software. DotNetNuke runs hundreds of websites ranging from small community sites like the Devcow website to some extremely critical intranet sites. One guy at the BOF session was from a hospital equipment sales company who used DotNetNuke for 1500 users across several countries. The guys from DotNetNuke were extremely nice and were happy to talk about how they were making money on their free software, how they were looking for help from the community to build up their library of modules, and about their involvement and commitment to keep their software free for anyone who wants it. This was a great session and I received a copy of the Wrox book about developing for DotNetNuke as a result of my brilliantly probing (or extremely uninformed) questions.
We ended the day by heading over to the TechNet Jam Session at a local nightclub where who do we see playing piano during Wild Cherry’s “Play that Funky Music” but Atlanta’s own Glen Gordon! He’s good too! We hung around for several hours, having a beer or two while chatting and listening to random blues-y/folksy music before heading out for the evening.
— Matt Ranlett
posted with BlogJet
 Wednesday, June 08, 2005
TechEd day three – the first session of the day is an ASP.Net session led by Mr XML Web Services Tim Ewald.
I showed up late due to a venue change (why when they change rooms do they have to put them on the opposite sides of the mile long conference center?)
- Thinktecture’s code generator takes a WSDL contract schema and creates a framework of the application, complete with all the appropriate web services attributes. This, combined with the WSDL generator Tim was in the process of demonstrating as I walked in (CodeFirst from XMLSoap.com?), allowed Tim to create a skeleton web service without typing a single angle bracket. These third party tools enable schema first design to be less painful than in the past. Remember that when you are specifying an external contract you need to give the web service binding a name and a location. Then in the web service method attribute you need to reference that binding
- It is better to pass objects around through web services rather than passing around individual parameters. Rather than passing strings and integers to the web service methods, use an object as the only parameter in and out. This enforces the contract first design and allows for looser coupling in design. This model also makes it easier to retrieve the body of the message as XML vs multiple parameters. When specifying the service method’s ParameterStyle attribute, be sure to use the SoapParameterStyle.Bare value
- Using the XMLSerializer is a great idea as it handles marshaling. It maps instances to XML and types to XSD. It won’t process data without clear XSD mapping. Restrictions include the fasts that it only processes trees of data, it only handles public data, no duplicate references, limited support for polymorphism and limited support for collections. You’ll notice lots of XML type information in the WSDL generated attributes. This allows support for polymorphic data through the XML Serializer. To do this, you have to inform the parent type about the child type. This is the limitation of polymorphism in the XML Serializer – this is for the XML API. When designing your WSDL contract, you need to annotate your XML base types with the child types so the marshaler and the schema generator can work correctly
- Missing data – if the message doesn’t contain some expected data, the XMLSerializer uses the default value for that data type. Missing ints become equal to 0, missing strings = “”. Extra data is ignored. The XML serializer is not a schema validator – that is up to you. For optional elements, you can detect if the parameter was actually sent over the wire by checking with xyzSpecified (use the XMLIgnore attribute when defining the schema). In the 2.0 version, you can use the “?” style in the definition of the class to define the type as nullable (ex public int? Age). By using he XMLElement IsNullable=”false” attribute means that an optional piece of content which won’t be passed over the wire as nil.
- Access to XML, it is useful to bypass default marshaling and work with raw XML for schema validation, transformation and complete control over (de)serialization. This gives you the ability to make decisions on a per type basis. To work with the XML object, it is inefficient to load up a DOM object to read the XML nodes. Instead implement the IXmlSerializable interface and stream the XML with the ReadXml (XmlReader), WriteXml(XmlWriter), and GetSchema methods. GetSchema is used in 1.0 and 1.1. In 2.0 you can use an XML Schema Provider.
- WSDL.exe running from the command line avoids choices made by visual studio.net and is the only way to generate a server skeleton. This helps resolve proxy namespace issues. Helps with duplicate type issues but you have to be careful with files URIs – use the full URI on the command line eg file://
- Sharing types – the plumbing generates XSD types in service namesspaces by default. If you use the same CLR type across services, you get types in different XSD namespaces. If you generate client code for each service, you get different incompatible types in XSD. This is a problem, so you have to get around it by applying an XMLType attribute to explicitly specify an XSD namespace. This is great but can cause collisions on the WSDL type definitions. In 1.0 you have to reference the external schema (writing the contract by hand) or you could use the SoapExtensionReflector. In 2.0 you can use “wsdl.exe /sharetypes” In 2.0, you must process all the WSDLs at one time for the comparisons to work
- Using facades – data formats exposed on the wire are almost certainly not what the service or client works with internally – it’s a simplified model for easy consumption. Services and clients use the facade pattern to isolate internal details of the service from the client.
- Versioning – ASP.Net offers no intrinsic versioning model. The goal is to evolve service without breaking clients. The most common solution is to build additional endpoints. This requires mapping multiple facades to common internal models.
- WS-I basic profile 1.0. Using this you can claim conformance to the WS-I basic profile using the WebServiceBinding. This is great for interoperability.
Tim’s demos reinforced how web services are a great method for building web applications today. Great show.
— Matt Ranlett
posted with BlogJet
So this is going to be a really short entry b/c I’m up late writing this (1:15am) and I wanted to get some stuff down before I forgot.
Tech Ed day 1 was awesome. I didn’t get to go to many of the presentations – I spent a large part of my day talking to people. In the morning I went to a Biztalk presentation that didn’t impress Brendon (but was over my head). After that presentation we wandered around talking to people for a while before meeting Rocky Lhotka and Keenan Newton (both from Magenic) for lunch. I have to mention this not b/c I was sitting at lunch next to Rocky, but because we spent a good deal of time talking about the very same debate about objects and O/R mapping vs database engines that I’ve alluded to a few times on the blog. The conversation was really interesting and I’ll be following up this blog with something dedicated to that conversation.
After lunch Brendon had to go work a booth for a while, so I wandered off to do my own thing for a bit. I was on my way to a When to Use What session about creating connected .Net applications when I ran into a member of UG executive team from the Wisconsin .Net UG – Gerry Heidenreich. Gerry and I stood around talking for about an hour and a half talking about all kinds of things, from UGs and leadership styles to knowledge management systems to German board games and even Lee Greenwood (sings God Bless America). We eventually migrated over to a couch to sit down, where we talked even longer about things like Wikis and interviewing candidates for hire.
I eventually hooked back up with Brendon, Rob, and D’Arcy and we made the obligatory swag run through the vendor booths. I’m coming home with two bags full of stuff to give away at the UG meetings.
After the swag run and grabbing some food for dinner, Brendon and I went to the Visual Studio Tools for Office cabana talk where we looked more in-depth at the impressive demo of .Net Outlook integration we saw at the Steve Ballmer keynote. The talk was really cool b/c we not only got to talk with several of the developers and the project manager – we also got to talk to the developers from the company who worked with Microsoft to create a reference application. They talked to us about how they have been able to make their information workers (in this case, recruiters for an executive placement service) significantly more productive by moving the data from three applications and multiple servers into a single view within Outlook. By integrating the applications into something the IWs had open all day every day and were intimately familiar with, they were able to drastically reduce complexity and help their recruiters to build relationships by giving them all their information in an extension to e-mail.
We finally quit at about 9:30 and headed back to the hotel. Brendon and I wandered around looking for D’Arcy for a while, but we never found him and eventually quit and headed off to our rooms after we got tired of talking to each other.
Great day and I’m looking forward to tomorrow.
— Matt Ranlett
posted with BlogJet
Samantha Bee from the Daily Show teamed with Steve Ballmer to give our keynote address. The keynote was a great presentation complete with several announcements. The first announcement was about a new service pack to Exchange and Windows Mobile – allowing push e-mail to remote mobile devices, including administration and security. For example, you can set up a profile to wipe out all the personal data on the device if the password is incorrectly entered X number of times. You can also remotely “clean” a device in case it’s lost. We also heard about a new Microsoft Update initiative to help bring uniform security updates across various sized organizations through the appropriate tools. Small businesses and individuals will continue to use Windows Update. Large organizations will want to use the Microsoft Server Management stuff (I forgot the product name) but everything is based on the ubiquitous Windows Update service agent. We saw a cool presentation where Microsoft Operations Manager (MOM) 2005 was able to remotely administer and operate both Windows machines and other operating systems (the demo used a Sun Solaris server). We saw a really slick demo of the Longhorn file system interface (Explorer with some major enhancements). Each of the demos was accompanied with a fun video presentation and some humorous comments by Samantha Bee. My favorite humorous sketch was where Samantha and some guy re-enacted the kinds of problems IT admins and developers have with each other – using puppets. Good stuff…
I’m writing this entry from the back of the room while in a Biztalk presentation. Unfortunately, I entered the presentation in the middle because the keynote ran a bit long. The talk seems to be a good explanation of how Biztalk, Infopath, and WSE can work together to bring some really impressive flexibility and agility to business process orchestration. Basically, we’re taking an info entry web page (generated with Infopath) and sending the messages through WSE to a Biztalk module. We got to see the Biztalk WSE web services publishing wizard (the wizard is actually within Visual Studio!) I sit here realizing that I don’t really know anything about Biztalk and I have a lot of studying to do.
— Matt Ranlett
posted with BlogJet
It’s already the first day of TechEd as I write this. It’s actually 7am and I’m sitting in the convention center in front of one of the Hands-On Labs (a SharePoint lab). I wanted to save the actual TechEd day one notes for a separate blog entry, so I’m going to focus on the INETA User Group Leadership Summit which took up the entire day Sunday.
Brendon and I, always the eager beavers, started out volunteering to help out with organizing and checking in attendees. We met with Sara Faatz (now one of the INETA Vice Presidents) and Samantha Spears (Atlanta’s own INETA head honcho). They rapidly realized we were just going to pester them until they let us do something so we started carrying boxes full of books, nametags, t-shirts, etc up to the checkin table. Then Brendon, Sara, and I checked everyone in and made sure the people had nametags, t-shirts, books, and more.
The morning was filled with keynotes and introductions from the Microsoft INETA and Culminis liaisons, the VP of the Exchange team, and a really cool demo from Ari Bixhorn, part the Indigo team. Lots of great information was flowing around the room, most important in that was the actual introduction to INETA (the International .NET Association – an entirely volunteer organization with a single paid executive director (Samanatha Spears)) and Culminis (equivalent to INETA but for the IT Pro side of the technology workforce as opposed to the developer side). Brendon and I came away with a great impression of the guys from Culminis and a resolve to try to meet with them and wrap them into the collective mind-share that has been happening with the developer community. It’s great to share the leadership experience amongst the group and have the other people as resources to lean on.
Lunch was provided by the hotel, and was one of the best conference meals I’ve ever had. If you feel like throwing a convention in Orlando and the JW Marriott is in your price range, I heartily endorse it based on the quality of the meals alone! After lunch a group of us took off to go through early registration at the Convention Center (a huge place comparable in size to the Georgia World Congress convention center).
The second half of the day was filled with user group leadership workshops. Lots of different topics including financing your UG, maintaining members, writing effective newsletters, developing an online presence, etc. Each of the sessions that I attended began with fantastic information and usually ended with the various UG leaders talking about their own various successes and problems. Everyone present was a fount of information and experience, and I took three pages of notes based solely on what’s worked at other UGs. I’ll be typing up these notes and sharing them with the rest of the Atlanta UG leadership team (Doug W, Doug M, Jim, and Keith – and of course Michael E in his role as the INETA liaison and general advisor).
After all the workshops ended, INETA threw us a party (open bar) where anyone who didn’t have a chance to meet and mingle from before got to sit down and swap stories. Mark Dunn even managed to show up (why did he only make it to the part with the open bar, I wonder?). Once we finished eating and drinking our fill, my crew and I (Brendon, Caleb, Chris, D’Arcy, and Rob) all took the bus back to the convention center to play some Xbox games and relax for a bit. Rob and Brendon quit playing Xbox with me after I beat them too badly at Halo 2. Quitters! We hung out a bit more and then all got back on the bus to head back to the hotel. The trip back was filled with really bad jokes (I broke out my library of Guys with No Arms and No Legs jokes) and general good humor. Everyone is excited.
We all have had a great time and I really want to thank the folks at INETA who managed to make this event possible and of course our omnipresent sponsor Microsoft. Thanks for everyone’s hard work and participation!
— Matt Ranlett
posted with BlogJet
 Sunday, June 05, 2005
I get up at 6am the day before the main TechEd event so I can be downstairs bright and early. Today is the INETA User Group Leader summit – 12 hours of how to be a better User Group leader. In talking last night to several of the people who are already here, Brendon and I have some great new ideas to try out on the groups in Atlanta. I have a feeling that today is going to be a whole lot of fun.
— Matt Ranlett
posted with BlogJet
It’s Saturday, two days before the official start of TechEd 2005. I’m travelling down to Orlando with Brendon, courtesy of Microsoft and the fine folks over at the CodeZone Refresh department. Brendon and I participated (along with about 20 or so other people) in the beta testing program for the Code Zone refresh, and our participation in the beta test program earned us scholarships from Microsoft – free travel, hotel, and TechEd registration. I want to thank Doug Turnure for getting us into the beta program, as it’s been AWESOME so far!
Brendon and I get on a 4pm flight to Orlando where I end up sitting next to a guy from California who works for a Defense Department subcontractor building and maintaining armored vehicles for the military. Interesting conversation, that one. He also bore a striking resemblance to the guy who played Bernie from Weekend at Bernie’s (the dead guy). Brendon and I get off the plane at 5pm and go down to get our luggage. On the way to the luggage carousel, we meet Hugo, our limo driver, who is holding a sign with our names on it. No shit – a limo (well, a Lincoln Towncar, but still nice)! We get our luggage, drive to the HUGE J.W. Marriott which is attached to the Ritz Carlton down here, and get checked in by a pack of greeters and desk clerks who swarm over to us like bees to honey. We thought we’d done something wrong, but they were just trying to be incredibly nice and helpful. We get our stuff dumped off in our rooms and go to explore the area. We managed to find the INETA pre-conference prep room and wander in to say “Hello”. We meet Samantha Spears, Chris Wallace from Denver’s UG (not to be confused with the Chris Wallace of Atlanta), and more. We chat and help them get all the name tags set up, along with Caleb Jenkins from Tulsa and D’Arcy from Winniepeg. After helping out for a while and talking to the fine folks, Brendon, D’Arcy, Caleb, and I decide to share a cab over to the Geek Dinner hosted by Jeffrey Palermo. $25 one way! Anyway, we find the dinner and Rob Zelt of Raleigh and Chris Williams of Charleston. Also in attendance is Scott Hanselman (who makes it away before Brendon and I can introduce ourselves) and lots of other really nice people. We eat some food and make fun of Canadians (D’Arcy and Rob are Canadian) while the main group retires to the bar. We were going to join everyone in the bar, but the true geek pops out and Chris announces he’s got to get back to his room quickly so he can charge his PDA. Chris and Rob aren’t staying at the same hotel as Caleb, D’Arcy, Brendon and I, but because we’ve decide that the $25 cab is too expensive to take back to the hotel, so we convince Chris and Rob to give us a ride back to the hotel. We then discover that, “Yes!”, you CAN fit six developers into a two-door Chrysler Sebring hardtop! Expect fun photos from D’Arcy’s camera soon. Everyone goes their separate ways back in the hotel. I get back to my room to find a welcome food basket on my bed – chocolates, cheese straws, truffles, fancy water bottle, and a pocket knife of some kind. I didn’t open the shrinkwrapping yet, so I don’t know what else is in there.

— trouble with the photo uploads = photos at the end of the week.
Expect sporatic reports from TechEd. I’ll be recording as much as I can, but I don’t have Internet access in my room (I’m not paying $10 a night for Internet!). Why do the more expensive hotels charge for the stuff you can get for free from the cheaper hotels? Courtyard Marriotts give away wireless Internet access like it’s going out of style!
— Matt Ranlett
posted with BlogJet
 Monday, May 23, 2005
Pat Piccolo has posted some of his photos from Code Camp online. Check them out here.
— Matt Ranlett
posted with BlogJet
 Sunday, May 22, 2005
I made it to the Developer Expo this past Friday ( I took the day off work – burned a VACATION DAY for it, but it turned out to be worthwhile )
Kirk Evans gave us a preview of the new Visual Studio Team Services as part of the keynote. I’ve actually heard about this stuff before, so I’ll just link you to more information about it rather than going into detail in this entry: VSTS
Structured a lot like Code Camp, there were three tracks with five total breakout sessions. I’ll tell you about the ones I went to.
Service Orientation per Kirk Allen Evans:
Connected Systems are not all about communications – it’s about bringing your applications to new life. It’s about “increasing revenue and reducing costs” – Kirk’s most repeated quote. The list of advantages to connected systems and the challenges look like the same list; info worker productivity, business agility, value chain integration, end to end security and trust, seamless access to information. Basically, with connected systems, once you figure out how to get past the challenges, they become advantages in making your enterprise more adaptable and faster than your competition.
The problem with connected systems – getting data from point A to B to C with context.
Attempts thus far.
-
REST: representational state transfer – recently hyped as web services by Yahoo, Amazon, and others. REST = POX (plain old XML) bound to HTTP. REST sounds like SOAP without the envelope – deliver an XML packet and use HTTP verbs to decide what to do with the XML.
- EAI – application integration through a central system. High licensing cost, complexity, vendor lock in , scalability (single point of failure)
- ESB – Enterprise Services Bus – many interconnected central points. Architecture or SKU(product). Programming model silos, slow to adopt WS-*. MS answers with BizTalk and CSF (Common Services Framework) today, BizTalk and Indigo in the future.
SOA – another step on the path to the solution. SOA is yet another attempt at effective distributed programming (DCOM). DCOM was too tightly coupled (you had to share types, languages, and ports) to work well. SOA decouples and only cares about the contract (how to format) and the message (the payload). We’re driving to connected systems (HST architecture). To do that, use the WS-* architecture. The messaging is based on SOAP b/c everyone can speak it. Security, Reliable Messaging, and Transactions are provided by WS-* extensions. BizTalk is an implementation of the WS-* specs. Indigo is a better implementation of the WS-* specs. It allows for secure, reliable, transactioned messages in three lines of code (as opposed to 27000 lines of code required with WSE 2.0 or 56000 lines of code prior to WSE). XMLSchema is the canonical schema – the authoritative, common definition. The schema doesn’t change. XML Schema is not actually a single schema – it’s a big bucket of lots of different schemas. Use the schema to fix the contracts surrounding the use of web services.
FYI – I really had a blast watching Kirk present – he’s a natural, standing up in front of the group trying to restrain himself from craziness like flicking everyone off as he gets wrapped into his own stories. He’s a great presenter – the best I saw all day.
Richard Weeks from Avanade presents the Enterprise Library:
The Enterprise Library wraps several of the PAP application blocks (Data, Config, Crypto, Security, Exception, Logging, etc). The goal of the enterprise library is to simplify the use of these blocks. For example, the extremely slick Configuration tool (add to the Tools menu by customizing the menu) will create all the XML in the App.config file based on a user friendly GUI as opposed to writing the XML on hand. The Database block allows you to connect to a DB, execute a stored proc, and bind the results to a grid in three lines of code. The logging component makes logging so easy it’s almost hard to believe. One line of code – Logger.Write(“text here”) – that’s it! Based on the config, we were logging to two places at the same time with independently configurable levels of detail. The exception component allows “exception policies” to be defined and log, wrapping an exception with another exception, replacing an exception with another, or create your own action. The exception policy tool was really sweet – complete with a list of potential exceptions (reflection, anyone?) you can select from. Dan and I both enjoyed this presentation – it looks like something really useful.
Kevin Heldt from Internosis Inc walked us through the development platform for SharePoint:
We looked at the Sharepoint Object Model and how to program against it. The first two demos were us creating an entire portal site and then adding documents to that site through a separate Admin tool we created in code. Next we looked at Web Parts and how web parts can be used to provide ASCX type functionality within SharePoint, including creating a Provider – Consumer model to create a data binding relationship between different SharePoint webpart components. Finally we looked at the process to deploy a SharePoint Web Part to a SharePoint site.
Scott Bounds from the Microsoft Communications Sector presented Microsoft Identity and Access Management:
How do you handle all the different logons required for all the different applications, both internal and external to an individual organization? In the past, everything was separate, today we try to integrate and pass security around, in the future we are heading towards federated systems. The MS core foundation for authentication is Active Directory, a central focal point for network and user management. AD Application Mode (AD/AM) for LDAP is for local app data. AD/AM is basically Active Directory but with only LDAP and replication, none of the other authentication stuff AD supports (like the SAM and Kerberos). It runs as a non-OS service. Addins like the Microsoft Identity Integration Server 2003 (MIIS) tie lots of different 3rd party applications like SAP, Sun One and other stuff (non-MS stuff) for user synchronization and provisioning. The goal, as Win2k3 heads towards Service Pack 1, is to reduce the cost of password maintenance. Plus, you can do mapping between identities so you can expose user credentials to extranets and external users. This allows separate companies to authenticate each others users across trusted relationships.
Leslie Sistla from Microsoft gave the presentation on SQL Server 2005:
SQL Server 2005 comes with some new Enterprise Data Management features such as a new isolation level, database snapshots, database mirroring for high availability. Also Developer productivity and business intelligence features. Developers get the ability to integrate with Visual Studio and can use multiple languages. You can write T-SQL for data intensive function and .Net languages for CPU intensive functions and you can seamlessly step cross-language.. You also get a new XML data type. Recursive queries and try/catch exception handling are now supported in SQL Server 2005. SQL2k5 fits into the SOA model by providing direct web service access to SQL Server. Query Notifications enable responsive multi-tier caches. Service Brokers work with distributed messaging and queues. In Reporting Services 2005, the Business Intelligence Management Studio (separate from the Management Studio) will be able to design reports without Visual Studio. Coming in 2005 with SQL Server Visual Studio 2005 is a Local Mode where you can run reports without requiring an IIS server. The expected introduction of SQL 2005 brings with it some significant ADO.Net enhancements. I’ll blog more about that stuff later.
There was a lot of good information packed into these sessions. I’d have loved to make it to 3 or 4 of the discussions I couldn’t attend. At some point the content will be placed online. I’ll post links to it when I get it.
— Matt Ranlett
posted with BlogJet
 Saturday, May 21, 2005
If you have not seen Glen Gordon present you are really missing out. Every time I see one of his MSDN Events they are always better than the one before it. This time the parking lot was full because right after the MSDN event Star Wars 3 was showing. Glen really showed his love for Star Wars when he got there at 7 something AM to protect his space runner from being over taken. This was a very interesting MSDN and the topics were intriguing considering I had just heard the Indigo presentation from David Chappell that morning. The reason I found it intriguing is because the first topic was on Web services and WSE 2.0. Glen did a great job of showing how to create and consume the services. Next Glen showed us how you can WSE 2.0 for your web services to make them more secure, trace their output, and many other options just by clicking the options from the WSE 2.0 screen. You still ask what was so intriguing about David Chappell with Indigo and WSE 2.0 by Glen. Well it appears that Indigo will only support WSE 3.0 so you will have to rewrite your applications that are WSE 1.0 and WSE 2.0. I wouldn’t think that Microsoft would make an MSDN event focused on pushing these technologies without making the point of best practices for moving forward.
After a short break and the popcorn people running out of popcorn temporarily we headed back into the theater for the next presentation. Glen started out telling us it was SQL 2005 so I was interested in that, but then he showed us so really cool features of SQL 2005 like creating a web service from inside SQL. This was a really cool feature if you just want to expose some data without writing a wrapper class. He also showed us how to use Reporting Services to create a URL that you can call from a browser. Once he had the URL he created an application that called the Reporting Service (SSRS) web service. He used the Render method of the web service and put tiff files of the report in a Winforms application. Really cool idea!
The last topic Glen talked about was Click Once deployment; it had the most amount of questions. It was Click Once deployment. This was a neat feature to see, but nothing really new from the App Updater Block. He showed us how you can easily deploy your project with a few settings for another person to download. You have the option of creating the application to put a Start Menu item in the Start Menu or just running from the web. He changed the background of the main form and downloaded it with the options. To do the coding demos Glen showed off some of the capabilities of Snippets. I really enjoyed the sessions and hope everyone there had a great time. The content was given out in DVD format and so was VS 2005 Beta 2. Check out both of these resources for the code shown and the tools to build them with. See you at the next MSDN Event for ASP.NET 2.0.
— Brendon Schwartz
Posted with BlogJet
 Thursday, March 10, 2005
The speaker list is finally up on our site. Sorry it took so long to get it there. We have the tracks and speakers up and we will make them all easy to get to by this weekend. For the time being check out the tabs we have if you want to know who is speaking or what the presentations are.
Speaker List
Presentation List
We still have a lot of work to do, but I thought you would rather have the content as soon as possible.
--Brendon Schwartz
 Thursday, February 24, 2005
© Copyright 2010 Atlanta .NET Regular Guys
Theme design by Bryan Bell
newtelligence dasBlog 1.7.5016.2  | |  | Page rendered at 3/16/2010 6:20:13 AM (Eastern Standard Time, UTC-05:00)
Reset | Slate | Movable Radio Heat | DasBlog | Just Html | Candid Blue | Discreet Blog Blue | Movable Radio Blue
|
On this page....
| Something wicked (cool) this way comes... |
| SharePoint 1,2,3! Registration is ready |
| SQL Server Road Show |
| The Indigo Roadshow is not coming to Atlanta - bummer |
| Evangelizing SharePoint 123 |
| Fun times at the Geek Dinner |
| Robert Scoble ducks his tab at the Atlanta Geek Dinner, July 24, 2005 |
| Randy Miller and The Atlanta SPIN Group July 20, 2005 |
| Glen Gordon posts the MSDN Event topics for August 28th |
| SharePoint 1,2,3! Website is now up |
| SharePoint123 and AtlantaMSPros.com |
| Atlanta Mobility UG meeting cancelled for Monday, July 18 |
| SQL Server group moved to Thursday, July 21 |
| Announcing the Charlotte Mini Code Camp |
| TechEd - Day 5 (that's all, folks!) |
| Tech Ed - Day 4 |
| Tech Ed - Day 3 |
| Tech Ed - Day 2 |
| Top Ten Tips and Tricks with Web Services and ASP.Net per Tim Ewald |
| Tech Ed - more of Day 1 |
| TechEd - day 1 (the Keynote) |
| The day before TechEd |
| TechEd - the INETA User Group Leader day |
| Travelling to TechEd - the day before the day before all the festivities |
| Atlanta Code Camp photos online |
| Microsot .Net Developer Expo |
| MSDN Event and Star Wars - 19 May 2005 |
| Calling all speakers |
| Does the word BizTalk get your attention? How about FREE? |
| | Sun | Mon | Tue | Wed | Thu | Fri | Sat |
|---|
| 28 | 1 | 2 | 3 | 4 | 5 | 6 | | 7 | 8 | 9 | 10 | 11 | 12 | 13 | | 14 | 15 | 16 | 17 | 18 | 19 | 20 | | 21 | 22 | 23 | 24 | 25 | 26 | 27 | | 28 | 29 | 30 | 31 | 1 | 2 | 3 | | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
Search
Navigation
Categories
Blogroll
Sign In
|