Patrick Steele's .NET Blog

Implements ICodeWithDotNet

  • Why you need to learn async in .NET

    I had an opportunity to teach a quick class yesterday about what’s new in .NET 4.0.  One of the topics was the TPL (Task Parallel Library) and how it can make async programming easier.  I also stressed that this is the direction Microsoft is going with for C# 5.0 and learning the TPL will greatly benefit their understanding of the new async stuff.  We had a little time left over and I was able to show some code that uses the Async CTP to accomplish some stuff, but it wasn’t a simple demo that you could jump in to and understand so I thought I’d thrown one together and put it in a blog post.

  • 2012 Begins

    It has become tradition for the past few years that my first blog post of the new year is to thank Microsoft for being recognized as an MVP.  This year is no different.  Once again, I’m honored to be recognized by Microsoft for my contributions to the community.  After visiting Redmond for the past 4 years, I’m going to be skipping the Summit this year.  I’ve got a client project that I really want to focus on and don’t want to push it out another week.

  • Taking Android Emulator Screenshots WITHOUT Eclipse.

    I’m working on an Android app and before publishing it to the Android Market, I needed some screenshots.  I assumed the emulator supported screenshots, but when I did a search for “android emulator screenshot”, most of the hits talked about how to do it from Eclipse.  I’m using IntelliJ IDEA Community Edition.  However, based on the descriptions, I understood what was going on.

  • WPF: Simple “Busy” Overlay

    I’m working on a WPF project that does some background processing which could take more than a few seconds.  Instead of a busy cursor, I want to give the user a simple “Please wait…” message via an overlay that appears on top of the form.  I found the solution in this stackoverflow question.  However, the solution presented there was an overview.  In this post I’ll show a complete example along with a downloadable sample project so you can play with it for yourself.

  • Android: Encapsulating Shared Preferences

    The Android OS gives you a convenient way to save and load simple data (i.e. string, float, int, boolean and long) in the form of SharedPreferences.  The data is stored in a dictionary format that utilizes a key/value pair.  The “name” of the preferences is also supplied by your code.  In a lot of the samples you’ll find online, the name of the shared preferences and all of the keys are stored as constants at the top of the Activity class (or worse, the key names are copy/pasted throughout the code!).  I don’t like polluting my Activity classes with stuff like that so I’ve been encapsulating my preferences in their own class.