Posts
133
Comments
328
Trackbacks
0
May 2011 Entries
A Developers Review of Cooler Master Storm Laptop Cooler SF-19

IMG_1960

DISCLAIMER: I did not get this product for free. I’m just a guy with a debit card that has bought a product and wants to share.

Last December, I decided to make the switch from using a desktop to a laptop as my primary development machine. I blogged about the experience with a post called “Searching for the Perfect Developer’s Laptop”. Fast forward almost 6 months later and the machine is still holding up great, just one problem: HEAT.

It seems strange to hear about heat problems as this is usually a problem that laptop gamers have. I wish I could say that I’m a super coder and the computer cannot keep up with my awesomeness, but that would be a lie. I decided that the best way to solve it would be researching laptop coolers for gamers and buying one based off of that. My research led me to the Cooler Master Storm SF-19. This was the highest rated (at least by Americans) laptop cooler. So I bought it and here is my review:

First glimpse, this thing is huge! It is not a cooler that you could bring with you. So, if you are planning on buying one of these then you might want to buy 2. One for the office and one for your home.

(Front View of SF-19)

IMG_1954

It comes with a USB cable to turn it into a USB-Hub that gives you 4 more USB 2.0 Ports. It also comes with an external power cable, so you don’t have to use a USB cable to give it power. This was a huge plus for me as I can plug it in and “forget it”.

The version that I bought was $60 USD (that supports USB 2.0). You can buy a USB 3.0 for $80 USD.

IMG_1955

It also has an option to turn on the LED lights at the bottom of the unit. You can also use the Multi-light shader to display up to 7 changeable colors. You can also adjust the fan speed. I have found that the fan turned on low is enough to keep my laptop cool even when I’m streaming multiple videos, have VS2010 open and about 15 tabs in Chrome. Since I am not a gamer, I must admit that the lights are kind of lame and I would never use them. It may be fun at a LANParty though.

IMG_1956

If you flip the unit over you will see 2 mammoth fans that you have access to. One of the best things about this unit is that you can easily replace them if they wear out.

(Back View of SF-19) Fan Dimension: 140 x 140 x 25 mm Fan Life: 25,000 hours Fan Speed: 1,200 ~ 2,600 RPM

IMG_1957

IMG_1958IMG_1959

Here is a few pictures of it setup in my tiny home office (Messy, I know).

IMG_1961IMG_1962

IMG_1963IMG_1964

PROS

+ Yes, It got rid of my heat problems 100%. I have absolutely no heat problems now.

+ I really enjoyed how it comes with an external power supply instead of using your laptop’s USB to power it (like most models).

+ USB-Hub built-in and upgradable to USB 3.0 if you wish.

+ Works with even a 19” Laptop if I decide to upgrade in the future.

+ Easily Replaceable Fans.

CONS

- At $60 USD that is kind of pricey for a laptop cooler. It is $80 for the USB 3.0 Version at the time of this writing (5/30/11).

- LED Lights at the bottom are lame if you a non-gamer. I can’t find any benefit to using them. (Yes, I am aware this is a gamer’s laptop cooler).

- Cannot travel with it. It is to large to put in a bag or carry with you if you are on-site with a client.

WOULD I RECOMMEND IT TO MY FELLOW DEVELOPER? Absolutely, it was a great purchase for me and solved the problem that I was having.

alt Subscribe to my feed

Posted On Monday, May 30, 2011 10:51 AM | Feedback (2)
The Busy Developers Guide to Mango.

image

You’re a busy developer and you have read article after article of “What’s new in WP7 Mango” but you are only interested in knowing “What does this mean for me as a developer ?”. This is where I step in and give you the “need to know” with a quick blog post.

What is it?

The Beta to Windows Phone 7.1 Developer Tools named ("Mango") was released on May 24th, 2011. This means you can download the bits right now, but as far as having Mango on your phone you are going to have to wait.

Let’s hit the bullet points first:

  • Mango Beta Dev Tools requires VS2010 SP1 already installed.
  • Applications created using it will not run on a NoDo Device.
  • It can run side-by-side of the final WP7 release earlier this year. (So you won’t screw up your dev machine)
  • It is a beta and you can’t submit an app using it.
  • Visual Basic is now fully integrated into the release, but you need to uninstall VB for WP Dev Tools 7.0 First.

Links worth checking out:

Download the Web Installer to get Mango Dev Tools Beta (If you wipe your machine you will have to d/l it all again)

ISO Image of the Mango Dev Tools (Usually the option that I pick because I use multiple machines)

New Code Samples for Mango by Microsoft (You must check this out as it includes full C# and VB Code)

New APIs in Silverlight for Mango (MSDN Documentation)

The Game Development Page has been updated by Microsoft as well for the XNA Folks.

Release Notes of the Mango Dev Tools (Contains important info on the release)

Windows Phone codenamed Mango Training Course.

OData Updates in Windows Phone Mango.

MVVM Light Toolkit has been updated to support Mango.

Alex Golesh’s Blog which includes a 8 Part Series on Mango.

Inside the Mango Developer Tools (3 Videos by Microsoft Press)

WP7 How-To Index for Mango

British Airways using multiple features of Mango including 3D support (Must watch video)

 

A couple of things to note:

1) When creating a new phone application you now have several new templates to choose from as shown below. I welcome this addition because I’m a firm believer that we need more templates in order to get more people started.

SNAGHTMLef126b0

2) Once you select an application template you can now pick which version of the Windows Phone platform that you wish to target:

image

If you wish to continue publishing applications make sure that this is checked Windows Phone 7.0. Only use 7.1 if you want to play with the new features in Mango.

3) It comes with a new emulator. You now have the ability to use the Additional Tools to control things like the Accelerometer and Location. You can check it out by the screenshot below:

image

4) If you right click on your project properties and select “Debug” then you will a new option called “Tombstone upon deactivation while debugging”. This will allow us to forego Fast Application Switching in favor of tombstoning. Alex Golesh has an excellent blog post with more information regarding this.

image

5) Comes with a built-in WP Performance Analysis. Just go to Debug then –> Start Windows Phone Performance Analysis.

image

Then you get this screen:

image

Place checkmarks wherever you wish to collect data and hit “Launch Application”. You will now see the following screen:

image

One you are finished profiling your application, don’t close the emulator. Hit the Stop Profiling button shown above. It will generate the following graph (according to what options you selected above).

image

That is it for my “Busy Developers Guide to Mango”. I hope you enjoyed it and please feel free to subscribe to my feed or follow me on Twitter.

alt Subscribe to my feed

Posted On Friday, May 27, 2011 6:29 AM | Feedback (3)
A few tips for working with XAML inside of Visual Studio 2010.

image

If you work with XAML day in and day out then surely you will have your own tips/tricks for working inside of Visual Studio 2010. Here are mine. I hope that you find them useful.

Tip #1

When Double Clicking on a .XAML File go directly to the XAML View and collapse the Design split view.

I find it annoying how the design view opens up every time you double click on a .XAML file. I like to create my UI inside of Expression Blend instead of Visual Studio. For instance, I get the following screen when I double click on a .XAML file inside of WP7 Project inside of Visual Studio 2010.

SNAGHTMLb3b1ee0

This is annoying because it takes time to render the design view and even load items from the toolbox. Let’s change this to where it just loads the XAML file and if we need to see the designer inside of Visual Studio then we can easily do so.

Inside of Visual Studio 2010… Go to Tools > Options > Text Editor > XAML > Miscellaneous and put a check in “Always open documents in full Xaml View”.

SNAGHTMLc21f601

Now the next time you open a .XAML File in Visual Studio 2010 it will look like this:

SNAGHTMLc274162

Much better in my opinion. You still have the option to switch back to the designer screens by clicking on the buttons listed above.

Tip #2

Improve readability of XAML inside of Visual Studio 2010.

Here is the default view of a XAML page inside of Visual Studio 2010. It is very annoying that you have to scroll to see all of the properties of the buttons. Even with that, the properties are spaced so close together that you look at each line for a few seconds in order to find the property that you want.

image

Let’s go ahead and fix that by going inside of Visual Studio 2010… Go to Tools > Options > Text Editor > XAML > Formatting > Spacing and finally check “Position each attribute on a separate line”.

SNAGHTMLc2e0675

Now when you go add new controls, you will get the nice and neat formatting shown below. You can also adjust previous lines by pressing ctrl - e, d to format the document.

image

Tip #3

Adding Line Numbers to your XAML view in order to assist in bug tracking and documentation.

Here is the default view inside of Visual Studio 2010. Notice that none of the code has line numbers.

image

Let’s go ahead and fix that by going inside of Visual Studio 2010… Go to Tools > Options > Text Editor > XAML > General > Under Display make sure there is a check in “Line Numbers”.

SNAGHTMLc3aad4e

With a single checkbox, now you can have line numbers in XAML.

image

 

Tip #4

Storing XAML Code Snippets inside of Visual Studio 2010.

Once you have a XAML code snippet that you want to reuse you can easily keep it by dragging and dropping the code snippet into the “General” tab in the Visual Studio 2010 Toolbox as shown below. Now if you ever want to use that code snippet you can do so by dragging it back in to the XAML view.

image

That concludes my tips and tricks for working with XAML inside of Visual Studio 2010. I hope that you found something useful from this post and come back again for more Silverlight/WPF/WP7 information.

alt Subscribe to my feed

Posted On Monday, May 23, 2011 6:05 AM | Feedback (4)
Game Changing Features in the Silverlight 5 Beta (Part 2)

image

Introduction

In the first part of the “Game-changing Features in the Silverlight 5 Beta,” I investigated how to debug XAML in Silverlight 5. Now, it is time to explore another feature called Multiple Window Support, where I will review its abilities within a Silverlight 5 application.  If you followed my previous tutorial, then you should be ready to get started. The full source code for the project is available as a separate download with this article.

The full article is hosted on SSWUG and you can access it by clicking here. Don’t forget to rate it and leave comments if you have any problems.

Other Resources by Me:

My webinar on “Getting started with the Silverlight 5 Beta”.

Getting Started with the Silverlight 5 Beta!
Game Changing Features in the Silverlight 5 Beta (Part 1)
Game Changing Features in the Silverlight 5 Beta (Part 2)
Game Changing Features in the Silverlight 5 Beta (Part 3)

alt Subscribe to my feed

Posted On Friday, May 13, 2011 2:12 PM | Feedback (0)
Michael’s “Mega Collection of Silverlight 5 Beta” Demos

image

Michael’s “Mega Collection of Silverlight 5 Beta” Demos

I’ve decided that today I would release a set of Demos for the Silverlight 5 Beta to help the community get up to speed quickly with the new features. In order to make the Silverlight 5 developer-base grow I will be creating demos of every feature as it is available. Here is my first set of contributions to make this happen.

To download all the demos in one file then click here.

For separate downloads then click below.

Please note: All of these demos were created using the Silverlight 5 Beta and things may change in the final release.

Demo Name Download Location
Ancestor Relative Source MikesAncestorRelativeSource.zip
Click Count MikeClickCount.zip
ComboBox Type Ahead MikesComboBoxTypeAhead.zip
Custom Markup Extensions MikesCustomMarkupExtension.zip
Debugging XAML MikesDebuggingXaml.zip
Debugging XAML (SL 4.0) MikesDebuggingXaml40.zip
Implicit Data Templates MikeImplicitDataTemplateDemo.zip
Linked Text Containers MikesLinkedTextContainers.zip
Multiple Windows MikesMultipleWindows.zip
Save File Dialog MikesSaveFileDialog.zip
Style Binding MikesStyleBinding.zip
Trick Play MikesTrickPlayDemo.zip
Unrestricted File Access MikesUnrestrictedFileAccess.zip
XNA Sound Latency MikesXNASoundLatency.zip
*NEW* P/Invoke MikesPInvokeDemo.zip

Other Resources by Me:

My webinar on “Getting started with the Silverlight 5 Beta”.

Getting Started with the Silverlight 5 RC
Getting Started with the Silverlight 5 Beta!
Yet another Beeping P/Invoke Demo (SL5 RC)
Game Changing Features in the Silverlight 5 Beta (Part 1)
Game Changing Features in the Silverlight 5 Beta (Part 2)
Game Changing Features in the Silverlight 5 Beta (Part 3)

alt Subscribe to my feed

Posted On Wednesday, May 11, 2011 1:04 PM | Feedback (1)
Game Changing Features in the Silverlight 5 Beta (Part 1)

image

Introduction

Now that the MIX 11 conference is over and we have heard the news of the Silverlight 5 Beta being released, it’s time to explore some of the new features. If you followed my previous tutorial, then you should be ready to get started.

In this piece, I am going to provide information about one of the most important and game-changing features in the Silverlight 5 Beta. - XAML Debugging. In my opinion, this is one of the most important features in the Silverlight 5 beta. In a future article, I will investigate “Multiple Windows Support” in a trusted Silverlight 5 application. The full source code for XAML Debugging project is available as a separate download at the end of this article.

The Full Article

The full article is hosted on SSWUG and you can access it by clicking here. Don’t forget to rate it and leave comments if you have any problems.

Other Resources by Me:

My webinar on “Getting started with the Silverlight 5 Beta”.

Getting Started with the Silverlight 5 Beta!
Game Changing Features in the Silverlight 5 Beta (Part 1)
Game Changing Features in the Silverlight 5 Beta (Part 2)
Game Changing Features in the Silverlight 5 Beta (Part 3)

alt Subscribe to my feed

Posted On Friday, May 06, 2011 4:49 PM | Feedback (0)
Blog Reader QA: A simple example of INotifyPropertyChanged.

image

I had a blog reader ask me this question: I see the INotifyPropertyChanged in demos all of the time, most of the time it is in a huge MVVM project and I cannot wrap my head around why it is important and why should I use it. Can you create a simple demo that shows off the feature?

I looked around on the net but couldn’t find something simple. I decided to write a quick demo and hopefully it helps clear things up. If you want to go ahead and grab the source code then it is provided here. (Please note: I created this demo in SL5 Beta.)

Go ahead and create a new Silverlight Project (using 4 or 5 BETA) and name the project “ExploringINotifyPropertyChanged” as shown below:

SNAGHTML1acc0460

Leave the next page as it is. Click OK and your SL project is ready to go.

Please note that I used SL5 Beta in this example, but you could have used SL4.

SNAGHTML1acdca5c

Click on your MainPage.Xaml and add the following code snippet completely replacing the grid:

<StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
    <CheckBox Content="Check Me" IsChecked="{Binding CheckBoxState, Mode=TwoWay}" />
    <TextBlock Text="{Binding CheckBoxState, Mode=TwoWay}"/>
</StackPanel>

Your screen in the designer mode should look like the following:

image

A simple “CheckBox” with a “TextBlock”. The CheckBox/TextBlock is binding on “CheckBoxState” which we are about to define.

All you will need to do now is create a new folder inside of your ExploringINotifyPropertyChanged called ViewModels.

image\

After you create a new folder then add a new class by following the same screenshot listed above called MainViewModel. So your project should look like the following:

SNAGHTML1fdd0fee

Go ahead and double click on the MainViewModel.cs and add the following code:

  public class MainViewModel : INotifyPropertyChanged
    {
        
        public const string NamePropertyName = "CheckBoxState";

        private bool _checkboxstate = true;

        public bool CheckBoxState
        {
            get
            {
                return _checkboxstate;
            }
            set
            {
                if (_checkboxstate == value)
                {
                    return;
                }
                _checkboxstate = value;
                RaisePropertyChanged(NamePropertyName);
            }
        }


        public event PropertyChangedEventHandler PropertyChanged;

        private void RaisePropertyChanged(string propertyName)
        {
            if (PropertyChanged != null)
            {
                PropertyChanged(
                    this,
                    new PropertyChangedEventArgs(propertyName));

            }
        }
    }
Let’s examine this before moving forward:

image

Let’s now go ahead and wire in our MainViewModel to our MainPage.xaml.cs.

So, go ahead and double click MainPage.xaml.cs and add the following code snippet:

public partial class MainPage : UserControl
{
    private MainViewModel _vm = new MainViewModel();

    public MainPage()
    {
        InitializeComponent();
        this.DataContext = _vm;
    }
}

Now if you run this application you and check the checkbox you will see the following:

imagethen       image

The property is changing and is updating the TextBlock. Now if we hadn’t of implemented INotifyPropertyChanged then the value wouldn’t have updated the TextBlock.

Let’s go back to the MainViewModel.cs and comment out the INotifyPropertyChanged.

So your screen should look like this:

image

 

If we run the project now, we will see the following if we check and uncheck the checkbox:

image then        image

Maybe you noticed but the value of the second TextBlock stayed at “True”. The “CheckBoxState” was never notified the property changed. I’m hoping that this example clears up any confusion that you had about INotifyPropertyChanged and now you will be able to use it in your applications.

Full Source code is provided here.

alt Subscribe to my feed

Posted On Friday, May 06, 2011 7:37 AM | Feedback (2)
SilverlightShow, CodeStock and Devlink lined up for the next couple of month.

sswug_speaking

I just finished delivering 4 sessions for www.sswug.org at the end of April 2011. Above is a screenshot that was taken inside of the studio. Now, I am going to do a webinar on Silverlight 5 then head to Knoxville, TN and finally Chattanooga, TN. Keep reading for details on the events:

image

SilverlightShow.net Webinar on “Getting started with the Silverlight 5 Beta.”

Wed, May 11th, 10 am PST (check your local time)
Register for this webinar

This webinar is designed for people who want to quickly understand the key features in Silverlight 5. We will walk you though downloading the bits to finally starting your first project starting from File->New Projects. We will also take a look at several key features such as XAML Debugging and Out of Browser - Multiple Windows Support. SoundEffect Class for Low-Latency, Supporting Double and Triple Mouse Clicks and Linked and Multi-Column Text.

Webinar agenda:

1. Getting started with the Silverlight 5 Beta
Includes instructions for downloading the bits, to installation and finally getting starting your first project with File->New Project inside Visual Studio 2010.

2. Key Features
Review several key features such as XAML Debugging and Out of Browser - Multiple Windows Support. SoundEffect Class for Low-Latency, Supporting Double and Triple Mouse Clicks and Linked and Multi-Column Text.

 

 image

Codestock Session on “Tools and Utilities for the .NET Developer.”

June 3rd/4th 2011.

http://codestock.org/Speakers/michael-crump.aspx

This is usually one of my favorite sessions because it shows the tools that I use at a .NET developer to do my job day in and day-out. The audience usually leaves with a better understanding of some of the FREE and a few paid tools available for .NET developers.

image

devLINK Session on “Producing and Consuming OData in an Silverlight and Windows Phone 7 application.”

AUGUST 17 - 19, 2011 * Chattanooga Convention Center * Chattanooga, TN

http://devlink.net/Speakers.aspx

This session is all about OData, we will query OData using the Browser, LinqPAD, Silverlight and even Windows Phone 7. This is a great session to get your feet wet with the basics and how you may use it in your own applications.

alt Subscribe to my feed

Posted On Wednesday, May 04, 2011 3:24 PM | Feedback (2)
Tag Cloud