Archivo: Programación | Picando Código - Part 15
¡Feliz cumpleaños WordPress! 7 años
WordPress Hoy WordPress el sistema encargado de este sitio y millones de sitios más en el mundo cumple 7 años: Posted May 27, 2003 by Matt. Filed under Releases. I am very happy to announce that the first release of WordPress is now available for download. A full change log is available, but here is a brief overview of the new features. Así lo anunciaron en Twitter, con la frase "Fue hace siete años hoy". De parte de un fanático de WordPress ¡felicitaciones! Gracias a WordPress por simplificar la forma en que publicamos contenidos en la web, darnos trabajo, y […]
Mini pique: Mostrar las tablas en una base de datos de PostgreSQL
A veces me olvido de esto así que lo anoto acá. Justo estaba trabajando por SSH y quería ver si el deploy había creado correctamente las tablas, y si quedaban tablas de sobra de versiones anteriores. En la línea de comandos de PostgreSQL (psql), ejecutar este comando: \dt\dt Esto lista las tablas de la base de datos en la cual estamos trabajando.
Abrir archivos PSD CMYK con GIMP
Recientemente me he estado involucrando un poco en el mundo del diseño gráfico. Tanto en el cambio de imagen de Picando Código como en algunos trabajos por mi cuenta. Mi programa preferido a la hora de diseñar, desde hace varios años, ha sido GIMP. Si bien se supone que no es tan potente como otros programas de diseño, para lo que sé y necesito hacer, generalmente es más que suficiente. Hoy me inspiré y decidí rediseñar e implementar algunas ideas en el sitio de Entropía Records. Para esto, tuve que recurrir a unos archivos PSD, el formato estándard de Adobe […]
Refactorizar código: Sentido refactorizódico
Cuando repito código como que me suena una alarma en la cabeza. Algo así como el sentido arácnido de Spiderman... "Sentido refactorizódico" — Fernando Briano (@picandocodigo) May 6, 2010 Ese día estaba escribiendo código en Flex. Llegó un momento en que tenía que repetir una lógica. En el afán de sacar la funcionalidad rápido, copié y pegué varias líneas de código de un archivo a otro. Ni bien empecé a hacer esto, comenzó el "Sentido refactorizódico" a titilarme en la cabeza. Algo así como una alarma y un cartel rojo parpadeándome frente a los ojos: Estás repitiendo código, es hora […]
Tutoriales y recursos para comenzar a estudiar Java
Ayer me preguntaron en Twitter por enlaces de buenos tutoriales para Java. Me puse a recordar qué recursos me fueron de utilidad cuando comencé, y como llevo un blog dedicado a la programación no me costó tanto 😛 Así que a continuación listo algunos recursos, tutoriales, enlaces y demás que me fueron útiles para iniciarme en el mundo Java. En primer lugar, recomiendo leer libros. Más allá de lo que puedan aprender de los tutoriales, manuales, y demás recursos online, leer libros es imprescindible. Algunos podrán leerlos en formato digital, yo prefiero por lejos el papel (todavía... y porque no […]
Eclipse PyDev + PyGame - Programando juegos en Python
A raíz de varias conversaciones en el trabajo, nos decidimos a comenzar a implementar un videojuego. Hace tiempo que venimos comentando la idea, pero nunca nos habíamos puesto a hacer algo concreto. Hoy Pablo vino con la noticia que los otros dos interesados en el proyecto "ya habían comenzado", y que lo iban a implementar en Flex... ("así practicábamos"). En el intercambio de bromas (que si en C, Assembler...), insistí en usar PyGame, la biblioteca orientada al desarrollo de videojuegos en 2D orientada al manejo de Sprites. Al llegar me puse a probar cosas. Por suerte la documentación de PyGame […]
Tutorial de Mercurial por Joel Spolsky
Del artículo más reciente del conocido blog Joel On Software, Distributed Version Control is here to stay, baby (El control de versiones distribuído está aquí para quedarse) se desprende un tutorial sobre Mercurial. En el artículo, Spolsky comenta cómo comenzó a usar Mercurial en su trabajo, viniendo de la "escuela de Subversion". Explica que para ver las ventajas de los sistemas distribuídos de control de versiones, hay que cambiar la mentalidad. Con estos sistemas, se piensa en términos de cambios y no versiones. Es un modelo de programación distinto, donde en vez de tener "versión 1, versión2", se tiene "los […]
Enlaces sobre Scrum
Esta semana publiqué varios posts sobre Scrum en el otro blog, las comparto por acá ya que les pueden interesar: Scrum fomenta la comunicación y colaboración Sprint Planning – Planificación de Sprint Reimplementando Scrum La esencia de Scrum – Tobias Mayer
Bruce Eckel - Screencasts First Steps in Flex
Bruce Eckel (autor de Thinking in Java) publicó junto a James Ward el libro First Steps in Flex (Primeros pasos en Flex). El libro intenta enseñar Flex creando ejemplos y capítulos cortos, suficiente como para introducirse en cada tema. El asunto es que decidieron lanzar Screencasts gratuitos de cada capítulo del libro. En teoría, se obtiene la misma información de los seminarios online que del libro. Están en inglés, hablados y comentados por sus dos autores quienes van discutiendo el código. Pueden verlos en el sitio web: First Steps in Flex Un recurso interesante para quienes quieran comenzar con Flex.
Java: An internal LaunchAnywhere application error has occurred and this application cannot proceed. (LAX)
Otro problemita a la hora de instalar el entorno de desarrollo para Flex Builder en Debian. Buscando encontré que este error también se daba en otras aplicaciones basadas en Eclipse, en Ubuntu y Debian. El error: fernando@dagobah~/software/Flex $ ./flexbuilder_linux_install_a5_112409.bin Preparing to install... Extracting the installation resources from the installer archive... Configuring the installer for this system's environment...Launching installer... An internal LaunchAnywhere application error has occured and this application cannot proceed. (LAX) Stack Trace: java.lang.IllegalArgumentException: Malformed \uxxxx encoding. at java.util.Properties.loadConvert(Properties.java:552) at java.util.Properties.load0(Properties.java:375) at java.util.Properties.load(Properties.java:325) at com.zerog.common.java.util.PropertiesUtil.loadProperties(DashoA8113) at com.zerog.lax.LAX.(DashoA8113) at com.zerog.lax.LAX.main(DashoA8113) En mi caso se daba cuando intentaba ejecutar el instalador de […]
Eclipse: SIGSEV error fatal en Java con libxul.so
Como comentaba sobre Flex Builder para GNU/Linux, hay que usar una instancia de Eclipse Europa para instalar Flex Builder encima. Venía usándolo en Ubuntu sin problemas, pero cuando intenté instalarlo en mi máquina con Debian, surgió este error: fernando@dagobah~/software/eclipse-flex $ ./eclipse /home/fernando/.gtkrc-2.0:2: error: unexpected string constant "panel", expected character `=' # # A fatal error has been detected by the Java Runtime Environment: # # SIGSEGV (0xb) at pc=0xb2851cfc, pid=16384, tid=3064940320 # # JRE version: 6.0_16-b01 # Java VM: Java HotSpot(TM) Client VM (14.2-b01 mixed mode, sharing linux-x86 ) # Problematic frame: # C [libxul.so+0x9a4cfc] # # An error report […]
Java y Eclipse: Network is unreachable
Tras una nueva instalación de Eclipse, obtuve este error: Network is unreachable Esto intentando instalar y actualizar algunos plugins. Aparentemente el error viene por la máquina virtual de Java en su versión 6 para Debian. Encontré la solución en esDebian, donde explican: Todo parece ser un "problema" con el paquete netbase que activa por default el comportamiento para uso exclusivo de direcciones IPV6 a los sockets IPv6. Esto provocaba que el programa tuviera que abrir dos sockets uno para IPv4 y otro para IPv6. Para solucionar esto hay dos opciones: 1) Agregar el siguiente parámetro a todo aquello que invoque […]
Sun «» Oracle
Finalmente se concretó, y Sun es ahora parte de Oracle. En JavaHispano hacen un resumen de las impresiones que les dejó el webcast de Oracle, respecto a la adquisición de Sun. Les recomiendo visiten el artículo para leer más detalles. Particularmente, destaco las apreciaciones para los productos de interés para los programadores: Hablando sobre tecnologías más concretas, el futuro de Glassfish lo sigo viendo negro. Va a ser un servidor de aplicaciones "lighweight" que será la implementación de referencia de Java EE. Pero Weblogic será el "servidor de aplicaciones comercial". Esto podría interpretarse como que se va a dejar a […]
Actualizado sistema de comentarios del blog
Desde la versión 2.7 de WordPress, se ingresó una funcionalidad de comentarios anidados y paginación de comentarios. Esto debe ser implementado en cada template de WordPress. Venía dejándolo para atrás, pero ahora sí lo implementé en el tema Picando Código. Quedó funcionando la respuesta de comentarios, paginación, pero todavía falta darles estilo a los comentarios que son respuestas. De todas formas pienso trabajar un poco más en esto en los próximos días. Este tema (Picando Código) fue hecho de a poco hace casi 2 años y viene así desde hace varias versiones de WordPress (2.3). Hace meses que vengo pensando […]
Lanzado Parrot 2.0.0 máquina virtual de lenguajes dinámicos
Ayer, miércoles 20 de enero, fue lanzado Parrot VM 2.0.0, de cuya existencia se habló por acá en relación a Perl. Parrot es una máquina virtual diseñada para compilar eficientemente y ejecutar bytecode para lenguajes dinámicos. Actualmente aloja una variedad de implementaciones de lenguajes en varias etapas de finalización, incluyendo Tcl, JavaScript, Ruby, Lua, Scheme, PHP, Python, Perl 6, APL y un traductor de bytecode .NET. Parrot 2.0.0 "Inevitable", está disponible en el sitio FTP de Parrot, o siguiendo instrucciones de descarga. También está disponible el código fuente en su repositorio Subversion. Parrot está diseñado específicamente en base a las […]
Comentarios recientes