There was a question in a tech facebook group I co-manage about what tools you’d use if starting a new project today.

tools

I don’t know for sure. It depends -of course- is the expected answer. For example, there’s some idea I had I mind I considered using MongoDB or CouchDB for, while still using .NET, and then I wasn’t sure if I go extra mile in DB I’d go for Node or Rails as well or would prefer .NET for my personal productivity. I also often use Node/Bower when checking libraries with many dependencies.

So, for this question, I thought what tools I might use in a company project. Thinking back, I found that most tools I use now are good enough for what they do. So, I thought I’d list these.

These tools are my personal experience though. While some of them are widely adopted in Readify, some others may have been specific to some clients or Readify teams I worked with. Every team is free to choose the tools that work best for them and make it easier to deliver high quality deliverables in sensible time, so, even if you are at Readify, your mileage may vary…

, , , , , , , , ,

AngularJS vs IE8

I was checking the last version of AngularJS now and noticed a new version, 1.3 beta 1 is now available. The last 1.2.x release is 1.2.14.

Interestingly, beta 1 doesn’t seem to have any big fixes or features. The changes presented only include a fix for using <tfoot> tag as a top-level parent of Angular template, and being able to use <style> tags in your Angular templates.

The features only include supporting new <input> types, in particular date, time, datetime-local, month, and week.

A Quiet Release

One interesting thing about this release is that there is no official blog post about it. Actually all the other minor versions (1.2.x) didn’t have special blog announcements, and the team said they’ll only do it for big releases. I’d still have thought the first Angular.JS 1.3 public release to be considered big though!

The only mention in the release notes goes to an old post dated in December last year, that informs about the removal of version 8 of Internet Explorer.

, , ,

This blog post is about an ASP.NET MVC workaround we implemented in a previous project. We solved the problem by enforcing using a class that extends one of ASP.NET MVC classes, which in itself created another problem, as new developers joining the project may always use the old class. The solution to this problem was not something that I invented, but it’s also not a very common practice.

So, if you are interested, here’s the entire story…

Detecting Session Timeout In AJAX Requests

We wanted to solve a problem where in an AJAX heavy ASP.NET MVC application, if the user triggers an AJAX action after staying inactive for longer than our application timeout, the call to the controller action, which normally gets a JSON response, would instead get the HTML of the login page.

This is a known issue in ASP.NET (particularly System.Web). A feature that’s on by default is returning a redirect to the login page instead of a HTTP Unauthorized Status code (401). After the redirect the response returned is a successful (HTTP Status Code 200) load of the login page. That means even our Angular.JS error interceptors (or jQuery handlers, etc.) don’t notice there was an error.

, , , ,

onenote In recent projects I have been on with Readify, I have seen the rise of using OneNote to share most of the artifacts related to project. We still had requirement documents and proposals and all, and also tracking systems for ongoing and future work (backlog), but we used OneNote to record all sorts of information you’d store in a Wiki and/or in email and floating documents everywhere like:

  • Induction information (why does the project exist? how to setup dev environment? etc.)
  • Demo notes (what items are ready to demo? what are the steps? which users/links are needed?)
  • Meeting notes (demo meetings, sprint retrospectives)
  • Essential communication (Copies of release notes after sending, special notes coming in email / chat)

The availability of OneNote pretty much everywhere (including mobile devices, and web, as it’s hosted in out Office 365) and automatic synchronization made it a perfect alternative to a wiki for internal communication.

And yes, although I haven’t noticed this earlier, but OneNote also keeps track of all revisions and modifications, just like a proper wiki does.

, , ,

Running Developer Command Prompt for Visual Studio

The Visual Studio developer command VsDevCmd.bat only works with the cmd.exe command line shell/processor, which is still the native command prompt in Windows. Try writing some command in Start->Run or Explorer’s address bar, and you’ll find that you need to use the cmd/batch command syntax (for example, using %SOME_NAME% syntax for variables).

What if you want to us VsDevCmd.bat? You want the stuff it adds temporarily to the PATH and all the other goodies it brings, but prefer to work in Powershell?

Using VsDevCmd With PowerShell

You can try to run VsDevCmd.bat from PowerShell, but this will execute another command prompt shell on top of it.

However, you can also easily do the opposite. Run the VsDevCmd.bat, and from the command prompt, just type PowerShell and press ENTER. The new Powershell session will inherit all the fluff that VsDevCmd.bat added to the command prompt session.

A Quick Shortcut

You can always have a simple shortcut to load VsDevCmd.bat with Powershell instead of writing everytime.

Simply create a new text file, and enter the following in it:

, , ,