Firefox sigue ganando terreno

Software — Lunes 13 de Diciembre de 2004, 07:37

Otra marca importante para Firefox: en menos de 32 días fueron bajado 10 millones de instaladores.


Todavía no encontré un lugar confiable como para revisar periodicamente figuras de porción de mercado entre todos los navegadores, pero es obvio que Firefox va erosionando despacio pero constantemente la base de usuarios de Internet Explorer.

Esto se logró, más allá de la soberbia calidad y funcionalidad del producto, por campañas masivas de marketing a través de la ayuda gratuita de colaboradores y amigos de Firefox, que como yo, le taladran la cabeza con que usen Firefox al primero que se cruce, :). Estas campañas se centran y coordinan en SpreadFirefox.

Otro producto que por ahora no tiene tanta publicidad, pero que seguramente le llegará por haber llegado a su versión 1.0, es Thunderbird, un lector de correo/noticias de muy buena calidad, con características como: soporte IMAP/POP, correo HTML, etiquetas, búsqueda rápida, libreta de direcciones inteligente, acuses de recibo, filtrado avanzado de mensajes, completado de direcciones LDAP, herramientas de importación, potencia en búsquedas y, además, la capacidad de manejar múltiples cuentas de correo electrónico y noticias.

Python 2.4

Python — Martes 30 de Noviembre de 2004, 09:58

La última versión de Python ya está en la calle. Esta es una release final y estable, y se recomienda a los usuarios que actualicen a esta versión.

Python 2.4 es el resultado de casi 18 meses de trabajo sobre la versión anterior, Py2.3, y representa otra etapa en la cuidadosa evolución del lenguaje. Se mantuvieron al mínimo las nuevas características de Python, se corrigieron muchos bugs y se realizó una importante variedad de mejoras.

Entre los cambios más importantes tenemos decoradores de funciones, expresiones generadoras, mejoras al importar los módulos, y bastantes nuevos módulos (incluyendo subprocess, decimal y cookielib).

Para seguir investigando mire el What's New In Python de Andrew Kuchling, los puntos sobresalientes de esta versión, y las notas detalladas sobre Python 2.4.

Para más información y bajar los instaladores, vaya a la página oficial.

Tristeza...

General — Miércoles 24 de Noviembre de 2004, 03:26

...es lo único que se puede sentir cuando se va un grande.



Adolfo Castelo, Maestro.


Aritmética Decimal

Python — Martes 23 de Noviembre de 2004, 17:03

Puse disponible en la web, accesible facilmente las instrucciones de cómo bajar e instalar en Python 2.3 el módulo decimal.py (en castellano y en inglés).



Funcionalidad

General — Martes 16 de Noviembre de 2004, 12:20

Agarré el documento que había recibido por fax, lo leí y decidí llamar a uno de los técnicos que figuraba en el pequeño informe (solamente una página).

Tomé el celular y le saqué una foto al impreso. El teléfono hizo OCR (Optical Character Recognition, reconocimiento óptico de caracteres), y extrajo todos los nombres de personas. Uno de los nombres, el remitente del fax, estaba entre mis contactos del teléfono. Para los otros nombres, el teléfono tuvo que conectarse a Internet y averiguar los números en la WMN (Worldwide Mobile Numbers, números de celulares del mundo), a la cual estoy subscripto.

Diez segundos después de decidir hacer la llamada, el teléfono ya me ofrecía los cuatros posibles números. Elegí uno y llamé. Contando el sacar la foto solamente fueron cuatro golpes de "botón" y nada más.

(La historia anterior transcurre en un probable futuro.)



Redescubre la Web

Software — Jueves 11 de Noviembre de 2004, 05:02

Instalé Firefox 1.0 en casa.

Lo bajé enseguida porque no pesa mucho (2-3 minutos por ADSL, 10-12 minutos por teléfono), y se instaló sin absolutamente ningún problema.

Realmente no tiene muchas modificaciones con respecto a sus anteriores versiones: todas ellas fueron aproximándose a lo que es ahora la versión oficial. Pero una funcionalidad me encantó: si se entra a una página donde, para ver determinado contenido multimedia, se necesita un plug-in que no se tiene instalado, lo ofrece bajar e instalar desde el mismo navegador, por supuesto siempre considerando la seguridad como un no-negociable.

La otra característica que me encanta es cómo se buscan palabras o frases en la página. Comparada con la interfaz de búsqueda del Internet Explorer, que era obsoleta en 1996, la barra de búsqueda de Firefox es fantástica: permite irse desplazándose entre las coincidencias, realimenta al usuario mientras escribe sobre si está o no lo que está buscando, permite resaltar las coincidencias, etc. y todo de una forma completamente intuitiva y no intrusiva: ¡tienen que probarlo!.

Si quieren conocer más características de este fantástico navegador, sigan con la descripción de Chaghi.




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!

«Anterior   1 2 3 ... 56 57 58 59 60 61 62  Siguiente»

Powered by LifeType