pcollaog’s blog
Linux, Java, Música y otras hierbas…
Linux, Java, Música y otras hierbas…
Sep 27th
Encontré estas interesantes líneas del tiempo:
Escuchando… Evanescence – All That I’m Living For
Jan 2nd
Java – Llega, encuentra al dragón, desarrolla un framework para aniquilación de tragones en múltiples capas, escribe varios artículos sobre el framework… pero no mata al dragón.
.NET – Llega, ve la idea del desarrollador de Java y la copia, intenta matar al dragón, pero el bicho se lo come
C – Llega, mira al dragón con mirada de desprecio, tira de espada, degolla al dragón, encuentra a la princesa… y la ignora para ver los últimos checkins del cvs del kernel de linux
C++ – Crea un pincho básico y va juntando funcionalidades hasta tener una espada compleja que apenas consigue entender… mata al dragón pero se atasca en medio del puente por culpa de pérdidas de memoria (memory leaks)
COBOL – Llega, ve al dragón y piensa que es demasiado viejo para conseguir matar un bicho de ese tamaño y quedarse con la princesa, y entonces se va
Pascal – Se prepara durante 10 años para crear un sistema de aniquilación de dragones… cuando llega el momento descubre que el programa sólo acepta lagartijas como entrada
VB – Monta un arma de destrucción de dragones a partir de varios componentes, salta encima del lomo del dragón, y en la hora H descubre que la espada sólo funciona durante las noches de lluvia…
PL/SQL – Recoge datos de otros matadores de dragones, crea tablas con n relaciones de complejidad ternaria, datos en tres dimensiones, OLAP, tarda quince años para procesar la información… y para entonces la princesa se volvió lesbiana.
Ruby – Llega con muchísima fama, diciendo que es el mejor en hacer cualquier cosa y cuando va a enfrentarse al dragón muestra una peliculita en la que él mismo aparece matando a un dragón… el dragón se lo come de puro aburrimiento
Smalltalk – Llega, analiza al dragón y a la princesa, se da la vuelta y se pira: ellos son muy inferiores
shell – Crea un arma poderosa para matar dragones, pero en la hora H no recuerda como usarla
shell(2)- El tío se acerca al dragón con un script de dos líneas que mata, corta, destripa, empala, pica en pedacitos y empaca al bicho, pero a la hora de ejecutarlo el script aumenta, engorda, enfurece y pone alcohol en el fuego del dragón.
Ensamblador – Cree que está haciendo lo más correcto y eficiente… pero pone un A en lugar de un D y mata a la princesa para terminar follándose al dragón
Fortran – Llega y desarrolla una solución con 45 mil líneas de código, mata al dragón, va al encuentro de la princesa… pero ella le llama tirillas y se va corriendo detrás del programador de java que era elegante y además es rico
FOX PRO – Desarrolla un sistema para matar al dragón. Por fuera es precioso y funciona, pero por dentro está todo parcheado y cuando va a ejecutar el aniquilador de dragones recuerda que olvidó indexar los DBF.
ANALISTA DE PROCESOS – Se acerca al dragón con dos toneladas de documentación desarrollada sobre el proceso de matar un dragón genérico, desarrolla un DFD para liberar a la princesa y casarse con ella, convence al dragón de que es lo mejor para el y que no va a doler. Al ejecutar el proceso estima el esfuerzo y el tamaño del daño que causará con la firma del papa, de Buda y de Joan Manuel Serrat para el plano, y entonces compra dos bombas nucleares, 45 cañones, un portaaviones y contrata a 300 hombres armados hasta los dientes… cuando en realidad tan sólo necesitaría la espada que tenía en la mano desde el principio
CLIPPER: Monta una rutina que carga un array de codeblocks para insultar al dragón, cantarle a la princesa, cargar la espada a memoria, moler al dragón, limpiar la suciedad, preparar un vaso de leche condensada con moras para la princesa, follar a la princesa, darse un baño, encender el coche, ponerle gasolina y volver para casa. A la hora de ejecutar recibe un “Bound Error: Array Access” y el dragón se lo come con patatas
Lisp, donde el famoso caballero andante, tras hablar con numerosos expertos en matar dragones y modelar el conocimiento que ellos poseen programa el sistema y se da cuenta… de que se ha dejado algún paréntesis.
HTML: Monta una web sobre espadas famosas usadas para matar dragones, pero se pasa los estándares W3C por el forro. Cuando se encara con el dragón descubre que el código no es compatible con su navegador, por lo que se queda compuesto y sin espada. El dragón se lo merienda como aperitivo.
Prolog: Piensa que para matar al dragón necesita un arma. Busca en un catálogo 182014 armas. Para cuando la princesa muere de vieja ya ha logrado descubrir como fabricar todas las armas que empiezan por la A: Armas atómicas, Alabardas,Alfanges, Asesinos contratados, Armas blancas, Antiaéreos, Arcos, …
PHP: Crea una página web que al ejecutarla eliminará al $dragón tirando de una base de datos de armas en mysql y sobre un servidor apache. Sin embargo, se olvidó el Where en la query de delete y mata a la princesa, al dragon, a los campesinos, a la bruja, al hechicero y al propio programador.
JavaScript: El programador intenta matar al gran dragón verde que lanza fuego por la boca. Crean un script que borrará al dragón cuando carge una página web para unos segundos después crear unas damiselas que lancen flores y hagan soniditos de aplausos. Por desgracia no tuvo en cuenta la estructura Dom del lagarto, también conocido como Mozilla, y lo único que consigue es rellenar su consola de errores y que el libro de mozilla narre como acabó devorado.
ActiveX: Los programadores crean un tunel para entrar a la guarida del dragón desde el castillo y ejecutar un programa que matará al dragón desde una distacia segura y prudencial. El dragón descubre el tunel, se come a los trabajadores que cavaban, a los matadores de dragones y esclaviza a todos los siervos del castillo que pasan a ser sus esclavos. El castillo pasa a ser un lugar de cría de dragones lleno crías que manda en pop ups a otros castillos. Los restos poco apetitosos de los caballeros los mete en latas de Spam y manda también a otros castillos como advertencia.
Basic: Crean un arma capaz de matar a dragones de papel, pero mucho que la perfeccionan descubren que no sirve para matar a ningún dragón más grande que una cría de caniche.
Matlab: Crean un bucle que calcula las trayectorias para lanzar una flecha gigante contra el dragón. El programa funciona perfectamente. Sólo faltan los voluntarios capaces de lanzar la flecha con la fuerza y puntería necesaria.
Programador de videojuegos:Se pasa dos años programando una espada state of the art, con shaders y todo. A la hora de matar al dragón se encuentra con que la mitad de los caballeros no tienen fuerza para mover la espada. Luego alguien programa un parche que revela las escenas de sexo con la princesa y Hillary Clinton le monta un escándalo.
Perl – El caballero decide matar al dragón con una expresión regular, pero se equivoca en los carácteres de comodín y acaba incluyendo en el patrón de mortalidad a Dragones, Iguanas, lagartos, perros, gatos, osos, princesas y ratones.
HyperCard: crea en 5 minutos una pila con un catálogo de armas, con fotos, gráficas y vídeos sobre su utilización y los distintos tipos de dragones que puede matar, y que además fabrica el arma elegida utilizando las herramientas de dibujo, con una interfaz impecable y fantásticos efectos visuales, lo guarda como ejecutable, le pone un bonito icono, pero cuando va a fabricar la espada no funciona porque se dejó un XCMD en casa (Home).
Macromedia Director: crea una mágnifica interfaz destellante mata dragones, con una espada deslumbrante, fabricada a bases de Xtras de terceros fabricantes, al primer intento de matar al dragon “Script Error”, entonces a duras penas se esquiva el mordisco, y se procede al segundo intento… pero el ejecutable va tan lento que se los come a todos.
Mathematica:se crea y modela el objeto logico dragon. se modela y crea igualmente la princesa, la espada, al principe. se modela el caso especial de la articulacion manoespada, y la discontinuidad piel de dragonespada. Cuando todo esta hecho, se le pide a Matematica que lo resuelva, y el resultado es: “Hay que matar al dragon con la espada, y quedarse con la princesa”
Escuchando “Primus” – “Mama Didn’t Raise No Fool”
Feb 15th
Ayer me quede hasta tarde tratando de hacer varias cosas que al final… solo una me resulto y mas o menos.
Empece el dia con el proyecto de firefox chile, me baje los fuentes de Firefox1.0 y me di la lata de leerme el documento para la construcción del fuente (build) en un instalador. Bueno primero… solucionar todo el entorno para la compilación, instalación de librerias básicas y una que otra aplicación de autotools. Aun así no pude encontrar en que paquete viene “gmake” para Debian (si saben me avisan). Bueno, leí por ahí algunos documentos de que se podía hacer con “make” asi que me animé y empece a leerme el README donde salen las instrucciones de como hacerlo además del documento de Mozilla Developers, el unico cambio… donde dice gmake cambiarlo por make ![]()
El compu estuvo trabajando un buen rato compilando y lo hace super bien, luego viene la parte densa que no entendi. Cuando quieres hacer el “make install”, ahi toma los compilados y los pasa al directorio que le diste en:
$ ./configure --prefix=/home/pcollaog/firefox_test
Bueno la verdad es que pasa una colección de archivos compilados a dicho directorio pero de ahí… no se que más hacer. Me falta harto aún
pero siento que estoy cada vez mas cerca. Por lo menos la vez pasada no sali del ./configure ahora ya compila
En la tardecita… luego de varios intentos fallidos de la compilación de FF, me meti en otro tema para el proyecto, la habilitación de un CVS para los que trabajamos en este proyecto de la localización de FF. Todo bien para los usuarios del sistema, pero me aviso un miembro del Team que no tenía acceso al CVS, ahi me di cuenta que los usuarios que no son del sistema tenian problemas para entrar al cvs, empece a investigar porque y entendí porque no podían entrar. Tenia que asociar a los usuarios de NOsistema a uno del sistema, asi que cree un Grupo de usuarios CVS y un usuario del CVS. Luego asocie en el archivo passwd a los usuarios de NOsistema al usuario CVS. Luego unos cuantos chmod y chown para cambiar los atributos, propietarios y derechos de los directorios… andando
. Un poco mas tarde se me ocurrio ver el repositorio por web y todo mal… con los cambios de los chown y chmod el CVSWEB dejó de funcionar, asi que otra vez… hartos chown y chmod para encontrar la funcionalidad entre CVS y CVSWEB.
Más tarde (01:00 aprox) me anime a instalar MONO, empece a buscar algun repositorio de Mono para Debian… no habia ninguno oficial y los que habian no funcionaban, parece que el proyecto de Mono4Debian anda medio flaco. Asi que me anime a bajar los fuentes y compilar mono. Para el primer archivos de fuentes mono-1.0.5.tar.gz funcionó todo ¡de pelos! compilo sin ningun problema. Luego hice mi primer “hola mundo” y ahi murio todo. Les voy a copiar el codigo para que lo vean y me corrijan si ven algun error:
// FileName: HolaMundo.cs
using System;
class HolaMundo {
static void main () {
System.Console.WriteLine("Hola Mundo n");
}
}
Cuando compilo ese archivo me lanza lo siguiente:
$ mcs HolaMundo.cs error CS5001: Program HolaMundo.exe does not have an entry point defined Compilation failed: 1 error(s), 0 warnings
¿Me falta algo en el compilador? algun flag? algun parametro? Ni idea!!
Me despido… eso fue un día denso leyendo harto code, compilando harto y lo mejor de todo… nada resulta
Escuchando “Would?” … Alice in Chains
Feb 15th
Funcionó!! era super imbécil el error
pero ya lo arregle, aquí dejo el code. El método Main va con mayúscula.
[syntax,holaMundo.cs.txt,csharp]
Escuchando… “Step by Step”…. Ruido de la TV
Dec 6th
Despues de haber logrado satisfactoriamente que el simulador en que trabajo para la USACH, mi jefe me pregunto si andaria mejor en C,a lo que respondi que si, hay que hacer notar que el simulador esta escrito en Vi$ual Ba$ic y que todas las rutinas son en un 99% calculos matematicos… se come al procesador ![]()
Bueno ahora estoy de cabeza programando en C y aprendiendo un poco mas de este lenguaje que dicho sea de paso, es bastante entretenido y complicado, aun no cacho mucho de *punteros y no conozco mucho de las librerias que posee. Pretendo escribir todas las funciones y luego crear la interfaz grafica con Glade, es solo presentar datos, por ahora.
Les dejo una fotito de mi lugar de trabajo durante el fin de semana.
Escuchando: “What you think about” … Saint Germain
Sep 30th
Por fin IBM libera sus propios Plugins para eclipse, entre los que se destacan las herramientas para desarrollo web o llamadas Web Tooling Platform. Alguno de sus componentes son:
Demás esta decir que como son códigos iniciales, están susceptibles a errores y que IBM amistosamente les invita a depurar, deben inscribirse en la lista de development/design. Aquí les dejo los links por si se entusiasman:
Sep 29th
La cita seria en el DUOC Sede Antonio Varas, Providencia Stgo. el día sábado 9 de Octubre a partir de las 10 de la mañana.
Charlas confirmadas:
Los interesados en participar vean la pagina de gnome chile