CouchDB is AMAZING!

Luca Matteis / Tuesday, July 17, 2012


CouchApps are great. They require a little change of mindset. Because it's no longer about Programming Language->Queries Database->Generates HTML. With CouchDB it's actually more about You Have Data->Generate HTML->Done.

hckr.it is actually a CouchApp. While building it I realized that there are some things missing from the CouchDB stack, such as proper user registration, but all in all it gives you everything you need to build serious web-apps. Not to mention other exciting things that the master-master replication is able to achieve, especially in the mobile world, such as PouchDB.

The other exciting thing about CouchDB is that it's actually laying down the standards (the CouchDB protocol) for building correct APIs. So if you have an API, you have to document it and tell your developers how to use it. If your database is CouchDB, it's already using a well-known RESTful standard, and other developers that know CouchDB can pick it up immediately.

Interface is All That Matters

Luca Matteis / Tuesday, May 8, 2012

Whenever I begin writing a new Web Application I get all freaked out about choosing my development stack. What database? What language? How should I design my API? Will I need to make it performant? All this incredible amount of bullshit that doesn't really matter at the end of the day, all that matters is the final product and the user experience, and I really want to concentrate on that instead of the technicalities.

Don't get me wrong. I love talking technology. Trying to figure out what things will make my life easier in the long run is a really interesting topic, but it's also very subjective. It's hard to predict what's going to happen to your app 2 or 3 months after you developed it. Users might have different needs and you might end up having to re-think your system. Plus technology changes so rapidly that you'll eventually end up with something that is outdated.

Gene banks data

Luca Matteis / Sunday, March 25, 2012

Gene banks, as described by Wikipedia, are a type of biorepository which preserve genetic material. In plants, this could be by freezing cuts from the plant, or stocking the seeds. Gene banks hold a very important value for our future, specifically with our planet undergoing environmental changes, allowing us to access and use specific seeds that would otherwise be lost in nature.

The value of these seeds is obviously important, but the ability to access these seeds is also critical. In fact, without a proper information access system these seeds would be lost in gene banks the same way they would've been lost in nature. Fortunately the top gene banks in the world do a good job in storing and managing their data, through internal software systems maintained by IT units.

New App Engine pricing model

Luca Matteis / Friday, September 2, 2011

So a couple of days ago App Engine officially announced that they were leaving preview. This has been a moment we've been waiting for and a lot of controversy has been flowing around the internet about the new prices. Specifically App Engine has released a page where you can compare your current monthly fees with the ones that will be effective by mid-september.

The major difference with the new pricing model is that you'll be charged based on how many hours each one of your instance has been running. An instance is basically a single web process running your code and responding to HTTP requests. The power of App Engine comes with these instances that host your code and are able to startup and shutdown based on the amount of traffic your site is getting - this is very powerful, and they have a scheduler that takes care of these logistics.

Choosing the right tool for the web - JavaScript on the server

Luca Matteis / Thursday, August 4, 2011

Over the past couple of years the language that has really made an impression over the others has been JavaScript. We can find clues of its burst of popularity everywhere; GitHub's most famous and HackerNews' most discussed language. It's obvious JavaScript has made an impact on how we develop and interact with websites.

But why? Why are all these cool things coming out from this particularly annoying little scripting language? Why is everyone so excited about it? Frankly, I don't think it's part of the language's syntax - as your Computer Scientist teacher in college might have told you, a programming language is just a tool that we use to perform a task, and the syntax is just a way to let us perform that task and it shouldn't get in our way. Well, then it must be something else, right? Particularly for JavaScript, I would say its popularity is mostly due to the fact that it's embedded in the browser, which is by far the most used application on a personal computer.

Weekend Projects - Building Next Generation Websites

Luca Matteis / Saturday, July 2, 2011

Lately I've been working on weekend projects. These are very popular on Hacker News and I've been amazed by the effect some of these projects may have on my daily life.

The idea of a weekend project is that you need to create something simple, yet interesting, in just a couple of days. This may sound ridiculous to some people but there are technologies out there that will let you do this. The result of the 2 days deadline is something out of the ordinary, that just works for that intended task, which is usually what software should be about; here's some of the technologies that let me do this:

Why I Dislike Agile Development

Luca Matteis / Friday, June 24, 2011

Programming is my profession and I take it very seriously, but this doesn't mean I don't have fun doing it, in fact I transform the professionalism needed to make beautifully elegant code, into fun.

I do this by freeing myself of all kinds of repetitive tasks, every day I use different technologies. These things are very important to help me stay happy and productive; I'm able to meet deadlines by refactoring huge code bases a week before the release date and I never fear to say "I failed" at a project - sometimes it's really important to admit this because it lets you start from scratch and approach the issue from another prospective.