FLISoL 2010

April 18th, 2010

El día sábado 24 de Abril, se llevará a cabo en toda Latinoamérica el FLISoL 2010 (acrónimo de Festival Latinoamericano de Instalación de Software Libre). En casi todo los países del continente se estarán reuniendo personas para este encuentro en el cual, además de instalación de Software Libre, también habrá charlas de información y difusión.

Para participar no hace falta tener ningún tipo de conocimiento de nada, solo ganas de aprender. Habrá mucha gente con ganas de ayudar y enseñarte como instalar Software Libre en tus equipos. Es una buena oportunidad para dar ese primer paso para liberarte y usar programas y sistemas operativos totalmente gratis y libres.

Es importante resaltar que podés llevar tu PC para instalar software libre, durante el evento y con la supervisación y capacitación de muchos expertos. No es necesario que lleves monitor, ni teclado ni mouse, solamente tu equipo, y preferentemente contar con una unidad de CD/DVD.

Si sos un usuario avanzado poder participar, justamente, yendo a dar una mano a los nuevos curiosos.

Aquí en Argentina, se realizarán reuniones en alrededor de 33 lugares, a lo largo y ancho de todo el país. El punto de encuentro central será en la sede Medrano de la FRBA de la UTN (Medrano 951, Ciudad de Buenos Aires), entre las 10 y las 18 hs.

Por mi parte, esta es la primera vez que voy a participar de un FLISoL. Estoy muy ansioso y animado por poder pasar una jornada de aprendizaje y de compartir conocimiento.

Para terminar les dejo unos links importantes donde encontrarán toda la información útil del festival:

¿Quién se prende?

Post to Twitter Post to Delicious Post to Digg Post to Facebook Post to Reddit Post to StumbleUpon

Gente sorda

April 18th, 2010

El otro día paso que…

Sujeto A: ¡Uh, se me activaron las StickyKeys en Windows! Ahora no las puedo desactivar. Siempre me pasa lo mismo y nunca me acuerdo como volver a la normalidad.

Sujeto B: Hace lo mismo que hiciste para activarlas y así se desactivan.

Sujeto A: Nunca se como desactivarlas.

- 5 minutos de silencio -

Sujeto A: Ya esta, ya lo solucioné.

Sujeto B: ¿Como hiciste?

Sujeto A: Hice lo mismo que las activo.

Sujeto B: ¬¬ (creo que es lo mismo que dije hace 5 minutos…)

Bien, como dicen “shit happens” pero, ¿podes ser tan cabeza dura como para no perder 3 segundos y probar una posible solución? Esto fue solo un ejemplo para graficar, ese momento que mas de uno puede haber vivido y/o que vivirá. Por lo menos para mi es bastante molesto.

Post to Twitter Post to Delicious Post to Digg Post to Facebook Post to Reddit Post to StumbleUpon

Reflexión sobre el Programa Conectar Igualdad.com.ar

April 15th, 2010

Pensando un poco sobre el programa “Conectar Igualdad.com.ar” que lanzo el gobierno hace unos días. Me gustaría que la gente empiece a tomar conciencia de que las cosas no siempre están bien o mal, sino que puede que haya grises, o simplemente distintos puntos de vista.

El programa que lleva adelante el gobierno con la entrega de netbook, para alumnos de nivel secundario, en escuelas técnicas o rurales; es una excelente movida del gobierno de Cristina Fernández. A pesar de mi poca simpatía para con esta señora, no voy a dejar de marcar que la medida es realmente un paso adelante para salir del pozo tecnológico en el que esta la Argentina. Sin embargo, mucho se dice sobre si esta bien elegido o no el equipo que se entregara, algunos como Clarín publica (desinformando) Las netbook oficiales, con limitaciones técnicas, por el simple hecho tirar tierra sobre algo impulsado por el gobierno y, además, sin fundamentos.

Ahora bien, otra de las discusiones que se dio, en el ámbito de la red, mas precisamente entre bloggers, usuarios de Software Libre y de diferentes redes sociales, fue el hecho de que la EXOmate será entregada con Windows XP. Muchos salieron a relucir la extensa lista de las características superiores de GNU\Linux sobre Windows, de las cuales comparto la gran mayoría. Pero yo me pregunto ¿Qué pasa acá? ¿Cuál es el espíritu del Software Libre? ¿Que debemos hacer los que intentamos promover un poco más el uso de alternativas libres y gratuitas?… Y bueno, trate de contestármelas.

¿Qué pasa acá?

Pasa que, como somos humanos y esto es Internet entonces tenemos, no… mejor dicho DEBEMOS CRITICAR! Y está bien, pero después de criticar debemos hacer algo sobre eso. Pensemos en lo bueno también, así como creemos que hay que impulsar el código libre, piensen que hay gente que no esta interesada en lo mas mínimo en cambiar su amado Windows. Además, aunque a muchos les parece un detalle menor, estos chicos y profesores, ahora tienen la posibilidad de elegir, entre usar Windows o Linux, sin necesidad de preocuparse por las licencias.

¿Cuál es el espíritu del Software Libre?

Obviamente con esta pregunta, no pretendo explicar el espíritu del Open Source, pero si marcar uno de esos pequeños placeres (creo) de los Linuxeros. Que es desterrar un Windows para pisarlo con un Linux Ubuntu, Debian, Fedora, Mandriva, OpenSuSe, lo que sea. Pero el acto de evangelizar un equipo más y “liberarlo”.

¿Qué debemos hacer los que intentamos promover un poco mas el uso de alternativas libres y gratuitas?

Si bien, personalmente, a mi también me hubiera gustado que desde el gobierno se impulse el uso de Licencias libres. Como no paso, creo que no hay que quedarse sentado quejándose de que los equipos vienen con Windows. Como buenos promotores de la cultura libre, les propongo que nos centremos en divulgar ahora si, con mas fuerza que antes todos esos Sistemas Operativos que tanto nos gusta usar.

Pensemos que habrá millones de equipos esperando a que le instalemos un Linux, y no que hay un montón de maquinas que son inseguras, inestables, que están desaprovechadas. Invitemos a los profesores primero, para que ellos inviten a los alumnos después y así de a poquito vamos a ganar mas adeptos al Open Source.

Ustedes ¿Qué opinan al respecto o que les parece mi idea?

Post to Twitter Post to Delicious Post to Digg Post to Facebook Post to Reddit Post to StumbleUpon

Como usar HyperSQL en Ubuntu

March 29th, 2010

HyperSQL es un motor de base de datos liviano que tiene la posibilidad de funcionar en memoria. En los casos en los que necesitamos una forma rápida y sencilla de probar algún proyecto, es bueno tener a mano una herramienta que no requiera de una infraestructura demasiado compleja y que sea fácil de utilizar.

HyperSQL esta desarrolla en Java, y es una buena opción para trabajar con bases de datos con este mismo lenguaje.

A continuación voy a instalar y configurar este motor de base de datos en Linux/Ubuntu (e imagino que servirá para la mayoría de las distros Debian-based).

Primero instalamos por medio de apt los paquetes que encontramos en los repositorios oficiales de Ubuntu.

sudo apt-get install hsqldb-server

Ahora se configuran los archivos del motor.

sudo gedit /etc/hsqldb/server.properties

Este archivo hay que modificarlo, descomentando la linea donde se indica la ubicación de los archivos de la base. Con lo que el archivo resultante quedará de la siguiente forma.

# HSQLDB server configuration file
# See the Advanced Topics chapter of the Hsqldb User Guide.
# See also the file /etc/hsqldb/sqltool.rc.

server.database.0       file:///var/lib/hsqldb/db0/db0

Y lo mismo con.

sudo gedit /etc/hsqldb/webserver.properties

Hay que descomentar la ultima linea que indica la ubicación de los archivos del servidor.

# HSQLDB server configuration file
# See the Advanced Topics chapter of the Hsqldb User Guide.
# See also the file /etc/hsqldb/sqltool.rc.

server.port 8080

server.database.0       file:///var/lib/hsqldb/db0/db0

De esta forma ya esta configurado correctamente y ahora solo queda iniciar el servicio. Como casi todo en Ubuntu le damos inicio mediante.

sudo /etc/init.d/hsqldb-server start

Con esto ya es suficiente para poder utilizar nuestra base de datos liviana. Solo debemos tener en cuenta que para trabajar con esta los datos de configuración son:

url      : jdbc:hsqldb:db0://localhost
driver   : org.hsqldb.jdbcDriver
login    : sa
password :
libsql   : hsqldb.jar

Simplemente con eso ya tenemos listo nuestro pequeño entorno de pruebas de bases de datos.

Un detalle que me pareció importante rescatar es lo que encontré en la documentación de HyperSQL, y que fue algo que me tuvo un rato entretenido intentando hacerlo, que fue la simple tarea de crear una base de datos o schema (como prefieran), un textual de la documentación:

Cómo crear una nueva base de datos

Una nueva base de datos se crea automáticamente si esta no existe aún. Sólo hay que conectar a la “aún no existente” base de datos mediante el jdbc:oracle:file:«ruta-de-la-base-de-datos» URL (debe reemplazar la última parte de la ruta que desea) con el usuario ‘sa’ y una contraseña vacía.

Link a la documentación

Espero que esta información pueda servirle a cualquiera que quiera utilizar esta tecnología.

Fuente: javageek.free.fr

Post to Twitter Post to Delicious Post to Digg Post to Facebook Post to Reddit Post to StumbleUpon

Primeras charlas Grupo PHP Argentina

February 26th, 2010

Primeras Charlas del Grupo PHP

El día Sábado 6 de Marzo se realizara en el Hotel Las Naciones (Corrientes 818 1º piso – Buenos Aires, Argentina), se llevaran a cabo mas primeras charlas organizadas por el GrupoPHP argentina.

Agenda

09:30 – 09:40 | Acreditación

09:40 – 09:55 | Presentacion del Grupo PHP

10:00 – 10:40 | Introducción a POO / UML / PHP5 – Enrique Place

10:45 – 11:25 | Optimización y escalabilidad – Matías Montes

11:30 – 12:10 | Desarrollo de aplicaciones en Facebook – Matías Paterlini

12:10 – 12:30 | BREAK

12:35 – 13:15 | Introducción al Estándar de Codificación de Zend – Enrique Place

13:20 – 14:00 | Lithium, framework PHP 5.3 que pega como piña – Mariano Iglesias

14:05 – 14:45 | Cormo Framework ex ORMphp – Germán Peraferrer

14:50 – 15:00 | Mensaje de cierre

Para poder asistir es necesario registrarse en http://grupophp1.eventbrite.com, en donde recibirán un ticket con el cual podrán participar del evento.

Para obtener más información pueden visitar el sitio oficial del GrupoPHP argentina.

Yo ya estoy anotado. ¿Quién más se suma?

Update: Corregida la dirección del evento. Donde decía ”2º piso” ahora dice “1º piso”

Post to Twitter Post to Delicious Post to Digg Post to Facebook Post to Reddit Post to StumbleUpon

Implementación de Búsqueda Binaria en PHP

January 18th, 2010

La Búsqueda Binaria se utiliza para saber si un elemento se encuentra en una colección de datos, como podría ser un array, un vector o cualquier estructura de datos similar. Este algoritmo se basa en la premisa de que nuestra colección de datos se encuentra ordenada por la misma clave que buscamos.

La filosofía del algoritmo es la de Divide et impera, en el que la idea es separar el problema en partes mas pequeñas, descartando lo que no me sirve y quedándome con los rangos útiles. Los algoritmos de este tipo, que descargan la mitad de los datos en cada comparación, se dice que son de un orden de complejidad de:

log( N )

Donde N es la cantidad de elementos de nuestra colección de datos. Así podemos saber que en cada pasada, nos quedaran la mitad de los elementos, algo muy importante a al hora de optimizar recursos.

La implementación que presento a continuación, esta hecha de forma recursiva. La recursividad puede ser un tanto engañosa y colgar todo si no esta bien definida su condición de corte.

function binarySearch($key, $collection, $start, $end){
	// Selección de la posición del elemento central.
	$pivot = (int)($start + ($end - $start) / 2);
	// Condición de corte.
	if($start >= $end) return FALSE;
	if($collection[$pivot] > $key){
		return binarySearch($key, $collection, $start, $pivot - 1);
	} else if ($collection[$pivot] < $subscriber){
		return binarySearch($key, $collection, $pivot + 1, $end);
	} else {
		return TRUE;
	}
}

Simplemente eso, este mismo algoritmo podría ser optimizado o mejorado en cuanto a la inteligencia en el tratamiento de las variables $start y $end, haciendo que el mismo script calcule estos datos. Yo no los calculo por un tema de rendimiento.

Espero que pueda servirle a alguien en cualquier momento, desde ya esta todo el mundo invitado a utilizar este código. Y obviamente a dejar sus comentarios al respecto.

Post to Twitter Post to Delicious Post to Digg Post to Facebook Post to Reddit Post to StumbleUpon

Invitaciones para Google Wave

November 26th, 2009

Hola, tengo al menos 10 invitaciones para el beta privado de Google Wave, los que sepan lo que es y no tengan una cuenta posiblemente quieran una y los que no saben lo que es, dudo mucho que les interese el tema, pero igualmente los invito a googlear un poquito sobre esta nueva herramienta del coloso de Internet. Igualmente les dejo un videito para que les de una idea.

Y un link mas a otro video un poco mas explicativo: Google Wave Overview.

Bueno, la idea es simple, dejen un comentario con el pedido explicito de una invitación y les llegará a la brevedad.

Post to Twitter Post to Delicious Post to Digg Post to Facebook Post to Reddit Post to StumbleUpon

Unificación con una vieja cuenta de blogger.com

November 16th, 2009

Bueno, básicamente la idea es unificar toda mi vida blogeril en una sola ubicación. Evidentemente, esto de escribir no es lo mio, porque 6 post en algo así como 3 años no es muy lógico.

Las nuevas viejas entradas estarán bajo la categoría blogger Imported. Si alguien alguna vez visita este blog y se le da por leerlo tal vez alguna de ellas le parezcan interesantes (no creo :P ).

Bueno, hasta luego.

Post to Twitter Post to Delicious Post to Digg Post to Facebook Post to Reddit Post to StumbleUpon

PyCon Argentina 2009

September 7th, 2009

PyCon Argentina 2009

Los días 4 y 5 de septiembre se celebro en los auditorios de la Universidad de Belgrano la PyCon, organizada por el grupo de usuarios de Python de Argentina PyAr. En estos dos días se dieron alrededor de 40 charlas en 3 salas simultáneamente. Lamentablemente solo pude asistir el día sábado (05/09) pero quede muy conforme tanto con la calidad de las charlas, como con los disertantes y la impecable organización del evento.

Si bien no soy miembro de la comunidad PyAr, fue muy placentero ver la buena onda y las ganas de colaborar entre todos los usuarios de este lenguaje y ver como hay respuestas, para todas las preguntas que surjan, así también con un clima de buen humor e inquietudes que hacen que continuamente las cosas se quieran mejorar.

El sitio oficial del evento PyCon, contiene todo el cronograma de las charlas, los horarios y personas que pasaron por la conferencia, así que no voy a duplicar aquí el contenido de las mismas, pero si comentar acerca de las charlas en las que yo pude participar. Para empezar, el sábado a la mañana llegue, me registre y allí recibí una interesante (y de muy buena calidad) cantidad de folletos, una identificación personal, y demás “regalitos”, puede parecer una estupidez que comente eso, pero en realidad lo que quiero destacar de la conferencia, es que fue completamente gratuita, y el nivel estuvo a la altura de cualquier otra en la que haya que pagar un entrada para poder participar.

Folletos de la PyCon

Luego de mi fugaz paso por la mesa de registración corrí, hasta la primera de las charlas, Escribí menos código, pensá como un (buen) matemático (link). En la que Gustavo Carmona y Matías Graña, mostraron que aprovechando las bondades de Python en el manejo de conjuntos, números complejos, y demás temas; se puede escribir muchísimo menos código, con un poco de ingenio y conociendo las características y conceptos de la matemática, para poder así simplificar nuestras vidas. De esta manera, quedo demostrado que las matemáticas si sirven y que hay un grave problema durante su enseñanza ya que solo se ve como resolver complejos cálculos, sin saber para que puede llegar a utilizarse y aplicarse en casos reales.

La segunda de las charlas en las que estuve fue Python en la Web Semántica (link) en la que Santiago Coffey (@scoffey) comenzó hablando sobre cuales son las características de la Web 2.0, hasta llegar a los fundamentos, problemas y retos que presenta la “nueva” Web Semántica. Además, nos mostró un poquito de una nueva herramienta desarrollada por Popego, la cual en base a un texto o una URL, se encarga de ver cual es el tema del que habla este y genera los tags correspondientes. Posteriormente, en el stand que tuvo Popego en la conferencia tuve la suerte de ver un video un poco mas completo de esta nueva herramienta que incursiona en la Web Semántica, meaningtool (http://meaningtool.com/) que si bien todavía no fue hecho el release oficial, promete liberar además una API para uso público, de lo que creo yo será un muy buen precedente del futuro cercano de la Web que hoy conocemos. Obviamente desarrollada en Python.

En mi tercer charla estuve en Panel: Traduciendo aplicaciones, bibliotecas y documentación (link) en que participaron Alejandro Cura, Manuel Muradás, Hugo Ruscitti, Manuel Kaufmann, Leonardo De Luca, Roberto Allende y Ramiro Morales estuvieron contando un poco acerca de las herramientas y los dilemas que aparecen durante los proyectos de traducción de aplicaciones o documentos. Durante estos 45 minutos quedó flotando el tema de Español neutro vs Español regionalizado al momento de hacer las traducciones. A pesar de estas dos opciones los disertantes coincidieron en que no importa el tipo de español que se emplee lo importan es “… empezar a escribir, no importa en que, empezar a escribir…”.

La próxima y cuarta charla (para mi) fue Rich Internet Applications con Python (link) aquí Mariano Guerra, mostró como hacer un RIA con Python del lado del servidor y como trabajar con API REST. Mariano fue mostrando las diferentes partes de una aplicación, y algunos ejemplos de implementación.

En la quinta charla IronPython – Corriendo en .NET y dentro de los browsers (link), Matías Salias y Johnny Halife nos hablaron sobre IronPython, una implementación que nos permite correr código Python del lado del cliente como lo hacemos actualmente con JavaScript, esto lo logra mediante el uso de .NET Framework. Una de las cosas mas interesantes del día. Lamentablemente esto requiere el uso de motores como Slverlight o Moonlight dependiendo de nuestro sistema, pero es un precio que, creo yo, muchos estarán dispuestos a pagar para el uso de este nuevo desarrollo.

Luego una modalidad muy divertida y “dinámica” denominada Charlas Relámpago, en las que cada disertante cuenta con solo 5 minutos, de los cuales los primeros 4 son con la ayuda y soporte de una presentación en pantalla, y el minuto restante solo cuenta con sigo mismo, porque el siguiente participante usa ese minuto para conectar su laptop al proyector. En esta se presentaron varios proyectos desde como hacer una hoja de calculo en 20 lineas, o casos de éxito de aplicaciones de Python, o el uso de las famosas OLPC en Paraguay y un juego de MMORPG llamado Galaktia, entre unos cuantos más.

Luego, tuvimos el honor de escuchar a Collin Winter (Ingeniero de software de Google) que dio una Plenaria: Unladen Swallow (link) en la que nos mostró como él y su “equipo” (él y su compañero) están trabajando para lograr una implementación de Python que sea mucho mas rápida que la actual, ya que como el lo dijo “… para Google cada milisegundo cuenta …”; y que además “… por cada milisegundo que Google ahorra, evita que el mundo tal cual lo conocemos colapse…”. Collin dio una charla muy entretenida y reveladora de lo que es Python tras bambalinas. Gracias a dios, a pesar, de que él hablara en ingles y de mi poco nivel en ese idioma, se le entendió perfecto.

Finalmente, luego de una jornada impecable, en cuanto a organización y puntualidad en las charlas, gracias la participación de los muchachos de azul que hicieron que todo salga perfecto; y cuando ya parecía que todo finalizaba y me iba hiper-conforme con todo lo que escuche y vi, llego el sorteo y en el segundo premio entregado tuve la gran suerte de adquirir un ejemplar de “programming Python” de Mark Lutz, de editorial O’Reilly. Un libro enorme con todo para la programación de Python, así que eso fue la mejor frutilla que este postre podía tener.

"programming Python", Mark Lutz

Y ahora si Facundo Batista, dijo unas palabras finales, hizo los agradecimientos correspondientes y todo el staff del evento se despidió, anunciando el próximo PyCon que se realizará el año entrante en la provincia de Córdoba.

Les dejo una imagen final de los muchachos de azul despidiéndose de los que asistimos a este fabulosa convención para los usuarios de Python de la Argentina.

muchachos de azul

PD: La conectividad durante todo el evento fue excelente, gracias :)

Post to Twitter Post to Delicious Post to Digg Post to Facebook Post to Reddit Post to StumbleUpon

El inicio de un blog más…

September 3rd, 2009

http://www.santiagorojo.com.ar

Bueno, como todos ustedes saben día a día surgen más y más blogs, y este no es la excepción. La idea, como la gran mayoría, es tener un registro de lo que me parece interesante o lo que quizá me sirva de machete (o chuleta) para un futuro. En fin, la constancia no es una de mis virtudes más destacable en lo que se refiere a mantener este tipo de cosas. De hecho este es el 2° post de inicio del blog :P

Espero que no solo sirva como mi cuartito de los cacharros, sino que de tanto en tanto encuentren algo que también les sirva, interese, asombre o lo que sea que les genere.

Saludos!

Post to Twitter Post to Delicious Post to Digg Post to Facebook Post to Reddit Post to StumbleUpon