Entradas con la etiqueta ‘programación’

Un entorno mas liviano que Eclipse

Domingo, 12 de Julio de 2009

Eclipse es grande, pero también grande en memoria y eso hace que las cosas no sean tan rápidas, aunque es muy útil.

Pues hay un reemplazo mas liviano separado en dos aplicaciones,

  • Meld que es un frontend para diffs muy visual.
  • Geany que es un editor bastante enriquecido y muy liviano.
  • Share/Bookmark

Frases celebres sobre la programación

Martes, 30 de Diciembre de 2008

Vía Barrapunto ha salido la típica noticia chorra de noticiero de TV de mediodía (y noche, y mañana….) pero bueno es graciosa, Frases célebres acerca de la programación.

Y bueno las que me han llegado al corazón han sido:

Por ser verdad absoluta en muchos proyectos profesionales en los que he estado:

“Mucho del software hoy en día se parece a una pirámide egipcia: con millones de ladrillos apilados uno encima del otro, sin integridad estructural y hecho por pura fuerza bruta y miles de esclavos.”

Alan Kay

Y esta por ser vieja escuela de los buenos tiempos:

“Si deseas empezar y desarrollar algo grandioso, no necesitas millones de dólares de capitalización. Necesitas suficiente pizza y Diet Coke en la nevera, una PC barata y trabajo y dedicación para realizar tu idea.”

John Carmack

Me gustaría añadir una que no es mía pero que es de un compañero de curro…uno de esos compañeros que piensas ¿Porque andara jefazos como estos por aquí, en vez de por alla?:

¿Que ando haciendo ahora? Jugando con la caca, bailando la caca.

  • Share/Bookmark

El pingüino que cambia con cada carga explicación

Jueves, 9 de Octubre de 2008

Bueno ya habréis visto la imagen del pingüino tux que cambia con cada carga, es simple de hacer y bueno lo voy a explicar, los pingüinos los he sacado de Fabrica Tux que son casi todos con licencia creative commons, en total he cogido 77 y los he redimensionado a 100 pixeles de altura porque encajara en la cabecera y los he metido en el directorio que esta el skin del wordpress…en mi caso se llama tux ;) .

Y este es la unica y simple linea en php para que cambie, es basicamente incrustar en el html de poner una imagen el codigo que incruste el dir del skin, y despues incrustar igualmente otro codigo para que cada vez que se ejecute aleatoriamente escoja un numero entre 00 a 77.

<img style=”margin-top: 40px;” src= “<?php bloginfo(’stylesheet_directory’); ?>/images/tux/tux<?php printf(“%02d”,rand(0,77));?>.png” align=”left” />

Vamos a explicarlo un poquejo:

bloginfo(’stylesheet_directory’);
este viene de las bibliotecas de wordpress es asi y no tiene mas vuelta de hoja.

printf(“%02d”,rand(0,77));
Este es simple imprime un numero con 2 cifras y rellena con 0 un entero por eso %02d, y el numero es un aleatorio entre 0 y 77 de ahi viene el rand(0,77). Y esto si es basico de PHP.

Lo que le falta y quería hacerle pero es problema de maquetación web, es añadirle un bocadillo típico de comic con frases famosas, de forma chipiriflautica tirando de wikiquote ahora que tenemos un API para acceder, pero bueno en la primera versión iba a ser un array, pero me dado con el problema que os comento de la maquetación que no acaba de quedar bien encajado.

  • Share/Bookmark

Ogre3D ep.1 – Sacando los flags de compilación con pkg-config

Sábado, 30 de Agosto de 2008

Bueno pues otra vez aqui con Ogre3D e intentando volver a aprender a usarlo. Asi que lo que vaya aprendiendo o conozca de antes pero sea util, como en este caso el pkg-config (link a la wikipedia).

Y por empezar por algún punto para abrazar al ogro y que sea mas o menos comun, empezaremos con la compilación, y esta sutil herramienta que esta en casi cualquier distribución de Linux, la cual devuelve metainformación de las librerías instaladas, en este caso lo que queremos es los flags básicos de compilación de Ogre3D, y es tan simple como esto, que lo podeis escribir en cualquier terminal de GNU/Linux (y que tengais instalado el Ogre3D…que eso cada distro sera de una manera):

pkg-config –libs –cflags OGRE

Lo cual devuelve en mi caso (puede que esto cambie segun instalaciones, versiones…):

-DOGRE_GUI_GLX -DOGRE_CONFIG_LITTLE_ENDIAN -I/usr/include/OGRE -lOgreMain

Y leyendo un poco el comando tenemos el nombre del comando pkg-config sacando info de la librería OGRE y las opciones –libs que devuelve -lOgreMain para indicarle al compilador que use esas libreria en la compilacion, y la otra opción –cflags que devuelve el otro churro de opciones para decirle al compilador como compilar un codigo fuente que use Ogre3D.

¿Y para pasarlo al compilador todo ese churro? Se podria copiar y pegar, o escribir a mano todo esa ristra de opciones -DOGRE…blabla pero para que nos valga en cualquier lugar y para futuras versiones de Ogre por si le menten mas flags de compilación, la mejor manera es pasarle el pkg-config al compilador y que el lo ejecute con las famosas comillas torcidas ` ` .

Un ejemplo de compilar con Ogre3D de un codigo fuente sencillorro seria algo tal que asi:

g++ pruebaogre.cpp `pkg-config –libs –cflags OGRE`

Y bueno hasta aqui un primer paso para ir cogiendole callo al ogre3D.

  • Share/Bookmark

2º Round contra Ogre3D

Jueves, 21 de Agosto de 2008

Ya hace bastantes meses luche contra Ogre3D, un engine libre de 3D, podeis leer la crónica en el articulo de la Sandia Weblog Primeros pasos con Ogre 3D 1.0.6.

He vuelto otra vez a intentarlo a ver si esta vez avanzo mas profundo en el complicado e interesante del Ogre3D, no se donde terminara la madriguera pero es muy oscura para los hispanohablantes xD.

Y bueno en este 2º Round contra el Ogre3D, voy ha ir haciendo pequeños tutoriales pasito a pasito lo que voy consiguiendo. Porque los mejores tutoriales que puedes encontrar cuando no sabes mucho de algo es los que hace alguien que estaba en tu situacion y a ido aprendiendo poco a poco.

Saludos desde el tatami, seguiré informando del combate en breve…ya tengo algo pero tengo que explicarlo bien y requiere su tiempo pensar como explicarlo.

  • Share/Bookmark

La cosa va de engines libres

Viernes, 1 de Diciembre de 2006

Con una noticia interesante de HappyPenguin sobre la reciente creacion de un engine libre de Final Fantasy 7, voy a hacer una recopilacion no exaustiva (porque puede que no conozca o me olvide de alguno importante…bueno estan los comentarios).

Para mas informacion un engine es codigo o programa completo que da la facilidad a la hora de crear un juego ya que convierte la compleja tarea de crear un juego en crear los graficos, sonidos, etc y la parte de programar se reduce al minimo normalmente a scripts, aparte la ventaja de esto es que se puede reutilizar el engine para otros juegos.

Aparte hay clones de engines comerciales los cuales buscan recrear el funcionamiento de este para poder ejecutar juegos de esos engines fuera de su ambito restrictivo (algunos tanto como que solo hay version para m$-dos) aparte de meterle nuevas mejoras como filtros graficos y otros.

Y bueno la lista es:


  • scummvm
    Engine que en sus inicios clonaba el funcionamiento del engine scumm de las aventuras graficas de Lucas Arts o Lucas Film Games, aunque ultimamente estan programando mas engines para funcionar otros juegos como el Simon S. y muchos mas. Esta portado a multiples sitios, dreamcast, gp2x, nintendoDS, por supuestos los GNU/Linux…

  • OpenTTD
    Engine tambien como el anterior dericado a juegos comerciales, en este caso el Transport Tycoon un juego de estrategia comercial de transporte muy divertido, este engine esta en constante evolucion. Y es una autentica gozado porque le añade un monton de nuevas funcionalidades al juego original, como mayor nivel de zoom, uso de la rueda del raton, modo online, trenes mega largos, mejores herramientas para jugar y un largo etc.

  • FreeSCI
    Engine de las aventuras de Sierra, poco mas tengo que decir ya que no lo he probado. Tambien esta el sarien como engine de sierra libre, pero creo que anda parado un poco el proyecto.

  • OpenMugen
    Clon libre del conocido engine Mugen, que es un engine freeware pero no libre (y eso que chuparon del bote los muy cabrones haciendo una colecta online y despues desparecieron), bueno pues este intenta suplir la falta del mugen original que por cierto era un engine para juegos de lucha 2D. De momento esta en desarrollo pero los videos, las imagenes y demos que dejan en la web pone los dienteslargos a todos, haber si tenemos suerte y pronto hay una beta jugable para saciar la sed de mugen que estamos pareciendo los perros viejos de la red.

  • GemRB
    Engine de los juegos de los miticos juegos de rol de BlackIsle, ese Baldur’s Gate II, ese IceWind Dale, que grandes juegos. Pues el desarrollador se ha empeñado en devolvernos las viejas glorias a la palestra. Y aunque esta en desarrollo todavia, tengo que decir que una tarde que esta aburrido un dia hace unos meses ya cargaba partida y iniciaba el juego aunque de momento era injugable pero se ve bien como avanza.

  • Q-Gears
    Engine libre que clona el engine del Final Fantasy 7, este es el que ha dado inicio a que escribiera este articulo al verlo en las noticias de Happy Penguin. De momento no se como va pero aunque parece por las imagenes que todavia no es jugable parece que tiene muy buena pinta.

  • OpenRaider
    Clon del engine de Tomb Rider que anda muy parado pero que las imagenes que hay prometian mucho, lastima que se querada en el tipico proyecto de software libre a medias.

Y bueno esos son los links de engines libres para juegos comerciales que conozco, OpenTTD y ScummVM son los mas jugables actualmente y los que mas mejoras meten sobre los originales, pero los demas prometen. Ya me gustaria que alguien hiciera por ahi un clon de libre del engine del Carmageddon o Dungeon Keeper o el UFO pero bueno bueno de momento soñare.

Y despues los engines libres que estan directamente ligados mas a desarrollar juegos, esta Ogre 3D que tan buenas expectativas esta provocando en la comunidad Linuxera, tambien esta el Irrlicht Engine que tambien dice la gente que es interesante para desarrollar juegos.

Y bueno alguno me olvidare que sea interesante, pero ahi estan los que recuerdo ahora mismo.

  • Share/Bookmark

GtkTreeView, el infierno.

Miércoles, 8 de Marzo de 2006

Problema: crear con gtk y C un Gtk tree view de una columna de texto, editable y con dos botones para añadir…no queria ensuciarme la boca pero lo tengo que decir que en m$-visualbasic se hacia con un list box en dos patadas y ademas al igual que en la version en formularios de html se podia añadir nuevos elementos usando la cabecera y no teniendo que poner dos botones mas (añadir y borrar).
En cifras:

  • 2 dias (+ 1 noche) haciendo pruebas y probando ejemplos
  • Entre 8 y 12 consultas al google.
  • De las cuales se han obtenido y leido de 20 a 30 paginas en varios idomas…ademas del ingles y el español, el portugues y alguna en frances y aleman.
  • Al pie de 5 o 7 ejemplos diferentes probados
  • 2 consultas al canal #gnome-hispano y #gtk, la de #gtk infructuosa, la de #gnome-hispano mejor (gracias Rodrigo supongo que no leeras pero me leido bien la gtk-demo) pero el infierno sigue quemando.
  • Ultima prueba, mas o menos 80 lineas de codigo o_O para crear el tree view….y no funciona.

Resultado: Descubrir que a Gtk necesita mas coccion porque todavia esta duro. Si queda muy bonito eso de separar en MVC (que todo dios lo pone en sus minitutoriales que son mini-utiles), pero la cosa esta clara, no es util y es un engorro de la ostia porque no es de cajon tener que escribir mas de 100 lineas para solo configurar ese widget. Tengo que reconocer que en esta afirmacion hay mas pena que odio, porque que Gtk tenga estos fallos, no es bueno para nadie. Si ya lo decia mi amigo Kahuna que Qt y KDE estan a años luz de Gtk y Gnome, y eso da pena cuando te molan las Gtk (pese a estos fallos que provocan mas sufrimiento).

Yo nose pero lo llevamos crudo si queremos que por ejemplo las tipicias aplicaciones de carniceria o taller se programen en software libre, en especial en Gtk porque no veo en la situacion al tipico informatico de FP o modulo que no tiene vocacion y que le aburre programar, no lo veo haciendo una cacho aplicacion de carniceria o taller, con gtk, no lo veo.

Yo creia que gtk en su desarrollo, se discutia mas las cosas via listas de correo, pero es que dejarse pasar este problema de “usabilidad” en el desarrollo, es un fallo catastrofico.

Solucion: pues esta dificil la cosa, porque cambiar la forma en que se crea un GtkTreeView supone adelantar muchas cifras al numero de version de gtk, no creo que influya a pasarla a gtk3.x pero si subira cifras, con las consiguientes incompatibilidades. Otra solucion que parece que la gente esta manos a la obra es petar la red de redes de tutoriales sobre GtkTreeView y mas o menos se esta consiguiendo, con algunas pegas como que casi todos los que me comido en mi idioma te meten un rollo previo sobre MVC y cosas asi, en vez de ir directos a lo que interesa, ejemplos sencillos y claros de como se crea y trabaja con GtkTreeView. Otra solucion mas o menos privada, es hacer un codigo GtkTreeView generico encapsulado dentro de una funcion para no tener que volver a sufrirlo, supongo que sera mi camino y si lo consigo pues lo mostrare para que evitar el sufrimiento a mas gente. La ideal es que los mismos desarrolladores de Gtk le metieran mano sus librerias y añadieran un Gtk_tree_view_new_default() o crearan un otro nuevo “objeto” por debajo de la jerarquia de GtkTreeView que fuera una version mas usable de este.

Otro fallo mas de usabilidad a la saca, como otro muy importante la falta de un sistema MDI para crear aplicaciones de multiples ventanas (las pestañas no es MDI puro porque no puedes trabajar con dos ventanas a la vez), porque por ejemplo la primera vez que esnifas Gimp es una ostia que te puede dejar en el sitio, pero ya con los años el cuerpo se va acostumbrando y esnifar Gimp ya no te mete esas ostias tan gordas cuando ves saltar tropecientas ventanas de golpe. Señores de Gtk queremos drogas de calidad, metan MDI que los Apple han metido ratones de mas de un boton antes que vosotros los MDI en Gtk.

¿Alguno se ha pegado con GtkTreeView y ha ganado? Que nos cuente como hizo jaquemate haber si ganamos los demas ;) .

Actualizacion: debe ser una de esas situaciones en que la mejor manera de avanzar es pararse para que la cabeza se enfrie, porque ya estar apunto de mandar a tomar por culo gtk y gnome y hacerme un tatuaje de kde, ponerme a escribir el articulo, terminar de escribir este articulo, y volver a darle al GtkTreeView y conseguirlo, no a la primera pero si al final, pasito a pasito, y ya medio comprendo el GtkTreeView, usando la gtk-demo (gracias Rodrigo) como base, releyendo el tutorial gtkTreeView de gtk y releyendo tambien la seccion de gtkTreeView del libro de gnome de gnomehispano. Pero eso no quita, que deje el articulo segun esta porque mientras lo escribia sentia esa desesperacion que esta implicita en cada palabra, aparte de otras cosas interesantes que hay en el articulo. Y ahora mismo son las 4 de la mañana, asique en cuanto lo entienda y tal, prometo hacer un tutorial sobre esto.

  • Share/Bookmark

Nunca es tarde si la dicha es buena.

Lunes, 31 de Octubre de 2005

Y es que andaba con ganas de aprender Gtk en especial la version 2.0 porque tira sin problemas en casi cualquier equipo. Y queria aprenderlo “a pelo” sin nada de florituras. En mis primeros pasos fuera del clasico “Hola mundo”, que yo le doy el toque personal de “Hola jodido mundo” o “Hola puto mundo” porque la version clasica pues como que me parece muy sosa y muy apolitica, pues fuera ya de estos primeros pasos ya me estoy pegando codo a codo con gtk, si reconocco que soy debil y que la ventana la he hecho con glade o como sus amigos lo llaman (y yo lo llamo en las conferencias, abriendo muchos ojos dormidos) “glande” porque que triste seria el mundo sin poder darle nombres tan amigables a las herramientas de cada dia porque no solo Benito tenia su lolita (uff cuantos pedofilos caeran googleando en este post ;) ) que era maquina de “gotelear” manual (las he visto y las he usado…y se perdera como lagrimas en la lluvia), que seria del mundo si su “glande mas anjuta y tu puta” como yo lo llamo, o sin su “m$-exploter”, o sin su “potocho”.

Total que he tirado del “glande” para hacer la ventanuca pero despues he ido al codigo fuente generado por el y he sacado lo que me interesaba, y le dado a todo un toque personal, mas cuadrados los podria haber tenido si yo hubiera hecho a golpe de VI la ventanuca, pero tranquilos que todo llegara porque todos pueden aprender a ser vascos y yo voy por el camino.

Bueno que Gtk mola y que la ayuda aunque algo disgregada y perdida por la red de redes, estar esta. Quiza se hecha de menos mas ejemplos tontos, nose como la tipica calculadora usando arrays de widgets que todo el mundo habra visto implementada cientos de veces en delphi o m$-visualbasic, que por supuesto ando con ganas de hacer. Porque cuando te enfrentas a tutoriales, guias APIs y demas morralla extensa como el desierto. Prefieres tomar el atajo de ver un par de ejemplos tontorrones de como se hacen las cosas tontorronas y tenerlos de punto de partida para hacer el mas dificil todavia. Algun dia os dire la definicion de informatico segun mi criterio.

  • Share/Bookmark