Monday, March 24, 2014

Entity Framework: type inheritance

We're using EF 6 on our projects, which allowed us to make all calls async. Also, we're using both Table-Per-Type (TPT) and a Table-Per-Hierarchy (TPH) within the datamodel for one of the applications.

In order to get the TPH going in Entity Framework, you need to make use of filtering in de model. It works like a charm and is very powerful. It's perfectly explained here:


And also in this pluralsight course: http://pluralsight.com/training/Courses/TableOfContents/ef-customization

Sunday, March 23, 2014

Pluralsight is working on a new website: beta.pluralsight.com

This week I was notified that PluralSight is working on a new website: http://beta.pluralsight.com. It was about time too, the current one is really starting to look outdated.



Cloud Design Patterns: Prescriptive Architecture Guidance for Cloud Applications

Microsoft recently published this list of cloud design patterns: http://msdn.microsoft.com/en-us/library/dn568099.aspx which contains a very nice collection of patterns for cloud applications. We'll probably be applying a few of these for our upcoming project.


Tuesday, March 18, 2014

Sunday, March 16, 2014

Filtering properties being watched by $scope.$watch in AngularJS

For one of my projects I needed undo/redo functionality. We implemented this by using just saving snapshots of the object to $sessionStorage.

However - we needed an easy way of being notified of object changes. Enter $scope.$watch. This method allows you to watch object for changes.

However - this method does not 'deep watch' into child property values. Also, we needed a bit more control over which model changes would trigger the snapshot mechanism. We solved it by adding a 'hash' method that creates a has of all the object properties that I care about.

Here's what I mean: http://jsfiddle.net/dsr4Y/2/


NDC Oslo 2014 tickets are in!

Allright! My company just got the NDC Oslo tickets for the year's conference which will be in June in Oslo. I'm very much looking forward to going! Check out the website: http://www.ndcoslo.com/



Saturday, March 8, 2014

InfoQ: Lessons Learned from Apple's GoToFail Bug

I read this very interesting article the other day on InfoQ: http://www.infoq.com/news/2014/02/apple_gotofail_lessons. Apparently there's been an error found in the Secure Transport Framework that has been opensourced by Apple. This bug has already been fixed, but has been analysed by a former professor of mine: Arie van Deursen.

I'm not going to summarize the summary, so I recommend you to read it and I will take from it that braces ARE required at all time (C#) and that nice code layout is also very important.



Monday, March 3, 2014

http://instantclick.io/ - smart

InstantClick is a JavasScript library that pre-loads the link you are about to click on, using the HTML5 browser history API. So as soon as you start hovering over a button or link, the target page is being pre-loaded in the background. At the moment you actually click the link, the target can be shown instantly.

The demo for the library is the site itself. Have a look at the click demo and see your latency between hovering and clicking for yourself.


Sunday, March 2, 2014

C# might get ?. operator for deep null checking

A while back I voted on the ?. operator on VisualStudio.UserVoice. The other day I recieved this e-mail from UserVoice:


So that's looking promising! Here's the why of the feature and the related StackOverflow topic: http://stackoverflow.com/questions/2080647/deep-null-checking-is-there-a-better-way


Saturday, March 1, 2014

Happy 10th anniversary coding horror

Coding Horror belongs to one of the best dev blogs out there, in my opinion. Likely because it belongs to the guy that made Stack Overflow: Jeff Atwood. He's celebrating the 10th anniversary of his blog: http://blog.codinghorror.com/10-years-of-coding-horror/. Congrats!


NProgress - youtube like progress bar

I came across this very elegant progress bar, quite like the youtube progress bar which updates when the browser push-state updates: