Challenges for Software Engineers

Software Engineering is the youngest of all the professions, being born around 50 years ago, but since then it has been continually improved. Practicers have fiercely debated upon it through the years, given the extremely fast pace of the innovations in the field, and the extremely difficult and inherently dynamic nature of software. Many trends have appeared and vanished, and many others will come.

In this article I will provide a short overview of two kinds of challenges that I consider that software engineers will have to confront in the next 20 years: the human and the technical. Continue reading

Basic vs. Digest

In the series of highly boring posts ;) here’s another one; in this case, a simple explanation of two different authentication protocols available in the HTTP standard.

HTTP Basic Authentication Protocol

This is the simplest HTTP Authentication protocol available:

  1. The browser sends a request to a protected resource: GET /index.html
  2. The server looks for the “Authenticated” header in the request; since it does not find it, it replies back with a response with the 401 code (“Unauthorized”). The response contains a “WWW-Authenticate” header, with the value “Basic”. This response is called a “challenge”, and it also contains a “realm” text, which describes the protected resource in clear text (the “realm” is shown in the pop-up window that usually appears for you to type your password when this protocol is used).
  3. The browser creates a new request GET /index.html that contains an HTTP_AUTHORIZATION header, whose value is the word “Basic” followed by the ‘username:password’ string encoded in base 64. This algorithm is a two-way algorithm: you can retrieve the username and password from the base 64-encoded string.
  4. The server receives this response, and since base 64 is a two-way algorithm, it compares the MD5 (or SHA1) password hash to the one stored in the database. If they are the same, the request is processed. Otherwise, the user gets a 401 again.

Continue reading

Pourquoi pas?

Pourquoi ne peut-on pas avoir des conférences comme celle-ci, avec des mini-events comme celui-ci en parallèle en Romandie? Ou encore comme celle-ci? Ou bien comme cette autre! Ou celle-là!

Pourquoi pas? Est-ce que le marché est trop petit? Y a-t-il un manque d’intérêt général? Je pense que le problème est important, et qu’une grande partie de l’élan technologique local est étouffé par ce manque d’une grande conférence technique chez nous.

Après tout, le web a été inventé à Meyrin. Continue reading

Symfony con MAMP

estuve jugando un rato con symfony y MAMP, y esta bastante bueno, aunque hay un par de cosas que no me gustaron. aqui van unos comentarios que te podran ser utiles.

me puse a leer las instrucciones de instalacion, y despues encontre el tutorial, de donde saco gran parte de lo que escribire en este articulo.

ahi dice que hay un archivo tgz que podes bajar de aca. se llama “sandbox” (caja de arena) y tiene todo listo y esta especialmente destinado para principiantes.

lo baje y lo descomprimi (haciendo doble click) en el web root – yo lo tengo seteado en ~/Sites, mira esta pantalla de configuracion de MAMP:

entonces puse la carpeta sf_sandbox en ~/Sites/sf_sandbox.

como tengo el MAMP andando abris un browser y te vas a http://localhost/sf_sandbox/web/index.php/

primero no me anduvo porque tenia MAMP con la opcion “PHP 4″, y la cambie a “PHP 5″ y anduvo:

Continue reading

Best books of 2007

tcss.jpgI have several mantras in my life. One of them is to learn a new programming language every year. Another one is to read at least 6 technology-related books every year.

I’ve already talked about Erlang (and boy that was the most read article ever in the whole life of this blog! More than 1600 visits just for it!) so now it’s time to discuss the greatest books I’ve read in 2007 (ordered by preference, from more to less):

Continue reading

Scoble vs. Facebook

1824234195_e6b913c563.jpgRobert Scoble aura été écarté de Facebook pendant seulement quelques heures, grâce à un simple script allant à l’encontre des terms of use; néanmoins, cela a suffi pour relancer un débat fort autour du modèle de business de cette société (dont j’ai déjà écrit auparavant de manière assez critique, et dont d’autres en doutent déjà des bienfaits.)

Voici donc DataPortability, une nouvelle initiative qu’on pourrait assimiler à une démarche inspirée sur celle de la Free Software Foundation; mais à faute de porter le débat sur l’accès libre et universel aux logiciels, cette fois c’est sur l’accès libre et universel… à nos données personnelles, celles que l’on ajoute dans nos profils un peu partout ces jours-ci. L’idée de base est de promouvoir l’utilisation des standards (Microformats, RDF, RSS, OpenID, etc), et de créer une politique de référence standard pour les sites web qui supportent l’initiative. Une sorte de GPL pour nos données?

Nouveau siècle, nouvelles tendances et surtout nouveaux défis: à suivre!

Update: Google, Plaxo and Facebook joined the DataPortability movement!