Automágica: durante 2017 estoy trabajando bastante en Automágica, mi software para editar libros: Más información - Posts relacionados

Dichos populares, según un programdor

Hace unos días estoy siguiendo a k0001 en Twitter. Ayer me sorprendió con algo muy delirante: dichos populares, escritos en forma de código fuente.

current_bird || lookup_flying_birds(100) —Mas vale pájaro en mano que 100 volando.

class Astilla : Palo —De tal palo, tal astilla.

if (feature != 'dientes') { caballo.check(feature); ... } —A caballo regalado no se le miran los dientes.

herrero.house.cuchillo.material = 'palo' —En casa de herrero, cuchillo de palo.


¿Televolución?

Vi este chiste hace unos días en la 9° Bienal de arte joven en Santa Fe:

Autor: DÍAZ, Baltazar


Borges hacker

Dijo nuestro escritor por excelencia:

"Uno llega a ser grande por lo que lee y no por lo que escribe."

BORGES, Jorge Luis

Escritor argentino.

Años más tarde, desde los más oscuros rincones de la web 2.0 y las redes sociales, el espíritu del poeta infunde a la juventud. Distinto oficio, misma verdad:

Los mejores programadores no son los que más código escriben, sino los que más código leen. @alejolp



Fito en el Municipal

Ayer a la mañana me desperté sin saber que por la noche iba a ver por primera vez un recital de Fito Páez. ¿24 años de vida y nunca lo había visto? No. Y no es que no me guste; me gusta mucho. Pero no había tenido la oportunidad. Hacía varias semanas que publicitaban el show en el Teatro Municipal, pero cuando quise comprar entradas, ya estaban agotadas :(

Resignado a perdérmelo, el jueves por la tarde casi no me acordaba del evento, cuando un mensaje de un compañero de la facu llegó a mi celular. Le sobraba una entrada y me la ofrecía. Sin dudarlo de dije que si, nos vemos 8, 8:30 en la puerta ya que las que tenemos no son numeradas.

Un rato antes de las 8 manejé hasta el centro, cuando doblé en Juan de Garay, la calle al costado del teatro, todos los lugares en los que podía estacionar estaban ocupados. Seguí de largo, vuelta a la manza, otra vuelta. No puede ser. 8:20. Me alejo unas cuadras más y veo un lugar entre un remís y una camioneta. Todavía no estacioné nunca en la ciudad en un espacio tan chico. 8:25. Hago el intento; balizas, para atrás, para adelante, para trás. Me bajo, cierro, alarma, lo miro. Mmmmmmm no me convence, la cola sale un poquito para afuera. Me vuelvo a meter en el auto, unas maniobras, me vuelvo a bajar. Mmmmmmm no me convence, repito el procedimiento. Me vuelvo a bajar, lo miro, igual que al principio. 8:32.

Teléfono, Martín (de la facu). Estamos en la puerta por entrar, apurate. Ya estoy. Empiezo a correr, media cuadra, me freno. ¿Puse la alarma? Me vuelvo. Si, la puse. Vuelvo a correr, llego a la esquina y me doy cuenta que estoy a 3 cuadras del teatro. No estoy en forma, sigo corriendo. Llego, voy por la entrada principal, solo plateas, doy la vuelta. Lo encuentro a Martín y agitadísmo entro a subir escaleras hasta que llegamos a nuestros lugares, arriba de todo pero bien al medio: Me encantó la relación precio/beneficio de nuestros asientos.

De cuando empezó el recital en adelante no puedo contar mucho, solo que fue impresionante cuando se apagaron las luces, entro Rodolfo Páez y desde arriba vi cientos de cuadraditos de luz (los displays de cámaras y celulares) y flashes que como relámpagos iluminaban el escenario.

[gallery]

Un post distinto a los que suelo hacer, y con unas descripciones a veces forzando la realidad para hacerlo más cómico :)

La mayoría de las fotos son del blog Welcome. Gracias.


Intercambio de valores rápido en Python

Cuando empecé a cursar Ingeniería en Sistemas en el año 2003, tuvimos una materia llamada Algoritmos y Estructuras de Datos. La semana del curso estaba compuesta por una clase teórica, una clase práctica y una clase "especial" dictada por un docente de apellido Marina que tenía como objetivo hacernos pensar resolviendo problemas; en las primeras clases ni siquiera programábamos.

El lenguaje de programación de la materia era C y en una de las clases, este docente recordaba risueño que un alumno había querido intercambiar el valor de dos variables

int a = 1;

int b = 2;

haciendo:

a = b;

b = a;

El error es evidente; en a se copia el valor contenido en b (2) pisando el valor original (1) y al ejecutarse la segunda sentencia, el nuevo valor de a (2) es copiado en b.

La siguiente tabla muestra los valores que van tomando las variables a y b: La forma correcta de intercambiar los valores habría sido utilizando una variable auxiliar en la cual mantener uno de los valores:

int aux;

int a = 1;

int b = 2;

aux = a;

a = b;

b = aux;

La siguiente tabla muestra los valores que van tomando las variables aux, a y b:

Lo gracioso del asunto es que unos años más tarde conocí otro lenguaje de programación, Python.

En Python un tipo de dato que viene con el lenguaje es la tupla. Una tupla es una secuencia (sus elementos tienen orden) inmutable (no se puede cambiar su tamaño o contenido) que puede tener dentro objetos de distinto tipo. Un ejemplo de tupla en Python (contiene tres números y dos cadenas de texto):

(1, 2, "tres", 4, "Juan")

La forma de apuntar a ese objeto desde una variable es simplemente:

a = (1, 2, "tres", 4, "Juan")

Aunque podemos obviar los paréntesis y de todas formas funcionará. Decimos que la tupla es empaquetada:

a = 1, 2, "tres", 4, "Juan"

De forma similar, podemos desempaquetar la tupla en nuevas variables:

b, c, d, e, f = a

La condición es que el número de variables en el lado izquierdo del operador = coincida con el número de elementos en la tupla.

La siguiente sentencia, empaqueta y desempaqueta:

x, y, z = "Juan", 100, 1

Y es equivalente a:

x = "Juan"

y = 100

z = 1

Finalmente, esta propiedad del lenguaje nos permite intercambiar rápidamente los valores de 2 (o n) variables:

a = 1

b = 2

a, b = b, a

Así, lo que un alumno despistado quiso hacer en 2 sentencias y Marina mostró que se hacía correctamente en 3, yo lo hago en 1 :)


Yo y el fútbol

Podría escribir tragedias memorables o comedias muy graciosas sobre mi persona y el deporte de Pelé, pero en esta ocasión no. Hoy les dejo un relato que mi amigo Leandro publicó en su blog:

Un jugador desjugado


Automóviles y programas

"Si la industria automovilística hubiera seguido el mismo desarrollo que las computadoras, un Rolls-Royce costaría hoy 100 dólares, circularía un millón de millas con 3,7 litros y explotaría una vez al año, eliminando a todo el que estuviera dentro en ese momento"

-- Robert X. Cringely

Un clásico que mi amigo Joel me leyó hace muchos años cuando estábamos en la secundaria.

Robert X. Cringely, es el seudónimo de Mark Stephens, periodista estadounidense de temas informáticos, así como un seudónimo utilizado por varios columnistas de la revista Infoworld.

Este post es parte de Citas sobre programación.