What's old is new again - the resolutions of a programmer

Today, at the end of 2014, I'm looking back at the past months and reflect on the stuff I've accomplished in my professional career. I do this every year because it is a good way to set high level goals and try to achieve them.

This post was written for self-reflection mostly, but perhaps it can give you some inspiration for your technical ventures next year :).

2014 was a good year

Yes, I am pleased with my (technical) achievements this year. I had a couple of goals, and even though I did had a couple of setbacks, I am glad

Maintaining large JavaScript applications

Most people think that it is extremely difficult to maintain large JavaScript applications. And I tend to agree with them, maintaining large JavaScript apps is nearly, if not entirely, impossible.

Only JavaScript applications?

It's fair to say that maintainability directly relates to the complexity, scale and code quality of the application itself. If it's difficult to write, it will most likely be difficult to maintain.

There are plenty of maintainable large-scale .NET and Java applications out there. Yet in my experience, there are just as many unmaintainable ones as well. Complexity and magnitude of a project are certainly factors. But

Using $compile to compile HTML strings in Angular

Say you want to bind a string to an element in Angular. No real problem, you just use expressions or ngBind.
If the string contains HTML that you want to parse, you can use ngSanitize.
But what if your HTML string contains a button that has an ng-click directive included in it? This won't work automatically, you'll need to use $compile.

So what is this compile service? According to the Angular docs:

Compiles an HTML string or DOM into a template and produces a template function, which can then be used to link scope and the template together.

So lets

AngularJS intellisense in Visual Studio 2012

As a .Net developer Visual Studio is my greatest power. This robust, adaptable and powerful IDE provides everything I could possibly need.
But with upcoming new JavaScript technologies like Node and Single Page Applications, it sometimes falls short. It's not that Visual Studio is bad for creating JavaScript applications, but it could do better.
AngularJS intellisense support is a good example of a missing feature, as it is neither included in the Visual Studio core or in the Web Essentials extension.

AngularJS intellisense

Fortunately, Visual Studio is highly adaptable. You can hack the AngularJS intellisense support in yourself!
There are

Log JavaScript client side events in your server side logs

As JavaScript applications grow larger over time, the need for better development practices grow with them. The time that we were just hacking jQuery scripts is long gone. And, since JavaScript based application continue to get a greater share in enterprise applications, we are also in need for better of methods of tracing, logging and debugging bugs.

So, how do we do the most basic of JavaScript logging?
We use the console:

console.log('Something happened !');

You probably use tools like toastr or blackbird (or something else ?) to aid you in your development process. But most of the time,

Member of The Internet Defense League