Noticias Weblogs Foros Wiki Código

Meta-Info

¿Que es?

Planeta Código es un agregador de weblogs sobre programación y desarrollo en castellano. Si eres lector te permite seguirlos de modo cómodo en esta misma página o mediante el fichero de subscripción.

rss subscripción

Sponsors

Puedes utilizar las siguientes imagenes para enlazar PlanetaCodigo:
planetacodigo

planetacodigo

Si tienes un weblog de programación y quieres ser añadido aquí, envíame un email solicitándolo.

Idea: Juanjo Navarro

Diseño: Albin

Buayacorp

Emergencia en Cusco y el Sur del Perú

Enero 30th, 2010 - [Enlace local]

La Ciudad del Cusco (mi ciudad) y los alrededores han venido sufriendo desde hace una semana atrás grandes precipitaciones pluviales, las cuales han inundado parte y en otros casos toda una ciudad. Esta tragedia ya ha cobrado al menos 10 víctimas.

La región del Cusco ha sido declarada en emergencia desde el martes pasado, este periodo será por 60 días.

Un amigo me comenta que en el extranjero se cree que la tragedia es sólo en Machupicchu, pero desde aquí decimos que aparte de Machupicchu y Aguas calientes hay otras ciudades que han sufrido mucho más y están necesitando nuestra ayuda. Tenemos algunas fotos:

Yucay por Daniel Nakasone

Yucay

Urubamba por Daniel Nakasone

Urubamba

Huacarpay por Marco Moscoso

Huacarpay

Zurite por Marco Moscoso

Zurite

Aguas Calientes por Alfredo Velarde

Aguas Calientes

Las ciudades que necesitan ayuda se pueden ver en el siguiente mapa realizado por @elcaminerito:


Ver Cusco en Emergencia en un mapa más grande

¿Cómo ayudar?

En el mapa arriba también se muestran en verde los puntos de apoyo en Cusco. Además, podemos ayudar donando frazadas, alimentos no perecibles, agua, etc. Podemos ver la lista completa en el Blog de El caminerito.

En Lima: Hoy y mañana se recibirán donativos en Almirante Guisse 934, Jesus Maria. A la altura de la pre de la Agraria en avenida Cuba.

En Cusco: HOY antes de las 10am para realizar catastro de la gente damnificada en Cusco. Llamar al teléfono 984750101

Puedes seguir también mediante Twitter a @elcaminerito, @achachau, @Apu_Rimak, @VOXURUBAMBA y o los trends #cusco, #machupicchu y #lluvias.

Estaremos actualizando para más información.

» Leer más, comentarios, etc...

programania

Programania en Twitter

Enero 30th, 2010 - [Enlace local]

Programanía lleva teniendo cuenta en Twitter mucho tiempo. David se encargó de llevar este humilde blog al mundo de las redes sociales. Lo que pasa es que lo anuncio ahora porque me he decidido a reactivar este blog (ya era hora, me daba mucha pena tenerlo parado) y a empezar a utilizarla. Pienso postear lo que vaya leyendo de artículos del Google Reader y los artículos que vayamos escribiendo….

Con ustedes, PROGRAMANIA EN TWITTER. ¡Bienvenidos al 2009!  :-P


» Leer más, comentarios, etc...

MadeInFlex

DeviceDays

Enero 29th, 2010 - [Enlace local]

Nuestros buenos amigos de BlocketPc han organizado del evento DeviceDays el cual está orientado al desarrollo Flash sobre dispositivos y terminales móviles.
devicedays
Si quieres aprender cómo se programa en ActionScript 3 para iPhone y Flash Player 10.1 sólo tienes que registrarte en la web oficial de DeviceDays.

Por parte de MadeInFlex estaremos presentes varios integrantes del equipo para no perdernos ni un bit de información de lo que los expertos del mundo del desarrollo Flash en dispositivos nos puedan contar.
No podemos obviar que el desarrollo Flash en dispositivos está entrando en su verdadera luna de miel y que en los próximos tiempos, con la salida del Flash Player 10.1 y la ejecución del Open Screen Project en todo su esplendor vamos a ver una explosión de contenido que vamos a tener que desarrollar… nosotros!

Las conferencias son totalmente gratuitas y cuentan con ponentes como Richard Galván, Mark Doherty o Enrique Duvós entre otros. Así que ya sabes, si el día 19 de Febrero estás por Barcelona, no dudes en ir a las oficinas de Adobe y disfrutar de unas buenas jornadas sobre la Flash Platform.

» Leer más, comentarios, etc...

Fetishcode...Thinking in objects

Sun+Oracle ya es oficial

Enero 29th, 2010 - [Enlace local]

A

» Leer más, comentarios, etc...

Picando Código

iPad: Peligro para tus derechos

Enero 29th, 2010 - [Enlace local]

iPad

iPad

El Problema

El Apple iPad usa DRM (Digital Restriction Management – Gestión Digital de Restricciones) de dos maneras:

Estas restricciones hacen que el iPad sea una plataforma particularmente peligrosa para la distribución de medios de noticias. Cada publicante depende del permiso de Apple, y Apple puede borrar historias remotamente tras haber sido publicadas.

Esto último representa un problema realmente serio, si controlas los medios de comunicación…

Apple Live: Latest Restrictino

Apple Live: Latest Restrictino

DefectiveByDesign.org está llevando a cabo una campaña en contra del iPad, con una carta dirigida a Steve Jobs. Pueden ingresar al enlace y firmar la carta:

Sr. Jobs,

DRM le dará a Apple y sus socios corporativos el podes de deshabilitar características, bloquear productos de la competencia (especialmente software libre), censurar noticias, e incluso borrar libros, videos, o noticias de las computadoras de los usuarios sin aviso– usando la conexión de red “siempre prendida” del dispositivo.

Este pasado año, hemos visto en protestantes de los derechos humanos y la democracia como la tecnología que usaban se les volvió en contra. Haciendo una computadora en la que cada aplicación está bajo control total y centralizado, Apple está poniendo en peligro la libertad para aumentar sus ingresos.

Apple puede decir que no abusará de este poder, pero su historial de rechazos y eliminaciones en la App Store no nos dan ninguna razón para creer en ellos. El uso sin precedentes de DRM en iPad para controlar todas las capacidades de una computadora de uso general es un peligroso paso atrás para la computación y distribución de medios. Demandamos que Apple elimine todo el DRM de sus dispositivos.

Apple Restriction Zone

Apple Restriction Zone

» Leer más, comentarios, etc...

Picando Código

Eclipse: SIGSEV error fatal en Java con libxul.so

Enero 29th, 2010 - [Enlace local]

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 file with more information is saved as:
# /home/fernando/software/eclipse-flex/hs_err_pid16384.log
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
Aborted

Después de pasar un rato buscando la solución, pude encontrarla por fín. Algunos la relacionaban con la versión de la máquina virtual de Java. Vengo usando la versión 6 de la JDK incluida en los repositorios de Debian Squeeze (versión 1.6.0_16 al momento de escribir este post). Recomendaban instalar la versión anterios (Java 5). Probé esto, pero el mismo error se volvía a presentar.

Para solucionarlo, instalé el paquete xulrunner-dev que es el responsable aparentemente de libxul.so.

apt-get install xulrunner-dev

Así que si les llega a suceder, en mi caso se solucionó así.

» Leer más, comentarios, etc...

Picando Código

Java y Eclipse: Network is unreachable

Enero 28th, 2010 - [Enlace local]

Eclipse

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 el java: -Djava.net.preferIPv4Stack=true
2) Poner a 0 el valor de net.ipv6.bindv6only en el archivo /etc/sysctl.d/bindv6only.conf
Si ademas se quiere que el cambio sea en inmediato basta con hacer un echo 0 > /proc/sys/net/ipv6/bindv6only

Esta es la fuente original.

Me llevó un rato dejar pronto mi entorno de desarrollo, y fui encontrando soluciones que iré posteando acá para tener como referencia.

» Leer más, comentarios, etc...

Picando Código

Sun «» Oracle

Enero 28th, 2010 - [Enlace local]

Finalmente se conretó, y Sun es ahora parte de Oracle.

Sun Oracle

Sun 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 invertir en características empresariales y herramientas de administración para Glassfish, y que su robustez podría resentirse.

JDeveloper también será el IDE “comercial”, es decir, para los clientes. En Netbeans se centrarán en algunas cosas en las cuales es excepcionalmente bueno, como por ejemplo lenguajes dinámicos. Pero da la impresión de que va a pasar a tener un papel secundario. Algo similar pasa con VirtualBox, que pasa a ser más secundario respecto a soluciones de virtualización de Oracle. Sólo contemplan como una solución para virtualización de “escritorio”, pero no para virtualizar servidores.

OpenOffice seguirá adelante (lógico, aquí no hay solape) y han anunciado que tienen intención de crear una versión de OpenOffice de “la nube” cual en la cual ya estaba trabajando Sun. Java, por supuesto, sigue siendo prioritario. De lo que no he escuchado absolutamente nada es sobre JavaFX.

En cuanto a Java, en Linux Preview publican sobre el futuro de la plataforma:

Bajo el nuevo liderazgo de Oracle Java se extenderá a más tipos de aplicaciones, mientras que el proceso público para modificar el lenguaje se hará más participativo, ha dicho Oracle mientras explicaba los planes de integración con Sun.

Java es el lenguaje de programación más importante del mundo, particularmente en el sector empresarial, con cerca de diez millones de desarrolladores. Oracle se ha comprometido a invertir en la comunidad de desarrolladores y hacer que el Java Community Process, el proceso público para modificar Java, sea más participativo. Recordar que a Sun se la criticó por tener demasiado control sobre el proceso.

Ya veremos…

» Leer más, comentarios, etc...

Najaraba.com: Software libre, metodologías ágiles y más.

Scrum vs. Kanban: Más libros en castellano

Enero 28th, 2010 - [Enlace local]

Vuelvo a hablar de libros, esta vez para presentar la traducción de un libro Henrik Kniberg y Mattias Skarin al castellano. Se trata del libro Kanban vs. Scrum publicado inicialmente a través de InfoQ. Ahora, gracias a Agile-Spain podemos disponer de este pequeño gran libro en castellano.Ha sido un trabajo colaborativo, coordinado por Ángel Medinilla, donde han participado personas del grupo de

» Leer más, comentarios, etc...

MadeInFlex

Fx4 VIII: Soporte CSS ampliado

Enero 28th, 2010 - [Enlace local]

En esta cuarta versión de Flex se han producido cambios considerables en la arquitectura de componentes así como en el lenguaje MXML. Esto se ha hecho para potenciar varios aspectos como son la productividad, facilitar el workflow designer / developer o la integración con herramientas externas.
En esta entrada se verá en profundidad las novedades referentes al soporte CSS en Flex 4.

  1. Espacios de nombre
  2. Selector de clase múltiple
  3. Selector por #id
  4. Selector descendientes
  5. Pseudo selectores
  6. Combinando
  7. Conclusión
  8. Notas

Espacios de nombre

A partir de Flex 4 todos los selectores CSS requieren de un espacio de nombres para evitar la ambiguedad entre nombres de clase definidos en halo y spark.
Un ejemplo de esta situación la podemos encontrar en la clase Button.
Para spark la clase Button se define en spark.components.Button, en cambio para halo se define en mx.controls.Button. Lo que se puede apreciar es que en ambos casos las clases se llaman igual. Si se hubiera mantenido el modelo CSS de Flex <= 3 tendríamos un problema de ambiguedad al querer redefinir los estilos de la clase Button como se puede ver.
El código que necesitamos para definir los estilos de Button para spark y halo a la vez sería el siguiente:

Obtenemos esto:
namespaces
Podemos observar dos peculiaridades con respecto a Flex3. La primera las declaraciones de espcios de nombre @namespace alias "URI"; y la segunda la forma de contextualizar las declaraciones con alias|ClassName.
Por otra parte vemos que podemos seguir utilizando los selectores de clase de siempre de la misma forma que antes y que son aplicables a componentes halo y spark indistintamente.

Selector de clase múltiple

Una forma muy potente de modularizar los estilos es definirlos de la forma más atómica posible. Cuanto más se especialice la declaración de un estilo más versatil será.
A partir de Flex 4 se pueden asignar múltiples selectores de clase a un mismo componente separados por un espacio:

Obtenemos esto:
multiple_selectors

Selector por #id

Otra característica añadida es el soporte para selectores por identificador, al más puro estilo HTML:

Obtenemos esto:
id_selector

Selector descendientes

Los selectores descendientes nos ofrecen la posibilidad de contextualizar las declaraciones de nuestros estilos dentro del ámbito de una clase determinada.
Por ejemplo, si queremos declarar un estilo que afecte a todos los campos de texto que estén dentro de un formulario lo haríamos de la siguiente forma:

Obtenemos esto:
descendant_selector

Pseudo selectores

Los pseudo selectores permiten aplicar estilos sobre un componente teniendo en cuenta el skin state en el que está. Para ello se debe tener conocimiento de los estados de skin disponibles para el componente en cuestión.
Por ejemplo, la clase spark.components.Button dispone de los estados up, over, down y disabled (cada componente tiene especificados sus skin states en la documentación ASDoc), por lo tanto podemos sacar partido de los pseudo selectores CSS del siguiente modo:

Obtenemos esto:
Up:
button_up
Over:
button_over
Down:
button_down

Combinando

Por supuesto lo más interesante de todo es que todas estas funcionalidades las podemos combinar:

Obtenemos esto:
Up:
combinando_up
Over:
combinando_over

Conclusión

Con Flex4 se dispone de una mayor versatilidad y control en lo que a declaración de estilos se refiere. La implementación CSS de Flex <= 3 dejaba bastante que desear y este paso sin duda está encaminado hacia el buen camino.
Cabe destacar que se dipone de una API AS3 para asignar todos estos estilos de forma programática y que no dudo se cubrirá en una futura entrada así que, manteneos atentos!

Notas

• Los selectores de clase son los que llevan punto '.' antes del identificador. Por ejemplo .botonRedondeado{}, los selectores de tipo son los que se asocian con una clase. Por ejemplo s|Button

» Leer más, comentarios, etc...

Fetishcode...Thinking in objects

Demo de EJB 3.0 con JDeveloper 11g

Enero 23rd, 2010 - [Enlace local]

A

» Leer más, comentarios, etc...

Picando Código

Actualizado sistema de comentarios del blog

Enero 22nd, 2010 - [Enlace local]

WordPress

WordPress

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 que es hora de cambiar radicalmente el diseño del blog, por varios motivos. Espero poder concretar esto en un tiempo, y si es así, voy a liberar este tema por si algún blogger (masoquista) quiere usarlo para su blog.

Los invito a ayudarme a probar la nueva funcionalidad de comentarios, dejando un comentario en este post :D

» Leer más, comentarios, etc...

Arragonán

Taller gratuito de Grails en Zaragoza

Enero 22nd, 2010 - [Enlace local]

El viernes 29 de Enero(día de San Valero y festivo en Zaragoza) impartiré un taller de iniciación a Grails, en la sede de Hispalinux en Zaragoza (Calle San Blás 104). El taller lo organizamos desde Jobsket con la colaboración de Hispalinux y Escuela de Groovy.

Para el taller utilizaremos como base un pequeños proyecto que he subido a github, un simple directorio de desarrolladores, para empezar con algo más que un proyecto tipo hello world. Podéis descargaros el código y pegarle una ojeada, veréis que he utilizado el plugin de acegi para el registro y autentificación de usuarios, así como image tools para las fotos de perfil.

Hay un máximo de 12 plazas para asistir al taller, así que si quieres asistir inscríbete, aunque sea un día raro para un taller de programación, nunca se sabe… :P

Ah! Y al terminar el taller iremos a tomar unas cervezas :)

» Leer más, comentarios, etc...

Picando Código

La libertad del software en la empresa: Artículo de Sun

Enero 22nd, 2010 - [Enlace local]

Sun Inner Circle

Sun Inner Circle

En el último newsletter de Sun Inner Circle América Latina, se enlazaba a un artículo que me resultó bastante interesante:
Código abierto: Dónde hemos estado y adónde nos dirigimos

En él se plantea el tema de la libertad del software, y su importancia, desde un punto de vista empresarial. Para eso, Bob Worrall, CIO de Sun Microsystems, Inc., entrevista a Simon Phipps, responsable de “código abierto” de Sun.

Simon Phipps

Simon Phipps

Es muy interesante el enfoque de la entrevista. Analiza las ventajas del software libre desde un punto de vista que muchas veces no se toma muy en cuenta, el empresarial. Muchas personas tienen la idea errónea de que el software libre no conviene desde el punto de vista de los negocios, y que por no tener un precio para ser adquirido, no da lugar a ganar dinero con él. Y este artículo explica cómo se debe aprovechar la característica de libertad desde el punto de vista empresarial, mas que simplemente el precio.

En las primeras dos preguntas se analiza el tema de la libertad del software:

Bob: El código abierto se utiliza frecuente y equivocadamente en el mismo contexto que el freeware y el shareware. ¿Podrías aclarar qué es el código abierto y por qué es importante para los CIO y las TI?

Simon: El término “open source” (código abierto) se aplicó por primera vez al software en 1998/1999, como parte de la Open Source Initiative. Durante los 20 años anteriores, se utilizaba la expresión “free software” (software libre/gratuito) para describir el mismo concepto, lo que explica la confusión. La gente pensó que el software libre se definía por su precio, por su carácter gratuito. No obstante, el software libre y el software de código abierto se caracterizan mejor por el conjunto de libertades que ofrecen. El software de código abierto es libre en el sentido de que ofrece libertad. Es esencial que los CIO se centren en la libertad, y no solamente en el precio. La libertad puede ahorrar dinero, pero el ahorro de dinero no procura necesariamente la libertad. El freeware y el shareware son mecanismos de marketing más relacionados con el precio que con la libertad.

Bob: Nos dices que el código abierto tiene que ver con la libertad. A mi me gusta expresar esta misma idea hablando de barreras asequibles de entrada y salida. ¿Estoy en lo cierto?

Simon: Sí, sin duda. Cuando hablo de libertad, me refiero al conjunto de libertades definidas por el programador y activista del software libre Richard Stallman durante los últimos 27 años. Éste es mi resumen de las libertades de Stallman:

  1. Libertad de utilizar el software con cualquier fin.
  2. Libertad de estudiar el software y de comprender cómo funciona.
  3. Libertad de modificarlo para adaptarlo a las necesidades propias.
  4. Libertad de distribuir la versión modificada a quien se quiera.

Estas cuatro libertades son la base de la propuesta de valor para los CIO: libertad de utilizar el software para cualquier fin sin necesidad de mantener una relación con ningún proveedor concreto. Siempre se puede decidir entablar una relación más tarde con un proveedor para mantener o modificar el software, pero con la libertad de decidir cuándo iniciarla y pagar por el servicio. La libertad de estudiar el código fuente significa libertad de acceso al mercado y a todos sus expertos. La libertad de modificar el código fuente significa que el CIO es libre de participar en el mercado para obtener extensiones, complementos y versiones adaptadas. Por último, la libertad de transferir el software a quien se quiera significa que cualquier miembro del ecosistema extendido puede utilizar el mismo software sin barreras de despliegue o licencia.

Si bien se define bien las libertades del software, me da la impresión que el artículo mezcla los conceptos de Software Libre y Código Abierto. En la práctica son casi lo mismo, pero el código abierto tiene un punto de vista más orientado a los beneficios prácticos de compartir el código que a las cuestiones morales y/o filosóficas. Y así como dice que el freeware y shareware son “mecanismos de marketing más relacionados con el precio que con la libertad”, se puede decir algo parecido del código abierto.

Después pasan a analizar cómo Sun ha contribuído al desarrollo del Open Source, y comenta, en torno a la decisión de usar Software Libre, algunas ventajas:

Uno de los aspectos importantes del software de código abierto es que se puede controlar mejor el presupuesto gracias a la libertad de elegir entre un proveedor o un experto interno. El CIO tiene la libertad de controlar su presupuesto porque puede dedicar dinero al soporte y la suscripción a actualizaciones con las empresas asociadas al software que utiliza. Alternativamente, puede contratar personal dedicado o incluso dedicar parte de su personal actual al soporte. Debe decidir en qué gastar el dinero, con quién gastarlo y si desea gastarlo, todo ello en función de su percepción de la empresa y de las necesidades.

Algo en lo que se insiste bastante: No atarse a un proveedor.

Y por último, otra respuesta que destaco, respecto al futuro del “código abierto”:

Hemos vivido una serie de olas en el software de código abierto y libre. La primera fue la ola de los pioneros, como Richard Stallman y Bill Joy, que promovieron la idea de libertad y código fuente abierto basado en comunidades. La segunda ola llegó en los años 90, cuando cualquier entusiasta podía utilizar el código de estas comunidades y adaptarlo a sus necesidades (o a las de su empresa).

Ahora nos encontramos en lo que denomino la tercera ola, en la que las empresas comerciales adoptan el software libre y de código abierto como la base de sus productos comerciales. Vemos que el software de código abierto garantiza la libertad, pero también vemos que los proveedores comerciales garantizan unos niveles de servicio confiables. Por tanto, nos hallamos en el medio de la siguiente ola, en la que todo proveedor importante adopta el software libre y abierto.

Les recomiendo leer el resto del artículo:
Código abierto: Dónde hemos estado y adónde nos dirigimos

» Leer más, comentarios, etc...

Picando Código

Lanzado Parrot 2.0.0 máquina virtual de lenguajes dinámicos

Enero 21st, 2010 - [Enlace local]

Parrot VM

Parrot VM

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 necesidades de los lenguajes dinámicamente tipados (como Perl y Python), por lo que debería poder ejecutar los programas en estos lenguajes de manera más eficiente que las máquinas virtuales de lenguajes estáticos como Java o .NET. También se diseñó para proveer interoperabilidad entre los lenguajes para los que compila, por lo que podría programarse una clase en Perl, una subclase en Python, y luego instansiarlas y usarlas en un programa en Tcl.

Comenzó como el runtime para Perl 6. A diferencia de Perl 5, el compilador y el runtime (VM) de Perl 6 estarán separados de forma mucho más clara. Pueden leer las características del nuevo lanzamiento en el post de los desarrolladores:
Parrot 2.0.0 Released!

Habrá que probarla… El próximo lanzamiento será el 16 de febrero de 2010.

» Leer más, comentarios, etc...

avemundi, blog de un micro-isv » Desarrollo de software

grid de datos a la Windows 7

Enero 21st, 2010 - [Enlace local]

Con FWH se pueden hacer rejillas de datos que marcan la fila actual con un degradado al estilo de Windows 7. La manera de hacerlo está en este hilo de los foros de Fivetech y el resultado es este:

2010-01-21_193635

» Leer más, comentarios, etc...

Picando Código

Manual de uso de Trac

Enero 21st, 2010 - [Enlace local]

Trac

Trac es un gestor de proyectos de software. Su meta es “simplificar efectivamente el rastreo y gestión de problemas de un software, mejoras y progreso en general”.

He usado Trac por bastante tiempo ya, como comentaba desde Bug Tracking System en 2008. Además prometí en Proyectos, grandes proyectos, que escribiría algo sobre Trac y su uso. Este manual lo tenía guardado en borradores del blog hace meses, así que puede no incluir todo lo disponible en las últimas versiones de Trac.

Tal vez esta guía les puede servir para conocer las funcionalidades de Trac, y ayudarlos a convencerse de si les es útil para su trabajo o no.

A continuación les voy a intentar explicar funcionalidades básicas de Trac y cómo aprovecharlas. En caso de necesitar más detalles, en cualquier instancia de Trac pueden encontrar la “Guía Trac” (en inglés). La guía Trac es una documentación auto generada por la instalación del sistema que contiene todos los apartados necesarios para aprender a usar Trac. Pueden ingresar desde: url-de-trac/wiki/TracGuide.

Wiki – Trac incluye un motor interno de Wiki, usado para textos y documentación en todo el sistema. Se usa el formato “WikiFormatting”, en las páginas de la wiki, los tickets y mensajes de log. Esto permite texto con formato y enlaces en todos los módulos de Trac. El objetivo principal es que editar texto sea sencillo, y alentar a la gente a contribuír y aportar contenido de texto para los proyectos. Pueden encontrar una guía del formato usado en: url-de-trac/wiki/WikiFormatting

Timeline -Provee una vista histórica de un proyecto en un mismo informe. Lista todos los eventos de Trac en orden cronológico, una descripción de cada evento, y si aplica, la persona responsable de dicho cambio. Muestra los siguientes eventos: Creación y cambios de páginas en la Wiki, creación, resolución de tickets, cambios en el código fuente del repositorio, y etapas completadas. Cada entrada es a su vez un enlace al evento en cuestión.

Roadmap -El roadmap provee una vista sobre el sistema de tickets, que ayuda a planear y gestionar el desarrollo a futuro de un proyecto. Incluye la vista principal donde muestra las futuras etapas con los tickets pendientes y resueltos por etapa con una barra de progreso.

Browse Source – Se usa para navegar por el repositorio de código fuente del proyecto. Permite navegar por los distintos directorios, y en distintas etapas de desarrollo (ver cómo era el repositorio en un momento anterior). Al seleccionar un archivo, se nos muestra el contenido. También se puede acceder al log de revisiones del archivo.

Sistema de Tickets

El sistema de tickets de trac es el elemento central de la gestión, se usa para tareas de proyectos, pedidos de nuevas características, reportes de errores y asuntos de soporte técnico de software. La idea en su desarrollo fue hacer de la participación del usuario lo más simple posible.

Básicamente, un ticket se le asigna a una persona que debe resolverlo o reasignarlo a alguien más. Todos los tickets pueden ser editados, comentados, asignados, priorizados, y discutidos.

Los tickets contienen la siguiente información:

Más o menos con eso, pueden ir empezando con Trac. He visto algunas cosas más como la integración de Eclipse con Mylyn y Trac, que comentaré más adelante. Por cualquier consulta, los invito a postearla en el Foro de Picando Código.

» Leer más, comentarios, etc...

Picando Código

Splash screen de Eclipse

Enero 21st, 2010 - [Enlace local]

El splash screen es la pantalla de inicio de una aplicación cuando ésta se encuentra cargando. Generalmente estas pantallas son configurables. En el caso de Eclipse IDE, el splash screen es un archivo BMP que podemos reemplazar con una imagen personalizada. Para no aburrirnos de ver siempre lo mismo, podemos usar una Splash Screen distinta para cada instancia de Eclipse.

En mi caso, y sé que no soy el único, uso varias instancias. Cada una cumple su función, manteniendo un perfil de plugins específico para el tipo de desarrollo. Por ejemplo, para desarrollar Java EE con JBoss, tengo una instancia de Eclipse IDE for Java EE Developers, y JBoss Tools:

Eclipse - Splash JBossTools

Eclipse - Splash JBossTools

La imagen de JBossTools fue obtenida de JBoss Tools icon/logo suggestions.
Descargar Eclipse Splash JBossTools

Para PHP, una instancia de Eclipse PDT:

Eclipse - Splash PDT

Eclipse - Splash PDT

Este splash fue creado por el usuario madgre en Gnome-Look (licencia libre).

Para desarrollar con Flex, una versión de Eclipse Europa con Flex Builder:

Eclipse Splash Flex Builder

Eclipse Splash Flex Builder

Esta imagen fue hecha por mí con GIMP, así que puede faltarle talento y buen gusto :P
El logo de Eclipse lo obtuve en KDE-Look, creado por el usuario cobranail.
Descargar Eclipse Splash Flex Builder

Para cambiar el splash por defecto de su instalación de Eclipse, deben navegar hasta el directorio de instalación de Eclipse por ejemplo /opt (o en Windows: C:\Eclipse) y dentro del subdirectorio plugins, encontrar el directorio org.eclipse.platform_*. El * es por el número de versión, que dependiendo de su instalación, puede variar:

cd /opt/software/eclipse/plugins/org.eclipse.platform_*

En este directorio se encuentra el archivo splash.bmp. Reemplazando este archivo, pueden cambiar el splash screen del inicio de Eclipse.

» Leer más, comentarios, etc...

Bitácora de Javier Gutiérrez Chamorro (Guti)

Tag video y Theora

Enero 20th, 2010 - [Enlace local]

HTML 5, añade soporte al incrustado de audios y videos, aunque de momento no especifica los formatos a soportar debido a la controversia creada.

Sin embargo, si usas un navegador moderno como Chrome/Chromium/Iron 3, Firefox 3.5, Opera 9.52 o Seamonkey 2, tendrás disponible el soporte de videos empotrados encapsulados con Theora (OGV). Si estás con Safari, quizás deberías saber que ni siquiera la versión 4.0.4 lo soporta, en lo que me da la impresión es un desesperado intento por revitalizar QuickTime. Algo parecido podríamos decir sobre Internet Explorer 8, que tampoco lo soporta.

Ello te va a permitir reproducir video nativamente, sin necesidad de plugins externos. Theora, al igual que Vorbis (OGG), es una implementación sin patentes, que evita la necesidad de MPEG-4 y sus variantes, con una especificación totalmente libre.

El nivel de calidad por bitrate, es superior a MPEG-4 ASP/H.263 (DivX, Xvid, QuickTime, FLV, RealVideo), aunque algo inferior a H.264/MPEG-4 AVC (DivX HD, MP4, FLV) de momento. A efectos prácticos, la principal ventaja es la velocidad de decodificación, que supera de largo a la implementada el Flash Player 10.1 usada por Youtube por ejemplo.

Como muestra, el siguiente trailer de Terminator Salvation (10,8 Mb. -2:06 a 480x200-), puedo visualizarlo con picos de CPU del 8% en un ordenador medio (AMD Ahtlon X2 3800+), aunque puestos a probar, tienes cosas más espectaculares aquí.

» Leer más, comentarios, etc...

Picando Código

Actualizando UserAgent-Spy + Tip SEO

Enero 18th, 2010 - [Enlace local]

Actualicé el plugin de WordPress UserAgent-Spy a la versión 1.1.3. He venido subiendo actualizaciones chicas, una de las últimas viene bien como tip SEO, recomendado por Diego de Nadie Duerme (que por cierto, va a ser mi vecino en Montevideo… ¡¡te querés matar!!).

UserAgent Spy

UserAgent Spy

El plugin muestra el navegador web y sistema operativo del usuario, agregando un link al sitio web del navegador web. En la versión 1.1.2, agregué a estos enlaces (se generaría uno por cada comentario en cada entrada/página) el atributo nofollow. El atributo nofollow se relaciona a los enlaces de un sitio web. Es una forma de avisarle a los buscadores que no sigan el enlace, para mantener el link juice de un sitio. El link juice es el valor de enlaces que le podemos transmitir en forma de PageRank a otras páginas. Por eso desde el punto de vista de la optimización para buscadores, el plugin hacía que se perdiera mucho link juice.

Si bien hay webmasters que se preocupan por el SEO, y otros que no, es una característica a favor del plugin. Así que los invito, si no lo han hecho aún, a descargar y probar el plugin:

Descargar UserAgent-Spy

» Leer más, comentarios, etc...

Joan Garnet :: Arquitectura y desarrollo RIA

5 años de blog

Enero 16th, 2010 - [Enlace local]

Sinceramente, quería hacer algo especial para celebrar el quinto aniversario de este blog pero finalmente no ha sido así… creo que con los años uno se vuelve más exigente consigo mismo y hacer “algo” tiene implicaciones mucho más profundas de lo que a veces se piensa inicialmente.
Mi vida de hoy es completamente distinta de la de hace 5 años. Para empezar ya no vivo en mi Barcelona natal sino que me he mudado a un pueblo a 50km dónde vivo desde hace unos 3 años. Por otro lado tengo mujer, una hija preciosa y otra en camino (preciosa también seguro). He trabajado de “fijo” en 4 empresas distintas, he aprendido un montón de cosas de la vida y otras tantas acerca de la tecnología, leyendo libros, blogs, publicaciones, experimentando o simplemente fijándome en los cracks que he tenido la suerte de acompañar durante todo este tiempo.
Creo que el balance es positivo en todos los aspectos y esto me llena de satisfacción y de ganas de hacer más cosas.
Aunque lo tengo en mente, no os diré que voy a escribir más porque no puedo garantizar absolutamente nada en este aspecto pero quiero agradecer que estéis leyendo esto y que de algún modo me hayáis ayudado a montar esta pequeña franquicia de mi mismo a la cuál le debo una parte nada despreciable de los contratos que he ido teniendo durante estos años. Espero que de algún modo el beneficio haya sido recíproco y que, de hecho, lo siga siendo.
Un saludo!

» Leer más, comentarios, etc...

Fetishcode...Thinking in objects

Especificaciones Java EE soportadas en OAS 10g.

Enero 16th, 2010 - [Enlace local]

A

» Leer más, comentarios, etc...

Picando Código

Desarrollar Adobe Flex en GNU/Linux

Enero 15th, 2010 - [Enlace local]

Flex

Flex

Una de las nuevas tecnologías que vengo aprendiendo en el nuevo trabajo es Adobe Flex. Se trata de un kit de desarrollo basado en Flash, para crear aplicaciones de Internet enriquecidas (RIA). Además, gracias a su soporte a AIR, también se puede usar para el desarrollo de aplicaciones de escritorio.

Utiliza MXML, un lenguaje de marcado basado en XML, para definir interfaces gráficas de usuarios . Se combina con ActionScript, lenguaje de scripting basado en el estándard ECMAScript (ActionScript, JScript), para obtener interactividad.

El SDK de Flex, a partir de Flex 3, fue liberado bajo la licencia de software libre Mozilla Public License. Gracias a esto, se puede desarrollar de forma “libre” para la plataforma. El reproductor Flash, el runtime de Flex, y Adobe Flex Builder (el IDE de desarrollo construído sobre Eclipse) permanecen en su calidad de software privativo.

Como usuarios de GNU/Linux en el trabajo, tenemos una perspectiva particular para desarrollar con esta plataforma. Adobe siempre se caracterizó por mantener su productos para sistemas Windows. Pero la liberación del código del SDK, y su ingreso a la Linux Foundation, demostraban un cambio en su ideal, o al menos eso parecía…

El SDK necesario para desarrollar aplicaciones Flex en GNU/Linux es libre, por lo que no hay problemas en conseguirlo. Ahora bien, analicemos las herramientas disponibles para desarrollar aplicaciones Flex en nuestro sistema.

Adobe nos ofrece Adobe Flex Builder 3, un IDE basado en Eclipse Europa 3.3, software privativo y con una licencia comercial. Este funciona en Windows, y se provee una versión alfa de Flex Builder para GNU/Linux.

Instalación Flex Builder Linux

Instalación Flex Builder Linux

La versión Flex Builder Linux está disponible únicamente como plugin para Eclipse 3.3. Además de encontrarse en la versión alpha 5 desde noviembre de 2009, no cuenta con las siguientes características de Flex Builder para Windows: Design view (vista de diseño, para crear las interfaces gráficas), States view, Refactoring, Data Wizards, Cold Fusion – Data Services Wizard,Web Services introspection y Profiler.

A pesar de las limitaciones de esta versión, se puede considerar un IDE apto para desarrollos reales. La única limitante seria, es la vista de diseño, ya que sin ella, hay que escribir los MXML a mano. Además, funciona exclusivamente con Eclipse Europa, tiene varios errores si se usa una versión más nueva de Eclipse, aunque he leído por ahí que con parches han logrado hacerla funcionar bien.

Otra de las opciones que probé fue descargar el trial de Flex Builder para Windows, y ejecutarlo con Wine. Esto terminó siendo una solución bastante interesante, ya que usé todas las características básicas del IDE sin inconvenientes mayores. Hay un problema con el uso de memoria cada tanto, pero se puede arreglar dándole más memoria en el archivo FlexBuilder.ini. El editor visual anduvo bien, así como la instalación de los plugins necesarios para realizar el trabajo : Subclipse y Mylyn.

Flex Builder 3 sobre Wine

Flex Builder 3 sobre Wine

Pueden ver el review que mandé a la base de datos de WineHQ sobre la aplicación (qué probé, qué funcionó, qué no).

IntelliJ IDEA version 9, un IDE de Java bastante popular, también trae soporte para Flex y AIR. Si bien no cuenta con un editor visual de MXML, sí tiene autocompletado, destacado de sintaxis, etc. De todas formas, los precios de las licencias son desorbitantes…

Por ahora, con estas herramientas se puede desarrollar bien, ni que hablar aquellos que no usan un IDE. Cualquier editor de texto y la línea de comandos permiten desarrollar este tipo de aplicaciones, y la productividad alcanzada depende de cada uno, no de las herramientas. Digamos que es posible desarrollar Adobe Flex en GNU/Linux, pero como siempre, no con las mismas facilidades que en Windows. Esto no representa demasiada complicación para los usuarios avanzados de GNU/Linux (ya es costumbre), pero sí interfiere en la adopción masiva de las tecnologías (Ya sea desde el mundo GNU/Linux a Adobe Flex como la inversa).

Adobe debería darle más atención a la plataforma GNU/Linux, ya que son cada vez más los desarrolladores y empresas que la aprovechan. La carencia de herramientas para desarrollar en Flex podría verse aprovechada por la tecnología JavaFX, competencia directa de Flex, que ya está disponible para sistemas GNU/Linux.

Si quieren ayudar en algo, puede votar por el bug en el servicio de reporte de errores de Adobe, que pide un Flex Builder decente para GNU/Linux:
http://bugs.adobe.com/jira/browse/FB-19053

» Leer más, comentarios, etc...

Picando Código

Tekken: La película – Trailer

Enero 15th, 2010 - [Enlace local]

Recién me entero, que el videojuego de luchas Tekken va a ser llevado al cine. Cuando era más chico, Tekken era uno de los tantos juegos que jugaba en las maquinitas (arcades, fichines, etc.). El argumento es siguiente:

La historia nos sitúa en el año 2039, los mayores luchadores del mundo entero van a competir en el último y mayor acontecimiento deportivo de la época, el Torneo de Puño de Hierro. Después de que las guerras mundiales destruyeran la mayor parte de la civilización tal y como la conocemos, los territorios no están controlados por gobiernos, sino por corporaciones como la más poderosa, la cual es Tekken. Para contener las masas populares, Tekken patrocina el Torneo de Puño de Hierro en el cual los luchadores compiten hasta la muerte por ser el ganador y recibir una vida de fama y riqueza.

Tekken: La película

Tekken: La película

No sé mucho de la historia general del juego, simplemente jugaba algunas fichas y nada más. De todas formas, aparenta ser bastante fiel a la idea del videojuego. Veremos qué tan decepcionante o no termina siendo para los verdaderos fanáticos de la saga. A continuación el trailer para que se hagan una idea:

» Leer más, comentarios, etc...

Picando Código

Disponible Java 6 update 18

Enero 15th, 2010 - [Enlace local]

Está disponible la decimo octava actualización de Java SE de Sun: JDK 6 Update 18 y JRE 6 Update 18:

Plataforma Java de Sun

Plataforma Java de Sun

Entre las características de la actualización se encuentran mejoras en la performance del inicio de aplicaciones, tiempo de ejecución y despliegue.  Se incluyeron:

Pueden ver más detalles en las notas de la versión.

Sigue creciendo la plataforma Java este año, con el anuncio de Java EE 6, la evolución de Eclipse y NetBeans, y el crecimiento de Java FX. Personalmente seguramente llegue a usar Java EE 6 este año. También me está interesando bastante Java FX, que si bien no ha tenido un crecimiento muy pronunciado, se viene con todo. Ya está disponible JavaFXComposer para NetBeans, y por lo que ví está orientado a capturar desarrolladores del mundo Flash. Ni bien vea algo de eso, lo publicaré por acá.

Lo que queda es alguna novedad de JDK 7 y su versión libre este mismo año…

» Leer más, comentarios, etc...

Información legal y técnica