Vientos de Libertad el blog de Juanjo Conti – en borrador permanente – abstracto, lúdico y digital

os.path en el settings.py de Django para mayor comodidad

Marzo 3

En el archivo de configuración settings.py de un proyecto Django, por lo general tenemos que setear variables como MEDIA_ROOT o STATIC_DOC_ROOT. Su contenido en una instalación Windows suele ser algo como: 'C:\Windows\camino\hasta\mi\projecto'. Y en Linux: '/home/usuario/camino/a/mi/proyecto'. El problema surge cuando el proyecto es desarrollado en varias máquinas a la vez, y con distintos sistemas operativos. Más aún, si hacemos lo anterior, seguramente versionaremos el proyecto y con él, al archivo de configuración. No sería raro que tras una actualización, el archivo se actualice con los valores que puso algún compañero de trabajo.

Mi solución es definir primero una variable para el proyecto:

PROJECT_PATH = os.path.abspath(os.path.dirname(__file__))

Luego podemos usarla para definir el path absoluto a la carpeta con archivos de media:

MEDIA_ROOT = os.path.join(PROJECT_PATH, 'media')

nuestros templates:

TEMPLATE_DIRS = (
# Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
# Always use forward slashes, even on Windows.
# Don't forget to use absolute paths, not relative paths.
os.path.join(PROJECT_PATH, 'templates')
)

o cualquier otra variable de configuración que requiere una ruta de directorios.

Con esta solución podemos cambiar el proyecto de carpeta, disco o computadora y seguirá funcionando.

Los 6 magníficos: divertimentos matemáticos

Febrero 25

Cuando estaba en los primeros años de ingeniería, en la sala de consultas de Materias Básicas (el departamento que reúne las matemáticas, las físicas, las químicas, etc…) vi una calcamonía que me llamó la atención. Planteaba una igualdad entre cinco números: pi, i, e, 0 y 1.

Ayer, durante una reunión en la misma sala, volví a encontrarla. Seguía en el mismo rincón de un pizarrón, con una punta ajada. No resistí la tentación de fotografiarla y quedármela para siempre. Se las comparto:

Imagen778

Una versión, más desprolija, pero en dónde se lee mejor:

Imagen779

Una primera pregunta es: ¿Es verdad esa igualdad? Resulta que sí. Lo que me llamó la atención por años es conocido como Identidad de Euler.

Pero lo que realmente desvela es que la calcamonía se titulaba “Los seis magníficos” y remata “¿y el que falta?”.¿ Alguien tiene la respuesta?

Aplicar un decorador a todas las funciones de un módulo en Python

Febrero 6

En la lista de PyAr preguntaron si había alguna forma de aplicar un decorador a todos las funciones de un módulo. Envié una solución sin probarla, que al verla unos días más tarde parece bastante buena :)

La comento aquí con un ejemplo. modulo.py contiene definiciones de funciones:

def a():
    pass

def b():
    print 42

def c():
    a()
    b()

y decoradores.py un decorador que imprime el nombre de la función llamada:

def nombrador(f):
    def inner(*a, **kw):
        print "Ejecutando %s" % f.__name__
        return f(*a, **kw)
    return inner

(Si no sabés lo que es un decorador, podés leer mi post Decoradores en Python I: Introducción)

En lugar de modificar las definiciones de funciones en modulo.py para aplicar el decorador a cada una de las funciones, ya sea usando el azúcar sintáctica de Python:

@nombrador
def a():
    ...

o mediante una llamada a la función:

a = nombrador(a)

podemos agregar el siguiente código al final de modulo.py:

for n,v in locals().items():
   if inspect.isfunction(v) and n != 'nombrador':
       locals()[n] = nombrador(v)

Vamos a explicarlo:

la llamada a la función built-in locals retorna un diccionario representando el espacio de nombres local: cada clave es un string representando el nombre de un objeto y cada valor es el objeto en si. Iteramos sobre la lista de pares (key, value) del mencionado dict y por cada uno verificamos si:

a) es una función (inspect.isfunction es apropiado para esto)
b) el nombre no es el del decorador que queremos aplicar (para no aplicar el decorador sobre si mismo!)

Si las condiciones a y b se cumplen, podemos guardar en el diccionario del espacio de nombres, bajo el nombre de la función que cumplió las condiciones, una versión decorada de la misma.

Agregamos algo más de código a modulo.py para que se llame a las funciones cuando lo ejecutemos:

if __name__ == '__main__':
    a()
    b()
    c()

Esta es la salida obtenida:

juanjo@fenix:~/python/muchosdecos$ python modulo.py
Ejecutando a
Ejecutando b
42
Ejecutando c
Ejecutando a
Ejecutando b
42

¿Querés probarlo? Bajá muchos.zip

Nota: para acceder a locals() no se puede utilizar iteritems por que el diccionario cambia durante la ejecución.

Novelas que leí en Enero/2010

Febrero 1

Durante el año realmente siento que me falta tiempo para leer. No para leer el diario o material de estudio, sino para leer por el placer de hacerlo. Leer literatura. A parte de algunos cuentos de Asimov, este enero pude leer 4 novelas. Las 4 muy distintas entre si, pero igualmente entretenidas. Se las paso a comentar, por si alguno tiene ganas de leer y sacó sus vacaciones en febrero (enero ya se fue). Si a alguien le interesa leer alguno, los tengo para prestar:

El enigma de Copérnico

el-enigma-de-coopernicoAutor: Juan-Pierre Luminet

Género: Novela histórica

Páginas: 365 (incluyendo notas del autor)

Editorial: Ediciones B/Zeta

ISBN: 978-84-9872-040-2

El primer libro que leí me lo regaló mi tía Lupe para Navidad. Es una versión novelada de la vida de Nicolás Copérnico (si, el que dijo que los planetas se movían al rededor del son y no TODO al rededor de la tierra como se venía creyendo) escrita por un científico francés y es la primera de una serie de 4 entregas titulada Los constructores del cielo.
Me gustó mucho, los capítulos son un poco largos (me gustan más cortos, así uno puede dejar el libro en cualquier momento) pero la trama es atrapante. Desconocía los detalles de la vida de Copérnico, por lo que no se cuanto hay de verdad y cuanto de ficción. Pero sin duda es una buena aproximación para conocer un poco más sobre la historia del mundo.
Los otros libros de la serie son sobre Brahe, Kepler y Newton (el último aún no ha sido escrito).

En la arena estelar

en-la-arena-estelarAutor: Isaac asimov

Género: Ciencia ficción

Páginas: 200

Editorial: Ediciones Martinez Roca

ISBN: 84-270-0516-4

La segunda novela la leí durante mis vacaciones y la compré en una casa de usados en Pinamar. Es una entrega más de Asimov, una especia de aventura de Cowboys por el espacio. En este caso se intenta encontrar un misterioso documento perdido hace muchos años a la vez que el último planeta conquistado por los humanos intenta conquistarlos a los demás para formar un Imperio Galáctico. Por supuesto, la resistencia se levanta para evitar que esto suceda. Aventura, romance (del pícaro que hace Asimov), conspiraciones y un final bien Asimoviano (era MUY norteamericano el tipo… para ser ruso).

Las grietas de Jara

las-grietas-de-jaraAutor: Claudia Piñeiro

Género: Policial

Páginas: 250

Editorial: Alfaguara

ISBN: 978-987-04-1296-0

La tercer novela la compré para leer a la vuelta (16 horas en colectivo no se digieren fácil). Compré una edición “económica” 15 pesos más barata que en todas las otras librerías. La verdad, no pude notar la diferencia.
Las grietas de Jara está escrita con esa forma característica de Claudia Piñeiro, un policial urbano, con personajes bien humanos, donde mucha parte de la historia pasa dentro de sus cabezas.
Me gustó más que Las viudas de los jueves, pero menos que Tuya.

El principe de la nieble

el-principe-de-la-nieblaAutor: Carlos Ruiz Zafón

Género: Fantasía/Juvenil

Páginas: 230

Editorial: Booket

ISBN: 978-987-580-321-3

El escritor, Carlos Ruiz Zafón, se hizo famoso hace unos años con su novela La sombra del viento, y a continuación El juego del angel (que transcurre una generación antes que La sombra del viento). Sin embargo, estas no son sus primeras novelas. Zafón cuenta también con una trilogía del género que algunos denominan “Novela juvenil”; personajes sub 18, más fantasía que en sus novelas para “adultos”, pero como aclara el autor en el prologo, pueden disfrutarla tanto jovenes como lectores con más años

Cabañas Cayastá

Enero 29

El fin de semana mi familia estuvo de paseo en las Cabañas Cayastá. Yo iba a unirme desde el viernes, pero como estuve un poco enfermo solo pude pasar en las cabañas una sola una noche. Ya conocíamos el lugar, puesto que habíamos pasado un fin de semana allí hace dos años. Es un predio parquizado muy grande (5 hectareas) con 26 cabañas, salida al río y mucha infraestructura.

Las cabañas tiene hasta 6 camas, baño, aire acondicionado, 2 pisos, una cocina equipada con todos los cubiertos y trastos, heladera, mesa y sillas, parrillas y tele (alguien lo necesita?). Se puede cocinar en la cabaña, pedir comida a la habitación o comer en el comedor del lugar (los sábados a la noche suele haber Cena Show). A la tardecita te dejan en la puerta de la cabaña una canasta con el desayuno para el otro día.

El lugar está muy bueno para descansar, tiene muchas comodidades y se puede hacer de todo:

  • Pescar
  • Cabalgar
  • Andar en bicicleta
  • Pileta
  • Juegos (muy buenos para chicos, desde los típicos de plaza a otros como una casa en el árbol o un laberinto)
  • Hacer asado

Está a unos minutos del pueblo (Cayastá), por lo que podés comprar ahí lo que te olvides, y a menos de 100 km de Santa Fe, por lo que llegás en una hora.

También tengo entendido que se suele utilizar para organizar convenciones (tiene un salón para 300 personas).

Dejo algunas fotos del lugar para entusiasmar:

Celular – cuento

Enero 25

Siendo un ávido lector, hace un par de años me llegó el momento, como a todo lector, de creer que también puedo ser un escritor. Fue así que me entregué con furia a la escritura de cuentos, uno tras otros, solo para darme cuenta de que el siguiente era peor que el anterior :(
De todas formas, como soy cabeza dura, y tengo ganas de volver a intentarlo, les dejo el primero que escribí, y como los subsiguientes fueron cada vez peores, el mejor que tengo.
Se titula Celular, y lo escribí una noche en el verano 2007-2008 en mi pieza, en Carlos Pellegrini. La idea del cuento me había llegado como un rayo, al mirar por la ventanilla cuando me tomaba el 16 en la esquina de mi departamento, bolso en mano, camino a la terminal de ómnibus de la ciudad de Santa Fe.

Celular_jjconti

Como ya les dije, tengo ganas de retomar, así que sean alentadores en sus comentarios ;-)

Alarmas en GNOME

Enero 21

Nunca había usado esta aplicación hasta hoy. Estoy muy concentrado trabajando en la computadora, mensaje por IM: “llamame en 15 minutos”. “Mmmm”, pienso. “Me voy a olvidar”. Debe haber alguna herramienta en mi escritorio que me permita resolver esto, es algo realmente sencillo. Busco: GNOME + alarma, encuentro: Gnome Alarm (el paquete se llama alarm-clock).

Pantallazo-Alarma

Cargo una alamar para dentro de 14 minutos. Si, la búsqueda llevo solo 1. ¡Genial! No solo por la herramienta (es sencilla pero extremadamente útil) sino por el ecosistema de software que es el Software Libre; no creo que en otro ámbito puedas tener una necesidad, pensar en un programar y que exista para solucionar tu problema solo por que antes ya alguien tuvo el problema y lo solucionó. Allí estaba la herramienta, lista para usar.

Llevo media hora, y ya la usé dos veces :)

Vacaciones en Villa Gesell

Enero 21

los4_

La semana pasada estuvimos de vacaciones en Villa Gesell Ceci, Meli, Barby y yo. Fuimos en cole (largo) y paramos en el hotel CityMar (nos gustó que estaba a 1.5 cuadras de la playa, la comida y la pileta). Mientras volvía, medio dormido y contento, se me había ocurrido la idea de escribir un relato detallado de todo el viaje. Ya no se si voy a hacerlo, pero hay algunas cosas que quiero comentar:

Pinar del Norte

Uno de los mejores lugares para visitar, no-playa, es el Pinar del Norte: al norte de la ciudad, junto al mar, se levanta una enorme arbolera de, en su mayoría, pinos. En el interior está:

  • la sede del Museo y Archivo Histórico Municipal de Villa Gesell (en el edificio de lo que fue la primer casa de su fundador).
  • otros museos, como el de los Pioneros, en honor a los primeros habitantes y otros edificios con historia.
  • el vivero municipal.
  • un viejo tinglado convertido en cafetería.
  • caminos para recorrer y sombra para descansar (muy lindo para pasar la tarde tomando mates o jugando a las cartas).
  • un centro cultural dónde se puede encontrar a un maestro tocando el piano en vivo (en el edificio de la segunda casa del fundador).

Por el simbólico valor de 3 pesos[0] se puede realizar una visita guiada a los distintos edificios que se encuetran en el lugar. Si van de vacaciones a Gesell, no dejen de realizar esta visita por que es de verdad muy buena. La guía le ponía tanta pasión a su trabajo que la historia realmente te atrabapa.

100_6038

100_6041

Don Carlos Idaho Gesell

El fundador de Villa Gesell se llamó Carlos Idaho Gesell y nació en Buenos Aires en 1891, aunque sus padres eran alemanes. Su padre, Silvio Gesell, quién luego fuera conocido por sus trabajos en economía, era un comerciante que vino desde Europa, primero vendiendo herramientas para odontólogos y más tarde elementos para bebés; Casa Gesell fue el nombre de la empresa familiar en la que Carlos también trabajo.

El hijo heredó de su padre el hobby por los inventos. Carlos Gesell registró más de 200 patentes en Argentina y en Estados Unidos, dónde pasó 10 años estudiando en las grandes bibliotecas; pasaba allí horas, desde que abrían hasta que cerraban.

100_5968

De regreso en Argentina, se dedicaba al diseño y rediseño de productos en Casa Gesell, como cochecitos todo terreno para bebes y muebles. En sus vacaciones de 1931, en Mar del Plata, conoce a Hector Manuel Guerrero, dueño de campos en la zona de General Maradiaga, quien le informa de un terreno lleno de dunas que se vende. Llegar al lugar, requiere un largo viaje en tren hasta la Estación Juancho, atravesar campos haciendo uso del permiso de servidumbre, y atravezar extensiones de arena en sulky. Luego de hacer algunas pruebas y encontrar que el agua es potable, don Carlos, como se lo empieza a llamar a partir de cierta edad, decide comprar las tierras para sembrar pinos que sirvan para suministrar madera a su empresa.

Muchos miembros de su familia le recriminan haber gastado tanto dinero en un montón de arena, se termina separando y volviendo a casar para en ese mismo año construir la primer casa en su nueva propiedad. Algo particular del lugar es la presencia de dunas, masas vivas de arena que por acción del viento pueden cambiar de lugar de un día para el otro. Usando su ingenio, diseñó su casa con 4 puertas, una por cada punto cardinal y así poder salir si durante la noche se acumulaba arena en alguna de las entradas. Al principio viajaba los fines de semana y la casa servía de veraneo para el resto de la familia.

Pasó 10 años intentando sembrar pinos y otras especies que conseguía en viveros de Buenos Aires y otros lugares del mundo; incluso invitó a un ingeniero agrónomo alemán a instalarse a trabajar junto a él. Luego de dos años, se fue enojado, diciéndole a don Carlos que nada crecería en ese lugar. Finalmente, a fuerza de perseverancia e ingenio logro su objetivo.

100_5984

Como una idea para obtener recursos para continuar su labor, se le ocurre construir una casa en la que personas de Capital Federal puedan pasar sus vacaciones, la llama La Golondria, por el caracter pasajeron que tendrían sus visitantes. Rápidamente tiene éxito y el boca a boca hace que cada año sean más las personas que llegan a pasar sus vacaciones en aquel lugar, algunos les compran tierras a Don Carlos y construyen sus propias casas. Don Carlos, hasta su muerte, ayuda en la construcción de la ciudad: siendo benefactor de instituciones, estableciendo caminos y construyéndolos, sembrando más árboles; y así un pinar productor de madera, terminó convertido en uno de los balneareos más visitados de Argentina.

100_5985

Libros

Como sabrás, si seguís este blog, me gustan bastante los libros: comprar, oler, descubrir, recomendar, leer. En Villa Gesell hay muchas librerías, sobre todo en el centro. De usados hay dos o tres sobre la avenida 3[1] pero no encontré nada de valor allí. De todas las que visité, la que realmente es un hayazgo digno de compartir es una que se encuentra en la parte baja del Paseo España, casi al fondo (el Paseo España es una calle peatonal que corta la avenida 3): venden libros muy baratos (casi un 50% menos que en las otras librerías). Según la vendedora, los precios se deben a que son ediciones económicas y a que los impuestos son distintos por estar en una feria. No dejen de visitarlo; yo compré 3 libros por 70 $ que en una librería tradicional me hubiesen costado 130 $.

Otro hallazgo literario lo hice en Pinamar. No fuimos en excursión o algo por el estilo (no se cuando te pueden cobrar); por 11 pesos una persona puede ir y volver en colectivo (pasan cada media hora) y pasear por le centro y la playa. No me gustó mucho la ciudad, y es cara (una bochita de helado por 13 $ no es negocio). Pero en una especie de peatonal en el centro hay una casa de usados con muy buen material. Allí compre En la arena estelar, el siguiente libro de libro de Isaac Asimov en mi lista de libros a leer para completar La Saga de la fundación.

100_1500

Seguir navegando

Cree un album en mi galería con fotos del Pinar del Norte y los museos y otro con fotos de las playas.

Empecé la entrada en Wikipedia en Español para Carlos Idaho Gesell.

[0] De verdad, es muy poco para pagar una recorrida guiada de tan buena calidad y los lugares a los que se tiene acceso. El dinero se utiliza par el mantenimiento del lugar, así que si visitás el parque y querés hacer una contribución mayor, podés comprar alguna de las publicaciones que tiene el museo.
[1] En Villa Gesell las calles paralelas a la costa se numeran: 1, 2, 3, 4… y las perpendiculares con números mayores a 100.

Generación espontanea de código

Enero 8

Software does not make itself. Code does not spontaneously come from the ether of the universe.

800px-Big_bang
El párrafo completo:

Software does not make itself. Code does not spontaneously come from the ether of the universe. Python is no exception to this rule. Since Python made its public debut back in 1991 many people beyond the BDFL (Benevolent Dictator For Life, Guido van Rossum) have helped contribute time and energy to making Python what it is today; a powerful, simple programming language available to all.

Fuente: http://python.org/dev/intro/

Big refactoring en dyntaint.py

Enero 8

Ayer llevé acabo un refactoring importante en mi proyecto Taint Mode para Python.

En resumen: dyntaint.py es un módulo que permite seguirle la huella a datos que ingresan a un programa con el objetivo de evitar que lleguen a ciertas áreas sensibles. Por ejemplo, que “42 or 1=1″ no llegue a una consulta SQL que se ejecutará contra una base de datos.

Si lo anterior no te dice nada, te recomiendo que leas mi presentación sobre el tema.

Hasta hoy, el registro de qué variables estaban manchas con qué tipo de manchas en una corrida del programa se llevaba en una estructura de datos auxiliar llamada TAINTED. Básicamente un diccionario en el cual cada clave se corresponde con un tipo de mancha (o vulnerabilidad), y cada valor es un conjunto de variables manchadas con el tipo de mancha de la clave correspondiente.

El refactoring consistió en cambiar de este esquema a uno en el cual cada variable manchada tiene un atributo (taints) que es un conjunto de identificadores de manchas. Entonces si antes tenía algo como:

{XSS: set(['manchado1', 'manchado2']),
SQLI: set(['manchado1'])}

ahora tengo:

>>> manchado1.taints
set([XSS, SQLI])
>>> manchado2.taints
set([XSS])

La revisión 59 también incluye algunas otras limpiezas. Para ver los cambios:

svn diff -r 58:59 http://svn.juanjoconti.com.ar/dyntaint/

Después de hacer las modificaciones necesarias, y corregir errores, las pruebas corren ok:

Ran 84 tests in 0.006s

OK

Podemos discutir los cambios en los comentarios.

Decoradores en Python (III) – Clases decoradoras

Diciembre 30

Siguiendo con la serie de posts sobre decoradores en Python, y fiel al espíritu que los originó (ir mostrando lo que voy aprendido a medida que necesito resolver problemas específicos o descubro aplicaciones concretas) hoy les traigo un nuevo uso para los decoradores en Python: funciones caché.
Read the rest of this entry »

Cómo agregar Menéame a Bookmarkify

Diciembre 29

Bookmarkify es un popular plugin para Wordpress y script PHP que permite agregar a un sitio web una botonera que posibilite a un visitánte rápidamente compartir el contenido que está leyendo mediante las redes sociales más pupulares (Twitter, Facebook, Digg, Reddit, …).

Lamentablemente no posee la posibilidad de incluir a Menéame, el sitio web para compartir contenidos más popular en español.

Para añadirlo, se debe editar la función get getBookmarkifyLinks en el archivo bookmarkify.php de la distribución del plugin para añadir, en algún lugar entre $i=0; y return $links; la siguiente línea:

$links[$i++] = array("Meneame!", "Publicar en Meneame!", "http://meneame.net/submit.php?url=$u&title=$t", "meneame.ico", 0, 0);

y guardar el archivo http://meneame.net/favicon.ico como meneame.ico en la carpeta del plugin.

21 días – Aprendé a programar en 10 años – ES_AR

Diciembre 27

Esta es una traducción al español Argentino del famoso artículo de Peter Norvig Teach Yourself Programming in Ten Years. Hay una versión en español de España pero está desactualizada. Creo que es un artículo que cualquiera que gusta de la programación debería leer.

Aprendé a programar en diez años

Por Peter Norvig.  Teach Yourself Programming in Ten Years.

Traducción libre al español Argentino por Juan José Conti – actualizado con el original a Diciembre de 2009
Originalmente basado en la versión de Calos Rueda

¿Por qué están todos tan apurados?

Entrá a cualquier librería y vas a encontrar  Aprende Java en 7 Días y demás variaciones interminables ofreciendo enseñar Visual Basic, Windows, Internet, etc., en unos pocos días u horas. Yo hice la siguiente búsqueda avanzada (power search) en Amazon.com :

pubdate: after 1992 and title: days and (title: learn or title: teach yourself)

y obtuve 248 ítems de resultado. Los primeros 78 fueron libros de computación (el número 79 era Aprende Bengali en 30 días Learn Bengali in 30 days ). Remplacé “days” (días) por “hours” (horas) y sorprendentemente obtuve resultados similares: 253 libros más, con 77 libros de computación seguidos de Aprende Gramática y Estilo en 24 horas (Teach Yourself Grammar and Style in 24 Hours) en el número 78. Del total de los primeros 200, el  96% fueron libros de computación.

La conclusión es que, o bien la gente está muy apurada por saber de computadoras, o bien las computadoras son algo fabulosamente fácil de aprender, más que cualquiera otra cosa. No hay libros sobre cómo aprender Beethoven, o Física Cuántica, o incluso Estética Perruna en pocos días. Felleisen et al. asienten esta tendencia en su libro How to Design Programs, cuando dicen “La programación mala es fácil. Los idioitas pueden aprenderla en 21 días, incluso si son tontos” (original: “Bad programming is easy. Idiots can learn it in 21 days, even if they are dummies.)

Analicemos lo que podría significar un título como Aprende C++ en Tres Días (Learn C++ in Three Days):

  • Aprende: En 3 días no vas a tener tiempo de escribir varios programas significativos, y de aprender de tus aciertos y errores con ellos. No vas a tener tiempo de trabajar con un programador experimentado y entender lo que es vivir en un ambiente de C++. En resumen, no vas a tener tiempo de aprender mucho. Así que esos libros sólo podrán lograr una familiaridad superficial, no un entendimiento profundo. Como dijo Alexander Pope, poco aprendizaje es una cosa peligrosa.
  • C++: En 3 días puedes aprender la sintaxis de C++ (si ya sabés otro lenguaje), pero no vas a poder aprender mucho sobre cómo usar el lenguaje. En síntesis, si fueras, digamos, un programador Basic, podrías aprender a escribir programas en el estilo de Basic usando la sintaxis de C++, pero no aprenderías para qué C++ es realmente bueno (o malo). Entonces ¿cuál es el punto? Alan Perlis dijo alguna vez: “Un lenguaje que no afecte tu manera de pensar acerca de la programación, no merece ser aprendido”. Un objetivo posible es que tienes que aprender un poco de C++ (o más probablemente, algo como Visual Basic o JavaScript) porque necesitas tener una interface con una herramienta existente para realizar una cierta tarea. Pero entonces no estás aprendiendo cómo programar; estás aprendiendo
    cómo realizar esa tarea.
  • en Tres Días: Desafortunadamente, no son suficientes, como se describe en la siguiente sección.

Read the rest of this entry »

Feliz Navidad!

Diciembre 24

Feliz Navidad para todos!

100_5693update: cambié el emoticón con gorrito de Papá Noel por algo con MAS NAVIDAD: una foto de nuestro pesebre en Pellegrini.

Fotos del Paque Urquiza, Paraná

Diciembre 14

El sábado después de almorzar nos juntamos algunos amigos y fuimos en auto hasta la vecina ciudad de Paraná. El plan fue tomar mates en el Parque Urquiza:

El Parque Urquiza de Parana, orgullo de los paranaenses, es un extenso balcón al río, decorado con frondosa y colorida vegetación, curvas sinuosas, bajadas y subidas y una vista privilegiada.

Se extiende en 44 hectáreas y se escalona en tres alturas bien definidas: costanera alta, media y baja, unidas ellas por añosas escalinatas de piedras que surgen en medio de cascadas y vertientes, calles pavimentadas que permiten su recorrido en automóvil, senderos peatonales de exuberante vegetación, fuentes, parques infantiles, zonas para ejercicio aeróbico y numerosos monumentos y obras escultóricas.

Dentro de la forestación las especies que se destacan son: álamo plateado, laureles de jardín, ciprés calvo, lapacho rosado, jacarandá, palo borracho, chañar, aromo, aguaribay, encina, ceibo, sauce, cedro, paraíso, tipa y pino.

Fuente

« Older Entries