Skip navigation

Es un articulo del ACM muy bueno. Aca les dejo el articulo comlleto:



Computer science must be at the center of software systems development. If it is not, we must rely on individual experience and rules of thumb, ending up with less capable, less reliable systems, developed and maintained at unnecessarily high cost. We need changes in education to allow for improvements of industrial practice.


The Problem

In many places, there is a disconnect between computer science education and what industry needs. Consider the following exchange:


Famous CS professor (proudly): "We don't teach programming; we teach computer science."

Industrial manager: "They can't program their way out of a paper bag."

In many cases, they are both right, and not just at a superficial level. It is not the job of academia just to teach run-of-the-mill programmers and the needs of industry are not just for "well-rounded high-level thinkers" and "scientists."


Another CS professor: "I never code."

Another industrial manager: "We don't hire CS graduates; it's easier to teach a physicist to program than to teach a CS graduate physics."


Both have a point, but in an ideal world, both would be fundamentally misguided. The professor is wrong in that you can't teach what you don't practice (and in many cases, never have practiced) and therefore don't understand, whereas the industrial manager is right only when the requirements for software quality are set so absurdly low that physicists (and others untrained in CS) can cope. Obviously, I'm not referring to physicists who have devoted significant effort to also master computer science—such combinations of skills are among my ideals.


CS professor (about a student): "He accepted a job in industry."

Another CS professor: "Sad; he showed so much promise."


This disconnect is at the root of many problems and complicates attempts to remedy them.


Industry wants computer science graduates to build software (at least initially in their careers). That software is often part of a long-lived code base and used for embedded or distributed systems with high reliability requirements. However, many graduates have essentially no education or training in software development outside their hobbyist activities. In particular, most see programming as a minimal effort to complete homework and rarely take a broader view that includes systematic testing, maintenance, documentation, and the use of their code by others. Also, many students fail to connect what they learn in one class to what they learn in another. Thus, we often see students with high grades in algorithms, data structures, and software engineering who nevertheless hack solutions in an operating systems class with total disregard for data structures, algorithms, and the structure of the software. The result is a poorly performing unmaintainable mess.


For many, "programming" has become a strange combination of unprincipled hacking and invoking other people's libraries (with only the vaguest idea of what's going on). The notions of "maintenance" and "code quality" are typically forgotten or poorly understood. In industry, complaints about the difficulty of finding graduates who understand "systems" and "can architect software" are common and reflect reality.




Uno de los productos que se venían horneando en los laboratorios Google ha visto la luz. Se trata de Android Goggles, una aplicación que nos permite buscar de una forma nueva y diferente: usando la cámara de fotos.

Bastará con hacer una foto al producto que queramos buscar -libros, dvds, restaurantes, paisajes…- para que Goggles nos diga de qué se trata, así de fácil. Además, posee una función de geolocalización, que nos permite identificar en tiempo real lo que vé la cámara y etiquetar la posición de nuestras búsquedas fotográficas.


El experimento ya está disponible para todos en el Android Market. Yo lo probé ayer y he de decir que funciona estupendamente (aunque si, éste es uno de los servicios de Google que si se merece la Beta de momento).



Thunderbird 3.0

Posted by federico Dec 9, 2009



«Mozilla acaba de publicar, tras dos años y medio desde la versión 2, la versión 3.0 de su cliente de correo Thunderbird. Muchas son las novedades de esta versión que se explican en un vídeo en Mozilla Hispano, entre ellas, las carpetas inteligentes, mejoras de integración con los distintos sistemas operativos y un nuevo y potente sistema de búsqueda de mensajes. Puede descargarse en español desde la página de Mozilla Messaging».


Google Public DNS

Posted by federico Dec 4, 2009



What is Google Public DNS?

Google Public DNS is a free, global Domain Name System (DNS) resolution service, that you can use as an alternative to your current DNS provider.

To try it out:

  • Configure your network settings to use the IP addresses       and as your DNS servers or
  • Read our configuration instructions.
If you decide to try Google Public DNS, your client programs will perform all DNS lookups using Google Public DNS.

Why does DNS matter?

The DNS protocol is an important part of the web's infrastructure, serving as the Internet's phone book: every time you visit a website, your computer performs a DNS lookup. Complex pages often require multiple DNS lookups before they start loading, so your computer may be performing hundreds of lookups a day.

Why should you try Google Public DNS?

By using Google Public DNS you can:

Filter Blog

By date: By tag: