Decoupling ASP.NET MVC controllers, step by step

I wanted to write this post because it is a scenario that I usually encounter in development companies: they understand the benefits of reducing the coupling between components, but they deem it too complex to implement in their day to day work because they don’t know what tools there are to do it and how […]

Continue Reading

DEVELOPERS’ FAILS #9: Not thinking like the user

This month in our series of typical programmer mistakes we are going to go over something that is more psychological than technical, because it is about knowing how the users of our applications think. Developers’ mistake #9: Not thinking like the user For a lot of programmers it is quite a challenge to try to […]

Continue Reading

How cookies work and why it is important to know

Out of all Sesame Street characters, the ones I liked the most when I was little were Count von Count (who counted everything that came across his path) and, indubitably, Sid, the Cookie Monster. Sid spent his days endlessly eating cookies, chewing them to pieces. I think more came out of his mouth than he […]

Continue Reading

Generating Excel files like a pro with ClosedXML

Ok, I admit it: I too have generated HTML contents from my applications and sent them to the client in a file with the extension XLS, even changing the content-type so that it looked like a worksheet document. For years. And I’ve also told my clients that the annoying message that appears when it’s opened […]

Continue Reading

Turning on advanced experimental tools in Google Chrome Developer Tools

If you’re an advanced client-side developer, with HTML5, CSS3 and JavaScript you will surely appreciate all the help you can get when it comes to debugging and tuning your applications. The development tools that come integrated with Google Chrome are a great help. In my book on JavaScript (in Spanish) I have a whole chapter […]

Continue Reading

Launching the debugger from JavaScript

I guess I was the only developer in the world who didn’t know this trick, but I’ll write about it anyway in case there are any more clueless souls out there. Apparently, for many years browsers have been allowing us to interrupt the execution of a JavaScript code and launching the debugger attached to the […]

Continue Reading

How to show desktop notifications with Chrome

Google Chrome has a stunning feature that allows displaying notifications on your desktop using JavaScript code. The great thing about these notifications is that they are displayed on the desktop and you can show them at any time, even if the browser is not in the foreground or is minimized. If your application checks information […]

Continue Reading
slash-yesORnot

Should we add a slash at the end of URLs?

We saw that the new routing system used by MVC 4 and higher projects allowed configuring, to some extent, the format of URLs generated by the application using helpers such as Url.Action() or Html.ActionLink(), and we also explained how by using just one line of code we could make routes be generated using only lowercase letters. […]

Continue Reading

SQL Server Express: Scheduled backups and retention

SQL Server Express is an excellent choice for working with SQL Server in small and medium projects without having to pay license fees. It is a free yet fully functional version of the Microsoft relational database manager. In exchange, it has certain limitations. For example, it does not allow us to use more than 1 […]

Continue Reading

DEVELOPERS’ FAILS #8: Unnecessary comparisons in conditionals

In this eighth installment in our series of common developer mistakes, we will address a topic that, OK, may seem more like fine tuning: rather than incorrect, it’s inelegant. Developers’ mistake #8: Using unnecessary comparisons in conditionals Even the most experienced programmers fall into this trap. How many times have you written conditionals in C#, JavaScript, […]

Continue Reading