About tiagox

Por ahora solamente, quedará vacío.

Instalación simple de LAMP en GNU/Linux Ubuntu

La manera mas sencilla de montar un servidor LAMP (Linux, Apache, MySQL y PHP) en Ubuntu que encontré, es la de utilizar una pequeña aplicación, por linea de comandos, que simplifica enormemente la tarea de instalación y configuración de todos los paquetes necesarios para tener un entorno de desarrollo (no tan mínimo) funcionando. La aplicación es tasksel y para poder instalarla basta con poner en una terminal, Ctrl+Alt+T (Ubuntu):

:~$ sudo apt-get install tasksel

Una vez que se termina de instalar ejecutamos:

:~$ sudo tasksel

Y eso nos mostrará un listado de servicios, paquetes, escritorios alternativos y muchas otras cosas que vale la pena revisar, pero en este caso el que nos importa es la opción de LAMP Server.

tasksel

Durante el proceso de instalación, podrán configurar la contraseña de MySQL, y otros parametro solicitados por tasksel.

Fácil, rápido e indoloro.

FLISoL 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?

Gente sorda

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.

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

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?

Como usar HyperSQL en Ubuntu

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

Primeras charlas Grupo PHP Argentina

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”

Implementación de Búsqueda Binaria en PHP

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.

Invitaciones para Google Wave

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.

Unificación con una vieja cuenta de blogger.com

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.