Decaying Code

Where code comes to die

Community Update 2014-04-22 – #angularjs, #unittest in #javascript, #ef6, #nhibernate migration and more


Must Read

FubuMVC Lessons Learned — Misadventures in DevOps with Ripple, Nuget, TeamCity, and Gems | The Shade Tree Developer on (

Windows Phone 8.1 has my attention now - Scott Hanselman (

The Birth & Death of JavaScript — Destroy All Software Talks ( – This video is amazing. It’s a must watch and it’s free.

Web Development

Angular JS–Part 14, End to end tests | Gabriel Schenker's Blog (

AngularJS–Part 15, End to end tests and mocking | Gabriel Schenker's Blog (

Mixins, Forwarding, and Delegation in JavaScript (

AngularJS: The Awesome Parts on Vimeo ( – Obviously a video.

JavaScript Unit Tests and Code Coverage Tracking using Venus.js (

Monkey-Patching, Overriding, and Decorating Methods in JavaScript ★ (


Sharing code across platforms (

Migrating from NHibernate to Entity Framework | Jimmy Bogard's Blog (

Debugging Deeper through Reference Source | rionscode on (

Making Complex Types Useful with Entity Framework 6 Custom Configurations -- Visual Studio Magazine (

Limiting Your Entity Framework Models -- Visual Studio Magazine (

Authentication Protocols, Web UX and Web API | CloudIdentity (

Routing System.Diagnostics.Trace and System.Diagnostics.TraceSource logs through NLog | NLog (


NWebsec - Documentation ( – Security headers for your requests

Building OData Service using ASP.Net Web API Tutorial - Part 2 (

Public Speaking

reveal.js - The HTML Presentation Framework ( – For those interested in making a slide deck in pure HTML.

Search Engines (ElasticSearch and more)

Log aggregation and analysis: splunk | Tactical Grace (

Play with Elasticsearch (

Community Update 2014-04-17–#angularjs, #nodejs, #javascript tools and debugging, #bldwin highlights and #elasticsearch


Must Read

Boring Systems Build Badass Businesses (

Web Development

How to use CORS requests in Internet Explorer 9 and below. | jgauffin's coding den (

How I Built WatchMeCode’s Subscription / Streaming Service (

Principles of Writing Consistent, Idiomatic JavaScript (

Saving HTML5 canvas as image | We Work We Play (

A List of Foundational JavaScript Tools (

How I Setup Angular + Node Projects (

Advanced JavaScript Debugging with console.table() – Marius Schulz (

javascript - How do I "think in AngularJS" if I have a jQuery background? - Stack Overflow (

The Special Properties of ngRepeat In AngularJS (


Build 2014 Highlights For Web Developers | PoppaString (

BlogMatrix. A Very Simple Blog Engine · Kestrel Blackmore (

Consensus: Bringing it all together (

MvcPages: ASP.NET MVC without routes and controllers - Declarative Programming (

Nancy on OWIN – bundling and minification | Goran Obradovic in internet (

Debugging ASP.NET Web API with Route Debugger (

Search Engines and data metrics

jasonish: Snort, Logstash, Elastic Search and Kibana... ( Investing In Apache Lucene | Blog | Elasticsearch (

Logfile Handling - Are you visualizing your Logfiles? | Blog (

Newbie debut with Sublime Text 2

So I’ve started using Sublime Text 2 for some JavaScript fun. I’ve never found the tooling inside Visual Studio that great for JavaScript (TypeScript however is a whole other game) and since I’m going to spend quite some time editing JS files, I decided to give Sublime a go.

The first time I heard from Sublime was at the MVP Summit in February 2013. There was one big proponent of Sublime and one big room that wasn’t that interested. Things moved on but the name was there.

Today, I’m hearing more and more about Sublime and the community around it has grown incredibly.

My pains so far…

First, the shortcut. I’m used to Visual Studio + ReSharper and oh god… the shortcuts are killing me. My brain is hardwired since at least 3-4 years in using ReSharper + VS shortcuts and to be honest… it’s the most horrible experience I have so far. However, I know that shortcut are mainly muscle memory. You think of an operation and your body knows exactly what to press without you even thinking about it. Rename? Boom. My fingers are on CTRL-R before my brain can remember the exact shortcut. This I know is going to be a world of hurt for me until my stupid brain get used to this.

Since we’re talking shortcuts…

Surviving Sublime with some shortcuts

With ReSharper, you can get very far with CTRL-ENTER (fix whatever is where I am) and CTRL-SHIFT-R (refactor).

So I was looking for something similar with Sublime.

Shortcut Action Description
CTRL-P Quick-Open files Allows you to type file names with paths to allow you to get anywhere. Supports PascalCasing and partial match.
CTRL-SHIFT-R Go to Symbol Gets you to a recognized symbol. Symbols can be created by custom packages (more on that later). Sublime will find symbols in your files.
CTRL-SHIFT-P Command prompt This one is the power tool you are going to use once you get used to Sublime. It allows you to access commands from packages.
For a more complete list of shortcuts, I recommend going here.

Sublime and its packages

If like me you are coming from a Visual Studio environment, you should know NuGet. Well, Sublime has its equivalent but for the editor itself.

Click here for the instructions on getting Sublime ready to install packages. It will give you instructions on getting it ready.

So what can packages do? They can add supports for new languages, help the IDE find new Symbols, add snippets per languages, add commands, etc. A package can potentially do anything inside your project.

Some plugins like LiveReload will automatically refresh your browser when you save a file. The Git plugin will add git commands to the CTRL-SHIFT-P interface so that you don’t even have to leave your editor to git commit. You like the TODO list in Visual Studio? TodoReview generates a list of all todos in your project in any languages.

If there is something you want to do… there’s probably a Sublime Package for it.

Head here to browse more packages

Sublime Commands

Okay those are completely crazy once you start using them but is still quite a relatively simple concept.

First, the commands are contextual to your file. So there won’t be any snippet for C# files if you are in JavaScript file. Then, some commands (like Package Control) are global and accessible wherever you are. The same “PascalCase” partial matching algorithm here is used for commands.

As an example, I installed a JSLint package and suddenly, I have a JSLint command available that I can run on any files.


Okay so I’m still not “production ready” yet but if you have recommendation on which packages I should install (I’m a C#, ASP.NET, developer that does Javascript, Durandal, Angular, Knockout, etc.), please let me know in the comments!

Community Update 2014-04-16 – #angularjs, #stringjs, #nodejs, #KendoUI going #OSS, #aspnet and more


Web Development

Building a Recipe Search Site with Angular and Elasticsearch (

string.js (

Build a RESTful API Using Node and Express 4 ♥ Scotch (

Kendo UI Core ( – Kendo is now open source!


Structuring and Loading TypeScript Modules -- Visual Studio Magazine (

Shipping Visual Studio snippets in an extension (


How To Disable ASP Session State in ASP.NET (

CRUD operation using AngularJS and WebAPI in ASP.NET WebForm | Ashish's Blog (

Building OData Service using ASP.Net Web API Tutorial - Part 1 (

Challenge of Solving an ASP.NET Web API Self-Hosting Problem: No HTTP resource was found that matches the request URI - Tugberk Ugurlu's Blog (

Social login with OWIN Authentication in MVC5 | .NET | TheRoks (

Architecture and Methodology

Reference 6: A Saga on Sagas (

Community Update 2014-04-15–#angularjs and #durandal converge, #nodejs, #javascript, #oss, #aspnet and more


Must Read

How to be an open source gardener (

Superhero.js (

JS Recipes (

Web Development

Angular and Durandal Converge (

Gulp and Grunt at AngleBrackets | John Papa (

Synchronizing Asynchronous JavaScript with ES7 | Joe Zim's JavaScript Blog (

Seven JavaScript Quirks I Wish I’d Known About | Telerik Developer Network (


OWIN and Katana for ASP.NET | Rob Seder (

Host OWIN in an Azure Worker Role : The Official Microsoft ASP.NET Site (


AutoMapper 3.2.0 released | Jimmy Bogard's Blog (

Building .NET projects is a world of pain and here’s how we should solve it (

WAQS: Write your code faster and better - Matthieu MEZIL (


Particular/GitHubReleaseNotes · GitHub ( – Helps you generate release notes from GitHub commits.

Search Engine (ElasticSearch, Solr, Lucene, etc.) Significant Terms Aggregation | Blog | Elasticsearch (

Logstash and IIS | This Hours Eternity on (

Community Update 2014-04-14 – #devops with #logstash, #ElasticSearch and #Kibana, #OWIN, #ASPNET and #OSS


Must Read

Troy Hunt: The only secure password is the one you can’t remember (

Open Source is a thankless job. We do it anyway. - Scott Hanselman (

OSS Bugs and the Participatory Community | The Shade Tree Developer on (


Using Nancy on OWIN | Goran Obradovic in internet (

React integration for ASP.NET MVC | ReactJS.NET (

New Pluralsight Course: “Web API v2 Security” | on ( – $$$ Paid content beyond but it’s worth it.

A simple Bootstrap Pager Html Helper - Imran Baloch's Blog (

Architecture and methodology

CQRS Introduction | CQRS on (

DevOps and data metrics

Make sense of server logs, with logstash, elasticsearch and kibana. | another LAN (Local Area Network) (

Community Update 2014-04-11–#webdev, #aspnet, #dotnet, #python for #visualstudio, #azure #webjobs


Must Read/Watch

Roslyn (.NET Compiler Platform) As Open Source - Leaning Into Windows (

Banking Example Again | Greg Young's Blog on (

The story behind the wallpaper we'll never forget ( – The history behind the Windows XP wallpaper.

Web Development

How to make an Object inherit from a Class in JavaScript – Max Schmitt (

How to follow the Google webmaster guidelines (

Coherent Labs » Announcing Unreal Engine 4 and CRYENGINE integration ( – Unreal engine with HTML5 and JavaScript

Implementing Private and Protected Members in JavaScript — Philip Walton (

ColorBrewer: Color Advice for Maps (

Debugging Asynchronous JavaScript with Chrome DevTools - HTML5 Rocks (

jQuery Conf Video: Understanding Scope in JavaScript - Quick Left Boulder Colorado (

Improve your JavaScript with Web Essentials and JSHint (

Offline.js – Handle your users losing their internet connection like a pro (


Python Tools for Visual Studio 2.1 Beta (


Prototype Members vs Static Members vs Instance Members (and Dependency Injection) (

Micro-JSON - a JSON parser for the .Net Micro Framework (

Async Processing in EF6 and the Microsoft .NET Framework 4.5 -- Visual Studio Magazine (

A new search experience on the Gallery (


Intellisense for JSON Schema in the JSON Editor (

Windows Azure

Azure WebJobs 104 - Hosting and testing WebJobs in .NET with the WebJobs SDK with Pranav Rastogi (

Community Update 2014-04-10–#chromium, #dotnet #native, #visualstudio, #elasticsearch, and #fubumvc


Must Read

John Resig - Write Code Every Day (

Web Development

Chromium Blog: Chrome 35 Beta: More developer control over touch input, new JavaScript features, and unprefixed Shadow DOM (


Deep dive: Visual Studio 2013 Update 2 RC and Azure SDK 2.3 (

How your feedback is shaping .NET (

Debugging support for .NET Native Preview apps (

Diagnosing memory issues with the new Memory Usage Tool in Visual Studio (


Handle exceptions in ASP.NET + IIS (

FubuMVC Lessons Learned — “fubu new”, Standardization, and Polyglot Programming | The Shade Tree Developer on (

Correct use of System.Web.HttpResponse.Redirect (

ElasticSearch This Week In Elasticsearch | Blog | Elasticsearch ( Introducing Elasticsearch.Net And NEST 1.0.0-beta1 | Blog | Elasticsearch ( – More supported clients in C# for ElasticSearch 1.0

Community Update 2014-04-09 – #thinktecture new preview, #angularjs, #heartbleed, #javascript, #nancyfx and more

So for those who are wondering, there’s this big thing about “heartbleed”. The “too long didn’t read version” is that it only impact OpenSSL and therefor, IIS is not affected.

The bad thing is, it put a dent in the trust we had over open source code. What about the rest of the projects we rely on? Questions, questions…

Enjoy the reading!

Must Read

Heartbleed Hotel: The biggest Internet fuckup of all time | Brad's Blog (

Bedrock | Infrequently Noted ( – Very nicely written article about JavaScript.

Thinktecture Special

Announcing Thinktecture IdentityServer v3 – Preview 1 | on (

Introducing Thinktecture IdentityManager | brockallen on (


EF Code First Migrations Deployment to an Azure Cloud Service (

NuGet Package of the Week: Humanizer makes .NET data types more human - Scott Hanselman (

Image Resizer for Windows Explorer Shell Extension (

xUnit – dynamically skipping tests for different test-environments | danielwertheim on (


Visual Studio extensions for web developers (

Nadeem Afana's blog · ASP.NET MVC 5 Internationalization · Date and Time (

Opt in and opt out from ASP.NET Web API Help Page - StrathWeb (

Bootstrapping AngularJS Applications with Server-Side Data from ASP.NET MVC & Razor – Marius Schulz (

Token Authentication · NancyFx/Nancy Wiki · GitHub (

Windows Azure

Introducing the Microsoft Azure Management Libraries - Jeff Wilcox (

Announcing IdentityServer v3 and IdentityManager v1 – From @BrockLAllen

So Brock Allen just announced that the Preview for its famous identity servers are hitting another milestone. Of course it’s only preview 1 but it’s worth it.

IdentityServer is the best free OAuth/OpenId there is right now. The v3 is bringing us full OWIN support with smaller deployable endpoints, default login screen for any logins and more. This also means, deployable out of IIS.

As for IdentityManager, it’s a reboot of the ASP.NET Configuration found in Visual Studio since forever. Better interface and 100% compatible with the latest ASP.NET Identity bits.

So if you are looking for an OAuth server, checkout IdentityServer v2 (while waiting for v3 to go full release) and secure your endpoints.

Here are some links that were given by Brock:

IdentityServer v3

Blog post:

Introduction video:

Samples video:

Extending IdentityServer v3 video:

IdentityManager v1 – Identity/User Management for MembershipReboot and ASP.NET Identity

Blog post:

Introduction video: