Designing software that protects people’s privacy

Software companies used to have one goal: to develop efficient applications that users liked. When people switched from desktop to SaaS / web applications, companies were forced to focus on security to avoid being hacked. Now they will have a new mission: to ensure the privacy of their users. At any costs.

Just say NO!

It’s 8 PM on a Saturday and you get a call from your project manager asking if you could quickly modify a project’s code and deploy it in production. You don’t feel okay about it? You’re absolutely right!

Scrum is the new death march

After years of developing software by (incorrectly) applying the Scrum methodology, I have come to this conclusion: Scrum is the new death march. Or rather, Scrum does more harm than good when it’s mindlessly requested by managers who are merely trying to show how modern and trendy their development teams are.

Jasmine test on AngularJS promise-returning function keeps on timing out

Being the test-driven developer that you are, you are writing a Jasmine test for your AngularJS factory function, which returns a promise generated by our beloved $q. You know how to test an asynchronous response with Jasmine. You confidently run the test and… bam, you get an error message “Timeout – Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL”

403 Forbidden on web clients against cookie-based secured REST services

You are developing your web client (AngularJS or any other) against your REST services’ server, secured using cookies-based sessions and CSRF tokens sent as cookies. You’ve done everything by the book, followed the tutorials to make your security work, especially CORS and CSRF tokens. And yet you still get a pesky 403 when trying to login!