XImplosionX

    Step into my mind.

    This weekend I have the great opportunity to be at the Imagine Cup 2010 US Finals in Washington DC. Throughout the weekend, I will be covering the events, interviewing team members, and bringing a clearer picture of just what the Imagine Cup is back to my readers. I’ll have blog posts and videos surrounding each event up here throughout the weekend. And if you’re on Twitter, follow #ICUS10 to see any and all tweets related to the finals this weekend.

    And be sure to tune into our live blog on Monday, where Alfred Thompson, myself, and possibly Ashley Myers will be covering the Imagine Cup Community Showcase this Monday, live, as the event occurs.

    During my time at the Redmond campus, I was fortunate enough to meet with Scott Hanselman, Principal Program Manger Lead for Microsoft’s Developer Division. He also runs a very successful blog and podcast. Mr. Hanselman’s position at Microsoft requires him to travel a lot. This, combined with his living in Oregon, makes it difficult to snag a meeting with him. But we were lucky enough to meet with Mr. Hanselman for an hour in Building 5.

    We started off our time with Mr. Hanselman by introducing ourselves. He then lectured us on the history of Bulletin Board Systems, relating it to a recent interview he had done on his podcasts. He then talked about his blog, and how useful social media is.

    And then we got to the new technology. Mr. Hanselman first showed us Boot to VHD, a new feature in WIndows 7 that allows us to take the VHDs created in Virtual PC 2007, Hyper-V, and other parts of the virtualization platform, and boot our machine to this virtual OS. This allows the virtual hard disk to use hardware rather than the emulated environment when running. This follows the idea of “less virtual, more machine”.

    The next demos Mr. Hanselman showed us struck me as very cool. He decided to demonstrate two new features of .Net 4.0: PLINQ and MEF. Now when I heard him say PLINQ, I had to do a double take. My understanding was PLINQ had been around for at least a year. But I was happily surprised to find that PLINQ (Parallel Language Integrated Query) was finally shipping as a part of the .Net Framework. This made me happy. Finally I could add support for multi-core processors with very little hassle. Simply invoke a query with the .AsParrallel() extension method, and you’ve got yourself a query working across multiple cores. There are other features in PLINQ, and I urge you to check out the Parallel Programming With .Net blog for more info.

    The final demo Mr. Hanselman showed us was MEF. MEF stands for the Managed Extensibility Framework. Imagine the following situation: You are an enterprise developer working for a company that keeps inventory of different kinds of cars. Each car has similar qualities, defined in an interface, while being unique in itself. Your boss approaches you, requiring a new brand be added to the application used for keeping inventory. Due to the lack of a quality plugin system, this task would be very tedious and an all around pain in the neck. What MEF allows you to do, is simply create your new class, implementing this interface, export it through a new DLL, and the inventory application will do a “composition”, loading any and all classes that use the interface declared in the core of the API. I was extremely excited when Mr. Hanselman showed us this new feature. I’ve always loved the idea of extensibility, but hated using slow Reflection based techniques for dynamically loading classes. I highly recommend you take a look at MEF over on CodePlex. It’s a very cool framework and could make great leaps in improving application development productivity.

    After that demo, we had to go our separate ways again. Like I said, Mr. Hanselman is a very busy man, and I was very grateful to have met with him. I highly suggest your follow him on Twitter or read his blog, as he frequently provides interesting links related to social media and new technology.

    During my time in Redmond, I had the pleasure of meeting with Jared Parsons, a developer on the Visual Studio languages team. Ryan and I conducted a video interview with Mr. Parsons, and I’ve uploaded it for all of you to watch

    My first one on one interview was with Sara Ford, who at the time was the Program Manger for CodePlex.com. Since then, Sara has joined the DPE team. She does, however, still retain her passion for Visual Studio and blogging.

    I arrived at Building 5, the building where the CodePlex team works, at around 1:00 PM. Within a few minutes of my arrival, Ms. Ford met me down in the lobby and took me up to the CodePlex office.

    The office was different that most of the offices I visited throughout the day. The developers all sat in a common area, writing code in stations that had two keyboards. Ms. Ford explained that this was their unique version of “pair programming”, where two developers write code and do near real-time code reviews. This plays into their own version of the Agile release cycle.

    You may be asking: What is Agile? Well, the common release cycle for a product is know as Waterfall. This is a more traditional cycle, where the product goes from specification, to implementation, testing, release, and finally maintenance. Agile is a lot more rapid than Waterfall. Agile, on the other hand, is a three week release cycle. The first two weeks of any Agile cycle are spent developing new features for the product, with a third week spent on fixing bugs from previous releases and tightening the features for the latest release. After they deploy, they start over again, figuring out what to do for the next release.

    After that, Ms. Ford shared some interesting facts about CodePlex. CodePlex is home to roughly 13,000 projects, with a total of 200+ Million Lines of Code, with 100-150 projects being added weekly. They’ve recently added support for Mercurial based projects, which was seen as a huge addition to the site.

    Ms. Ford also shared some interesting facts about her career at Microsoft. She attended college at the Mississippi State University, where she was a member of ACM. While in college, she refused to think of herself as ever working at Microsoft, hating the idea of “becoming a code monkey” for Microsoft. And now she’s been a key part of one of Microsoft’s best open source initiatives, and continues to contribute to the Microsoft community with her new role in the company.

    I had a great time talking with Ms. Ford, and I highly recommend you read her blog and follow her on Twitter as she continues her career, moving in to DPE for a new exciting career experience.

    Until next time, thanks for reading
    Patrick Godwin

    As I mentioned previously, we had the pleasure of meeting with Microsoft’s Frank Arrigo, a highly respected Australian blogger within the Microsoft Community. As a member of DPE, he aims to relate a more human Microsoft back to the users. As he put it, the job of bloggers within Microsoft is to “show Microsoft as more then a two headed beast”, and that is shown through their interactions with the community.

    First, a little background about Frank Arrigo. He’s been an employee for Microsoft since 1991, and has had a substantial role in community relations since then. He’s essentially a social media whiz, having blogged since before I was born. As he put it, he was “blogging before it was called blogging”.

    At the beginning of the meeting, Mr. Arrigo asked us each a very interesting question: What do you think of when you think about Microsoft? A truly interesting question. What is the Microsoft experience? I hadn’t given it much thought before that moment, so it caught me off guard. Each of us brought a unique answer, like Joe Osborne’s answer: he pictured Microsoft as a sort of behemoth Pentagon-esque building. Some of us thought of the developer culture, while others pictured a typical corporate environment with cubicles and white collar shirts.

    This discussion allowed the conversation to move towards what it means to be a blogger. What is a bloggers job within a corporation. That brought us back to a point raised earlier: blogging allows employees to show that they aren’t drones, brainwashed to do what Mr. Ballmer commands. Microsoft isn’t some sort of machine, hell bent on the complete domination of the world. It’s a living, thriving community of developers, businessmen, and other professionals. And we use our blogs to convey that back to the people who are interested in the topic. That’s why we see blog posts about personal issues, family, and vacations. It show’s that developers are in fact human, and do have lives outside of work.

    He then presented us with some interesting facts: roughly 5,000 to 10,000 Microsoft employees write on a blog. Wow. That’s a lot of articles. But how does this help the User? What do they gain from reading about the experiences of these employees? Simple: connections. Around 2000-2001, Mr. Arrigo realized that maintaining a blog with an active community allows users and developers to network, creating an environment in which developers could receive feedback, share knowledge, and build professional relationships that would provide jobs down the line.

    Mr. Arrigo was also an early adopter of Twitter. This allowed him to take his networking abilities to a whole new level. Rather then relying on traditional forms of communication like email and blog comments, he could interact with his readers in real time. This allows a higher quality of feedback and a way to extend topics beyond the blog. This essentially transformed blogs, making them living discussion prompts rather than static editorials.

    We concluded are meeting with a simple idea: Blog smart. Talk about topics you would want people to read and not be ashamed about. Don’t write incoherent rants, don’t write foolish stories about how trashed you were last weekend. Blogs are a powerful tool, they can either make or break your career depending on how you present yourself online.

    I just want to conclude by thanking Mr. Arrigo for taking time out of his busy schedule to talk to us. It was a great experience, and I thank you for all of the useful information about social media.

    Next I plan on writing a post about my meeting with CodePlex’s Sara Ford. Stay tuned!

    Thanks for reading,
    Patrick Godwin