Microsoft acusa a Linux

Como era de esperar (ver los artículos «Los peligros del acuerdo entre MS y Novell» y «Movidas empresariales«), lo que comenzó como una insinuación se ha confirmado: El CEO de Microsoft, Steve Ballmer, ha dicho oficialmente: «Linux usa nuestra propiedad intelectual«.

Finalmente, Microsoft acaba de desnudar toda su estupidez, echando mano al último recurso que le quedaba para combatir el crecimiento de Linux y el software libre en general: decir que, de alguna manera, Linux incluye sus ideas.

Sigue leyendo «Microsoft acusa a Linux»

Los peligros del acuerdo entre Microsoft y Novell

Es noticia en todos los medios que Microsoft y Novell han suscripto un acuerdo mediante el cual el primero se convierte en revendedor de SUSE Linux (lo digo de nuevo, porque una sola vez no alcanza: Microsoft vende una distribución de Linux) y además se compromete a no demandar a los usuarios de SUSE (y viceversa) por violaciones de patentes.

Este acuerdo entraña muchos riesgos, y no son pocas las voces de alerta que se han alzado desde diversos sectores. Para confirmar todos los temores, han comenzado las amenazas del CEO de Microsoft, Steve Ballmer.

Sigue leyendo «Los peligros del acuerdo entre Microsoft y Novell»

Por qué Linus Torvalds no es un héroe

Recientemente, la revista Time ha seleccionado a quienes, a su juicio, son los héroes de los últimos 60 años. Entre las personas nombradas aparece el creador de Linux: Linus Torvalds.

No es que esté en contra de Linus (realmente lo admiro y hasta es un tipo simpático), pero Time reitera un error frecuente al decir que «al regalar su software, el programador finés se ganó un lugar en la historia«.

Sigue leyendo «Por qué Linus Torvalds no es un héroe»

Popularidad de las distribuciones de GNU/Linux

He realizado un pequeño análisis sobre las cifras publicadas por DistroWatch acerca de la popularidad de las diferentes distribuciones de GNU/Linux en los últimos 6 meses.

Las estadísticas de DistroWatch se basan en la cantidad de visitas diarias al sitio de cada distribución, siendo una fuente bastante respetada a la hora de estimar su cantidad de usuarios. Aunque las cifras publicadas corresponden a cada distribución específica, resulta interesante realizar un agrupamiento de todas aquellas derivadas (por ejemplo, Debian, Ubuntu, etc.).

Sigue leyendo «Popularidad de las distribuciones de GNU/Linux»

Programación para redes y concurrencia (IV)

En esta última entrega analizaremos algunos de los problemas que se plantean a la hora de desarrollar programas concurrentes.

La programación concurrente (implementada a través de procesos separados o de threads) plantea una serie de inconvenientes respecto del uso de recursos o datos compartidos, que abren un campo de investigación interesantísimo y con muchos puntos aún no resueltos. Presentaremos aquí solamente una introducción a esta problemática, ejemplificando cada situación con nuestro servidor concurrente.

Nota del 19/11/2006: Ahora puede descargar el tutorial completo.

Sigue leyendo «Programación para redes y concurrencia (IV)»

Programación para redes y concurrencia (III)

Luego de que en la entrega anterior complicáramos un poco las cosas introduciendo concurrencia en el servidor, un amigo me hizo notar que quizás sería mejor dar un ejemplo un tanto más «real» de lo que estábamos haciendo.

Es por eso que dejaremos por un rato el camino planificado para jugar un poco explorando las posibilidades con un cliente en PHP (en una especie de «recreo«).

Sigue leyendo «Programación para redes y concurrencia (III)»

Programación para redes y concurrencia (II)

En la entrega anterior abordamos el diseño de un protocolo y la implementación de un servidor secuencial muy simple y un cliente. Haciendo esto, inspeccionamos los conceptos fundamentales de la programación de aplicaciones usando sockets.

En esta segunda parte, desarrollaremos un servidor capaz de recibir conexiones de varios clientes de manera concurrente (en paralelo). Para ello utilizaremos dos técnicas distintas: procesos múltiples e hilos de ejecución (threads).

Nota del 19/11/2006: Ahora puede descargar el tutorial completo.

Sigue leyendo «Programación para redes y concurrencia (II)»

Programación para redes y concurrencia (I)

Este es el inicio de una serie de artículos introductorios sobre programación para redes (usando sockets) y programación concurrente. El objetivo es presentar una serie de conceptos que iremos explorando progresivamente:

  • Programación cliente/servidor usando sockets: Cómo desarrollar programas que se comuniquen a través de la red para realizar distintas tareas.
  • Protocolos de comunicación: Explorar los principios básicos de los protocolos de aplicación (alto nivel) utilizados para intercambiar información.
  • Concurrencia: Cómo construir programas que se ejecuten paralelamente y resolver algunos de los problemas que nos plantea la concurrencia.

Nota del 19/11/2006: Ahora puede descargar el tutorial completo.

Sigue leyendo «Programación para redes y concurrencia (I)»