About multi-functional teams

Some people really like the idea of having multi-functional teams. (Anyone from the agile work will probably tell you this is, as much as possible, the way to go.) A team where everyone knows how to do anything that needs to get done in order to build a product.

Developers, testers, and the communication between them

You know something that developers are really good at? Blaming other developers. Another thing? Fighting with quality assurance people.

Computer Science Courses that Don't Exist, But Should

Really enjoyed this short post from James. He nailed it with his 5 courses that don't exist but should. I wanted to add another three to the list:

To manage technical debt all we need is discipline

I've written before about technical debt. I'd like to write some more about it, but this time about the way we try to keep it in line.

Better to look after the product, not my time

Sometimes I feel the urge to go back and negotiate more favorable terms for me or my team. (I'm talking about features in a software system, not money.)

If you don't know what else to do to contribute

Sometimes it's hard to know what to do to contribute to your company. Of course, besides coding all day long.

There are more questions, but here you've got 15

Does my team have the hardware they need to do their jobs? Is this hardware functioning in an optimal way? Is there anything that will make them more efficient?

My team

I'm really picky with my team. It's not only about who gets in it, but about responsibilities in general.

There's always something else you can do

Here is something I'm focusing on lately: determining what's good enough, and then doing something else; just enough to delight.


Sometimes I’m an old fashioned guy and spend too long doing the same things the same way. I like to fight this, albeit sometimes it makes me feel uncomfortable. I keep trying though.

How to determine last 5 business days in BigQuery

This was for the same project I was working on when I wrote How to determine last Monday's date in BigQuery. This time I needed to determine the date of the last 5 business days.

Splash screens in Android

We are developing an Android app. Of course, the natural thing to do is to add a splash screen. We did, but it sucked, so I googled how to do it well.

We need enough technical debt

I think developers tend to think that having technical debt is always a bad thing. It might. But sometimes it isn’t. Having piles of debt is certainly bad, but I think having none could be equally problematic.

When the session is timing out in both server and client

If you keep a session controlled by the server (with an expiration timeout) and a separate session logic on the client (also with an expiration timeout), keeping them both synchronized is too complicated and probably unnecessary.

How to determine last Monday's date in BigQuery

Today I spent enough time coming up with a way to determine last Monday's date in BigQuery. Today is Monday, so the formula should return today's date if called. Yesterday it should have returned the 27th of last month.

Opting for the false negatives

Businesses like to be busy, of course. Everyone is happy around, money trickles in, new faces, better clients, and a bunch other positive stuff.

Differential Synchronization

Keeping two or more copies of the same document synchronized with each other in real-time is a complex challenge. This paper describes the differential synchronization algorithm. Differential synchronization offers scalability, fault-tolerance, and responsive collaborative editing across an unreliable network.

Mobile browsers are not the problem. Web pages are

I just finished reading an article by The Verge about how The mobile web sucks.

Utilization is not the final answer

Utilization represents how much time you are actually working on stuff that makes money. When you aren't 100% "utilized", it means that some of your time is spent doing "non-billable" work.

Free Python course if you rush and use my code

If that's the case, you might want to check the "Learn Python GUI programming using Qt framework" course by Udemy.

When cookies don't work and you have to stay late a couple of nights

Most of the time you can't think about what's hidden around the corner. It doesn't matter how much time you spend thinking about doing something, you won't be able to properly measure the effort until the job is done.

I don't have enough time to develop but that's alright

I've always wanted to write while drunk, sitting on a plane, waiting for a storm to go away before taking off.

Programming challenge: boolean parenthesizations

I thought I wasn't going to be able to post a challenge this week, because I'm traveling out of the country (with no Internet connection most likely.) However, last week I implemented the possibility to publish future posts in the blog, and this is how this one was created.

Adam Harris about the RSS feed

Adam Harris asks regarding my previous post about moving the RSS feed generation to a static process:

Moving from dynamicly generated to a static RSS feed

Things are always easier with few users hitting your code (remember, I wrote the blog engine displaying the text you are reading right now.) One of my goals have always been to not pay for Google App Engine, and host this site as cheapest as I can.