Smelly Code: Direct Object Instantiation as a Testability Killer
This Smelly Code post discusses mainly a testability issue without going into further detail on other things like readability which could be improved for sure as well. Original, smelly code public...
View ArticlePosting JSON Data to an ASP.net MVC 3 Web Application
The trend in today’s web application development goes more and more in the direction of having rich, desktop-like applications. There are numerous examples on the web, just watch out while your...
View ArticleASP.net MVC3: Doesn’t Deserialize Nullable Properties from Json
A couple of days ago I noticed that the Nullable properties of a C# object were not properly deserialized when posting back a Json object to an MVC3 action. It seems like this is a bug in the...
View ArticleRespecting “the Zone”
Respect when someone is “in the zone”! Don’t disturb him if it’s not necessary. The “context switch problem” is a known issue in the software development process. Zach Holman particularly mentioned...
View ArticleUsing NuGet to Distribute Company Internal DLLs
Releasing new software has to be simple and super fast! That was not the case for our company-internal class libraries till a couple of month ago until I finally decided to take the time to optimize...
View ArticleSetting up my Developer Machine
Today I just returned from a week of holidays at Kos (Greece). Amazing! So you might imagine that returning to work is usually less pleasant ;), but that changed when I opened Outlook and saw the email...
View ArticleUX: Why GitHub for Windows is better than VS TFS Integration
Did you already try GitHub for Windows? It’s created in a modern Win8 looking style. Initially it actually feels a little bit odd, but the more I use it, the more I like it…I even start to slowly...
View ArticleTesting and the Single Responsibility Principle
Automated testing is hard! Therefore, if you’re about to learn it, just keep going. Resist the initial learning curve as afterwards it’ll allow you to adopt a completely different programming style. A...
View ArticleOutput Caching in ASP.NET MVC
Although nowadays most of us have broadband connections, resource caching is important as loading a resource from your local HD is (by now) still faster than fetching it remotely. In this post I’d like...
View ArticleDeploying: Git vs. TFS Showdown
I think everyone agrees deployment should be as simple as possible. Seems like everyone talks about continuous integration/deployment/delivery. More and more people (and cloud providers) start using...
View ArticleIntegrating Node.js with a C# dll
Recently I had to integrate a Node.js based server application with a C# DLL. Our software (a web-app) offers the possibility to execute payments over a POS terminal. This latter one is controllable...
View ArticleGuide as in Mountaineering
Yes, I happen to deal with architecture, software design and technology. And yes, I’m entitled by the term “software architect”. I don’t like it that much, though. IMHO it is a widely misused role....
View ArticleGit Explained: For Beginners
I’m working with Git now for about two years but only for my personal projects and those I have on GitHub. At work we still use TFS and SVN (as of now). Recently Paolo Perrotta came to our company to...
View ArticlePreparing for Angular 2
I’m sure you heard about Angular 2 and that it will be totally different. Forget everything you know and start from scratch. Jokes apart, if you have taken a closer look you already know that, yes, it...
View ArticleRelease your libs like a pro
Automate, automate, automate. That’s what ultimately is our job, right? We automate the tedious processes of our end-users. So why don’t we do it for ourselves as well? This guide quickly illustrates...
View ArticleNode, Grunt, Bower and Yeoman – A Modern web dev’s Toolkit
This article aims at introducing you to some of the currently most popular tools when developing modern web applications with JavaScript. These are totally not new at all and have been around for a...
View ArticleREST API Design – Resource Modeling
Important note: this is not something I’ve written up by myself, but it’s rather a summary, some highlighting of the most important quotes with some of my comments for an awesome post on the...
View ArticleScreencast: TypeScript – Setup Your Working Environment
First of all, this is my first screencast ever, so be patient. The idea is to quickly demonstrate how you can setup your working environment s.t. you can start playing around with TypeScript. Enjoy!...
View ArticlePreparing for Angular 2
I’m sure you heard about Angular 2 and that it will be totally different. Forget everything you know and start from scratch . Jokes apart, if you have taken a closer look you already know that, yes, it...
View ArticleFollow-up-EvolvingPublication
Martin Fowler just published a “Bliki” article on his site about EvolvingPublication. This is a concept I’ve been using for a while now by myself and found it very useful. Here’s my follow-up to this...
View Article