LiveSify
Hello world!
Junio 30th, 2009 - [Enlace local]
Hola, con este primer post se da por iniciada esta nueva aventura sobre blogging de diferentes tecnologias y enfocado directamente al entendimiento del humano comun.
Saludos y ahora si, a bloggear en serio.
» Leer más, comentarios, etc...
4 bits blog
Windows System Programming
Junio 30th, 2009 - [Enlace local]
Windows System Programming es un libro de introducción a la programación sobre Windows (Win32, aunque hay una breve introducción a Win64), con el lenguaje C.
He de decir que este libro no me ha sorprendido mucho, ya que en cuanto llevas algo de tiempo programando sobre Win32 y visitando la MSDN a menudo, te acabas conociendo las partes más utilizadas. Además, este libro es bastante antiguo (del 2004).
En general, no me convence la forma de explicar los temas por parte del autor, casi todos los capítulos se limita a copiar las diferentes funciones que se utilizan para hacer lo que sea, y a explicar cada uno de sus parámetros. Por lo que el libro se transforma en una especie de resumen de la MSDN.
De todo el contenido del libro me quedaría con los capítulos sobre los servicios de Windows y las estructuras de seguridad (SIDs, ACLs, ACEs) de Windows.
Aún así, puede servir como punto de partida para empezar a programar sobre Windows utilizando Win32, si no fuera por las pegas que he comentado.
Recomendación: Baja.
Nivel: Medio.
Idioma: Inglés.
» Leer más, comentarios, etc...
programania
Sale la versión definitiva de PHP 5.3
Junio 30th, 2009 - [Enlace local]
La blogosfera ya comienza a hacerse eco, y se puede descargar aquí. Recordemos que ésta versión trae mayor velocidad, nuevas características de POO, closures, namespaces, y todo de lo que ya hemos hablado por aquí.
Recordemos también que comienza la cuenta atrás para la llegada de Zend Framework 2.0
» Leer más, comentarios, etc...
Picando Código
[Video] – Hug a developer / Abraza a un desarrollador
Junio 29th, 2009 - [Enlace local]
Creo que vi este video por primera vez en Microsiervos, pero lo encontré de nuevo hace poco recorriendo el archivo de Casi un buen blog.
Muchos probablemente ya lo hayan visto, tiene su tiempo. Pero vale la pena verlo de nuevo, seguro con algo se sentirán identificados si trabajan en la industria del software. Abajo la traducción de los comentarios…
Los desarrolladores en todos lados están sufriendo un dolor terrible.
Siento dolor
Vamos 4 meses de un cronograma de 5 meses y acabo de recibir los requerimientos finales ayer (¡y cambiaron de nuevo!)
Paso la mitad de mis días en reuniones sobre cómo terminar mas trabajo (en vez de estar trabajando)
Mi jefe leyó en una revista que los desarrolladores que usan el lenguaje de programación “______” son dos veces más productivos. Así que nos compró una coopia y recortó nuestras fechas a la mitad.
Todos los días mi jefe cambia de parecer sobre lo que estamos construyendo.
La gente me sigue pidiendo que les arregle el e-mail, así que no tengo tiempo de escribir código.
Mi papá no tiene más tiempo para mí.
Un consultor le dijo a mi jefe que podían construir nuestra próxima versión en la mitad del tiempo, por la mitad del dinero. Él le creyó pero ahora se gastaron todo su presupuesto, usaron todo su tiempo y…
Apenas terminaron la mitad. Ahora se han ido y su código es un desastre. Tenemos que arreglarlo y terminar lo que comenzaron.
Abraza a un desarrollador hoy.
Y el último, gigante para los programadores de Visual Basic un
Acabo de terminar un curso intensivo de 6 semanas de Visual Basic.
El video fue creado por Devshop una aplicación hosteada de gestión de proyectos diseñada para planear proyectos de software específicamente.
» Leer más, comentarios, etc...
MadeInFlex
Flex y SEO
Junio 29th, 2009 - [Enlace local]
A continuación la presentación sobre Flex + SEO que Gonzalo Pezzi y yo dimos es la última reunión de MIF en Barcelona con motivo del Adobe Global Tour 2009.
La presentación trata sobre como tener los mismos beneficios que ya disfrutábamos con webs HTML tradicionales aplicados a una web Flex. Es decir, que el contenido sea indexable por buscadores, enlaces de profundidad ha contenidos, que tengamos habilitados los botones del navegador para ir adelante o atrás por las páginas de la web Flex y otros temas adicionales como es el multidioma, por poner un ejemplo.
La presentación se basa en la nueva web de Codeoscopic donde se implementan todos estos conceptos y que todavía estamos terminando de completar pero que ya vuestra a nivel técnico todas estas posibilidades.
También y como se anunció al final de la charla, pretendemos hacer la base de esta plataforma Open Source de forma que Codeoscopic empiece a realizar aportes a la comunidad dentro del ámbito OS.
» Leer más, comentarios, etc...
MadeInFlex
Fx4 I: Espacios de nombre
Junio 28th, 2009 - [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 hará una introducción a los espacios de nombres de Flex 4.
» Leer más, comentarios, etc...
Fetishcode...Thinking in objects
Productividad y mejoras en JDeveloper 11g
Junio 26th, 2009 - [Enlace local]
A
» Leer más, comentarios, etc...
Joan Garnet :: Arquitectura y desarrollo RIA
rialvalue.com/blog: Xavi Beumala
Junio 26th, 2009 - [Enlace local]
Ayer me enteré de que nuestro querido exiliado Xavi Beumala tiene nuevo blog: http://www.rialvalue.com/blog/.
Con lo ocupado que anda no sé qué nivel de actualización tendrá pero estoy seguro que el contenido será excelente y de gran interés para todos los Flasheros / Flexeros.
» Leer más, comentarios, etc...
Picando Código
JUGUY: Evento Web 2.0 en Java EE y nuevo sitio web
Junio 26th, 2009 - [Enlace local]
El JUGUY renueva su sitio web, y anuncia un evento en Montevideo.
Lanzamiento de la nueva Web del Juguy – www.juguy.org
Se lanza oficialmente la nueva página Web del Grupo de Usuarios – www.juguy.org
Ya se encuentra disponible y esperamos sus comentarios y críticas sobre la misma.
Mayor interacción
Esta nueva Web tiene como objetivo presentar el sitio mucho más simple y moderno, publicando noticias en forma más constante.Mas eventos presenciales
Una nueva idea que el grupo promotor está encarando es la de generar mós y mejores eventos presenciales en distintos lugares como Universidades, Empresas, etc.
Pronto se publicará el calendario de eventos ya confirmados que tendremos en el 2009

Sitio del JUGUY renovado
El primero de estos eventos presenciales:
Evento – Web 2.0 en Java EE (frameworks y productividad)
Agenda
18:00 – Charla de presentación del evento
18:30 – Grails in action
Descripción: Grails es uno de los principales frameworks de desarrollo de aplicaciones Web en Java EE. Esta charla pretende presentar este framework ejemplificando y viendo casos prácticos.
Expositores: Ing. Alejandro Mateo, Ing. Pablo Kamil, Ing. Leandro Bertolami
19:30 – JBoss Seam + Richfaces + JGenUI
Descripción: Analizar Jboss Seam como framework de aplicación utiilizando un proyecto open source uruguayo para generar código sobre esta tecnología
Expositores: Ing. Horacio Vico, Lic. Rodolfo Vazquez
20:20 – JBoss Seam experiencia real. Medidas de productividad e integración
Expositores: Ing. Ariel Ludueña, Ing. Martin Cabrera
21:00 – Mesa redonda sobre tecnologías para la capa de presentación (GWT, Seam, Grails, Java FX, JSF)
¿Dónde y Cuándo?
Lugar: Aula Magna de la Universidad Catolica del Uruguay
Fecha: 30 de julio de 2009
Horario: de 18:00 a 21:30 horas.
Contacto
Correo: mailto:info@juguy.org
Sitio web JUGUY: – www.juguy.org
» Leer más, comentarios, etc...
Yet Another Programming Weblog
MinGW publica GCC 4.4.0
Junio 25th, 2009 - [Enlace local]
El equipo de MinGW ha publicado los binarios de GCC 4.4.0 para Windows. De entre las novedades destacan un mejor tratamiento de excepciones, una versión de libstdc++ en forma de librería compartida, y soporte para TLS (thread-local storage), además de todas las novedades de la versión 4.4.0. Hay que recordar que la anterior versión soportada oficialmente era GCC 3.4.5. Más en reddit.
El manejo de las excepciones ha mejorado drásticamente debido a que se ha usado una implementación basada en DWARF, dejando de lado el viejo modelo SJLJ, que ya no estará disponible. Además con esta versión las excepciones ya pueden atravesar las fronteras de las DLL sin problemas.
La misma noticia y más comentarios en MinGW publica GCC 4.4.0 en barrapunto
» Leer más, comentarios, etc...
MadeInFlex
Transparencias de las presentaciones
Junio 25th, 2009 - [Enlace local]
Al final he encontrado el tiempo para colgar las presentaciones y el codigo que utilizé para mis sesiones de MIF Onsite IV.
Cualquier duda no dudeis en preguntar.
» Leer más, comentarios, etc...
Blog de Julio César Pérez Arques
Sobre pruebas y errores
Junio 24th, 2009 - [Enlace local]
Veo en las noticias las imagenes de una prueba de carga en un nuevo puente de una autovía en Galicia (España). Durante un momento me quedo absorto mirando la larga flota de camiones sobre el majestuoso puente. Impresiona. No puedo evitar pensar: Vaya! eso sí que es una prueba manual. Y luego yo quejándome sobre las pruebas manuales que hacemos en el desarrollo de proyectos software...
Bastan un par de segundos para darme cuenta de la tontería de mi reflexión. Si eso fuera una primera ejecución de una prueba exigente sobre un proyecto software recien construido, el puente se habría caido arrastrando a la flota de camiones tras él.
En el caso del puente, lo que no estamos viendo es todo el proceso de pruebas y control de calidad, que se ha realizado previamente en cada una de las fases del proyecto para evitar errores.
Pero comparar nuestro mundo de desarrollo software -¿ingeniería software?- con el de la construcción o cualquier otra ingeniería es una equivocación. Una equivocación torpe, injusta y desafortunada, porque, entre otras cosas, hace imaginarse a un programador como a un obrero. Así nos va.
Aunque centrémonos en los errores. Errar es humano. Obvio. A veces estamos distraidos, cansados, estresados, desmotivados o simplemente no somos perfectos y se nos escapan cosas.
Otro hecho es que los proyectos software salen a producción con demasiados errores. También obvio si estudiamos el ineficaz proceso de pruebas que se sigue en la mayoría de proyectos, basado en unas pruebas mínimas, manuales y sin documentar. Por lo que las pruebas dificilmente se repiten en el tiempo, aunque se modifique código afectado, haciendo aparecer nuevos errores o, peor aun, haciendo reaparecer viejos errores. ¿Vosotros compraríais algo cuyo proceso de pruebas fuera así?
Lo primero no tiene solución. Pero sí se puede minimizar el efecto. Contratando talento y con motivación.
Lo segundo sí tiene solución. Aplicar un proceso profesional de pruebas, basado en pruebas automatizadas, completas, independiente y repetibles. Los errores seguirán produciéndose, pero la mayoría serán detectados antes de llegar a producción.
Por supuesto, siempre hará falta alguna prueba manual pero, al igual que en el puente, será más un mero trámite de aceptación que el actual infierno de prueba y error sin fin.
» Leer más, comentarios, etc...
programania
Integración continua en PHP: ¿ Xinc o phpUnderControl?
Junio 24th, 2009 - [Enlace local]
Un servidor de integración continua es algo mucho más sencillo de lo que parece. Básicamente sólo se dedica a ejecutar un proceso periódicamente (cada cierto tiempo, o cada commit del repositorio) que automatiza el proceso de construcción del software (build). Para entendernos, uno podría programar un script de terminal que llamara al framework de pruebas unitarias, y al generador de la documentación y a los analizadores de métricas de código, etc… y que se ejecutara cada cierto tiempo mediante el cron, y con eso estaría haciendo integración continua. Siendo esto así, el servidor de integración continua es independiente del lenguaje en el que esté escrito el software que está integrando (todo esto ya lo comentaba Blaxter en un post anterior de este blog).
Sin embargo, me inclino por utilizar un servidor de integración continua específico para PHP. Y es que estos aportan soporte específico para herramientas de PHP como phpUnit, phpDocumentor, etc… con lo que simplifica mucho la configuración y, sobre todo, la visualización de los resultados obtenidos (Front End). Como siempre, dentro del software libre, tenemos bastantes soluciones de calidad variable. Para mí destacan principalmente dos: Xinc y phpUnderControl.
phpUnderControl es una adaptación de Cruise Control a PHP. Cruise Control es el servidor de integración continua (originalmente para Java, pero ahora con versión para .NET, Ruby, etc.) con una comunidad de desarrolladores más grande y activa. Como consecuencia, tiene una enorme cantidad de documentación y de extensiones desarrolladas. Para funcionar, utiliza herramientas típicas de Java como Ant, etc. aunque a efectos prácticos, configurar un proyecto para utilizarlo con CruiseControl es escribir un XML.
Xinc significa Xinc is not CruiseControl. Como se puede ver por su propio nombre, nace como alternativa a phpUnderControl. Su idea es crear una herramienta más específica para el desarrollo en PHP, escrita en PHP y que, por ejemplo, utilice Phing (el Ant de PHP) en vez del propio Ant. A efectos prácticos, también supone escribir un XML. Una de sus ventajas es que no necesita Java, así que puede funcionar en un LAMP necesidad de instalar nada más. Su comunidad de desarrolladores es mucho menor que la de CruiseControl, pero también es más específica para PHP.
Finalmente, David y yo nos hemos inclinado por phpUnderControl, por varias razones:
- Más documentación y extensiones desarrolladas. He sufrido muchas veces la falta de documentación. Da igual lo potente que sea un framework, herramienta o servidor: si la documentación no es extensa y rica en detalles.. no sirve.
- Desde el momento en que nuestras pruebas funcionales van en Selenium, ya necesitamos instalar Java… así que la posibilidad de utilizar un LAMP sin nada más desaparece.
- Aprendiendo Selenium y CruiseControl no solo aprendemos integración continua específica para PHP, sino que también obtenemos conocimientos aplicables a Java u otros lenguajes. Aprender Phing sólo es útil en PHP…
» Leer más, comentarios, etc...
Arragonán
Acerca del Sun Open Communities Forum
Junio 24th, 2009 - [Enlace local]
Los pasados 18 y 19 de Junio, estuve en Madrid para asistir al Sun Open Communities Forum, mi opinión sobre el evento es que hubieron más oscuros que claros, aunque tampoco me sorprendió demasiado vista la web del evento y la agenda publicada.
Sobre las charlas, opino como Abel Mendivil, se pueden agrupar en fuera de lugar, falta de profundidad y las que tenían fundamento.
Como suele ser habitual en estos eventos, los patrocinadores tenían charlas y algunas eran paja en un evento para programadores, o lo parecían, ya que el segundo día no fuí a ninguna de las que tenían esa pinta: la mesa redonda sobre open source, la de redes sociales, madridonrails… al menos para mi no son productivas. Otras me resultaron aburridas, un tanto básicas, y sobre todo en las que eran en inglés, desconectaba con facilidad. Por lo que, como ya he dicho, me pegué parte del segundo día trabajando en unas mesas fuera de las salas, que en algunos momentos casi se quedaban hasta pequeñas.
Pero también hubieron charlas interesantes:
- Las de Jorge Sánchez sobre ESB, que por no haber trabajado mucho en integración me resultaron curiosas.
- La -no- charla de Francisco Morero, donde nos pedía a los asistentes que comentásemos aplicaciones exóticas desarrolladas con Java, y se acabó regalando un iPod como premio :).
- La de Javier Ramírez acerca de JRuby on Rails, que aunque para mi no dijo nada nuevo, me gustó el enfoque que le dió a su charla de pasar un poco por Ruby, luego por Rails y finalmente ver como integrar con Java usando JRuby.
- La de Dave Currie acerca de escalabilidad con MySQL, donde tampoco se dijeron cosas especialmente novedosas que no haya escuchado ya en otros eventos, pero siempre es interesante ver las soluciones tomadas en un caso real concreto(también me resultó gracioso que usara el topicazo de que Ruby on Rails no escala XD).
- Desarrollo y test de componentes Ajax de Ignacio Coloma, sobre todo la parte de testing es la que más me gustó, y junto a la charla que dió el año pasado, tengo muy claro que sabe mucho de desarrollo web.
En cuanto a los talleres, el primer día asistí al de Spring 3.0 que impartía Sergi Almar, donde hubieron problemas de espacio en la sala, no habían suficientes tomas de corriente y los usuarios de Mac no pudimos seguir el taller por un problema de última hora, una pena que ante tantos problemas nos quedáramos sin tiempo para ver finalizar el taller completo, tal y como pasó el año anterior :S. El segundo día, fuí al de Grails que impartían conjuntamente Nacho Brito y Álvaro Sánchez-Mariscal, donde de nuevo nos quedamos sin concluir el taller completo, realmente había mucho que decir y el tiempo se terminó consumiendo :S.
Sobre el tema puramente organizativo, hubieron algunos detalles mejorables: Las salas estaban bien pero no habían enchufes, nada más llegar al campus Montepríncipe no había ningún cartel ni indicación, tampoco se nos dieron identificaciones a los asistentes y ponentes, la tarde del segundo días se cambió la sala de las charlas del track 1 y no se pudieron emitir por streaming…
Pero lo que más eché en falta fué más tiempo para charlar/saludar/conocer a otros asistentes y ponentes, que hubiera sido fácilmente solucionable “convocando” a quien quisiera a quedar en algún lugar a tomar unas cervezas(lo que los modernos llaman networking :P), cosa que sí pude hacer con unos pocos y a otros no pude más que saludarlos y poco más :S.
Como podéis ver, un poco de todo en el evento. Veremos si Sun/Oracle siguen celebrando un evento de estas características en España, y si lo hacen, esperemos que intenten organizarlo para que resulte más interesante.
» Leer más, comentarios, etc...
programania
Control de las funcionalidades de un producto con Google Docs
Junio 23rd, 2009 - [Enlace local]
Animado por el artículo de Enrique sobre el uso de Google Docs para la gestión funcional de un proyecto, publico un artículo que llevaba tiempo pensando sobre cómo lo estoy haciendo yo ahora mismo. Obviamente, el sistema que os expongo está basado en SCRUM, aunque no me atrevería a decir que estoy “haciendo SCRUM” precisamente. Si los términos que utilizo en el artículo (Product Backog, Iteration Backlog, etc…) te son nuevos, quizá te interese leerte éste estupendo libro de introducción a SCRUM. La captura que muestro a continuación, como se puede ver claramente, es inventada.
La razón por la que utilizamos Google Docs y no la clásica pizarra de SCRUM es porque el equipo no se encuentra físicamente en el mismo sitio. Quizá en el futuro utilicemos herramientas más específicas para la gestión de las user stories, iteration backlog e increment … pero a día de hoy éste sistema nos está funcionando por lo sencillo y visual que es.
El objetivo de la gestión es planificar, ejecutar y controlar. Veamos a continuación cómo planificamos, ejecutamos y controlamos el valor funcional de la aplicación.
Algunos apuntes sobre la ejecución:
- El documento recoge tanto el Iteration Backlog como el Increment. Pero es un documento que sólo ve el equipo. El cliente puede ver el Product Backlog (que está en un documento a parte) y se le envía una versión “más redactada” del Increment.
- Cada iteración está en una tabla. Las tablas se guardan todas en el mismo documento, de tal manera que si vamos bajando por el documento podremos ver el backlog de las anteriores iteraciones. Las iteraciones se nombran con el primer día que se ejecutan (Iteración 18-05-2009) . Suelen ser de dos semanas.
- Todos los proyectos son gestionados desde el mismo Iteration Backlog.
- Marcamos la prioridad de una funcionalidad dentro de una iteración con [1],[2] y [3].
- Se puede saber en qué estado está una Iteración porque:
- Si está a la izquierda y sólo pone la prioridad([1]), es que está sin empezar.
- Si está a la izquierda pero pone la prioridad y un dueño ([1][Luis]), es que está empezada y la está haciendo Luis.
- Si está a la derecha, es que está terminada.
- En el incremento, además de los items terminados en la iteración, se añaden los unplanned items ([U]), defectos ([D]) y cuestiones técnicas abordadas ([T]). Supongo que para los defectos sería mucho mejor utilizar un Issue Tracker, pero normalmente los clientes suelen querer comunicarse solo por teléfono, y bastante cuesta ya hacerles escribir un mail… como para intentar que se peguen con un Issue Tracker…
- Los defectos tienen siempre prioridad sobre el desarrollo de nuevas funcionalidades.
- La trazabilidad del proyecto es enorme, no sólo porque así tenemos un histórico de todas las iteraciones, sino porque el Google Docs guarda versiones de cada cambio que se hace.. así que podríamos retrotraernos a cualquier situación pasada del documento.
Forma de detectar cómo va la iteración (controlar):
- Si se están generando muchos Unplanned Items ([U]) es que algo se diseñó mal.
- Si se están generando muchos Defectos ([D]) es que la aplicación no está suficientemente probada.
- Si se están atacando funcionalidades de prioridad [2] sin haber terminado las de prioridad [1], o se están atacando funcionalidades sin haber corregido los Defectos, probablemente se esté programando en el orden incorrecto.
- Otras cuestiones muy relacionadas con las funcionalidades, las iteraciones, sería el control de costes y plazos: lo voy a dejar fuera del artículo por no extenderme.
Algunos apuntes sobre planificación de las funcionalidades que se incluyen en cada iteración. En cada iteración se meten una serie de funcionalidades de el/los Product Backlog. Esas funcionalides cumplen que:
- Es la mayor cantidad de funcionalidades que se pueden hacer en dos semanas.
- Son las funcionalidades que más valor añaden a la aplicación.
- Camino crítico: desarrollar esas funcionalidades ayudan a descubrir posibles nuevos requisitos de forma lo más temprana posible (aunque no sea la que más valor añade), eliminar incertidumbres y hacer pensar al cliente (feedback) en qué es lo que quiere realmente. Esto también puede incluir desarrollar funcionalidades que ayuden a descubrir el diseño técnico (orientación a objetos, patrones de diseño) de la aplicación.
- La que el cliente exija (a veces no hay más remedio: hay que implementar funcionalidades que el cliente exija aunque se le argumente que no son las que más valor añaden o las que más ayudan a descubrir la forma exacta de la aplicación).
- Se evita programar funcionalides que no puedan probarse o ponerse en producción cuanto antes. Ejemplo: “Informe anual de ventas”, implementar éste informe en la primera iteración del producto, cuando todavía la empresa no ha introducido ni una sola venta, hará que no pueda probarse correctamente y traerá problemas meses después.
- Resolver defectos tiene más prioridad que desarrollar nuevas funcionalidades, aunque dependerá de la gravedad del defecto. Los defectos son difíciles de planificar porque no sabes ni cuando ni cómo saldrán.
- Es importante saber dividir o juntar funcionalidades para poder adaptarlas al tamaño de la iteración. No sirve para nada hacer “Listar facturas”, si no tienes un “añadir facturas”. Deberán ir en la misma iteración. Quizá “buscar facturas” pueda ir en la siguiente iteración, pese a que todo ello fuera planificado originalmente como “gestionar facturas (listar, añadir, modificar, eliminar, buscar)”.
» Leer más, comentarios, etc...
Fetishcode...Thinking in objects
JDeveloperLA en el Kaleidoscope 2009
Junio 22nd, 2009 - [Enlace local]
A
» Leer más, comentarios, etc...
Joan Garnet :: Arquitectura y desarrollo RIA
Subflash reloaded
Junio 22nd, 2009 - [Enlace local]

La comunidad de desarrollo Subflash ha pegado un estirón y ha dejado de ser exclusivamente un foro, de hecho esto es una cosa que la organización lleva años preparando y que por fin ha dado su fruto.
Desde hace unos días cuando accedes a subflash.com te encuentras un blog repleto de información referente a la organización de los talleres de verano.

Y hablando de los talleres de verano… no está de más mencionar que ya se han abierto las inscripciones para este año que, al igual que el pasado, van a tener lugar en Alicante. Será durante los días 28, 29 y 30 de Agosto en la Villa Universitaria de Alicante a un precio inmejorable de 100 EUR.
Ahora mismo quedan 32 plazas ( yo ya he reservado la mía! ) de las 50 de las que se dispone, lo cuál no está nada mal teniendo en cuenta que solo hay una charla confirmada :)
Dejo aquí algunos enlaces de interés:
- Micro site talleres 2009
- Parrilla de sesiones
- Formulario de registro
- Acceso a los micro sites de otros años
Nos vemos en Alicante!
» Leer más, comentarios, etc...
Arragonán
Primeros días de Jobsket en abierto
Junio 21st, 2009 - [Enlace local]
Como supongo que ya sabréis los que os pasáis por aquí(o deberíais :P), hace un par de semanas que jobsket ha salido de la beta cerrada, durante este tiempo hemos recibido bastante feedback de los usuarios(muchas gracias a todos!).
Nos ilusiona mucho la repercusión que hemos visto por internet, y que incluso acabara nombrándose en la sección Espai Internet del Telenotícies cap de setmana de TV3(evidentemente, en catalán). Por otro lado, para los técnicos :), también me hizo una pequeña entrevista Nacho Brito para groovy.org.es acerca de como usamos Groovy y Grails en Jobsket.
A seguir trabajando!
» Leer más, comentarios, etc...
programania
Gestión de proyectos: objetivos
Junio 19th, 2009 - [Enlace local]
A continuación, un esquema MUY básico sobre lo que es la gestión de proyectos, que utilizaré en artículos posteriores para divagar un rato sobre metodologías ágiles e ingeniería del software.
Un proyecto es:
- un conjunto de recursos limitados (personas, ordenadores, etc.)
- que realizan una serie de actividades interrelacionadas
- para conseguir un objetivo.
- definir el proyecto (recursos, actividades y objetivos)
- ejecutarlo
- controlarlo
- Gestión de la integración del proyecto.
- Gestión de costes.
- Gestión de la calidad.
- Gestión de tiempos y agendas.
- Gestión del alcance del proyecto.
- Gestión de la comunicación en el proyecto (incluido el cliente).
- Gestión de la transmisión del conocimiento (pair programming, empowerment).
- Gestión de los riesgos.
- Gestión de proveedores.
La madurez del proceso se mide por:
- repetitividad de resultados
- Escalabilidad
- Mejora contínua
- know-how propio
» Leer más, comentarios, etc...
MonoCaffe
Muerte a Tomboy, Larga Vida Gnote
Junio 18th, 2009 - [Enlace local]
Desde hace ya algún tiempo llevo utilizando Tomboy para mantener notas a mano. Es una excelente aplicación por su sencillez y velocidad. Si además, lo hacemos funcionar con Dropbox, pues tendremos nuestras notas en donde las necesitemos.
Pero siempre he tenido un noséque con Mono que no me gusta. Todo se reduce al tema de ver binarios .EXE en mis sistemas, lo que me da bastante grima
Aparte de esto, y de otros temas sobre licencias y patentes, las aplicaciones hechas con Mono son excelentes: Monodevelop, F-Spot y Tomboy las más conocidas. De hecho, MonoCaffe se inicio como un proyecto sobre Mono pero que al final decidí reiniciar en un entorno más "limpio" y estable, pero eso es otra historia. La verdad es que Mono no trae nada nuevo a GNU/Linux y dudo que haya algo que sólo se pueda hacer en Mono que no se pueda en ningún otro lenguaje de los ya existentes y sin preocupaciones.
Dada las noticias sobre Fedora eliminando Mono de su distribución (no completamente, se puede instalar, pero de forma opcional) me he enterado de Gnote el cual es igual a Tomboy, excepto por alguna funcionalidad. De hecho, según el sitio de Gnote, éste es un port a C++ lo cual lo hace más rápido que Tomboy.
El primer problema que encontraremos con las versiones del momento (Junio 2009) es que no existe una funcionalidad para sincronizar notas. La verdad es que con Tomboy esto tampoco funcionaba (de hecho perdí algunas notas por su culpa) pero la formula que utilizaba Tomboy + Dropbox, también funciona con Gnote.
Adiós Tomboy
Gnote trabaja con unos ficheros XML con la extensión ".note" que son los mismos que utiliza Tomboy, por lo que para utilizar nuestras notas de Tomboy en Gnote, sólo tendremos que copiarlas de un directorio a otro:
$cp ~/.tomboy/*.note ~/.gnote/
Gnote + Dropbox
Dropbox debería ser una herramienta disponible en el "multiverse" de Ubuntu y de todas las distribuciones. La verdad es que es muy útil y sencilla de utilizar. Instalarla es muy sencillo, sólo es necesario ir al sitio Get Dropbox y descargar el DEB para Ubuntu. A continuación creamos la cuenta de dropbox que nos dará 2GB de forma gratuita y repetimos estos pasos en cada uno de nuestros entornos.
Lo siguiente será añadir Gnote a nuestra barra de herramientas. Dado que no existe dentro del los repositorios de Ubuntu todavía (para Karmic Koala sí) habrá que añadirlo siguiendo las instrucciones aquí detalladas.
Una vez que tenemos el icono de Gnote, abrimos una consola y ejecutamos el siguiente comando:
$killall gnote
GNOME mostrará una ventana advirtiendo que la aplicación ha dejado de funcionar y si deseamos recargarla. Contestad que no y abrid una instancia de Nautilus y navegad hasta el directorio compartido de Dropbox (~/Dropbox) donde creamos una carpeta llamada "gnote" o "notes" o como queráis.
Lo siguiente será copiar todo el contenido de la carpeta de Gnote (~/.gnote) a esta nueva carpeta que hemos creado y eliminarla.
Finalmente creamos un enlace simbolico llamado ".gnote" al nuevo directorio. En una consola sería algo así:
$killall gnote
$mkdir ~/Dropbox/gnote
$cp ~/.gnote/* ~/Dropbox/gnote/
$mv ~/.gnote /tmp
$ln -s ~/Dropbox/gnote/ ~/.gnote
Ahora volver a añadir a Gnote a la barra de herramientas y listo. Repetid esto en todos vuestros entornos -menos el paso en el que se copia el directorio ".gnote" ya que borrareis las notas que tengáis- y siempre tendréis las notas a manos. El mayor inconveniente de esto es que, aunque podremos ver nuestras notas desde el sitio de Dropbox, al estas ser XMLs, no podremos verlas en línea. Habrá que descargarlas y abrirlas en local.
Adiós Mono
Dado que ya podía eliminar Tomboy de mi sistema y no utilizo ninguna otra herramienta basada en Mono, pues podemos hacer algo de limpieza. Para eliminar Mono y todo lo que tenga que ver con éste en Ubuntu, ejecutamos el siguiente comando:
$sudo aptitude purge mono-common libmono0
Aceptad el calculo de dependencias y esto removerá todo.
» Leer más, comentarios, etc...
Blog de Julio César Pérez Arques
Nuevo cambio de look y AdSense
Junio 17th, 2009 - [Enlace local]
Aprovecho para anunciar un par de cambios en el blog: (1) nuevo cambio de look y (2) AdSense.
Hacía tiempo que me había cansado del anterior template, un día sin querer dí con este The Journalist y hoy he decidido probarlo, tras unas mínimas modificaciones. No tiene más.
El tema de AdSense sí requiere un poco más de explicación. No pretendo monetizar el blog. No creo ni que le fuera a sacar un euro aunque lo intentara. Sin embargo, sí quiero probar AdSense y ver cómo funciona de primera mano. Últimamente se me ha reactivado la vena emprendedora, así que quiero ver cómo va esto de la publicidad.
Como siempre, cualquier opinión sobre alguno de los 2 temas será más que bievenido!
» Leer más, comentarios, etc...
Fetishcode...Thinking in objects
Logs y Detección de Errores en OAS
Junio 17th, 2009 - [Enlace local]
A
» Leer más, comentarios, etc...
xailer.info (esp)
Nueva versión de Xailer 2
Junio 17th, 2009 - [Enlace local]
Estimados usuarios de Xailer,
Ya está disponible una nueva versión de Xailer 2 Beta con importantes mejoras y novedades que esperamos sean de vuestro agrado. No obstante, esta nueva versión incorpora un importante rediseño de los ‘DataControls’ que esperamos no provoque grandes problemas en las aplicaciones existentes. Es nuestra intención resolver todos aquellos problemas que surjan para que el nuevo diseño sea totalmente compatible con el anterior y por lo tanto la actualización a la nueva versión se produzca sin sobresaltos. Pero aquellos de vosotros que se decida a utilizar esta nueva versión desde el primero momento ha de ser consciente de este posible problema. A todos los que os animéis a probarla os quedamos muy agradecidos de antemano.
Desde un punto de vista funcional el principal cambio es la eliminación de los métodos GetValue y SetValue tanto a nivel de TDataset como a nivel de TDataField ya que desaparece el buffer de edición en la clase TDatafield, al menos el acceso directo al mismo. A partir de ahora sólo será necesario utilizar los métodos FieldGet y Fieldput en el dataset y la propiedad Value del TDataField. Otro cambio importante que os puede afectar, aunque esperamos que no sea así, es que excepto con los datasets del tipo TDbfDataset es necesario entrar en edición con los métodos Edit o FastEdit para modificar cualquier campo del registro o fila activa. En la ayuda, el capítulo de ‘Introducción a los datacontrols’ ha sido modificado con los nuevos cambios.
Otras mejoras importantes incluidas en esta versión son:
- Información visual de líneas modificadas en el editor de código
- Autoindentado de estructuras de control en el editor de código (solo para PRG)
- En la clase TReport, soporte de alineación izquierda y derecha a la vez en el ‘title’, ‘header’ y ‘footer’ utilizando el separador ‘||’
- Nuevo método TDataset:GetRow()
- Soporte de la cláusula LIMIT y campos ‘DateTime’ en TMySQL
- Soporte de comodines ‘%’ en la ‘Filter Bar’ del TDBBrowse para cualquier tipo de Datasource
- Nuevos ejemplos de Datacontrols y uso de librería Zip
Además hemos empezado a realizar las adaptaciones en todo el código fuente para que acepten su compilación, bien a traves de MinGW como de PellesC.
Nos habría gustado haber incluido el soporte del control nativo de Windows ‘ListView’ que está practicamente terminado, pero no ha dado tiempo. Seguro que estará en la próxima actualización.
Podéis encontrar la nueva versión de Xailer 2 Beta en el siguiente enlace:
http://www.xailer.com/files/xailer20beta.exe
Requiere una nueva versión xHarbour que podéis descargar desde la siguiente dirección:
http://www.xailer.com/files/xharboursetup2.exe
Os recordamos que está versión de Xailer sólo está disponible para usuarios con suscripción activa. Leer el artículo Novedades de Xailer 2.0 para más información.
Un cordial saludo,
[El equipo de Xailer]
» Leer más, comentarios, etc...
programania
Pruebas unitarias y funcionales en PHP
Junio 17th, 2009 - [Enlace local]
Los principales frameworks de pruebas unitarias en PHP:
Comparartivas:
Pruebas funcionales:
- Zend_Test, extensión e phpUnit para probar el MVC del Zend Framework.
- Acceptance test in php with Selenium.
Integración continua:
Extra point:
- phpSpec: Behaviour Driven Development (BDD) en PHP.
- Mock Objects in phpUnit.
- Mockery: an independent Mock and Stub framework for PHP.
- Pruebas unitarias mutantes.
- Pruebas unitarias y base de datos.
Mi elección es phpUnit. Y es que pese a que es verdad que su mecanismo para Mock Objects es peor que el de SimpleTest, y que escribir pruebas es más pesado que en phpT, es el framework de pruebas unitarias en PHP que elige Zend Framework (y su Zend_Test) y su creador (Sebastian Bergmann) es el que más activamente está desarrollando extensiones para base de datos, etc… así que, si todavía tienen puntos débiles, con el tiempo será el aceptado por todo el mundo. Además, Bergmann es el principal promotor de phpUnderControl, el framework de integración continua que hemos decidido utilizar David y yo (ya explicaremos más ampliamente en su momento el por qué).
» Leer más, comentarios, etc...
avemundi, blog de un micro-isv » Desarrollo de software
apple design awards 2009
Junio 16th, 2009 - [Enlace local]
Desde hace varios años, Apple organiza un congreso mundial de desarrolladores conocido como WWDC, y en el marco de este congreso otorga los los premios a los mejores programas para su entorno, los llamados Apple Design Awards o simplemente ADA. Estos premios se otorgan a las aplicaciones que destacan tanto por su excelencia técnica, su integración en el entorno Mac y su carácter innovador. Las aplicaciones premiadas sirven para hacerse una idea del nivel del software existente en el mundo Mac, donde se consigue aunar funcionalidad y elegancia muchísimo más que en cualquier otro entorno. Este año las aplicaciones premiadas, en la categoría de aplicaciones para Leopard, han sido las siguientes:
- Billings: una aplicación de facturación para profesionales y medianas empresas.
- BoinxTV: un estudio de televisión dentro de un Mac, y que fue una de las aplicaciones del último MacHeist.
- Things: la aplicación GTD de referencia en entorno Mac.
- Versions: un cliente standalone para Subversion.
- Fontcase: una aplicación de gestión de fuentes tipográficas con un espléndido interfaz.
Basta hacer una visita a cualquiera de las web de estas aplicaciones para hacerse una idea de cómo las gastan los programadores Mac.


