Entries for 2015

December 30, 2015

DNN/Evoq Scheduler: Setting Expectations

One of the fundamental features of the DNN/Evoq platform is the the internal "Scheduler" system.  Creating a Scheduled Job is an easy process, and something I have blogged about in the past.  However, I have been seeing more questions recently around what exactly is meant by the "5 Minute" Interval or other settings regarding the scheduler jobs.  The root cause is the differences in expectations versus what is possible.
December 29, 2015

Debugging & Managing NuGet Packages A Lesson Learned

Over the past few years those of us in the .NET development space have been forced to jump on the NuGet bandwagon as it relates to adding certain dependencies to our own projects.  No matter what our individual thoughts are with regards to NuGet we must learn to live with the tool, and use it to the best of our abilities.  Most of the time the packages that we use will be well-formed and managed in a responsive manner.  However, as I recently learned, that isn't always the case.  When things start to go awry it can make your standard diagnostic processes less than successful.  Given these experiences I wanted to share two recent experiences with NuGet, not in an effort to shame any of the involved parties, but to help illustrate the importance of looking at solutions & packages in a different light than your standard development processes.

November 23, 2015

St. Louis Days of .NET / DevUp Followup

On Saturday November 14th, 2015 I gave three presentations at the St. Louis Days of .NET / DevUp conference. For those in attendance, or for those interested in the topics discussed the presentation materials are all here.

November 20, 2015

Check Your DNN Configuration for Performance!

More than six years ago I created the first version of my  DNN Performance Best Practices guide.  This guide has been downloaded by thousands of people looking to get the best performance out of their DNN installations.  The guide has been the training tool I've used for new members of my staff, and it serves as the baseline for any new DNN installation that we work with.  However, in this post I want to draw attention to what has recently become a silent killer with regards to DNN performance.  

October 08, 2015

Handing Namespace and Class Changes in Entity Framework

Entity Framework is an amazing set of tooling that helps to manage data access in an efficient manner, however, it seems that when things start to go "funny" it can be a major time-suck.  A recent issue that I experienced that I thought would be worth sharing was an issue related to applying migrations.  Adding migrations is something that has become trivial, yet one day my project reported Unable to generate an explicit migration because the following explicit migrations are pending:.... With every single one of my existing migrations listed.  This was highly curious, as the application has been in use, in production, for the better part of a few months.

September 23, 2015

Fixing Failing DNN Scheduler DNN 7.3.x Issues

In the past few months I have had to work with various issues with DNN/Evoq sites not executing scheduler jobs.  A number of various blog posts as well as forum posts have been started on the issue, and all point to a similar issue with regards to case-sensitivity with the scheduler and the web server name.  I had a recent situation though where I had fixed all of the issues outlined but was still seeing an error.

September 17, 2015

Don't Fear the Cache

Over the past three to four years I have spent extensive time working with customers to improve performance.  As part of this endeavor I have had the pleasure of working with numerous internal, external and third-party development teams for these companies and the experiences have provided a great deal of insight to how people look at performance with software development.  This experience transcends platforms as the specific concern with this post has been experienced with ASP.NET MVC Projects, DNN Projects, WPF projects, and even those on mobile devices.  Although each platform or process will have different rules and requirements for performance and methods to manage it, there are a few constants. This post is going to be the first of many posts around performance optimization and development. best practices. 

September 08, 2015

Avoiding Issues with DNN EncryptParameter

Working with DNN extension development we often need to share information from page-to-page or other locations within our application and we want to do so in a secure manner.  For the longest time DNN has contained a handy set of methods in the UrlUtils namespace, EncryptParameter and DecryptParameter.  They are easy to use, but just recently I have uncovered a very unusual situation that resulted in an error.  Funnily enough, this code has been running in production for more than 5 years!

August 25, 2015

ASP.NET MVC 5 & Bootstrap 3 Validation Usage

There have been many posts out there that show various solutions to use ASP.NET MVC 5 with Bootstrap 3 style input validation.  Some of the solutions are far better than others, and others looked perfectly elegant, yet they didn't necessarily result in changes working the way that one would expect.   After trying multiple solutions I found that I was able to take one of the more elegant solutions and it was working for "success" but wasn't working for error states, so I decided to dive in an fix it for my situation.

August 11, 2015

Determining Database & Table Sizes in SQL Azure

As the popularity of Microsoft's Azure platform continues to rise, I find myself constantly adding new scripts to my library.  As technology continues to evolve we need to find different solutions to meet technology needs.  SQL Azure has introduced a number of changes to processes and protocols as it relates to development & support.  One of the most viewed topics on this blog is my Determining SQL Server Table Size, a quick post from 2007 after helping a co-worker solve a problem.  Fast forward 8 years and this post still sees more than 1,000 views in a month.  However, try to run that on SQL Azure and you will have an issue.  SP_SpaceUsed is not available to us on that platform!  In this post I will provide a few helpful queries to get around this limitation.

July 20, 2015

Visual Studio 2015 RTM - My Favorite Features

It seems like just yesterday that we were anxiously awaiting the release of Visual Studio 2013, now we are on the brink of yet another round of amazing .NET changes.  The evolution of the development tools as well as the underlying languages and platform can be daunting to keep track of.  Having been using Visual Studio 2015 for a while under the various Microsoft Release Candidate releases I have had a good amount of time to play with the IDE as well as the new language features.  So I thought what better way to help celebrate the RTM (Release to Manufacturing) of VS 2015 than to share my favorite features and improvements.  This is only a mere subset of the features that I enjoy.  i will have future blog postings going into more detail on a number of these!

January 27, 2015

Adopting a Performance Focus With Software Development

Over the past few years I have given a number of talks and written multiple blog posts on the topic of performance optimization as it relates to software development.  These postings have been very technical in nature and focus greatly on the problem solving aspects of application performance.  However as I review my presentations one of the most critical aspects of application performance is actually business organization and dedication to application performance.  In this post I would like to review the common approaches that I see within development teams and easy ways for management to encourage positive change to focus more on development.

January 19, 2015

Developers & Recruiters: Managing the Relationship

For one reason or another in my entire career I have helped to mentor others in professional development and educational topics.  I think this comes from getting involved in educational environments within a few years of starting the "real job."  Over the years I have shared a lot of information with others that over time I have been able to see the benefits.  A recent situation locally got me thinking about some of these topics and I decided to create a new category here on the blog around "Professional Development" to help share some of these tips and tricks.  In this first post I'm going to talk about something that can be create very sticky situations and that is the relationship between developers and recruiters.  Although applicable to other industries, my thoughts and experiences are based on working with IT recruiters which seem to have a few different needs/styles than others.

Content provided in this blog is provided "AS-IS" and the information should be used at your own discretion.  The thoughts and opinions expressed are the personal thoughts of Mitchel Sellers and do not reflect the opinions of his employer.

Content Copyright

Content in this blog is copyright protected.  Re-publishing on other websites is allowed as long as proper credit and backlink to the article is provided.  Any other re-publishing or distribution of this content is prohibited without written permission from Mitchel Sellers.