
Thursday, January 10, 2008
2008 is turning out to be a big year of change for Microsoft Corporation. Many of the known personalities are leaving to either pursue other interests or simply enjoy their accumulated wealth. Either way it is clearing some senior leadership positions for new blood. Here is a list of people that have announced their departures. I should also compile a list of senior people from 2007 to properly elucidate how Microsoft is starting to change from an organization perspective.
Bill Gates
In case you’ve been living under a rock, Microsoft’s founder and CSA will be retiring this year to pursue his foundation full time.
Jeff Raikes
After 26 years Mr. Raikes will be handing over the very successful Microsoft Business Division.
Bruce Jaffe
Bruce Jaffe, who heads its acquisitions, is leaving as the largest software maker gives individual unit leaders more control over deals.
Jaffe, a vice president and 12-year Microsoft veteran, will leave Feb. 29
Charles Fitzgerald
After over 18 years at Microsoft, he is calling it a day. I was at a meeting last month where Steve Ballmer called him the “Velvet Hammer” because of his ability to cut thru the BS and provide candid commentary to the executive leadership.
 |
Friday, January 04, 2008
Media.Copy
This summer, August to be more precise, I spent some of my vacation learning WPF. Whilst my wife wasn’t happy about this, as most things computer related and my time, it was really a lot of fun with dashes of excitement, loads of frustration and a case of beer. Like most people I don’t do things just for the sake of it I wanted to solve a problem that I had. Since the late nineties I’ve been burning my CDs to different formats and the directory structures had gotten out of control. My collection is well over 250 CDs so it is no small task to try and organize it by hand (read file copy).
Removed Source Code Link until I Find Another Place To Host It From
Problem: My directory structures did not match the CDs that were ripped over the years to my liking. Instead I wanted it to be arrange by Artist / Album versus having all tracks in a single directory.
Solution: Write a program that will read the ID3 tags and then create a series of directories and copy the files where they need to go using WPF as a front end.
Ignorance: Writing a WPF application should be very similar to writing a smart client application.
Warning: This program was written quickly and not intended to show how to properly code things under the UI. Comments related to “why did you hardcode this or that, you should have made it more extensible, blah blah blah” will be promptly ignored. J
The first thing I did was grab my trusty pen and paper to sketch out a few UI designs and list features that I would like to have. This took about 30 minutes or so and then my first step would be to get the thing working as a smart client application and then port it over to WPF. This way I know the underlying code will work and only the UI needs to be touched. That part took a few hours of searching around the internet for source that can read MP3 and WMA file, putting that into a project and then bolting together a quick UI using my design. Done and it transferred files as expected.
Now the port to WPF…
Where the hell is my designer???
For us dev types I found Expression Blend to have a steep learning curve. The beer may have loosened my tongue however it did not do much for my patience. Getting up a basic design surface thru nesting is not easy to accomplish for first timers. I lost count how my times I hit Cntl-Z when doing any type of modification. After a day my UI looked way better than the smart client version and I thought to myself: WPF does indeed rock. Hit compile and time to test…
It found the files and displayed them all in the ListView as expected. Now I just have to hit the Transfer Button and watch the gloriousness that is WPF update the UI. Wrong. WFP is STA and the usual smart client tricks for UI updates didn’t work. WPF turned into WTF and then I had to completely re-write things to make them multi-threaded. Talk about an extra task that I didn’t need to go thru previously. Moral of the story is you have to think about threading when doing anything that is computationally intensive (read more than 100ms) or be prepared for the great application hang. No nicety such as Application.Refresh() or similar to be had. Well, everything is now working and I just today updated it to Visual Studio 2008.
The source code is online via my SkyDrive if anyone wants to check it out. It contains both the UI and code so you'll be off the races in little time. If you make some cool changes let me know and shoot me a link to the updated source!
I’ll do a follow-up post that contains the two books I bought, the three day online course I casually watched, and the internal emails (sans aliases) that got me to my first WPF application. J
 |
Thursday, January 03, 2008
So do you love science as much as I do? Check out the below first place winner of Science as Art held at the Materials Research Soceity (MRS) Fall Meeting in Boston.
To read more, click Nanowerk

Nano-Explosions Color-enhanced scanning electron micrograph of an overflowed electrodeposited magnetic nanowire array (CoFeB), where the template has been subsequently completely etched. It’s a reminder that nanoscale research can have unpredicted consequences at a high level. (Image: Fanny Beron, École Polytechnique de Montréal, Montréal, Canada
We all know that WEP was never meant to be entirely secure or anything like that. However, most wireless access points around are still using this as their default security mode versus WPA or WPA2. I won’t go into the details of WPA or WPA2 and will instead use this as a public awareness exercise to explain that if you’re using WEP and reading this blog then shame on you as you should be technically literate.
Don’t worry I was in the same camp until early last year. A friend of mine who works in security came over for a beer and to generally catch up since we hadn’t seen each other in almost a year. Of course we talk about tech security and he loves to go on about how the “average person and average company” aren’t very bright. I challenge him on this much to my chagrin and he proceeds to demonstrate using me as the example.
So he asks, “Do you have wireless at your house”? I quickly reply that I do like most people. He asked me what type of security I had on it. This I knew to be WEP and felt good because at least it wasn’t open. He then asked if I had a 64-bit or 128-bit key. I said 64-bit because I was too lazy to come up with a 128-bit one in hex. He keenly smiles and then says, “It doesn’t really matter because I can probably get into your network in a few minutes regardless.” Oh you can, can you. Prove it. The peril is that I know he knows his stuff and that if proven correct I will not hear the end of it for many years to come.
He breaks out his laptop, boots up Linux and has a special antenna that plugs into his USB wifi device. He executes a few scripts and then asks me which wireless network is mine. I tell him and then he proceeds to do his magic. Sure enough, within 10 minutes he had my key and was on my network parading around. Luckily all my boxes are locked down and authenticated via my domain controller so he wasn’t able to do much except gain use to my broadband connection. That didn’t make me happy either.
So if you have wireless at your domicile or business please make sure you are using WPA or WPA2 with a strong key (meaning characters, numbers and special characters) that is at least 20 long since the only way to crack those is with a dictionary attack!
 |
Wednesday, January 02, 2008
So I've taken on a new role at Microsoft as a Principal Architect in the Relationship Experience Division (RXD). Should be some exciting times ahead and I'll keep everyone informed of what this new role means, what technologies I'll be working on and the areas I plan on innovating around.
A teaser is something called a Global Knowledge Platform (read Semantic Web). This is based on several years of research I've done with this domain as well as having implemented a very functional taxonomy and social networking technology for the Windows Division way back in 2001/2002 that now runs critical parts of that organization.
Although I haven't been a fan of blogging or anything else public for that matter this year brings a change for me. Feel free to add yourself to my LinkedIn network!
http://www.linkedin.com/pub/6/697/993
or
Try searching “Mark Baciak” at FaceBook.
Tuesday, May 23, 2006
Welcome to the NEW Aspiring Architect Community!
Skyscrapr is the community for aspiring architects. There are millions of professional developers and aspiring architects looking for a rich, valuable introduction into the world of Architecture. Skyscrapr allows them to explore, train and study architecture and makes Microsoft the ‘go to’ authority to study or plan a career in architecture.
Skyscrapr is driven by 78% of developer saying they are interested or very interested in learning about architecture and 1/3 of developers identifying career aspirations of becoming an architect. What this really tells us is there is a huge opportunity to cultivate relationships with people interested in learning and growing their skills in architecture.
Always wondering what Service Oriented Architecture really meant but too afraid to ask? Now you can find the complete definition and how it differs from a solution, infrastructure and strategic architects point of view.
Skyscrapr will offer online training, an acronym decoder, a glossary of terms, our own Archipedia, blogs and even a surprise or two. So send your brother, sister, cousin, customer, friend. Anyone who has ever wondered what it meant to be an ARCHITECT. Community starts with you!
There’s a little something for everyone so come Meet the Architects!
 |
Monday, May 08, 2006
I’m excited to announce the 1st Iron Architect contest is underway! This contest takes place at TechEd. Architects from around the world are invited to submit their solution to our architecture riddle. The only requirement is that they attend TechEd. Semi finalists will present their solutions to the panel of MVP judges in a chalk talk session on Thursday of TechEd week. Once the two finalists are chosen, they will be given their ‘ingredients’ to compete in the final Iron Architect showdown on Friday. The audience will vote real time via Windows mobile devises on the final winner during a session on Friday.
Please check out the blog for all the details.
Thursday, May 04, 2006
All 52 MIX06 session videos are now available for online (and offline) viewing. If you didn't have a chance to attend then this is the next best thing, enjoy.
Sessions here: http://sessions.mix06.com/
More here: http://blog.mix06.com/blog/archive/2006/05/03/2367.aspx
And here: http://blogs.msdn.com/mswanson/archive/2006/05/03/589692.aspx
Monday, April 10, 2006
Recently I have been working on something entitled Service Oriented Infrastructure (SOI). The premise being the infrastructure required in order to effectively apply service orientation to an enterprise or large scale software component. Most people shy away from this problem due to the sheer number of moving parts that in contains. Moreover, the bar for entry to this realm is high with many people/vendors touting a big bang theory.
My take on this is radically different. Besides giving my normal diatribe about how maturity models suck, I'd like to talk about how to lower the entry constraints and get what the client really wants: a way of understanding and integrating the newer technology. To do this is really quite simple, and it all comes down to perspective.
Capabilities are arranged into hierarchical structures with each level being known as a generation. I normally start out with up to three generations within a given domain, SOI for instance, and then go from there once the customer has deduced what they would like to see.
Here is a list of the capabilities for Generation 1 System and Gen2 Service Monitoring. There are plenty more generations under Gen3 item, but this is a pretty good first take on what you'd like to understand about Service Monitoring.
|
System |
|
|
1 |
2 |
3 |
4 |
|
Service Monitoring |
monitor the service and client |
|
|
|
|
|
|
Availability |
is it up and running and doing what it should be doing. Are all the dependencies there (app service, rdms) |
x |
|
|
|
|
|
Auditing |
Audit what is going on. What does the request and response look like? Who are the identities? Go through and analyze what is there. |
|
x |
|
|
|
|
Logging |
Storing the audited information, global, local, files, db. SOAP envelopes, |
x |
|
|
|
|
|
Perf |
general performance metrics. A measure of performance. |
|
x |
|
|
|
|
QoS |
response time, timeouts, arranged with a SLA |
|
|
x |
|
|
|
Synthetic Transactions |
Transaction that tests the services with artifical transactions to make sure services are meeting SLA. |
|
|
|
x |
|
Exception Management |
capturing all exceptions |
x |
|
|
|
ASK: Does anyone have other capabilities that they believe would fall under Gen2 Service Monitoring? Also, for each Gen3 capability what would you expect to see under each?
 |
Thursday, November 10, 2005
As this video shows, Microsoft is on the cutting edge of organic feedback mechanisms. This first part is mainly for the developers but one can imagine how they can distribute this technology to all areas of an SDLC. From bad decisions by the business to ambiguous bug declarations by testers, this brings the emotional response to a whole new level.
|