Tuesday, December 13, 2011

My Microsoft MVP Profile

Every so often I get asked for the link to my Microsoft MVP profile. It is too long to remember so I always have go to the MVP Quick Search page and search for myself.  To make easier for myself and others to find that page, below is the link to my MVP Profile.  My MVP ID number is 4024553.
I update this MVP Profile page every couple months with anything new that I have done related to the .Net community, so it is a good one-stop location to see what I have been up to professionally. The last update was December 9 2011.

Joe Kunk
Microsoft MVP Visual Basic
Okemos MI USA
December 2011

Update: Caio Proiete kindly pointed out that each MVP has a custom URL that goes to the same page. For me, that URL is:
Thanks Caio!

Monday, November 28, 2011

A review of Microsoft Visual Studio LightSwitch Business Application Development by Jayaram Krishnaswamy

As a Microsoft MVP, I was fortunate enough to be able to see demos and follow the development of Microsoft’s  project Kitty Hawk, better known now by its release name of Visual Studio LightSwitch (VSLS). I was then, and remain now, very excited about this new version of Microsoft Visual Studio.

VSLS is exciting because it brings Rapid Application Development (RAD) into Microsoft.Net development; something that many developers have complained has been missing since VB6.

VSLS is exciting because it provides an easier .Net development platform for the “techie” that does not want to learn all the complexities of the full .Net stack but needs to quickly deliver line-of-business applications that solve yesterday’s problems today.

VSLS is exciting because it provides a migration path to the full Microsoft .Net professional application when and if that becomes necessary, since it is part of the Visual Studio family.

In “Microsoft Visual Studio LightSwitch Business Application Development” (ISBN: 978-1-849682-86-2), Jayaram Krishnaswamy, provides a clear path to understanding and using Visual Studio LightSwitch. Published in September 2011, it covers the released version of VSLS with the latest features, not the earlier Beta 1 which was significantly different; be careful to avoid VSLS books based on Beta 1.

Filled with full-color screen images and ample references, the book introduces the necessary concepts and skills in a natural order, one that should be comfortable even to someone with no prior VSLS experience. Examples and sample code are provided in both C# and Visual Basic.

The table of contents are:

Chapter 1 – Getting Started with Microsoft LightSwitch
Chapter 2 – Microsoft LightSwitch IDE and Architecture
Chapter 3 – Accessing Data from a VSLS Application
Chapter 4 – Screens in VSLS Application
Chapter 5 – Working with Entities
Chapter 6 – Querying and Filtering Data
Chapter 7 – Writing Code in Microsoft LightSwitch
Chapter 8 – Authentication and Authorization in VSLS
Chapter 9 – Deploying LightSwitch Applications
Chapter 10 – Troubleshooting, Debugging, Custom Controls, and Extensions

Some books choose to pick a single application and progressively enhance it with each chapter. I am not a fan of this approach since it makes it much harder to jump around to learn specific skills as needed or use the book as a reference. Fortunately, Jayaram does not do this, instead tailoring each example to clearly illustrate the point at hand.

When I began my professional career as a developer, each software program came with a comprehensive printed manual and it was possible to take the manual home and read it over the weekend and come into work on Monday morning, ready to be productive on the first day.  Today, as you know, comprehensive printed manuals have disappeared and it is up to the developer to find and use the best learning resources from myriad sources, each offering only a piece of the information needed. I miss having software product manuals. To my knowledge, Microsoft Visual Studio LightSwitch Business Application Development is the most comprehensive single resource available today for learning to use Visual Studio LightSwitch.  It is the next best thing to having an official manual; some would say better due to its conversational tone.

Whether you are an experienced developer or just interested in development in Visual Studio LightSwitch, I recommend you read this book.

Joe Kunk
Microsoft MVP Visual Basic
Okemos, MI USA
November 2011

Disclaimer: The publisher provided a free ebook for this review. No other compensation was given.



Tuesday, November 01, 2011

Free Databases in the Windows Azure Marketplace

The Windows Azure Marketplace has a hidden jewel: a host of free and nearly free databases.

My article on Windows Azure Marketplace databases just published online and in the November 2011 print issue of Visual Studio Magazine.


This article explores 14 different free databases or databases that are free for the first several thousand queries per month. These include topics such as language translation, economics, crime, health, real estate, and global statistics.

A sample MVC 3 web site is available for download that demonstrates using these databases, in both C# and Visual Basic code.  The same techniques used can be used to consume the additional 100+ paid databases available in the Windows Azure Marketplace in many more topics.

I hope you find it useful.

Joe Kunk
Microsoft MVP Visual Basic
Okemos, MI USA
November 2011

Tuesday, October 11, 2011

A CLR Alternative to the SQL Server ISNUMERIC function

My article on a better CLR alternative to the SQL Server IsNumeric() function just published in Visual Studio Magazine. http://visualstudiomagazine.com/articles/2011/10/11/a-clr-alternative-to-isnumeric.aspx

I hope you find it useful.

Joe Kunk
Microsoft MVP Visual Basic
Okemos, MI USA
October 2011

Thursday, February 24, 2011

Programmatically Changing the XAML of a WPF Control


Despite many years as a Windows Forms developer, I am a beginner at writing software in Windows Presentation Foundation (WPF).  Most project requests I receive are for thin client web-based solutions.  I have not had a request for a desktop application that really required the advanced visual interactivity of WPF. That combined with the limited ability to use the Windows Forms controls that I know so well has kept me out of WPF.

I am now prototyping my first WPF application and feeling appropriately lost as I try to do things that I know that WPF can do but I have no inkling of how to accomplish.  I actually enjoy learning new technologies so I am not complaining, but I am.  You know what I mean.

I have a StackPanel as the content of a tab control panel at the right side of my main page.  That StackPanel will host of contents of the appropriate UserControl StackPanel based on which option is selected on the main page.  This allows the tab panel to change dynamically based on which left side-panel label is clicked.

The code-behind that worked to do this is below.  Before I get flamed, I realize that in a production application I would be using the MVVM or MVP pattern and I would not do it this way. But this is just a quick demo and I just want to illustrate the effect.

Project_Approval_Data is the name of the UserControl that has the content to appear in the tab control panel when the “Project Approval” TextBlock is clicked.  spContent is the name of the StackPanel has has the desired content; it is the same name in all the UserControls.

I am using Visual Studio 2010 Premium and .Net 4.0 Client Profile framework. I appreciate any comments showing a better way.

Yes, this particular project is being done in C# at the customer’s request.

Project_Approval_Data project_Approval_Data =
    new Project_Approval_Data();

string spXAML =
StackPanel spSource = (StackPanel)XamlReader.Parse(spXAML);
tabItem_DataTab.Content = spSource;


Hope that helps.

Joe Kunk
Microsoft MVP Visual Basic
Okemos MI USA 
February 24, 2011

Sunday, February 20, 2011

Presenting at Microsoft 2011 MVP Global Summit

I will be presenting on Memory-Mapped Files in the .Net 4.0 Framework with examples in Visual Basic, at the Microsoft 2011 MVP Global Summit on Tuesday March 1st.  The link to the full schedule is at http://www.fladotnet.com/MVP2MVP_2011.html.

A stellar line up for sure… I am honored to be presenting alongside William Vaughn, Mike MacIntyre, Jim Wooley, Charles Sterling, Stephen Forte, Andrew Brust, Bill Wolfe, Rob Keiser, Julie Lerman, Jason Beres, Jason Rainwater, Kathleen Dollard and David McCarter.


Joe Kunk
Microsoft MVP Visual Basic 
Okemos, MI USA 
February 2011


Monday, January 17, 2011

SQL Database Discovery Presentation at CodeMash 2011

On Friday January 14th, I was honored to give the presentation at CodeMash 2011  “Get Productive with that SQL Server Database Now”.   I shorted it in the slide deck to “SQL Database Discovery”.

The talk is an extension of my On VB article published in Visual Studio Magazine in August 2010, “How to Get Oriented with a New Database”.

The presentation centered around strategies for quickly getting productive with a large and complex SQL Server database that you have never seen before, assuming you have been provided with the sa password (or equivalent) and no other documentation or guidance.

The presentation showed dynamic queries that can be run to determine schema information, a Visual Basic .Net demo program to display those values, inexpensive third-party tools that can help, Glenn Berry’s database profile queries, and a stored procedure that can all the occurrences of a specific data value throughout the database.

The third-party tools demonstrated were Red Gate SQL Doc to view hyperlinked SQL schema information, Sparx Systems Enterprise Architect corporate edition to draw an entity-relationship diagram from the database, and Visual Studio 2010 Premium edition to import the schema as a database project.

The full presentation slides, demo program, and stored procedures can be downloaded from here.

Hope that helps.

Joe Kunk
Microsoft MVP Visual Basic
Okemos MI USA
January 17, 2011

Sunday, January 02, 2011

Renewed as Visual Basic MVP for 2011

I am very honored to announce that I have been renewed as a Microsoft Most Valuable Professional (MVP) in the Visual Basic discipline. for the third consecutive year.  Very exciting!

I congratulate all my fellow Microsoft industry professionals that received their first MVP award or were also renewed. 

The MVP awards are announced on the first day of each calendar quarter.  Each successful candidate is then eligible for renewal annually on the same date as long as their MVP status remains in good standing.

The MVP is awarded in recognition of technical community leadership and willingness to share expertise over the last year.  If you are interested in becoming a MVP or wish to nominate someone with exceptional contributions, you can learn more at http://mvp.support.microsoft.com/gp/mvpnominate.

I look forward to continuing to participate in the Microsoft developer community and sharing my experiences and expertise, hopefully to the benefit of many.

Joe Kunk
Microsoft MVP Visual Basic
Okemos, MI USA
January 2010