Desert Code Camp

I posted on Twitter today that Desert Code Camp is not happening this year.  The venue that we use, Chandler – Gilbert Community College is going through some renovations and just could not fit us in this year, unfortunately.  A few people asked what we would need from a venue to help make Desert Code Camp happen.  I put together a list below:

  • Should be able to support 700-900 people (it grows about 100 people every Code Camp)
  • Should have at least 15 rooms
    • Rooms should have a projector
    • At least 7 rooms should be able to accommodate 30 people
    • At least 3 rooms should be able to accommodate 75 people
    • Preferably have 3 rooms that can support 100+ people.
  • There should be a large area to host breakfast, lunch, and a sponsor area for all of the attendees
  • The venue should have reliable WiFi for the attendees
  • Preferably free or very low-cost since this event is free

Some nice to have:

  • A room / venue large enough to hold all of the attendees for an opening and closing keynote.
  • Amble (free) parking for the attendees.

If you have any questions or would like to throw your venue in the hat, please reach out to me.

So you want to be a Microsoft MVP

It’s very common for myself and other Microsoft MVPs to get asked “What does it take to become a Microsoft MVP” or “I want to be an Microsoft MVP, please tell me what I can do” when we speak at conferences or chat with each others on social networks. The short answer is most people outside of Microsoft do not know that the “secret formula” is. The long answer requires a little bit of understanding of how Microsoft evaluates potential candidates for receiving the award and what the propose of the award is.

The rest of this post is my opinion on how you can become a Microsoft MVP. To see what Microsoft says about how you can become a Microsoft MVP visit

In order for one to earn the Microsoft MVP award, Microsoft has to see the recipient as some one who provides value to the Microsoft ecosystem and is influential in the software industry. The award is given based on the previous years contributions to the Microsoft ecosystem and is from one of the product teams. Product teams include, Microsoft Office, Microsoft Azure, Microsoft .NET and many others. Each product group budgets for a certain number of MVPs a year, depending on the specialty, there can be very few spots to many spots available to for new candidates. In addition to this, you need to get nominated by a Microsoft MVP or Microsoft employee for Microsoft to consider you.

OK, so how can I provide value to the Microsoft ecosystem you ask. That’s the tricky spot, there are no fixed rules, minimum contributions or formula for getting in. That being said there are a few things you can do to get on the radar:

  • you can blog
  • speak at conference / user groups
  • respond to forum post on MSDN, Stack Overflow, C# Corner and similar forums
  • help out you local user groups and Microsoft Developer Evangelists at events
  • contribute to open source projects, especially ones that Microsoft is interested in 🙂 (Thanks @jamie_dixon for the tip)

My recommendation is that you do not make becoming an Microsoft MVP a goal, but let it happen naturally by doing some of the things mentioned above and even if you do not get the Microsoft MVP award, remember that you are still helping people with your contributions.

Being More Productive with @Todoist

It’s not unusual nowadays for the typical person to be overwhelmed with tasks that we need to get accomplished on a day to day, week to week or just plain need to get done. Whether it’s for work, home, or just some personal tasks, we look to different ways of tracking this items or ways to remind us that we have something to do.  Some go old school and tie a ribbon or thread to a finger 🙂 Some write down tasks in Franklin planners or equivalent tools. Some followup methods that have been created by “productivity experts”. For me, I used a combination of my multiple emails accounts; work, personal x 2, and communities emails address along with PostIt notes. After my work email box got up to about 100 items I needed to act on and my personal got to about 75, I said enough is enough, I needed to find a better way to track the work I was working and when it was do, so I could better prioritize my day.  After searching the web and trying out a few applications I landed on Todoist.

Todoist basically provides a service to store your “TODOs”. However, Todoist is not just a todo list. The value is in the meta data that you add to the todo. Things like projects, labels, due dates. reminders, and notes.  Granted some of these features are extra, but at a cost of $29 a year, it is reasonable. Todoist is also available on multiple browsers, platforms, phones and plugins to web mail.  Look here for the full list.

The Application


Todoist Interface

Todoist Interface

As you can see the interface is quite simple. On the left we have 3 links to “views” of your todo list. ‘Inbox” is used for anything that you did not assign to a project. “Today’ contains any items that are due today. ‘Next 7 days’ contain a list of the items due in the next 7 days. There are then links to the projects, that you create with the color your assigned them.  The slightly grayed out number represents how many items are in the view or project.

Right Side

To the right we have the todo list view.  It contains a header

Header Bar

Header Bar

The header contains the current filter applied (mine is overdue and next 7 days). A plus button to add a new task. A bell for you to see the application notifications. The shield and numbers represent your todo Karma rating and how it is trending.

Adding a Task

Adding a Task

Adding a Task

Adding a task is easy. Though out the desktop application the are multiple locations to add a tasks and the all look like the image above.  You simply type the text you want and optionally set a due date. Due dates can be set by selecting from the pop up calendar or typing in text like ‘Every Friday’.  See here for date options.

Overall the product is simple to use and it has helped me a lot in the last month.

Just a note, I did not receive anything for this blog post. I wrote the post because the application / service has been very helpful for me and I wanted to share.

Speakers are not Idols

I’ve noticed that at a lot of conferences I attend conference attendees are afraid to approach the conference speakers. It would appear that some attendees think that speakers are idols and untouchable. I want to say that conference speakers are not idols. While I can not speak for every conference speaker, I know myself, and the other conference speakers that I know, love when conference attendees come up to us. So when you are at your next conference, or user group meeting, feel
free to walk up to the speaker after the talk or if you see them in the
hall way.

Here are a few tips for interacting with a speaker:

  • Be respectful of the speakers time. Do not monopolize their time.
  • Do not expect the speaker to solve all your problems. Most will spend a few minutes to talk to you and to understand the issue so that they can provide suggestions, some may provide guidance.
  • Feel free to contact them.  Most speakers provide an email address and / or have social media accounts.  Please keep in mind that some speakers keep their Facebook accounts personal so do not be offended if they deny the request or do not approve it.
  • Avoid interrupting speakers if they are already talking to someone.
  • Avoid interrupting speakers while they are eating, if they are at your table they will most likely talk.

I’d love your feedback, please leave comments below with your thoughts.

Bootstrap for ASP.NET MVC Review

Starts off with a good introduction to using Bootstrap in your ASP.NET applications.  It covers the default “File | New” experience, manually added files and my favorite, NuGet. The author then continues with introducing the Bootstrap element styles in a logical order, starting with the grid and ending with form validation.  Next the author introduces the JavaScript components of Bootstrap.

In the next part of the book the author does what I have not seen in other books on Bootstrap, the author explains how to create helper methods, which is good but there already is a well used package for that in which the author has a chapter on on at the end of the book.

The author goes on to give suggestions are to how to work with and convert sites that do not have bootstrap.

I’m not sure why but the author included a whole chapter using the jQuery DataTables plugin with some of it’s extensions with Bootstrap.

Overall, the book was easy to read, the author was clear and logical in his explanations of Bootstrap. I would recommend this book to someone just starting to learn Bootstrap and working on ASP.NET applications.

Pro NuGet Book Review

First off, I love the subtitle “Your Salvation from Dependency Hell’, although NuGet does offer its own Dependency Hell sometimes.

The first chapter starts out as you would expect, how to get started with NuGet.  However, the authors  added a helpful page of links to the different NuGet tools and documentation that they would be referring to.

The next chapter goes through, in great detail, how to install, uninstall and upgrade NuGet from the user interface, NuGet Powershell Console and command line. They then continue to talk about NuGets solution package management and visualization features.

The third chapter is a doozy, the authors explain in great detail how to author a NuGet package. They cover versioning, dependencies, configuration transformations and more.

The next chapter covers publishing NuGet package in three different ways; on, through the command line, and NuGet Package Explorer. The authors continue the chapter by explaining how to publish the symbol files for you NuGet packages.

The authors then show you how you can host your own NuGet repository on your servers or use a service like to host your packages privately.

The next three chapters talk about integrating NuGet into you release management process for both continuous and automated delivery as well as integration with your build services (TFS and Team City)

The final two chapters talk about extending NuGet to add features to it and using NuGet to make your applications extendable.

Overall, this books first 5 chapters starts with what you would expect a book or a set of blog post on NuGet would. However, the authors provided a lot more than just the “normal” stuff, they added a lot of extra detail and reference points.  But what really sets this book apart from the rest is the last 5 chapters that go into how you can incorporate NuGet into your current environment and processes. It also provides lots of ideas on how you can custom NuGet and use NuGet to make your own application extensible. 

jQuery Twitter Bootstrap Flickr Carousel

A few months ago I built a jQuery plugin that uses the Twitter Bootstrap Carousel to cycle through images on Flickr. In order to use this plugin you need to get an Api Key from Flickr and have the following software:

  • jQuery (v1.8 or higher)
  • Twitter Bootstrap (v3.0 or higher)
  • Twitter Bootstrap components (v3.0 or higher)
  • twbsPagination (optional)

Sample Usage

		tagsToSearchFor: 'mvpsummit,mvp2013,mvp13', 
		flickrApiKey: 'insert your key here', 
		paginationSelector: '#flickr-pagination'

Download the plugin from GitHub at:

See an example of usage at:

Bootstrap Theme Switcher jQuery plugin

A few months ago a published an article on a Bootstrap Theme Switcher. I’ve since approved this post and the JavaScript and turned it into a jQuery plugin. This plugin works with the Bootswatch API to provide the user the following:

  • Loads a list of available themes from the API into a SELECT or a UL,
  • Dynamically change the site theme to the selected theme
  • Manually change the theme
  • Save the selected theme to a cookie, requires the jQuery Cookie plugin,
  • Loads the selected theme from a cookie, requires the jQuery Cookie plugin,

The plugin also allows you to load of list of local themes in case you to note want to use the Bootswatch site.

Let me know what you think.


jQuery Plugin page
GitHub Repository
Demo site

Next steps

  • NuGet Package
  • NPM module
  • Bower module

Taking the “Leap” to Everleap

For the past 5+ years I’ve had a few different sites hosted at Discount ASP.NET, this site being one of them. Recently, Discount ASP.NET released a new product in the web hosting arena, Everleap. Everleap is a new cloud based hosting solution.  I know, the word “cloud” is massively overused nowadays.  Everleap differs from other solutions as it uses the Windows Azure Pack for it’s services. The Windows Azure Pack is the same technology that Microsoft uses to run their own Windows Azure hosting platform. Microsoft has made Azure technologies available to their partners so they can build public and private cloud offerings that run in the their own data centers. For more on the Windows Azure Pack check out

The move to Everleap

The move to Everleap was easy considering I already had my site on Discount ASP.NET

  1. Open up an Everleap account: Cloud Websites or Multi-Domain Cloud
  2. Create a Discount ASP.NET support ticket requesting the move
  3. In a few hours or so, the new sites were created and moved over. They even updated web.config with the new database connection strings and smtp settings.
  4. If you do not use Discount ASP.NET to register your domains, you will have to log in to your registrar to update the DNS servers to point to the new Everleap DNS servers.

That was it.

If you need a scalable site where you can increase and decrease the number of servers as needed and want predicable billing, Everleap might be the solution for you.

Disclaimer: I was given a free Everleap account to host this site and other community sites that I run like Desert Code Camp. This is not a sponsored post.

Book Review: Designing Evolvable Web APIs with ASP.NET

When I first learned about this book I could not wait to get my hands on it for two reasons.  One, my current work project involves designing an API for an application to “talk” to a wide variety of systems. The second is one of the authors, Glenn Block. I’ve known Glenn for a while. I’ve seen him present, I’ve talked with him, read his blog posts and knew the book would not disappoint and it did not.

The book starts off with covering the HTTP protocol, then moves into the different types of API styles like the Richardson Maturity Model, RPC, REST and others. The authors do this to give the readers an understanding of how the web works and why the Web API framework in ASP.NET is the way it is. The authors describe, in depth, building out an API, versioning it, applying security, formatting responses and talk about testability of an API.

In short, this book is a must have for anyone working on or designing any API.

Disclaimer: I was given a copy of this book in the hopes that I would review it. I only post reviews on books that I think would provide some benefit to the development community.

Get Designing Evolvable Web APIs with ASP.NET on Amazon.