Enriching Windows Phone 7.1 (“Mango”) Apps with Secondary Tiles

Another new feature of Windows Phone 7.1 that every developer should know about is secondary tiles. Windows Phone 7.0 allowed users to pin an app to the Start screen, creating a tile for that app. But it limited apps to one tile each, and it provided no mechanism for passing information to an app launched…

Building Cross-Platform Mobile Applications with HTML5 and Mango

One of the most exciting new features coming in Windows Phone 7.1, code-named “Mango,” is an HTML5 Web browser based on IE9. One by-product of this addition is that you can use Mango phones to browse HTML5 Web sites. But the greater implication is that developers can now use HTML5 to build cross-platform mobile applications…

Consumerization of IT and Silverlight Line of Business

Yesterday I had the opportunity to present a demo at the Worldwide Partner Conference (WPC) in Los Angeles. The session was called “Profiting from the Consumerization of IT with Windows Devices and Windows 7 Enterprise.” The focus was on how consumer-driven trends impact the enterprise and ways to work with, rather than against, that trend…

Portable and Efficient Generic Parser for CSV

I recently had some pretty ugly CSV files to parse and decided to have a quick look around to see if there were any libraries around that would handle the specifics of these particular CSV files without me having to write yet another CSV parsing class.  I found a couple that seemed to fit the…

Who’s Got Their Hands on My .NET Objects?

Everything in .NET revolves around memory. As in who in the heck is holding on to all my objects so memory usage just keeps going up and up and up. In conjunction with the Linked In .NET Users Group, on Friday, July 22, 2011 at 10:00 AM Pacific/1 PM Eastern, I’ll be doing a demo…

Atlanta Code Camp Demos

Another fantastic Atlanta Code Camp!   Big kudos go out to the crew that threw this together this year in record time and did a fantastic job.  I heard nothing but positive comments from everyone that I talked with.  Big thank you to the sponsors, volunteers, organizers, speakers, and attendees! I gave two presentations this year:…

Worldwide Partner Conference and Silverlight

I’ve seen a lot of speculation around the future of Silverlight and how it compares to HTML5 lately. If you’ve followed my posts and tweets you’ll find that I still believe Silverlight is strong in the line of business area and in fact my company Wintellect is still doing quite a bit with it. The…

Quick Tip: Fixing those Stubborn References

I am working on a project that uses a mixed set of assemblies. Some are in the .NET Framework 3.5, and others are in version 4.0. The project is being converted to use the Managed Extensibility Framework (MEF). In order for the parts to play nicely together, all projects must use the same version of…

DRONE Profiler: The New Old Profiler

Deep down inside every developer really wants to create developer tools. Let’s be honest, how many of you are really excited to the tips of your toes about that Line of Business application you’re working on? It pays the bills but working on a project where you completely understand the target audience and all use…

Moving further towards the Dark Side

I’ve been a proponent of dark coding environments for many moons, back to Turbo C++ and that blue.  In fact, my current Visual Studio template started way back in the first version of Visual Studio for .NET. I actually painstakingly hand-copied my colors from HomeSite.    At the recent Atlanta Code Camp, I overheard someone ment…

Does That PDB File Match the Binary?

While you should always have your PDB files in symbol servers, there are times when you’re doing private (aka local) builds and moving those builds around hither and yon in a test environment where you can accidentally forget to copy over a binary’s PDB file. That leads to the common question: short of starting a…

Using the Task Parallel Library (TPL) for Events

The parallel tasks library was introduced with the .NET Framework 4.0 and is designed to simplify parallelism and concurrency. The API is very straightforward and usually involves passing in an Action to execute. Things get a little more interesting when you are dealing with asynchronous models such as events. While the TPL has explicit wrappers…