Monday, March 31, 2008

Dinner with Scott Hanselman

Looks like the dinner with Scott Hanselman is actually going to happen. If anyone else is interested please let us know by replying to Scott's post. Sorry for the short notice but this is a spontaneous event.

Details

Place: Queen of Sheba NYC
Date/Time:
Tuesday March 1st, 2008 at 6:30pm EST

Its always great to meet the people you follow on the Internet and this will be a good opportunity for geeks to mingle and talk about why Silverlight and MVC are so cool!

Silverlight 2.0 - Get Started

Recently I started learning everything I can about Silverlight 2.0 (Beta 1 specifically) due to a work related project.

I have been a fan of this technology in principle from the first time I read it will bring .NET into the browser but now that I have actually used it I must say I am very impressed at many levels.

While in the near future I plan to start blogging about this technology in more detail for now here are some links to get you started if you have some interest.

Getting Started:

Prerequisites:

You're going to need Visual Studio 2008 Standard or higher (sorry no express support at this point)

Get the development tools for VS 2008:

Get the Silverlight 2.0 Runtime:

Learn

Read these resources:

Bonus Content:

Get Coding:

Go through the basic tutorials:

Conclusion

Beta 1 release of Silverlight 2.0 is excellent and the tools are definitely enough to get you going (and will improve in the next few releases trust me).

Be warn though bugs do exist, this is a BETA after all.

Want to learn/see even more? visit: Silverlight Official Website

Friday, March 28, 2008

MCTS Web / .NET 2.0 Certification, a first step

I am currently working on a MCTS Web (.NET 2.0) certification in my spare time. I feel now that I work for Microsoft I should eat my own dog food and get back on the certification train.

Back in 2001 I had actually taken both VB 6.0 70-175 and 70-176 exams and got my MCP title, unfortunately I have simply not had the time or motivation to move forward with more tests.

70-536, check one off the list

Today I passed my first exam: 70-536: Microsoft .NET Framework 2.0—Application Development Foundation. The test itself was pretty hard and considering the MS Press training kit for this exam is a 900 page book I am not surprised. Luckily I did well and can now move on to the (easier) tests.

Practice Tests and Disappointment

During my training one of the resources I had access to is MeasureUp online practice tests. I have to say though while they do provide questions on the topic it really does not reflect the test much. I am fairly disappointed with them over this and would say my past Transcender experience was more positive.

On to the next exam...

Tuesday, March 25, 2008

Officer Down, but respect hard to find

I am sorry to post something off-topic, I really do try to avoid such things but at times things strike close to home and force me to speak out.

Officer Down

Today the New York Times ran an article titled: Benefits Denied for Officers’ Kin, Stirring Criticism. This whole story started back in March 2007 when two Auxiliary Police Officers were gunned down in the East Village (Manhattan) by a an insane gunman who was fleeing from regular police after shooting to death another person right before encountering the auxiliary officers.

The NYT story points out a decision now reached by Department of Justice that says the officers families do not deserve Federal Death Benefits as they were not "real officers" who "had arrest powers beyond those already provided to citizens".

This decision infuriates me. The only reason this definition gap even exists is because New York City is afraid to give Auxiliary Officers real titles within the NYPD. My theory is doing so would probably cost them money and open the city up to even more lawsuits if the under-trained officers make mistakes on duty. (levels of training being again the cities fault!)

These two young souls gave up their lives to protect their community, for FREE. Yes, they were not paid, they got nothing for it, they merely walked their neighborhood in a young and idealistic way that many others still do today.

For me my its not about the money, but its about the respect. How can the Department of Justice raise their noses and narrowly abide by a definition of who qualifies for a taxpayer funded money pot that is intended for those killed in the line of duty. No matter what the definition these Auxiliary Officers were in the "line of duty" and deserve every right and respect provided to other offices who all fell while trying to keep us all safe.

To me, this matters

This is all very close to my as I was an Auxiliary Police Officer for six years and resigned only in 2007 at the rank of Sergeant. I quit the program for various reasons but many of them revolve around very similar situations that make the program a really hard place to commit to.

I really hope the pending appeal reverses this decision and have to praise the police commission for standing up on the fallen officers behalf. I just really hope some justice can be brought to an already bad situation.

My friends in Uniform, stay safe.

ISO Mounting Software

Many companies today release software for download, trial and use via ISO Images (both DVD and CD formats). Microsoft is one such company and much of what I download from them is locked away in these easily-burnable files.

The big downside for me in this model though is that most of the time I simply want to install what's in the ISO image and don't require physical media. To resolve this problem many software packages exist (for Windows XP/Vista machines) but some are better then others.

Virtual Clone Drive

One such package is Virtual Clone Drive by SkySoft. This is an excellent and free piece of software that makes Mounting and Un-mounting ISO images as simple as clicking on them. Here are the features listed for this software from the official website:

Features

  • Supports all common image formats such as ISO, BIN, CCD
  • Supports up to 8 virtual drives at the same time
  • Easy to use - just double-click an image file to mount as a drive
  • Virtual CloneDrive is freeware, you may use it at no cost.

Even though their website only lists support for Windows 98/98SE/ME/2000/XP I have found this software to work perfectly (so far) in Windows Vista.

(I don't have SP1 installed yet for Vista but hope it wont break this software)

Monday, March 24, 2008

StringBuilder truncates string

Today I was looking at some very simple code yet was puzzled: Why was the StringBuilder truncating the string?

I quickly realized that this was happening due to the .Length Property. When this Property is adjusted on a StringBuilder with text in it, if the Length is set smaller then the contents it will truncate the text down to the specified length. Lets look at this simple example:

Example:

StringBuilder sb = new StringBuilder(5); // .Length = 5
sb.Append("123456"); // Extends the .Length to 6
sb.Length = 2; // Truncates everything down to two characters

(Capacity property remains set to the capacity at maximum which was 6)

This behavior is actually described in the MSDN Documentation for the Length property, but I never read it before today.

Here is the official MSDN quoted text:

If the specified length is less than the current length, the current StringBuilder object is truncated to the specified length. If the specified length is greater than the current length, the end of the string value of the current StringBuilder object is padded with the Unicode NULL character (U+0000).

Friday, March 21, 2008

New Podcast: Sparkling Client

Today I discovered a new a well produced Podcast called Sparkling Client. Here is how they describe themselves:

Sparkling client is a podcast about Silverlight and other RIA technologies. If you're interested in learning how to write great websites that use Silverlight, ASP.NET AJAX, and others, give us a listen

At the time of this post they have 6 episodes up and some very interesting interviews and coverage of Silverlight. If this technology space interests you make sure to check them out, you wont be disappointed:

http://www.sparklingclient.com

Monday, March 17, 2008

Regional Director? MVP? Evangelist?

If you are reading blogs/articles, listening to Podcasts or watching Screencasts related to Microsoft technologies sooner or later you will come across these three titles:

  • Regional Director
  • MVP (Microsoft Valued Professional)
  • Evangelist

Most of us will ignore these titles and make various assumptions about who these people are, who they work for, and what they do day-to-day. On occasion someone I know will reference these titles and many times misrepresent them.

To try and clarify the confusion I am making this post that will provide a quick overview of each role and try to bring some sense to the collections of Titles and Acronyms that makes Microsoft famous.

Regional Director

The most important thing I can say about Regional Directors is that they don't work for Microsoft and they don't control any Microsoft regions. This title sounds very grandiose and serious, but in reality its merely a group of people who volunteer their time to try and become a connection between Microsoft and the community.

To not recreate the wheel here is the official description that Microsoft provides on its Regional Directors website:

Regional Directors aren't Microsoft employees--they're independent developers, architects, trainers, and other professionals who provide a vital link between Microsoft and the developer community.

These technical experts can give you the insight and informed perspective you need to start developing .NET-connected software today--whether you need help learning about the .NET Framework, training developers, or implementing all aspects of a solution. Contact a Microsoft-endorsed Regional Director to kick off your project today.

The group of Regional Directors is not very large and as of the day of this postings it stands at 117 people. Many famous people in the community are Regional Directors including Carl Franklin, Richard Campbell, Mark Dunn, and 114 others. (click here for the list)

The people in the program span a large amount of products and service specialities including SQL Server, .NET, Mobile Development, Software Architecture, SharePoint, etc. By aligning the people with the technologies they work with or enjoying it provides a powerful engine to gather feedback for the Microsoft Product teams and at the same time give back to the community.

So the odds are if you read blogs, go to user group meetings, attend conferences or listen to Podcasts you've come across Regional Directors and their community contributions, even if you dont know it.

A good question is though: how does one become a Regional Director? Honestly I am not sure and will update this post once I find out. Its not something I even questioned myself until I started writing this entry and it is an important question.

The program itself is evolving and expanding so I would expect many changes in the coming years. As of today though every Regional Director I know of more then deserves their title due to the contribute they have provided for the entire community.

Microsoft Valued Professional (MVP)

MVP's are another category of people acknowledged and empowered by Microsoft without actually working for the company (just like Regional Directors above). Here is how the official Microsoft website describe the program participants:

Microsoft Most Valuable Professionals (MVPs) are exceptional technical community leaders from around the world who are awarded for voluntarily sharing their high quality, real world expertise in offline and online technical communities. Microsoft MVPs are a highly select group of experts that represents the technical community's best and brightest, and they share a deep commitment to community and a willingness to help others.

Generally people become MVP's through an internal nomination process. Various people in Microsoft look at people who are contributing in their areas of expertise and nominate them for a particular technical category. One does not stay an MVP forever once awarded and must sustain a level of contribution to the community to keep receiving their status during the yearly reviews.

So how is an MVP different then a Regional Director? The main thing I always sensed was that Regional Directors interface with the community at a higher level, a more general one, while MVP's typically represent a specific technology subset. I honestly cant give you an exact different here beyond this description and would love someone's feedback if they understand this better.

MVP's include people such as Jamie Thompson for SSIS or Rick Strahl and Jon Skeet for .NET technologies. There are many MVP's (more then Regional Directors) and all the ones that I know are very bright people who contribute tons of content, Media, forum response and articles to the community.

The perks available to MVP's beyond community status and recognition is is access to free MSDN / TechNET Magazine, access to internal Microsoft News Groups and usually greater access to the teams who's products they represent (through special MVP leads who are dedicated to supporting them).

Evangelists

This last title of Evangelist is finally a category of people that do actually work for Microsoft. These FTE's (full time employees) are dedicated to tasks such as:

  • Providing training and demonstration using the web and community events
  • Writing code samples
  • Blogging
  • Working with MVP's and Evangelists to help guide the external community leads
  • Gather feedback from the community for Microsoft
  • Speak / Present at Conferences

One good post on this topic is found at this link, which is Kevin Trethewey's blog. Also, while I cant find at the moment a very good link that lists all Evangelists here is one link that does have a good number of them.

Some Evangelists that I follow include Daniel Moth and Scott hanselman. Both are very inspiring and talented individuals who's Screencasts and blog posts have tremendously helped me over the last year to keep up with technology.

As expected Microsoft's global reach requires global Evangelism, therefore many of the people in this category are strategically located throughout the world.

In my opinion evangelists are extremely important. Being they are dedicated 9am to 5pm to work on reaching out to the community on the large array of systems, frameworks and other technologies they become the face of Microsoft for developers. This is a crucial role and without it such a large scale effort as Microsoft is undertaking would be much harder to keep on track.

Closing

I hope this posts helps clarify some of the confusion around these three titles and If anything is incorrect or if you have more information to add to this, please don't hesitate to email me or write a response in this posts comment thread.

Friday, March 14, 2008

Free CD Burning Software: CDBurnerXP

Something common to most geek's is that we have been burning CD/DVD's since before most average people even knew it was possible. I still remember my first CD-Burner, a very ancient IBM drive that I purchased at the time for well over $500.

Today the options for software and hardware in this area is extremely diverse and Windows even support some limited Data/Music CD burning capabilities built right in.

Unfortunately if you want to do more advanced burning such as handling ISO files you still need a 3rd party solution. Luckily a free one exists called CDBurnerXP, here is the official description from their website:

CDBurnerXP is a free application to burn CDs and DVDs, including Blu-Ray and HD-DVDs. It also includes the feature to burn and create ISOs, as well as a multilanguage interface. Everyone, even companies, can use it for free. It does not include adware or similar malicious components

I have used this before and had great results. Before spending money for a different solution I highly encourage everyone to check out this free and neat product: http://cdburnerxp.se/

Developers Note: And best of all, its made in .NET 2.0

Thursday, March 13, 2008

Lenovo ThinkPad T60 goes BEEP

I could have sworn I posted on this a long time ago but for some reason I can't find it on my blog. In any case, this is worth posting even twice as the problem still exists with T60 Laptops, even on my brand new T60p.

Problem

During normal day-to-day use of my T60p Lenovo laptop as I type it tends to occasionally BEEP. This is an annoying system beep that cannot be easily turned off or muted.

One scenario that recreates this is simply pressing the F, G and H keys at the same time. Many other scenarios cause the same issue and it simply drives me crazy. (and the BEEP just happened as I typed this sentence <grin>).

Solution

While for a long time I lived with this problem and did my best to ignore it, eventually I had enough. The solution was easy to find as Elliot Lee posted a fix on his blog back on 12/20/2006 (see this link)

To save you a click, this is how you fix it straight from Elliots instructions:

1. Open the Device Manager. You can do this from My Computer -> Properties -> Hardware -> Device Manager.

2. Show Hidden Devices. You can do this from View -> Show hidden devices. This is where I was stuck: I didn’t know the Device Manager had hidden devices.

thinkpad-beep.PNG

3. Under Non-Plug and Play Drivers, open the properties for Beep. Go to Driver -> Stop, and the beeping will cease. I think you can also Disable the device, but for me, this would require a reboot.

The one thing I would explicitly add to his instructions is "Also, configure the Startup TYPE setting to Disabled if you don't want the beeping to return after a reboot"

Impacted Operating Systems

For me this problem occurred on both my old laptop running Windows XP and now my new one running Vista. This does not surprise me really since the fix to this problem involves tweaking drivers that must be common to both operating systems.

Note: I have personally confirmed that the instructions above fix the problem in both XP and Vista.

Lenovo and IBM, same problem persists.

I originally hit this problem with my old IBM ThinkPad series laptop. Recently though the personal computing division of IBM has been acquired by Lenovo and the problem continues just under a different vendor name.

In closing I just want to say again that I owe Elliot many thanks for figuring this out and I hope his or my post resolves your beeping nightmare. I also recommend checking out Elliot's blog at the URL below:

http://www.intelliot.com/blog/

Tuesday, March 11, 2008

Keeping up with Microsoft DEV

One of the hardest things to do today (and something I constantly talk about on this blog) is keep up with the amount of technology coming out of Microsoft for developers.

Many times I get asked, "Dmitry, how do you do it?". To answer this question I typically want to say "I don't do a good job at all", because on many days it feels that the technology wagon passed me by days ago and I still have not caught up.

But honestly I probably do as descent job at keeping up with it all as humanly possible. To get even that far I use a collection of Blogs, Magazines, Newsletters, and colleagues who I follow five to six days out of the week. This took some time to get just right, but finally I have reached the right formula for me.

So what is this secret formula? If you read this blog,  you probably have already seen a large amount of posts on the various things I recommend in terms of Blogs or Magazines, so there is no need to repeat. Honestly, the formula that I have works for me and has no guaranty of working for anyone else, so sharing it in that much detail is really pointless.

Instead, lets talk about the one thing I can always count on, the MSDN Flash Newsletter.

MSDN Flash Newsletter

I honestly believe that if your a Microsoft developer, you need to be reading your MSDN Flash newsletter on a regular basis. This customized news source has been one of the best ways for me to keep up with Redmond, its really an excellent publication with high grades for quality.

Even if I miss some big announcement or don't get caught up on my blog reading I am always sure that when this newsletter arrives in my email, it will have exactly the main highlights I should be spending time on.

To subscribe for yourself visit the link below, and trust me you wont be disappointed:

http://msdn2.microsoft.com/en-us/flash/default.aspx

Monday, March 10, 2008

Nullable Types - Screencast

Today I published my first screencast covering Nullable Types. To see it, check out this URL:

http://blog.betterknowaframework.com/2008/03/nullable-types.html

While I honestly am far from 100% happy on the quality of this demo I am ready to publish it. For me its more about getting stuff "out there" then making it perfect. In the grand schema of things I expect to do many more of these and improve as time goes on.

I look forward on hearing peoples feedback good or bad.

Thursday, March 6, 2008

ISV Innovation

Microsoft has recently lunched a new website called ISVInnovation.com. The general idea seems centered around making training seem more fun by introducing limited edition action figures for IT personas and provide interactive tours.

aa740358_WindowsServer aa740358_VisualStudio1

The various training areas include the following sections and is focused (as expected) on the latest technologies:

  • 2007 Office System
  • Windows Vista
  • SQL Server
  • Visual Studio
  • Windows Mobile
  • Server 2008

In my opinion this does border a little on the silly side but at least its a fun and different approach to training and personas of IT people, which at times can be a bit stale. Check it out and judge for yourself: http://www.isvinnovation.com/

Wednesday, March 5, 2008

MiX08 and Live.com SDK's

MiX08, finally here and rolling forward

MiX08 is now in motion and a ton of very interesting information is making its way out. If you happen to have two hours to kill I highly recommend viewing the Keynote given by Ray Ozzie, Dean Hachamovitch, and Scott Guthrie.

Some of the Keynote highlights include:

  • Silverlight 2.0 beta 1 that has support for .NET 2.0 CLR in a download less then 5 megabytes
  • IE 8.0 beta 1 that as you can imagine has a whole set of improvements (some controversial)
  • Expression Studio 2 Beta that continues to evolve this platform for designers to create rich experiences using WPF

Live.com SDK's

While much of Live.com development tools and SDK's have been out for some time now I think its also important to highlight in this blog post.

Live.com is a very strategically important platform in Microsoft's vision for the web and this can be seen in an extensive suite of SDK's available for us developers to build on top of. I have said this before: Microsoft is now about building platforms and communities first, and concrete products second.

Here are just some of the things you can start prototyping today in the Live.com toolkit of SDK's and tools:

  • Silverlight Stream SDK that allows you to post your Silverlight content and let Microsoft host it for free. (As long as you don't go over some relatively reasonable bandwidth and disk space usage caps)
  • Virtual Earth SDK that allows you to create map driven experiences on the web
  • Windows Live ID SDK that allows you to create login mechanisms powered by a common Live ID that many people already have
  • Windows Live Contact SDK that allows you to build social networks using peoples exist contact data stored in Live ID services such as Messenger or Hotmail (Note that the user still retains the ultimate keys to this information)
  • Messenger SDK that allows you to build your own Instant Messaging experiences (wow... to me this is very exciting)
  • Live Search SDK that allows you to integrate Live Search into various web scenarios
  • Alerts SDK that allows you to integrate with Alert Notifications services and go well beyond the interfaces currently provided by Microsoft for what is possible with Alerts
  • Windows Spaces SDK that allows you to integrate with the various API's made available by spaces such as Blog API's, General API's, Social Networking API's, Photo API's, and more
  • Web Gadget SDK that allows you to create Web Gadgets for Live Spaces
  • Windows Live Photo SDK that allows you access to the photo storage system provided by Live Photo Gallery
  • Admin Center SDK that allows you to control the Windows Live Admin Center through a web service API
  • Application Based Storage SDK that allows you to store documents, photos and data in the "Cloud" (Do I smell Amazon S3 competition coming? this does feel like a step in that direction)
  • Windows Live Writer SDK that allows you to extend the Live Writer platform with plug-ins
  • Agents SDK that allows you to create an interactive experience with your users or customers through messenger that is powered by voice synthesis technology and task automation (Is this Microsoft Bob in Messenger? Hmm)
  • Live Tools and Controls for Visual Studio that allows developers using Visual Studio to easily integrate Live.com services into their websites by using the control model they are very familiar with

and trust me there is more, so check it out for yourself: http://dev.live.com/ (or this link that also seems to have a lot of resources)

This is an exciting time to be a developer, lets start building Web 3.0 (or whatever version we are up to)

smile_shades

Tuesday, March 4, 2008

Microsoft Certification for Developers

I had recently started to get ready to potentially take some Microsoft Certification exams in the developer track. Now that I work for Microsoft I feel a certain level of responsibility to "eat my own dog food" in this area.

I am not without experience with certification as a few years back I had taken the VB 6.0 70-175 and 70-176 exams and at that time became an MCP.

What brings me to this specific post is to help others clarify the recent confusion in certification terminology and talk a little bit about the new upcoming exam tracks for Visual Studio 2008.

MCSD: .NET 1.1

It used to be that MCSD was the main certification developers tried to attain. Many people still use the term MCSD when reflecting on the certification they plan to get, and that's where the problem comes in. Most of these people are now talking about the .NET 2.0 Framework of certifications and MCSD does not cover 2.0. Here is the official statement on what MCSD is:

The Microsoft Certified Solution Developer (MCSD) for Microsoft .NET credential is the top-level certification for advanced developers who design and develop leading-edge enterprise solutions using Microsoft development tools and technologies in addition to the Microsoft .NET Framework 1.0 and Microsoft .NET Framework 1.1.

Notice the words "Framework 1.0 and Microsoft .NET Framework 1.1".

Note: MCAD is also part of the .NET 1.0/1.1 Track

.NET 2.0: MCTS & MCPD

The new certification that covers .NET 2.0 is Microsoft Certification Technology Specialist and Microsoft Certified Professional Developer. MCTS seems to be the simpler certification with MCPD covering the heavier and more in-depth track.

Another change Microsoft has made since the 1.1 exams is more focus on specialization (something I really like). For example here is how both MCTS and MCPD tracks are broken down into specific areas:

MCTS Track

MCPD Track

As you can see both tracks focus on Web, Windows or Distributed/Large scale systems. To me this makes perfect sense as certification should help people lead towards a particular goal that can help them in a specific job area. After all this isn't college, this is certification, it should be focused and to the point.

Architect Track?MSClevels

In addition MCPD can move you towards the Architect level of certification. Unfortunately this is not an area of interest to me at the moment and beyond the image above I don't have personal knowledge of this track.

To find out more information on your own click here.

Visual Studio 2008 Is here, so now what?

While it is true that Visual Studio 2008, .NET 3.5 and other new technologies have arrived, testing still lags behind. Currently Microsoft is working on the next batch of exams (See this link) but nothing is out yet. Expect the first test to start appearing in March/April 2008.

So what should you do, wait for the new exams or get certified now? This answer is simple, start today if you have a need or passion to do it, just be smart and follow a track that can upgrade into 2008 exam paths. For more information see this link: Microsoft Visual Studio 2008 certification—how they know you know

Closing

Overall I really like the direction certification has evolved to with .NET 2.0 specialization tracks, and now a clear "building-block" type path for .NET 3.5 / VS 2008 exams that are coming up this year. I want to wish the best of luck to anyone that tries for these certification as its definitely worth having but is not an easy road.

If any corrections are needed to this post please feel free to post your comment or send me an email.