Saturday, June 18, 2005

The Hong Kong Octopus Card is a wonderful kind of smart card where you can put money on the card (and the money is stored on the card itself, not on some central server) and use it like a debit card.  The nice thing about the card it that it works via radio signals or something, similar to the security systems in lots of corporate buildings where you hold a card up to a plate to get through a door.  So you don’t even have to take it out of your wallet or purse.  This payment system is the de facto method of paying for the subway system here, but tons of merchants accept it too.  There are even vending machines that accept it!  All I have to do is press my butt up against the vending machine and I get a soda!  Pretty darn cool!

I know that this kind of thing exists in other places, but I doubt it is as well integrated into the culture as the Octopus Card is integrated into Hong Kong.  The thing is pretty much everywhere, and I love it.  I see that in the US some of the movie theaters are starting this up with a MasterCard type of smart card.  I’ve seen them at Regal Cinemas.  The problem is, in Atlanta, I don’t know where to buy a card and recharge it.  However, it is a great way to give money to someone (I’m thinking of children here) and them not being able to use it for anything other than what you intend them to do with it.  I’m hopeful that this takes off in the US as it’s really really convenient.

— Matt Ranlett

posted with BlogJet

6/18/2005 10:03:24 PM (Eastern Standard Time, UTC-05:00)  #    Trackback

Works over for me out here and I’ve got three days of vacation.  I spent one of them yesterday wandering around Hong Kong on my own.  I’m going to compare my visit to Hong Kong to the time I wandered the streets of New York City.

First of all, Hong Kong is actually made up of two islands and part of mainland China.  My hotel and the place I’ve been working are both on the mainland, which they call the New Territories.  The hotel is nice, but it’s way out in the suburbs.  I took a shuttle from the hotel to the edge of the mainland, a place called Tsim Sau Tsui or TST for people who can’t say Chinese words.  Wandering around here was a lot of fun.  I’d compare this to the Times Square area of NY.  Lots of neon signs pointing your way into electronics shops, lots of music blaring from the various CD and movie shops, and lots of little restaurants.  I ate dinner in one of the restaurants here.  You know how they say back in the States that if Chinese people are eating in a Chinese restaurant, it must be good?  Well, that’s harder to decide in China, but I picked on where the Chinese people were forming a line or a queue (crazy Brits and their crazy words) outside waiting to get in.  It was worth it.  I’m not sure I can tell you exactly what it was I ate, but there was chicken, beef, and rice.  I picked it from a picture.  I also got a “special drink” which translated into a kumquat smoothie.  Tasty!  I think I spend a total of 5 or 6 hours walking around TST looking in the electronics shops and the various curio shops (I wish I thought to bring my pedometer – I’m sure I went 5 miles).  I didn’t buy anything, but I did notice that prices vary wildly from shop to shop.  I found that I could save nearly $120 US just by looking in each store.  Of course, that was on the really fancy new cellphone I lust after but won’t allow myself to buy.  Back at TechEd, Glen Gordon showed the i-mate JAM off to me and told me it ran at nearly $650 in the States – I found it for around $520 here.  Le sigh. 

The other thing I noticed while wandering around TST was that I got hit up by street vendors for nearly everything – especially what they call copy watches and massages.  I’ll get into the copy products in a moment, but let’s focus on the massages.  There’s a huge cottage industry built up around reflexology and foot massages here.  I couldn’t walk a single block without being asked at least twice if I wanted a foot massage.  Of course, I also got offers to massage pretty much all the other various bits of my body – including the kind of “massage” where I’d be concerned that I might catch leprosy and have the various “bits” fall off. 

The people I call the “copy people” were very intent – they want to sell me a fake Rolex or something really really badly.  There’s a guy on the street and he’ll show you his watch and ask if you want one by reciting a litany of watch brand names.  I didn’t even recognize all of them.  Should I have said I was interested, they would have taken me to show me their wares somewhere.  Apparently they have rooms inside the tall buildings somewhere.  I didn’t go with anyone to find out.

The only people more intense than both the massage people and the copy people were the tailors.  There’s at least one guy pimping for a tailor shop on every major street, and these guys follow you around trying to talk you into buying a custom made suit or something.  They’re doggedly persistent and they’ll follow for half a block or more calling me “boss”.  Avoiding these guys was half the fun of walking around TST.

I noticed the copy people and the tailors ignored the locals, but the massage people were equal opportunity panderers.  Men got way more focus than women and Caucasian men got the most focus of them all.

After getting tired of TST, I jumped on a train which went under the water to Hong Kong Island and dropped me off in a place called Central.  This is the heart of downtown Hong Kong and was kind of like being in the really nice area of Manhattan.  I wandered into a really large, really nice mall (looking for both A/C and a restroom) and actually got lost on a single floor trying to find the right exit.  Way bigger than Lenox mall back in Atlanta, it also had nicer shops.  It was kind of like the Forums in Caesar’s Palace back in Las Vegas (which I saw when Kim took me to meet her family in Las Vegas), only larger.  There were four floors in this mall, and I only went on one of them.

Central was mostly a high end shopping district and way out of my budget, so I wandered uphill to an area called Soho.  Soho in Hong Kong is exactly like Soho in New York – lots of nice little restaurants and bars.  They close down some of the streets at night for people to walk around on, and I’m sure this is a happening party district.  The problem with Soho in Hong Kong is that it’s built on the side of a mountain.  One lap around this place and I was ready to call it quits.  Those hills were intense!  They actually have built escalators which will take you to the top of Soho so you can wander in a downhill fashion.  I didn’t find them until the end, so I was really done.  I walked back to the MTR train station and headed back to the hotel where I passed out at 9:30 from sheer exhaustion.

— Matt Ranlett

posted with BlogJet

6/18/2005 9:41:50 PM (Eastern Standard Time, UTC-05:00)  #    Trackback
 Friday, June 17, 2005

How many times do you sit down at your computer and think about patches and security updates on your own PC?  Probably not all that often.  Well, make today patch and security update day!

  • Go to Windows Update and makes sure you have all the latest critical patches installed.  If you are running without some publicly available security fixes, you DESERVE to have someone take over your machine via a security flaw
  • Update your Anti-Virus.  Even if you use an automatic updater, make sure it’s been connecting and getting the latest and greatest stuff.  I personally use AVG AntiVirus – the Free Edition.  Works great!
  • Update your Anti-Spyware program.  I personally like Spyware Blaster because it doesn’t run all the time, taking up system resources.
  • Download Microsoft’s Baseline Security Analyzer and scan your system.  This great little tool will scan Windows 2000, XP, and 2003 machines looking for configuration problems and missing patches in IIS, SQL Server, IE, Office, Windows Media Player, Exchange Server, Microsoft Data Access Components (MDAC), MSXML, Microsoft Virtual Machine, Commerce Server, Content Management Server, BizTalk Server, Host Integration Server.  Using this I found that I was missing 4 critical Office security updates and that I had too many admin accounts on the box.  I had unnecessary services installed and WAY too many file shares open.  I hadn’t run IIS Lockdown and my SQL Server 2005 Express product wasn’t configured correctly for security.  Lots of holes!
  • Check your Windows Security Center to make sure your three critical services are up and running – AutoUpdate, Firewall, and AntiVirus.  If these aren’t set to ON, fix it now.  If you can’t find your Security Center under Start/Program Files/Accessories/System Tools, install XP SP2 (not sure which 2000 or 2003 patches get you this)

Doing all of these things will help make your computer part of the solution to rampant computer viruses and spam instead of part of the problem.  If you administer more than one machine, do these things on EVERY machine you own.  Security is your responsibility and affects many people beyond yourself.

— Matt Ranlett

posted with BlogJet

6/17/2005 6:52:01 PM (Eastern Standard Time, UTC-05:00)  #    Trackback
 Thursday, June 16, 2005

I am not sure if every noticed that we have a geek dinner tonight!  I just wanted to remind everyone and make sure everyone knows they are invited.  All you other Atlanta bloggers make sure you inform the community too.  Here is where we are going to meet.

http://nerddinner.com/blogs/atlanta/

Sage Woodfire Tavern

11405 Haynes Bridge Rd
Alpharetta, GA 30004  View Map
(770) 569-9199

Also make sure you let Shawn know if you are going to make it so we have enough room for everyone. Email Shawn

— Brendon Schwartz

Posted with BlogJet

6/16/2005 3:24:39 PM (Eastern Standard Time, UTC-05:00)  #    Trackback
 Wednesday, June 15, 2005

Delta Airlines – “Please be careful when opening overhead bins as the contents may have shifted during flight”
Korean Airlines – “Please be careful opening overhead bins as contents may fall out”

I’ve been in New York’s subways and Hong Kong’s subways.  The crush of people are about the same.  In the middle of New York and the middle of Hong Kong, the cleanliness is about the same.  You hear the same mix of languages.  Some slight differences in the food vendors in the stations – I found a Mrs Fields Cookies in Hong Kong…

The cabbies in Hong Kong are even ruder than the ones in New York.  I swear people walking (ok, jay walking, but there are no crosswalks) across the streets have to literally JUMP out of the way.  In NY they’ll stop and swear at you, but at least they stop.  Not here in Hong Kong!

I can’t comment much about the food.  I live in Chamblee, Georgia (that’s Chambodia – Atlanta’s Chinatown, for the non-locals) so I’m not seeing anything unusual.  The people I hang out with have gone out for Mediterranean two nights in a row now, so I can’t say whether or not the Chinese food is good in China.  I have seen from the signs that the stuff that looks authentic in Chambodia is probably authentic.

The people here are all super friendly and all speak English.  This is not true back in the States.  However, English is no longer considered a top priority for foreign languages in schools here.  With the huge Chinese market opening up right next door, Mandarin is becoming the most important language.  This info comes from the mothers of children enrolled in Hong Kong schools.

Most of the people here have picked Western style names so they can better interact with the British and Americans.  I personally know an Alex, Susan, Raymond, Marcy, Vivienne, and Ben.  However, they apparently pick the names out in elementary school.  I also know a Kitty, Pinkie, Fanny, Lit, Bong, Candy, Venus, Jupiter, and Mercury.  Lots of fun, Western style!

 I know that there is more stuff I want to say in this category, but I’ve not yet fixed my sleep cycle so I’m about to fall over.  I’ll post more fun Hong Kong facts when I have a clearer head.

— Matt Ranlett

posted with BlogJet

6/15/2005 10:38:52 AM (Eastern Standard Time, UTC-05:00)  #    Trackback
 Tuesday, June 14, 2005

SQL Integration Services
The night started off with Douglas McDowell telling me there were between 80-90 people signed up for the session!  Wow that is a lot of people to sign up for one user group.  Luckily we had a great sponsor who bought enough pizza for all of us.  I think there was only part of a veggie pizza left at the end.  We had to get creative with how to set up the seats because the room is getting close to capacity with the number of people getting interested in the new features of SQL Server.

Leslie Sistla, one of Microsoft’s Senior Database Technology Specialist, gave the AtlantaMDF group an introduction to the new SQL Server Integration Services (SSIS).  She also showed mentioned the entire SQL platform with SSIS, SSAS, and SSRS.  It appears that they have created these products as solutions to common problems in the industry to make their database a more powerful tool.  She briefly touched on the new features of each of the three products such as there are 5 new algorithms for data mining and there is infinite drill down for Reporting Services.

You may be asking what SSIS solves in the new version.  One of the key points that SSIS tries to solve is to be fastest for greater volumes of data.  If you haven’t seen a demonstration yet on how much data SSIS can process on a laptop, ask a Microsoft person or one of the SQL UG leaders to show you.  SSIS can now process a ton of data in no time at all.  Another problem that SSIS tries to solve is to collect data from diverse data sources.  You may have many different locations and types of databases that your data comes from and you want to be able to still have access to those sources.  The last key problem is today there are more diverse destinations people are trying to send the data to.  SSIS tries to make data available to more people and with more destinations.  Performance was one of the primary goals and the way the get the performance is that everything is now in a pipeline.  She said that the processing is more ELT, but that it is still called ETL (extract, transform and load).  She also said SQL Server is driven for performance. 

We went on to see some demos and everyone enjoyed seeing the new BI Studio tool.  This is a one stop shop for creating, deploying, and maintaining your application during development.  Now if there is more than one window you would need to look at for a task there are multiple tabs for those windows.  The main tabs used for SSIS are workflow and dataflow.  Most of the talk was on workflow vs dataflow and there were many definitions that she covered.  We saw many demos and how to create a new project.  One of the demos was even put together during the meeting, the example only took about 10 minutes total to put together even while she was talking.  There were a ton of controls, but if you need to you can still extend the ones that are there.  The event handlers have been tremendously improved and all of the projects are now stored in XML so you can store them in Source control.  At the end she showed us how to deploy the project and how easy it is to create a deployment package.

--Brendon Schwartz

Posted with BlogJet
6/14/2005 10:20:58 AM (Eastern Standard Time, UTC-05:00)  #    Trackback
 Monday, June 13, 2005

Michael Earls passed another one of his .Net certification exams. 

— Matt Ranlett

posted with BlogJet

6/13/2005 11:59:11 AM (Eastern Standard Time, UTC-05:00)  #    Trackback
6/13/2005 11:51:04 AM (Eastern Standard Time, UTC-05:00)  #    Trackback

It’s 4:30 AM in Atlanta as I write this in the Seoul, Korea airport.  I’ve just flown for 14 hours on a Korean Air jumbo jet.  I have to say, the flight was actually not very bad.  I boarded at 1pm and found myself sitting next to an American woman who’s husband had to come out of retirement after the DotCom bubble burst and took their retirement savings.  He’s apparently been in Hong Kong for several months now and she’s flying out to vacation with him for a few weeks.  She and I have been getting mistaken for mother and son while walking around the airport.  It is nice to have someone to talk to though.

Anyway, on the flight I got to watch “In Good Company” with Dennis Quaid and Topher Grace (again – saw it in the theater with Kim).  I also watched a bizarre Korean movie about a crooked cop and a gangster looking for a woman who absconded with a $16 million lotto ticket.  They find her real identity and go wait for her at her home village on some island populated exclusively by some hard working, pot-smoking grandmothers.  The movie was actually pretty funny with some decent physical comedy.  Of course, in the end, the cop straightens out and no one gets the money.  The gangster is reformed and falls in love with the woman they were pursuing while the grandmothers all happily go back to smoking pot.  Like I said, bizarre.

The fed me two meals on the plane, but b/c I specified the kosher meal, they were the exact same meals.  Beef stew, pasta bowties, green beans, gefilte fish with carrot and olives, kim-chi, and coconut jam dessert roll.  Odd combo, but OK.  I don’t keep kosher, but I specify either the vegetarian or kosher meal everywhere I go to ensure I get food I recognize.  I’ll experiment with food when I’m not locked in a metal tube 35,000 feet above the ground.

We flew from Atlanta, up over Chicago and Winnipeg (I thought of you, D’Arcy) and over the Berring Straits, over part of Russia, and back down the coast of China to Korea.  Next up is a smaller plane to Hong Kong itself.  I’ll be staying at the Gold Coast Hotel (no idea how to get from the airport to the hotel).  I’ll figure it all out when I get there.

The Korean airport was nice and the plane from Korea to Hong Kong was the exact same double decker type of plane I took from Atlanta to Korea.  This time I got to sit upstairs.  There is no difference between upstairs and down, except that to go upstairs I had to walk up some stairs.  I got another meal on this flight – salmon and rice with two desserts.  Some kind of whipped cream filled chocolate cannoli looking thing and a piece of chocolate cake.  All pretty good.  The sleeping pill I took hours ago was still kicking so I spent most of this flight unconscious.

I arrive in Hong Kong and find out that there is a shuttle bus that costs HK$88 to get from the airport to the hotel.  That’s about $11.50 US dollars, so I’m cool with that.  I stood outside talking to the airport based concierge for a bit.  It’s really humid here.  Warm too.  I don’t know how close I am to the tropics, but it’s more humid than Florida right now and there are palm trees all over the place.  Good thing I brought a bunch of long sleeved shirts!  I’m clever like that!

So now I’m finishing up this post from my room in the hotel.  I’ve got a small balcony that overlooks some water, but it’s 11pm over here, so I have no idea what the beach looks like.  I can just see lights reflected in the water.  I brought a camera, but it’s a disposable one so you’ll have to wait for me to develop the film to get any photos on the blog.

It’s late and I’m going to bed to sleep as much as I can.  I’ve got to reset my internal clock to HK time so I’m not late for work…which I have no idea how to get to…

— Matt Ranlett

posted with BlogJet (from China)

6/13/2005 11:27:01 AM (Eastern Standard Time, UTC-05:00)  #    Trackback

Saturday – the day after TechEd.  Brendon and I take a cab to the airport from the hotel and get our same driver that took us from the airport to the hotel.  His car had been rear-ended and he complained about not having “his” car until Tuesday.

We get on the plane at 2:00.  Eventually they get everyone loaded and close the doors.  Then there is this knocking at the airplane door so they open the door again.  A bit later the pilot comes on announcing that there had been a mechanical problem but it had already been fixed and all that was necessary now was some paperwork.  An hour later the pilot comes back on the intercom and tells us that the maintenance people had noticed a hole in the plane while loading the luggage and that they’d just now gotten permission to fix it.  A HOLE in the PLANE!  It reminds me of that movie with Kevin Klein and Meg Ryan (French Kiss) where Kevin Klein’s character says “The pilot says there is a crack in the engine but we’ll take off anyway”.  We take off at about 4:30.

Kim picks me up and we meet Brendon and Mark Dunn at a gas station in Alpharetta to get our stuff back from Mark.  At this point Brendon and I are so tired that we just pile back into our respective cars without even saying goodbye.  So much for our plans to go out for dinner.  Kim and I get home, order Chinese food, and dump out all the stuff from TechEd so I can show her what I got.  She’s utterly unimpressed by my branded techie doodads – mostly she just wants me to get them out of the house and give them away at the UGs.  Fair enough.

I do laundry and pass out at 10 and sleep till 7am.  I packed my bags again (but I somehow managed to leave my tablet stylus behind) and head back to the airport.  This time I’ve got a 10 am flight to Hong Kong.  At least, I THINK I do.  I get in the line for international Delta flights.  I stand there for an hour until the clerk at the counter informs me that my Delta flight is operated by Korean AirLines and that I’ve got to go stand in their line!  It’s now 9:10 am.  I get to the Korean Air counter and it’s CLOSED!  so I flag down the next flight attendant I see, who politely tells me that their counter doesn’t open till 9:30 am and that my 10:00 am flight is in fact a 1:00 pm flight.  I apparently can’t read an itinerary.  Oh well, at least I’m not going to miss my flight.

— Matt Ranlett

posted with BlogJet

6/13/2005 11:17:53 AM (Eastern Standard Time, UTC-05:00)  #    Trackback

    “I’m beginning to appreciate a little Caleb in the rear” — Brendon Schwartz

Brendon, Caleb, Trisha Lacey (the nice lady from Microsoft who secured Brendon’s and my trip to TechEd – thank you Trisha) and I were playing foozeball when Brendon uttered the best quote of TechEd.

— Matt Ranlett

posted with BlogJet

6/13/2005 11:17:20 AM (Eastern Standard Time, UTC-05:00)  #    Trackback

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

6/13/2005 11:16:58 AM (Eastern Standard Time, UTC-05:00)  #    Trackback

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

6/13/2005 11:15:52 AM (Eastern Standard Time, UTC-05:00)  #    Trackback

Metadata Soup: Models, Contracts & Types – Don Box

Don Box, surprisingly enough, wore the Microsoft speaker’s uniform and did not strip naked during his presentation.  I’ll leave it up to the reader to find links talking about the several times he’s done this in the past.  Search on “COM is Love”

Don didn’t really spend a lot of time talking about Indigo specifically.  He felt that Microsoft had learned a lot of lessons from COM and that they were in a good spot with Indigo (not the end goal, but in a better position).  He instead wanted to talk about Modeling.  Since Indigo has been given such a catchy acronym – HST (Hooking Shit Together), Don decided that Modeling needed it’s own acronym – WSD (Writing Shit Down).

Modeling is the process of representing process and integration ideals.  The struggle here is to balance the complexity of the real world with the more pristine simplicity of the model.

Meta – architectural quicksand.  Metadata is a model or representation of data, but in the end it is just data itself (check Sam Ruby’s blog for an excellent post about this).

Structure – the bottom of any modeling stack, it is an agreement on how to arrange or organize the model. 

Interpret – to translate or understand form.  Since structure itself has no semantics, you translate it or relate it to something you understand in order to understand the structure itself.

Data model – rule for structural representations.  An example of a data model is XML.  Another data model which, according to Don, is well understood but never written down as a data model is the simple type vs the things that are not simple types.  Consider the difference between atomic and non-atomic elements or dimple primitives vs groups of primitives.  An example of these groups of primitives would be an IDL array or struct, a VB variant safe-array.  Primitive types are types for which there is only one value which doesn’t change depending on how you look at it.  An integer value is a primitive type.  An array of primitive types will have several values which might be different based on which array position is examined.  Don had a demo of this difference written in IronPython.

A grammar or schema is comprised of rules for structuring and de-structuring data.

A domain specific language is comprised of a data model and an interpretation taken to code.

A repository is a provider of data.  Examples of repositories include databases, the file system, Active Directory (a repository of identity information), and VSS or other source code control systems.

A behavioral model is the representation of the behavior of an interaction or a contract.  Contracts are typically represented a C style function calls with inputs and outputs.  Adding WS-Policy adds the ability to bind symbols to nodes on the contract tree refining the contract.  For example, Don says he gets up at 9am and that he rarely responds to e-mail.  These policy refinements help others understand how to interact with him.

Process Model – a BPM builds rules for aggregating interactions to think about large numbers of interactions as a whole.  This is an orchestration, and BizTalk provides excellent management of orchestrations.

Conceptual models provide rules for relating terms and ideals.  This is a taxonomy and can be demonstrated by IS A and HAS A relationships.

Don pointed out a list of fallacies:

  • one representation fits all (this means that Don Box is saying Indigo will not work for every interaction)
  • Models are immutable (this was the problem with COM – the models DO get changed)
  • Models are authoritative (because they change, the model is out of date practically as soon as it is created)
  • interpretation terminates (bake some interpretation intelligence into the runtime – ex allow for changing addresses, transportation layers, security, etc (Indigo is great at this as it allows many changes through configuration)
  • Code is special (code is just data in the end)

Guidance from Don Box:

  • Write Shit Down!  XML is your friend.  Use it to write down everything – yow you expect things to behave and work.  If it’s not written down it doesn’t exist
  • Treat models like source code – use MSBuild and XSLT to enforce this.
  • SCC is your friend – put your models here!
  • Learn BizTalk Server – the BizTalk team is way ahead of their time with transformation as interpretation.
  • Learn the DSL toolkit!
  • Learn about Lisp or Scheme – both way ahead of their time back in the 70s solving the same problems we are solving today.
  • RDF Resource Description Framework – tuples and symbols.  Learn it!

More guidance from Don Box (less esoteric this time)

  • Indigo vs WSE2 vs WSE3 – when to use what.  Per D. Box, use the ASMX API.  Use WSE2 and map to Indigo when Indigo is released.  Otherwise, use WSE3 and don’t rewrite it to Indigo.
  • Don Box is not in favor of O/R Mappers (but I forgot why he said this)
  • A contract is a representation of ideals.  To manage contracts use WSDL and Code generation.
  • The future of .Net Remoting – remoting will continue to be supported but will not be the centerpiece of .Net communication
  • When it comes to a question about contract first or code first development, Don recommends that you define the contract ahead of time, but be aware that the contract will always be changing as you learn more about the project requirements.  Build a development process to let you automate the generation of these contracts so management is not an issue
  • Learn about taxonomies and ontologies.
  • When it comes to Indigo message sizes, use WS-RM to fragment messages and send several packets over the wire.  Stream large data chunks by base64 encoding or binary encoding the data.

— Matt Ranlett

posted with BlogJet

6/13/2005 11:12:56 AM (Eastern Standard Time, UTC-05:00)  #    Trackback

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

6/13/2005 11:10:47 AM (Eastern Standard Time, UTC-05:00)  #    Trackback

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

6/13/2005 11:10:01 AM (Eastern Standard Time, UTC-05:00)  #    Trackback
 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

6/8/2005 3:50:54 PM (Eastern Standard Time, UTC-05:00)  #    Trackback

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

6/8/2005 3:45:58 PM (Eastern Standard Time, UTC-05:00)  #    Trackback

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

6/8/2005 3:44:33 PM (Eastern Standard Time, UTC-05:00)  #    Trackback

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

6/8/2005 3:43:53 PM (Eastern Standard Time, UTC-05:00)  #    Trackback
 Tuesday, June 07, 2005

I'm very frustrated with the state of the wireless connections here at TechEd - it seem this wireless connections thing has caught on and now all the connections are being taken by other people.  I can't get my tablet to connect wirelessly anymore.  That and it's getting heavy to carry all the time so I left it home in the hotel this morning.

I've got stuff to talk about but it's all written on my tablet in BlogJet and I'm not retyping it all here on the common use CommNet PCs:

  • keynote with Steve Ballmer
  • keynote with Paul Flessner
  • lunch with Rocky Lhotka
  • BizTalk sessions with Mark Dunn
  • Community Cabana pranks
  • swag, swag, swag...

-- Matt Ranlett

6/7/2005 2:24:21 PM (Eastern Standard Time, UTC-05:00)  #    Trackback

November 7th!!!

Lanuch party announcements to come...

-- Matt Ranlett

6/7/2005 2:17:24 PM (Eastern Standard Time, UTC-05:00)  #    Trackback