Bowling y cita

General — Jueves 04 de Noviembre de 2004, 09:31

Bowling


Ayer el equipo Los y Las del "22" salió campeón del Primer Torneo de Bowling de Unifón, por más de 100 pinos sobre el equipo segundo, trayendo un nuevo trofeo a la Dirección de Red. Felicitaciones a Ximena, Pablo, Hugo y Leandro (de izquierda a derecha en la foto).




Cita


Primer la aclaración, para que entiendan lo que sigue: Top-posting es la acción de responder a un mail escribiendo al principio del mail, dejando el texto anterior abajo.

Respuesta: Porque arruina el órden en que la gente normalmente lee un texto.
Pregunta: ¿Por qué el top-posting es tan malo?
Respuesta: Top-posting.
Pregunta: ¿Qué es lo más molesto de las listas de correo?


El Arte de la Programación Unix

Software — Miércoles 03 de Noviembre de 2004, 12:29

Estoy leyendo el espectacular libro de Eric S. Raymond titulado "The Art of Unix Programming". Lo pueden comprar, si quieren, pero también está disponible en la web (sí, ¡gratis!)

Muy recomendable para todos los que programan y/o gastan parte de su tiempo trabajando/estudiando/jugando con Unix o Linux.

Una cita que me encantó, sacada del libro: "Premature optimization is the root of all evil" (La optimización prematura es la madre de todos los males), de Donald Knuth.


Liberación oficial del blog

General — Lunes 01 de Noviembre de 2004, 08:10

Doy de alta oficialmente mi blog, :)

Desde que lo instalé hasta ahora me tardé un poquito, por lo que las primeras noticias la van a encontrar en Archivos (a la derecha de la página, hay uno por mes). También pueden ver las noticias agrupadas por distintas categorías, si lo desean (siempre a la derecha, verán que están las categorías con un número que indica cuantas noticias hay en cada una).

También podrán encontrar una serie de enlaces que son muy útiles/importantes para mi (adivinen en que lugar de la página, ;).

Cualquiér comentario será bienvenido. Para ello pueden enviarme un mail directamente a facundo arroba taniquetil punto com punto ar, o contestar las mismas noticias (al final de cada una hay un enlace para ello).

¡Que lo disfruten!


¿Referencia o valor?

Python — Lunes 25 de Octubre de 2004, 07:40
Lo siguiente es una respuesta mía (levemente modificada, por el contexto) a una pregunta sobre si en Python los objetos se pasan por referencia o por valor:

Python, a decir verdad, ¡no pasa los objetos!. Los objetos están en memoria, y lo que se hace es reasignarles un nombre.

Por ejemplo:

1 def func(a):
2 print a
3
4 b = "blah"
5 print b
6 func(b)

En la línea 4 se crea un objeto en memoria, tipo string, y con un contenido determinado. A este objeto se lo relaciona con el nombre "b". A partir de ese momento, cuando hablemos de "b" en este espacio de nombres, estaremos haciendo referencia a ese objeto en memoria (que es lo que hacemos justamente en la linea 5).

En la linea 6, llamamos a una función, con el nombre "b" como primer parámetro. Según la definición de la función, llamaremos "a" al primer parámetro. Dentro del espacio de nombres de esa función, cada vez que usemos el nombre "a", nos referiremos al mismo string que indicamos antes, al mismo objeto en memoria.

Resumiendo, el objeto no se copia, y no se pasa un puntero al mismo, simplemente se le asigna otro nombre en otro espacio de nombres.

>> def f(a):
print id(a)

>>> b = 5
>>> id(5)
9065408
>>> f(b)
9065408

Pensarlo de esta forma (que es lo que realmente sucede) nos simplifica la vida cuando tenemos distintos comportamientos con los objetos mutables e inmutables. Por ejemplo:

>>> def f(a,b):
print id(a), id(b)
a = 7778
b.append('?')
print id(a), id(b)

>>> c = 56
>>> d = ['pp', 11]
>>> c, d
(56, ['pp', 11])
>>> id(c), id(d)
(9064796, 11094976)
>>> f(c,d)
9064796 11094976
10047164 11094976
>>> c, d
(56, ['pp', 11, '?'])
>>>

Como vemos, al comienzo de la función, "a" apunta al mismo objeto que "c" fuera de la función, y lo mismo sucede con "b" y "d".

Y aquí es donde paga no pensar como "variables clásicas": en la primer linea NO estamos modificando una variable "a", sino que llamamos "a" a otro objeto en memoria, que no tiene nada que ver con el anterior. El nombre "b", en cambio, no es reasignado a otro objeto. Al final de la función vemos lo que acabo de explicar: "a" apunta a otro objeto en memoria y "b" todavía al mismo.

Cuando volvemos al cuerpo principal de la función encontramos que el objeto al que apunta "c" sigue estando igual (nunca se modificó), y el objeto al que apuntamos con el nombre "b" sí sufrió una modificación.

Hay un excelente artículo de Alex Martelli sobre este asunto, gentilmente traducido por Hernán Martínez Foffani.

Nat & Miguel

General — Miércoles 20 de Octubre de 2004, 07:49
Hoy en el Subte corrí el riesgo de que me tomaran por loco: estaba muy seriecito leyendo y de repente estallé en una carcajada.

El motivo de mi reacción fue el comentario de un muchacho llamado Nat Friedman en su blog:

The day they (Microsoft) offered me a job five years ago, the employment brochure (which I just found the other day, cleaning out my office) was full of testimonials from young Microsofties talking about how cool it is to write software that millions of people use.

My dad urged me to take the job -- "it's a million-dollar offer!" he would yell into the phone, speaking metaphorically, I guess -- and he and certain other of my relatives expressed concern for the safety of my eager young ego when I went off and started a long-haired communist company with a dirty Mexican.

Lo que traducido sería algo así como:

El día que ellos (Microsoft) me ofrecieron trabajo hace cinco años, el folleto (el cuál encontré el otro día, limpiando mi oficina) estaba lleno de testimonios de jóvenes Microsofistas hablando de lo copado que es escribir software que usan millones de personas.

Mi papá me urgió a tomar el trabajo -- "¡es la oferta del millón de dólares!" me gritó por teléfono, hablando metafóricamente, creo -- y él y algunos otros allegados expresaron preocupación por la seguridad de mi ilusionado y jóven ego cuando me fuí y comencé una compañía "de pelo largo" y comunista con un mejicano sucio.

Esta compañía es Ximian, que fue vendida a Novell por más de 15 millones de dólares.

Y el mejicano sucio es Miguel de Icaza, quien fundó y llevó adelante proyectos chicos, como Midnight Commander; proyectos que cambiaron el escenario del software mundial, como GNOME; y proyectos que lo van a volver a cambiar, como Mono.

Logo de Mono


Curva de bugs

Software — Viernes 17 de Septiembre de 2004, 12:22
La cantidad de bugs en un determinado sistema, proyecto o programa depende de *muchos* factores. Lo que sucede siempre es que, manteniendo el código estable (no agregándole nuevas características, no haciendo refactoring, etc.) la cantidad de bugs baja.

¿Baja hasta cuanto? ¿Cero? Más de una vez escuché que la curva de cantidad de bugs con respecto al tiempo es asintótica a cero, sin llegar nunca a ese valor.

Bueno, hoy lo comprobé. En Unifón tenemos (con Diego) un sistema que se llama SACLLA (Sistema de Armado y Clasificación de LLAmadas), que basicamente procesa *todos* los tickets que generan *todas* las centrales para *todas* las llamadas que hacen los usuarios. Tenemos uno para TDMA (tsaclla) y uno para GSM (gsaclla), ya que los tickets y la forma de enlazarlos para armar las llamadas es distinto.

Desde que gsaclla está funcionando en producción, lleva procesado más de 500 millones de tickets. Y hoy detectamos un bug. Se daba para una condición de tráfico que practicamente no sucede nunca, y de ahí la dificultad de la detección. Pero lo traceamos, lo analizamos, le pegamos, lo pisoteamos y listo. Solucionado.

Por eso, cuando piensen que un código no tienen errores, piensen nuevamente. Sí los tiene, ¡y todavía no los encontraron!

Por el bulevar de los sueños rotos

General — Jueves 02 de Septiembre de 2004, 12:54

En el bulevar de los sueños rotos
Vive una dama de poncho rojo
Pelo de plata y carne morena
Mestiza ardiente de lengua libre
Gata valiente de piel de tigre
Con voz de rayo de luna llena

Por el bulevar de los sueños rotos
Pasan de largo los terremotos
Y hay un tequila por cada duda
Cuando Agustín se sienta al piano
Diego Rivera, lápiz en mano
Dibuja a Frida Kahlo desnuda

Se escapó de una cárcel de amor
De un delirio de alcohol
De mil noches en vela
Se dejó el corazón en Madrid
Quién supiera reir
Como llora Chavela

Por el bulevar de los sueños rotos
Desconsolados van los devotos
De San Antonio pidiendo besos
Ponme la mano aquí Macorina
Rezan tus fieles por las cantinas
Paloma Negra de los excesos

Por el bulevar de los sueños rotos
Moja una lágrima antiguas fotos
Y una canción se burla del miedo
Las amarguras no son amargas
Cuando las canta Chavela Vargas
Y las escribe un tal José Alfredo

Se escapó de una cárcel de amor
De un delirio de alcohol
De mil noches en vela
Se dejó el corazón en Madrid
Quién supiera reir
Como llora Chavela

Las amarguras no son amargas
cuando las canta Chavela Vargas
y las escribe un tal José Alfredo

Se escapó de una cárcel de amor
De un delirio de alcohol
De mil noches en vela
Se dejó el corazón en Madrid
Quién supiera reir
Como llora Chavela

Por el bulevar de los sueños rotos

(Joaquín Sabina)


Joaquín Sabina: [-] [-]

Diego Rivera: [-] [-]

Frida Kahlo: [-] [-]

Chavela Vargas: [-] [-]

José Alfredo Jiménez: [-] [-]

Agustín Lara: [-] [-]

Instalando software en Linux

Linux — Viernes 27 de Agosto de 2004, 07:59
Hay un excelente artículo sobre como afinar las capacidades Multimedia de Fedora (está en los enlaces, a la derecha de la página, en la categoría de Linux). Su autor es Eric S. Raymond.

Es muy instructivo seguirlo, por las explicaciones de base que da. Incluso es bueno para aprender sobre las tecnologías de actualizaciones automática de Fedora (y otras distribuciones de Linux).

Específicamente, muestra como usar el up2date, yum y apt-get, explicando como configurarlo, precauciones a tener y demás info (al respecto, tuve algunos inconvenientes con los mirrors que recomendaba ESR, pero buscando encontré mirrors más cercanos).

El yum (que es el que más me gustó de los tres) es fantástico.

En Windows, cuando uno quiere instalar un software, debe buscar el instalador, bajarlo, ejecutar el instalador, y luego seguir los pasos indicados por el mismo para que el programa quede funcional. Peor, si uno quiere actualizar un software, debe bajar la nueva versión, enfrentarse a los pasos anteriores, y esperar que no traiga conflictos con la versión anterior instalada (o desinstalar previamente la anterior, con lo que tenemos el problema de cómo mantener las configuraciones y demás data entre ambas versiones, para que no se pierdan).

En Linux, con yum, es casi demasiado fácil. Por ejemplo con "yum update Mozilla", automáticamente trajo la última versión del Mozilla, la instaló (hizo la actualización de la anterior, manteniendo toda la configuración de los perfiles), sin mayor interacción por parte del mía.

O por ejemplo cuando quise instalar un nuevo programa, "yum install xmms", y listo. Luego de una barra de download, preguntarme si confirmaba la instalación, ya tenía el programa en mi máquina. No tuve que realizar toooodos los pasos que son necesarios en Windows.

Ah! Y también resuelve (verifica/baja/instala) el tema de las dependencias automáticamente, sin mayor inconveniente.



Open Office

General — Viernes 20 de Agosto de 2004, 12:50
Lamentablemente tomé la decisión de dejar de usar Open Office en mi entorno Windows en la oficina. Las razones:

- Realmente es pesado. Tengo una máquina rápida pero con solamente 256MB de RAM: los 50MB en memoria del "Arranque Rápido" me hacían caer en swap, lo que ralentizaba toda la máquina.
- Es *muy* compatible, pero no 100%. Y encima el Word/Excel es infeccioso: cuando rompen algo en la planilla (típico comportamiento de que uno quiere hacer algo que sabe que se puede pero no funca), luego en OpenOffice se ve mal o sigue funcionando mal.
- Me traia demasiado overhead andar preocupándome de los detalles de compatibilidad con todo el resto de Unifón (que usa MS), y en este momento de pico de trabajo es demasiado.

Ejemplo de estos dos últimos puntos: yo tenía una planilla (en OO) donde llevaba una pequeña estadística. En un momento la quiso ver mi jefe, por lo que la grabé en formato MS. La abrí con el Excel, y no me mostraba el segundo eje Y. Jugué un rato, lo puse, lo saqué, y varias cosas más, pero nunca apareció en el gráfico. Grabé la planilla (había hecho algunos cambios que quería conservar) y cuando la abrí con OO había cambiado.

Los valores eran los mismos, el gráfico era el mismo, pero tenía muchos detalles de estética. Léase: era perfectamente útil, pero no me servía como planilla que quiero pasarle a un jefe para que observe unos datos.

En resumen, mi experiencia es que el OO está a un nivel absolutamente profesional. Y es compatible con MS. Pero se complica usarlo en un entorno 99.9% MS.




Arranque

General — Lunes 16 de Agosto de 2004, 09:50
Bueno, parece que largamos con el blog.

Esto sería la continuación de mi previa Bitácora de Vuelo, cuyo contenido será migrado aquí.


Congratulations, it worked!

General — Lunes 16 de Agosto de 2004, 09:32
Welcome to pLog! If you can read this, it means that your pLog installation is ready and that you can start blogging.
«Anterior   1 2 3 ... 59 60 61

Powered by LifeType