Archive for the ‘Development’ category

Sideways Dictionary

September 8, 2017

It’s like a dictionary, but using analogies instead of definitions. Use it as a tool for finding and sharing helpful analogies to explain technology. Because if everyone understands technology better, we can make technology work better for everyone.




November 7, 2016


Web Development

April 26, 2016


Returning 401 HTTP Status Code on Authentication Failure in MVC 5 Web API’s

April 15, 2016

Was experiencing a problem that my AJAX requests were not receiving any 401 errors.

Turns out the security pipeline in OWIN and MVC 5 has changed and a custom filter attribute was no longer returning 401 and 403 status codes. Instead it returns a 200 status code and inserting the following information in the header.

X-Responded-JSON: {"status":401,"headers":{"location":"http:\/\/localhost:59540\/Account"}}

As a result JQuery does not detect the error and simply did nothing. Fortunately this great article by Kevin Junghans helped to solve this problem.

After reading this article I discovered the following the OWIN help:

“The LoginPath property informs the middleware that it should change an outgoing 401 Unauthorized status code into a 302 redirection onto the given login path. The current url which generated the 401 is added to the LoginPath as a query string parameter named by the ReturnUrlParameter. Once a request to the LoginPath grants a new SignIn identity, the ReturnUrlParameter value is used to redirect the browser back to the url which caused the original unauthorized status code.

If the LoginPath is null or empty, the middleware will not look for 401 Unauthorized status codes, and it will not redirect automatically when a login occurs.”

Hopefully this saves you the time I spent bumbling around in the deep, dark pit of despair.


Server-side paging, sorting, filtering and grouping with the Kendo UI Grid and NHibernate

December 17, 2015


Trying to integrate Telerik’s Kendo Grid with NHibernate and you keep getting a nasty exception? How to get server-side data operations working without experiencing the grouping error?

Find out more.



Multithreaded programming – theory vs actual

April 20, 2015

multithreaded programming

Five Pervasive Myths About Older Software Developers

November 21, 2013

Nice article on old vs young developers. Author addresses the issues directly in a no-holds, unprejudiced manner.

Five Pervasive Myths About Older Software Developers