Yes, I realize I am averaging one post a month. Which is a shame, as I actually do have a couple of topics on my backlog (playing with Visual Studio Tools for Office and consuming my blog from another site) that I think might be of interest. Perhaps I will have more time in August. Or perhaps I won't get a post out until September. Thanks for keeping me honest!
Some days it is just so hard to find the time to get important things done, like this blog post. Perhaps in the coming weeks I will recap how seriously my team (the Technical Audience Evangelism Team in the Central US) takes planning at Microsoft. We really put a lot of thought and effort into crafting great programs and plans for our technical audience: architects and developers. Yet the intensity of our planning efforts and the focus and discipline we have put into crafting our plans has put a serious pinch on my time. It has kept me from getting things done, like this blog post. I was supposed to finish it up two weeks ago. My friend and colleague, Denny Boynton, has been involved in a little something called ARCast.tv v2.0, the evolution of Ron Jacobs' excellent ARCast program on Channel 9. Denny and his peers are picking up the baton from Ron and running the evolution of the program, and the evolution is well underway. What Happened to Ron? For those of you who don't know, Ron has moved into a new role here at Microsoft. He announced his new job on his blog back in February. He has relinquished the reins on ARCast and is now a Technical Evangelist in our corporate-based Developer & Platform Evangelism team as a Technical Evangelist. After doing ARCast.TV for the last couple of years I have decided to hang it up and do something new. Work is underway on the next version of .NET including 2 technologies that I find very interesting. They are Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF). My new thing will be to explain these technologies to the world as they appear in .NET v.Next. We won't have much to say about these for the next few months but they will have a coming out party at PDC '08 so I'll see you there. So, What is ARCast v2.0? Denny can explain it far better than me, but ARCast v2.0 is an evolution of the program Ron created and ran. As opposed to one core person creating the videos, several evangelists across Microsoft are contributing. They record interviews and discussions with Microsoft guests, industry luminaries, technical experts, and various other "big name guests". They host an interview-style format discussion where the guests share their thoughts, ruminations, and hot sports opinions on all things architecture. Software architect, to be exact. They have covered a host of interesting topics, from what architecture means at Microsoft to architecting solutions based on specific technologies or products. What topics, you ask? Ah, read on! There's not much more, I promise. ARCast v2.0 Episode Guide Here is a short list of their initial episodes: And they have produced a couple of episodes in addition to these. So head on over to ARCast.tv and check out the fine work of Denny and his peers. Oh, and Denny, in case you are reading this... I apologize for getting this out two weeks later than I promised. Hopefully you are just impressed enough with a manager who figured out how to use Live Writer and edit his dasBlog templates. (With Larry Clarkin's help, of course.) Technorati Tags: ARCast, Architecture
It is July 1 and I haven't posted in nearly a month (June 10 being the last blog post). Perhaps a little transparency is in order. For those in the know, it is the start of Microsoft's Fiscal Year 2009, FY09. The last several weeks — the final few weeks of our last fiscal year (FY08) — have involved multiple efforts, from recapping last year's business results to business planning for the new fiscal year. My excuse for not posting is simple: I have been involved in several year-end and planning efforts. Preparing for reviews, for example, have included FY08 year-end business review, preparing people reviews, and finding the time to tackle my own self assessment review. Writing one's year-end self assessment, even after nearly 20 years in the industry, is still hard. How does one strike that delicate balance between "not enough" and "self aggrandizing"? It isn't easy, is it? I have also been working on FY09 planning efforts for our local geography (the center of the USA — you know, those 18 states from Michigan and Ohio in the east to Kansas and Nebraska in the west; from Minnesota in the north to Texas in the south). Working with my peers, our local plans have begun to take shape. Our ideas encompass Microsoft-led public events, such as ArcReady and MSDN Events; supporting great community efforts like devLink in Nashville, IndyTechFest (Indianapolis, of course), and HDC in both Minneapolis and Omaha, among many, many other fine events; and continued support and evolution of our online such as the great MSDN Webcasts and stellar podcasts like The Thirsty Developer and Spaghetti Code. Beyond collaborating with my peers on programs, events, and activities we want to run locally, I have been working on some US-wide planning efforts as well. Oh, and lots and lots of conference calls. And all that speaks to a need to prioritize on the critical tasks at hand. Obviously the blog has suffered from a lack of love in the process. Well, at least for today, the ol' blog is getting some love. And I blame Jeff Blankenburg for it with his recent post titled Celebrate Contribupendence Day! July 3, 2008. That wacky word caught my eye and made me take a break and give my blog some much needed attention. So What Is Contribupendence Day? As I said, I saw Jeff's post fly across my inbox (thank you, Outlook) and found the word "Contribupendence" so intriguing that I stopped down to give the post a read. Jeff is basically proposing a new type of meme, somewhat like the previous one I responded to, but with a really nice twist. See, Jeff is going to leave some nice comments, recommendations, and friendly notes on his colleagues' social networking engine of choice. Whether a nice comment on a blog, via Plaxo or on Twitter; or a recommendation on LinkedIn; Jeff is going to take the time to recognize his peers and the great work they do. I think it's a really nice idea. And I even hope to be able to participate. Assuming my current workload doesn't get in the way.
Larry Clarkin just tagged me, and, as he says (and I'm paraphrasing here) in his meme post, "Tag, Brian, your it." As I'm a relative neophyte at active blogging — you can see this blog has only really been active since April 2008 — I will cop to the fact that I needed a explanation, which Larry provided. I completely dig this idea. This meme is particularly interesting as it builds on my first "real" post, What Language Are You? Stack Trace Plagiarizing directly from Larry, because it's in theme with the meme and kind of cool, here is the current stack trace: How old were you when you started programming? I was a sophomore in high school, probably spring of 1985 or so (my memory of the distance past isn't that great). I do recall it was in a class called Computer Math. I wrote a text-base Space Invaders-like game using a boatload of ASCII, print commands (the good old ?), and what was probably an infinite loop construct to stream the ship from the top to the bottom of the screen. It was a couple thousand lines of code and didn't all that well, but I got an A and had a blast with that project. So I was probably 16 years old and finally knew what I wanted to be when I grew up. The next two year, in both my junior and senior years of high school, I took classes at the votech school as part of my curriculum, learning to program RPG and FORTRAN. I enrolled at Truman State University (then called Northeast Missouri State University) as a Computer Science major and ended up being one of the rare 25% that never changed their major. What was your first language? BASIC What was the first real program you wrote? This is a tricky one. What does "real" mean? One could argue that the Space Invaders-like hack was a "real" program, though it was childish, immature, involved lots of poorly defined loops, and ended up not really working like the coin-op I was aiming for. So perhaps that shouldn't count. I could say my first real program was COBOL85, DB2, and CICS for my first "real" post-graduate job. But I wrote fully-functioning programs before that "real" job. One in particular comes to mind, from my internship at Truman. I helped write the student credit transfer application for our Student Information System. I also got a job my senior year in college working for the same department writing other applications for SIS. But, really, the first program I wrote that truly felt like a real program was in my sophomore year in college, as part of a Data Structures class. The program in question was a doubly-linked queue data structure, designed as a base class construct with bi-directional pointer structures to allow for FIFO queue behavior as well as bi-directional traversal of the data in the queue. I ended up doing very poorly in the class, barely squeaking out a D, and I eventually retook the class in my junior year to improve my grade, eventually earning an A. But this was the first time I really, truly understood how computers functioned. I also sat next to someone who would become a good friend and we reminisced about Buckaroo Banzai. Which could explain the poor performance in the class. Either that or sophomores shouldn't take senior-level classes while also taking Calculus II and Chemistry II. But I digress... What languages have you used since you started programming? This is a great question, and I loved seeing Larry's list. I had previously published an exhaustive list in my What Language Are You post. So I will only give you a quick recap. I've programmed in a wide range of languages, most of them from school (Prolog, Modula-2, and others). I've also programmed in a half dozen languages for work, though if I consider the bulk of my work there are three core languages 85% or more of my applications were written in: COBOL85, Visual Basic (multiple versions from v4 through v2008), and C#. What was your first professional programming gig? The Principal Financial Group in Des Moines, IA hired me fresh out of college. I was assigned to Corporate Services, a team focused on internal business processes, and I wrote applications in COBOL85, DB2, and CICS. The very first thing they did with me is retrain me to do programming the Principal way. I took classed for four weeks, learning how PFG structured applications, used copybooks, crafted JCL, and how to properly lay out a CICS screen. I went from that working on a team building mainframe applications using Micro Focus COBOL. We experimented with host offloading, so we built, tested, and debugged our applications using the Micro Focus IDE on OS/2, replacing JCL with REXX scripts, and using IBM's DB2/2 to simulate our production databases. The most significant lesson I learned at PFG what to get your database indexes and your WHERE clauses in alignment. I single-handedly — and completely inadvertently, I might add — consumed nearly 80% of one full CICS region on our ES7000, nearly crashing the LPAR. Indexes are important. Very, very important. If you knew then what you know now, would you have started programming? Yes, without a doubt. Either that or I would want to be self-sufficient millionaire. Guess which would be more likely to pan out? If there is one thing you learned along the way that you would tell new developers, what would it be? Understand the importance of "soft skills", like writing, communication, and public speaking. It turns out you have to do a lot of it in the business world: writing requirements, capturing business imperatives, and presenting project plans. Regardless of your level of seniority, everyone eventually gets involved in these tasks, and those who are particularly good at these so-called "soft skills" usually find more opportunities presented their way. A solid business acumen helps as well. Good IT departments scrutinize things and make sound decisions, and having some solid business and "soft" skills will go a long way to sound decisions are made. What's the most fun you've ever had ... programming? This is a great question! There are so many potential answers. In my senior year of college I had three projects that really challenged me (create a floating-point calculator with addition, subtraction, and multiplication — division must have been too hard, or we didn't have enough time; create a micro-kernel processor model; and build an algorithm to process 3x3 and 4x4 matrix algebra equations). Those were fun, hard, and exhausting... but probably not the *most* fun I've had. There were two consulting projects during my early years of Perot Systems that I really, truly had fun working on. The first was my very first PVT (Performance Volume Test, something people did routinely in the good old days and people usually shrug off nowadays; who needs to test for performance, right?). Our application processed a billion+ CDRs (Call Detail Records; some sort of sadistic thing the telecommunications industry created to make trouble for developers), and it had to process it all over a roughly 48 hour window each month. Hence, PVT was a critical, show-stopping checkbox on the project plan. And my first PVT was third-shift baby sitting at its best. We watched jobs process, compared processing times, and noted any anomalies. (We were well past bugs at this point, so stuff _rarely_ broke.) I had a great PVT team, and had a blast for the nearly two weeks we ran multiple cycles from 10m to 8am. The second was an assignment a good friend of mine from college and I were tasked with: replicate all test LPARs (TD, T1, T2, and T3) on our OS/2 LAN to offload host cycles for compiling and testing. We used V/REXX, Micro Focus COBOL, and VB3-based application, plus some infrastructure, to pull down an entire test LPAR with a simple command prompt command. The script ran for a couple of hours. It scrubbed all data, downloaded and converted all test data files from EBCDIC to ASCII, creating ISAM, VSAM, IMS, and DB2 data structures on the OS/2 LAN, and set up database entries in Stingray IMS and DB2/2. Then it downloaded and converted *all* source code for our application (a few thousand JCL scripts, programs and copybooks), and finally stashed everything into PVCS. It took weeks to get everything in place, but once it was done we saved the development teams a good two days worth of time with a single automated command. Who am I calling out? This is the tricky part, mainly due to the fact the meme has circulated for a few days now and most of my blogging friends and colleagues have already been called out.
This is a quick post letting folks know that I've updated my web site with two new Webcast series. The first is the new Aspiring Architect Webcast Series some of my colleagues are running. These Webcasts will discuss a variety of topics relevant to people new to architecture or interested in moving from development to architecture. They will cover things like Service Oriented Architecture, Enterprise Service Bus, Web 2.0 for the Architect, among other topics of interest and relevance to new architects. The second is a really a micro-series of MSDN Webcasts focused on Windows Communication Foundation and Windows Workflow Foundation. Most are 300 and 400 level talks. They feature presentations by some well known MVPs. There are still a few upcoming Team System Webcasts listed, being delivered by colleagues, so check it out. And while you are on my site, if you notice a lack of live events listed, that's because Microsoft will soon be moving into our new fiscal year and we're deep in planning events for Q1. I'll get the site updated as plans and events firm up, and I will include several community events in the database as well.
 This is a quick post to let everyone know that you can now register for PDC2008. (Update: fixing a layout problem) Set for October 27-30 in Los Angeles, CA, the Professional Developers Conference is one of Microsoft's premier national events for the professional developer. I've been to two PDC events, and they are an amazing experience. PDC is so interesting to me, in fact, I have trouble choosing between PDC and TechEd. While TechEd tends to focus on practical topics, currently available products, and occasionally features product announcements, PDC tends to focus on new and emerging technologies, more advanced technologies and techniques, and often features product announcements. This isn't to say that TechEd doesn't feature advanced technologies (it does) or announce new things, it's just that my experience is that PDC tends to do that a little more. Here's a bit about PDC: Since 1991, the Professional Developers Conference (PDC) has been Microsoft’s premier gathering of leading-edge developers and architects. Attend the PDC to understand the future of the Microsoft platform and to exchange ideas with fellow professionals. You’ll learn about upcoming products, meet Microsoft’s leaders and top engineers, write some code, and be inspired! Unplug for a few days and think about the future. This year's PDC will feature loads of great things. Ray Ozzie, Microsoft's Chief Software Architect, will keynote. PDC will have over 160 sessions covering multiple tracks. There will be cool parties, and all sorts of great and unique experiences. So, check out the PDC2008 site and register if you are able. I will caution you that PDC tends to sell out early, and it usually sells out fast.
So a mere five days after I wrote a post about WorldWide Telescope the team at Microsoft Research released a preview of the application. While I am in Europe. And can't (easily) download the application. But download it I did... and all my dreams about what the application would be like came true! How to Get It It's pretty easy. Visit the WorldWide Telescope site's Experience page and follow the download instructions. It's a relatively hefty application, about 20MB download, though it does require the Microsoft .NET Framework 2.0 before it can install. You will want download that first if you don't have it. There's a pretty decent set of installation instructions on the download page, and the application installer prompts you along. What Is It? Like I said in my first post, it's like having access to a multi-billion dollar telescope array from your desktop. Once the installation is complete, the application -- a network aware program that defaults to using live data on the servers and only uses the local cache when you're not connected -- displays an interface that is reminiscent of the Encarta experience (at least to my untrained UX eyes) and loads a full-blown sky survey. From there, you can follow one of several guided tours, search for images from Hubble or Spitzer, search constellations, or explore any of a dozen other resources. The application flies around the screen, zooms on whatever image you're interested in, and points out relative data with a quick right-click on the object in question. It's really fun, not to mention educational. There's a lot more information on the What is WWT? page. That page links to contributors, additional details, and other resources. They also describe what WWT is: The WorldWide Telescope (WWT) is a Web 2.0 visualization software environment that enables your computer to function as a virtual telescope—bringing together imagery from the best ground and space-based telescopes in the world for a seamless exploration of the universe. They also explain what a "Web 2.0 visualization software environment" is: Web 2.0 is the next generation of the World Wide Web wherein technologies and social practices use metadata or tags to enable communication and resource sharing in a variety of forms (text, audio, video, links, etc.) through the Web without a centralized authority's intervention or approval.
Rich visualization software provides a graphical visualization of large structured data sets. The software's interactive graphical user interface provides users with a more data-rich presentation of the data and enables them to explore, filter, analyze, and interact with the data, resulting in a better understanding of that data. No, What Is It Really Like? It really is like having access to your own telescope array. You start with a simple user interface with a digital representation of a sky survey of what you would see from the surface of the earth. You will also see wire-frame overlays of constellations and other aspects of the night sky. Here's a screenshot of the application after starting it up: You will then have the ability to navigate using the collections listed at the top of the application screen, take a tour, or simply pan around the sky survey with your mouse. You can use the scroll wheel to zoom in and out and right-click elements in the night sky, such as a star or nebulae, to learn more about those elements or to zoom in on them for a close look. It's a really engaging experience. I suspect my children will also enjoy it, so please head over to WorldWide Telescope and download it today.
This is some seriously cool stuff... Yes, I Admit I am a Geek I am a space buff. I love SciFi books, shows, and movies. Battlestar Galactica (the new one) is wonderfully engaging (who is the final Cylon?!?), and I am a fan of Star* (you know, -Wars, -Trek and -gate). I enjoy historical documentaries like From Earth to the Moon and movies like Apollo 13. I watch programs on NASA and space travel on Discovery Channel and History Channel. I've even watched a shuttle launch or four. When I read about the WorldWide Telescope I realized someone just granted me access to my very own multi-billion dollar telescope array from the comfort of my own home. I've always been fascinated by astronomy and telescopes and pictures of the stars. Sure, I can look at pictures on the Internet and browse catalogs in books. But being able to interact with those images? I'd need access to a telescope and some seriously expensive equipment. Your Own Personal Telescope
Now imagine being able to gain access to images like this one of the Orion Nebula on your computer, seamlessly stitched together with hundreds of other photos from a variety of sources from Hubble to the Spitzer Space Telescope. That's my take on the idea behind the WorldWide Telescope. As I watched the videos and read through the FAQ, I began to envision an application capable of bringing together images and data from a variety of sources into an engaging user experience that essentially behaves like a telescope you control with your mouse on your computer. The site says you'll be able to pan and zoom across the night sky, perhaps even finding the Orion Nebula where it sits in the night sky. How wonderful would it be to sit behind the controls of the Hubble telescope, controlling where the lens points, seeking out the mysteries of space? To me, it would be incredible fun. WorldWide Telescope at your Fingertips So, what is the WorldWide Telescope? I can't say it any better than the FAQ... The WorldWide Telescope (WWT) is a rich visualization environment that functions as a virtual telescope, bringing together imagery from the best ground- and space telescopes to enable seamless, guided explorations of the universe. WorldWide Telescope, created with Microsoft's high-performance Visual Experience Engine, enables seamless panning and zooming across the night sky blending terabytes of images, data, and stories from multiple sources over the Internet into a media-rich, immersive experience. According to the web site, the WorldWide Telescope will be "Coming in Spring 2008". And I can't wait. Footnote The Chicago Manual of Style continues to prove a really helpful resource for would-be authors and journalists. Check it out.
At the St. Louis Heroes Happen Here Launch event, Denny Boynton used some mysterious utility that added a really nice touch to his demos and presentation. With a deft keystroke, Denny's screen would zoom smoothly to wherever his mouse was on screen. He used it to draw attention to various hard-to-read things like the Visual Studio Property Sheet. I was so interested in what he was doing, I corralled him after his talk and asked him about it. He told me it was one of the Windows Sysinternals utilities called ZoomIt, and he promised to write a post, which I dutifully read. Now, I can't say I'm the person he quoted, though that's pretty close to what I said. So, I promptly downloaded the utility and ran it on my computer. That's when the trouble started. As Master Chief would say, I ran into a snag. ZoomIt, like many of the Sysinternals utilities (my favorite being Process Explorer, but that is perhaps best saved for another post), is made available in a zip file. It's the world's greatest install: extract the executable, ZoomIt.exe, to your favorite folder and double-click the program to run it. ZoomIt — a completely self-contained, literally copy-and-run installable — causes Windows Vista to prompt you with a security warning: Now the easy thing to do would be to uncheck the "Always ask before opening this file". And that would have worked, but I like to keep all my Sysinternals utilities under C:\Program Files, which is a protected system directory. This is where the trouble part of the story comes in. You see, you can't unblock an applications that live under the Program Files folder while User Account Control (UAC) active. And you can't permanently unblock an application from its property sheet while UAC is active, either. Why does this become a problem? Well, the security prompt above will show every time you launch the program. You have two options: a brute force option and a more elegant option. The brute force option is to turn UAC off — which I do not recommend, for many, varied, and obvious reasons, not the least of which is the security risk it exposes... and the pain of one or more reboots — and unblock the application. (Honesty time: before I discovered the more elegant approach below, this was how I unblocked applications like Process Explorer.) This takes a few solid minutes, especially if you turn UAC off then turn it back on, what with the two reboot cycles. The more elegant — and faster, IMO — approach is to move the executable to another folder, right-click it and choose properties to pull up the property sheet, click the Unblock button (see below), click OK, and move the program back to your favorite folder in Program Files directory structure. Problem solved! Now you can add a shortcut to the Startup folder or Quick Launch and have easy access to ZoomIt (or Process Explorer) without the security prompt splashing onscreen every time you launch the program. For completeness it should be noted that if you put the ZoomIt executable in any non-system directory (e.g., Program Files, Windows, or other protected folders), you can easily uncheck the "Always ask before opening this file" checkbox on the security prompt dialog to unblock the application. The steps I list only apply when you place applications like ZoomIt in the protected Program Files folder.
I was traveling this past weekend (see my earlier post for why) and flew home early yesterday morning. When I got home, I watched The Upside Down Show (my three-year-old son loves it) and Hannah Montana (there was a new one where Hannah dreamed she went back in the past and... I mean, my nine-year-old daughter loves it) with my kids, helped put them to bed, and watched Food Network Challenge and Lost with my wife. Through all that TV watching goodness, relaxing after a weekend away from home, I forgot about something that I _really_ wanted to watch last night, and by all accounts (and the news on NHL.com) I missed a good one. I am a Dallas Stars fan. I lived in Dallas for ten years, and became a fan in 1997. While I lived in Dallas I must have attended a couple hundred games. I saw the Stars with Lord Stanley's Cup against the Buffalo Sabres. I saw them lose the Cup against the New Jersey Devils, and I was in the stands while Commissioner Bettman awarded then-Captain Scott Niedermayer the Cup. It was cool. And last night the Stars defeated the San Jose Sharks -- in the fourth overtime, no less, the eighth-longest NHL playoff game ever -- to advance to the Conference Finals for the first time since they lost to the Devils in 2000. Both goaltenders put on a clinic for how to win a game. Only a redirect after five long hours of play beat the Sharks. In reading the game recap at lunch today, I realize I missed a good one.
|