Monday, April 11, 2016

Amazing facts

Did you know that the Rubik's Cube has possible combinations?

Monday, April 4, 2016

The myths about submitting feedback

Most "mature software" nowadays allows you to submit feedback, either when everything is running smoothly or something goes wrong. However, most "humans" don't submit feedback. It's really strange. Why not say to the people that are making your life harder that something is wrong? There are many reasons why this happens, most of them are myths. I'll try to kill those myths and, hopefully, you get a different idea about feedback.

Feedback Myths

Myth: "Nobody will look at this."
This is the most common. And I feel really bad about this one because it's only around due to communication failures. Real companies do have support, maintenance and development teams looking at issues that are submitted. If there's a "crash in an app and that bug is submitted", it will end up in some team's backlog. Most of the time, that bug you reported gets fixed, you just don't get notified of it. And that's the missing piece: contacting the person who submitted the error and letting that person know that it was worth it. So, myth busted: Somebody does look that what you report, you just don't get notified of the result.

Myth: "They should have found this bug before releasing."
Well no, they shouldn't have. A relative complex program is composed by thousands of lines of code and resources. Companies have unit tests, regression tests, end-to-end tests, real tight quality assurance processes in place. Even manual QA. They spend a considerable amount of money to ensure software quality. However, it is impossible to test every single scenario with the close to infinite combinations a user might have. It might be that virus you have that's breaking everything, maybe it's that Xiaoming with a rooted version of Android that's killing other apps. It might be that free Antivirus that blocks a network connection. It might be one of the 336533 mobile devices that we cannot test. It's almost impossible to test every combination millions of users can have. So no, they shouldn't have found every simple possible bug that could happen on all the different combinations a user can have.

Myth: "Somebody must already have reported this."
Why? How do you know this? Assumptions are dangerous so as "following the group". This actually fits in the Asch conformity experiments or the Asch Paradigm. In the 1950s, Solomon Asch studied "if and how individuals yielded to or defied a majority group and the effect of such influences on beliefs and opinions". Basically, how humans "go with the flow". Like, if there's a fire and there are 20 people looking at it, is it safe to assume that someone already called the fire department? It is not. What if all the other 20 people thought the same? You can see the Asch conformity experiments here (phenomenal, a must watch). Bellow is a funny example. So, no, somebody might not have submitted the issue. Do submit.

Myth: "It just happened one time."
For now. Software is, in essence, a series of instructions that directs a computer to perform specific tasks or operations. Normally, these instructions don't change that dynamically. So, if you do the same actions, the computer will to the same… expect the same output. There's a sentence attributed to Albert Einstein about the definition of insanity: "Doing the same thing over and over again and expecting different results." So, although it's not accurate that the problem will happen again, it's there and the probability it gets "automagically" fixed is low.

Myth: "It only happened on my machine."
How can you be certain of this? Just because you're not witnessing a problem it doesn't mean it doesn't exist. Do submit feedback even if it appears to only be happening on your machine.

Myth: "It will probably be fixed in the next version."
If you don't submit, you can't have this expectation.

So, bottom line, always submit feedback. Even if your issue is not fixed in the next version, even if nobody replies thanking you for the feedback, please, submit. It is invaluable information for the people developing the software. Raise the flag. Help others help you.

Friday, April 1, 2016

Installing a valid certificate on a dev environment

HTTPS is everywhere. We don't even notice it anymore. But, having a valid certificate in a development environment isn't always that easy because the Certificate Authorities normally charge to issue a valid certificate and you must comply with a few requirements. That doesn't necessarily mean you can't have a valid certificate for your Dev environment really quick and for free.

Here's how: Installing a Valid Certificate on a Dev Server (OutSystems Engineering)

The Talkdesk example

Talkdesk is a Portuguese startup that, in essence, provides a cloud-based call center software. One of the co-founders, Cristina Fonseca, did a quick interview to TechCrunch. If you look at that interview carefully, you'll notice she gives lots of hints on what's it like to be an entrepreneur:

"Build a prototype in 10 days" (MVP concept)
"We received good feedback"
"Here's an opportunity we never thought of"
"We were naive enough to take the challenge"
"Disruptive companies"
"We would pick up the phone at any time"
"Not because we assumed it, but because we had to"
"You do what you have to do at the beginning"
"We did a lot of mistakes"

You can see the complete interview below. It’s worth it:

Just because you fit in

It's one of the simplest and coolest images I've seen lately


Never settle for something just because you're comfortable.