Fork me on GitHub

Expandable / collapsable table detail rows with Angular.js 20

Here is how to create expandable and collapsible tables with Angular.js. I couldn’t find any examples of this online and Angular.js only recently added official support for this in v1.2.0 with ng-repeat using ng-repeat-start/ng-repeat-end. Don’t get me wrong here, I’m not really a fan of how this looks (I prefer Knockout.js’ “virtual element” approach in this situation) but it ...

Twin Cities .NET User Group Presentation Links 1

Twin Cities .NET User Group Presentation Links
Thanks everyone that could attend today, I hope it was informative and you learned something. Please leave me feedback if you have any! Couple links that you might find useful The Durandal.js / FluentKnockoutHelpers demo application (live): http://durandaldemo.apphb.com/   The source we went over (download it, mess around with it, send me some pull requests!): ...

Live Durandal.js demo application available now! 7

Live Durandal.js demo application available now!
I have posted a live copy of  a non-trival “Survey App” demo using Durandal.js, Knockout.js, and FluentKnockoutHelpers as an example of the various frameworks. I’ll be going though and extending this application at Twin Cities .NET User Group next week. Take a look and let me know what you think! Live Demo: http://durandaldemo.apphb.com (thanks AppHarbor!) This demo should give you a good ...

jQuery File Download v1.4.0 released with promise support 97

I’ve been neglecting jquery.fileDownload.js a little bit while working on my Durandal.js and FluentKnockoutHelpers demo but since that’s mostly wrapped up I have merged some pulls and added promise support to jQuery File Download. Promises make using the plugin a whole lot cleaner. If you haven’t used them yet start to they are awesome! Enjoy! ...

Twin Cities Code Camp 14 Deck and Demo 1

Thanks to everyone who was able to attend my presentation at Twin Cities Code Camp 14! Here is my slide deck for the presentation. All the code demoed can be found on GitHub here: http://github.com/johnculviner/FluentKnockoutHelpers. So far I believe it is the most comprehensive demo of Durandal.js available on the internet so far. Please let me ...

When is a JOIN not a JOIN and what is a black box?

You probably heard this one as a kid right? No? Well the answer to the riddle is this: when one is a LEFT JOIN, one is an INNER JOIN and you are using a certain RDBMS named Sybase. So I recently heard of a situation with Sybase where a LEFT JOIN on a particular key ...

FluentKnockoutHelpers demo updated to use Durandal.js 4

Durandal.js just recently came out and so far it appears to be a simply awesome lightweight modular framework for creating single page JavaScript applications using pure Knockout goodness. I switched over the Survey App demo of FluentKnockoutHelpers to use Durandal.js. Its been fun learning to use: Durandal just feels very clean and ‘right’ so far! ...

New Experiment: Fluent Knockout Helpers

Over the past couple months I have grown addicted to using Knockout.js to quickly create highly interactive views using ASP.NET MVC and WebAPI. With this combination of tooling and a single page application approach I have found this pattern to be most efficient for me: MVC – Serves up the views containing markup, Knockout bindings, ...

Achieving Named Lock / Locker functionality in C# 4.0 12

I was recently writing some code to implement a file system cache for streams and came across an interesting dilemma: how do I lock around a file that is being created by ThreadA until it is ready to be accessed by ThreadB? This is not a classic producer/consumer problem as you might be thinking: Any ...

A jQuery UI Dialog “open” performance issue and how to fix it 12

jQuery UI is a great way to get good looking, feature packed sites up and running ASAP.  It doesn’t come without it’s costs sometimes though, especially if you use it right out of the box. I recently discovered and interesting issue in jQuery UI surrounding the performance of creating a dialog with a large amount ...