2 Web APIs I’m particularly excited about

In the past few months we have seen Google and Apple push in 2 very different directions — as much as Apple has been steady pushing publishers to embrace their app market, Google has been working on a bunch of initiatives to improve the “web platform”, rolling out projects like AMP and giving a lot of coverage to technologies like PWAs.

I’m particularly excited about the work that Google is putting on the web as they’re slowly bridging the gap with the native experience, and there are 2 Web APIs I can’t really wait to use in production to give our users an enhanced experience on the web.

Read on →

A tech team of ~10 people

I am currently in Berlin, attending the 2016 Rocket Tech Summit: what a good opportunity to share some insights on how we run our business with such a small tech team.

Read on →

Why did Google create the Go language?

A few days ago a very interesting digest popped up in my inbox, straight away from Quora:

The key point here is our programmers are Googlers, they’re not researchers. They’re typically, fairly young, fresh out of school, probably learned Java, maybe learned C or C++, probably learned Python.

They’re not capable of understanding a brilliant language but we want to use them to build good software.

So, the language that we give them has to be easy for them to understand and easy to adopt.

Dockerize it: stop living in the past and embrace the future

The guys from the codemotion recently released a bunch of videos from the last event they held in Rome — among those there’s one of my talks about adopting docker for fun and profit :)

Read on →

We’re hiring (again)!

Cross-posting never hurts :)

Read on →

XYZ programming language sucks

I would have tweeted this, but it’s a bit longer than 140 chars :)

Read on →

Using Terraform in AWS Mumbai

Terraform is a fantastic tool to manage your infrastructure with simple and declarative templates; you simply describe your infrastructure in a template file that looks like:

resource "digitalocean_droplet" "web" {
    name = "tf-web"
    size = "512mb"
    image = "centos-5-8-x32"
    region = "sfo1"

resource "dnsimple_record" "hello" {
    domain = "example.com"
    name = "test"
    value = "${digitalocean_droplet.web.ipv4_address}"
    type = "A"

run terraform apply and you’re set: Terraform will boot the infrastructure for you.

AWS recently launched their ap-south-1 region (Mumbai, India) and, due to the fact that’s much closer to our customer and EC2 there seems to be ~10% cheaper than in AWS Singapore (where we’re currently hosted), we wanted to start experiment moving part of our infrastructure to this region.

Terraform, though, has an hardcoded list of AWS regions and, since Mumbai is a recent addition, it will throw an error saying that the region isn’t supported.

Read on →

A message to all the tech teams out there: start doing Tech Trivias

Every now and then you end up with a silly, stupid and simple idea that turns out to be an epic win: I am firmly convinced that introducing Tech Trivias was one of these ideas for our team.

Read on →

Bundling static files within your Golang app

One of the nice features of golang is that you can simply distribute your programs through executables, meaning the user doesn’t need to have custom libraries to install / run your software: just download the executable and you’re set.

What Go really does is to bundle together all your *.go files in a single, platform-dependent executable, that can be run with a single click — which works perfectly in 99% of our use cases.

All of this seems great, until you have to bundle different kind of files in your application, for example an .yml config file or an .xliff translation file.

How would you approach this? Enter the trick of the year.

Read on →

Connecting to the inflight internet on Emirates’ flights

It would really be hard for you to find this article useful because you probably won’t have internet to read this…

Read on →