sábado, mayo 20, 2006

Democrazy TV

A medida que el ancho de banda aumenta también aumentan las posibilidades y lo que hace dos años era algo en lo que se pensaba como un proyecto de futuro es hoy una realidad, es decir, la televisión por internet.

Como para todo, para esto también existe una gran variedad de opinión. Hay quienes están a favor y otros por el contrario en contra de la televisión por internet. Mi postura es a favor, sobre todo de proyectos como Democrazy, gratuito y basado en licencias GPL. Todo el mundo tendrá al menos un rincón en internet donde elegir otro tipo de televisión diferente. Espero que este proyecto ayude a la realización de programas sin ningún tipo de censura, expresando las ideas libremente, como ocurre con los blogs.

Este puede ser un proyecto interesante para contribuir en su desarrollo, lo están desarrollando en Python, así que si alguien se siente con ganas, creo que se puede aprender mucho.

Galería de Pinturas Blog

Con este post pretendo daros a conocer un nuevo blog, el cual, pertenece a la Galería de pinturas. Espero que os guste, en él escribiremos Antonio Meléndez y yo. Como ya comento en el primer post, hablaremos sobre arte, aquí la mayor aportación la hará Antonio, porque como sabéis lo mio es más la informática, aunque no dejo de apreciar e interesarme por todo aquello que rodea al mundo del arte.

Posiblemente me encargue de publicar yo mismo los post que Antonio me vaya indicando, así que, si realmente os interesa, os animo a que os subscribáis, sólo necesitáis introduccir vuestra dirección de correo en subscripción y seréis avisados cuando mandemos un nuevo post. Así que, hasta pronto !!!

viernes, mayo 19, 2006

Subscripción

Cuando navegamos por internet y encontramos sitios que nos gustan, como por ejemplo, un blog interesante, en principio sólo tenemos dos opciones: añadirlo a favoritos, el cual puede ser una maraña de enlaces, o no volver a visitarlo. Y digo en principio porque hay otra alternativa, la cual a mi gusto es la más cómoda, ésta es la subscripción, porque es mejor que nos notifiquen cuando se ha enviado un nuevo post a un blog que andar mirando de vez en cuando teniendo encima que buscar el enlace dentro del lio que tenemos entre nuestros favoritos.

Pues bien, he añadido a este blog un sistema de subscripción, FeedBlitz, el cual es gratuito y que todo aquel que tenga un blog u otra web puede usar. Esto no es sólo una ventaja para nuestros lectores, tambiés es para los editores, ya que recordamos a nuestros lectores que seguimos ahí.

Wifi gratis en cualquier lugar

Hace cuestión de tres años comentaba con mis compañeros la posibilidad de que en el futuro se creara una red wifi tan extensa como para no necesitar cables para conectarnos a internet, la posibilidad de que los nodos de internet estuvieran todos conectados mediante wifi. Pues bien, parece que a un señor, Martin Varsavsky, como estoy seguro a mucha más gente, le surgió la misma idea, con la diferencia de que él la está llevando a cabo, y me quito el sombrero. Me parece una gran apuesta en beneficio de todos.

En concreto me estoy refiriendo al proyecto FON, gracias a éste, si tienes una conexión wifi puedes compartir una porción de la misma mediante tu router wifi y tendrás derechos para poder conectarte a cualquier punto FON que te encuentres cuando viajes. Si quieres más información visita su sitio www.fon.es, en su faq te explican claramente en qué consiste todo esto y cuáles son las reglas.

Para terminar con este post, me gustaría haceros una referencia a una noticia que apareció hace unos dias en el periódico El Mundo, en la que se habla de FON. El titular de la noticia: Las sedes de los socialistas madrileños ofrecerán WIFI por un acuerdo con FON.

viernes, mayo 12, 2006

CMM vs Agil


Hace unos días asistí a un evento de Microsoft, de los que he ido, quizás sea el que más me ha gustado. El evento consistía en un foro para hablar sobre las metodologías de madurez en la gestión del software, es decir, CMM (Capability Maturity Methodology)

El foro contó con la intervención de Coritel, Caixa Galicia, Borland y Microsoft. Coritel nos comentaba que han conseguido el nivel 5 en CMM y que para ello han tenido que invertir mucho dinero pero que los frutos han sido muy satisfactorios, hasta el punto de llevar 60 proyectos concurrentes con 740 personas y llegar a ser competitivos con la India. La verdad es que, en mi opinión, la CMM se ajusta bastante a la labor de una Software Factory como Coritel.

Por otro lado, Caixa Galicia nos comentaba que han llegado al nivel 3, con una inversión aproximada entre 2 y 3 millones de euros. Nos mostraron una herramienta que ellos mismos habían desarrollado para cumplir con los niveles del CMM, la cual les estaba facilitando la vida enormemente. Con esta herramienta se gestiona el alta de peticiones de usuarios, su estado de aceptación, su estado de evolución, etc. quedando dicha evolución clara y transparente en todo momento.

Borland se centró en detallarnos un poco más en qué consistía el CMM, todos sus niveles y que ofrecían consultorías para ayudar a las empresas en la dura tarea de superar los niveles del CMM. Y finalmente, Microsoft nos dio una explicación sobre la metodología Agil, dejando ver que quizás lo importante no sea la metodología Agil, CMM, etc, sino tener una que nos funcione, porque a cada empresa, grupo de desarrollo, etc. le puede ir mejor una u otro pero lo que esta claro es que la metodología es necesaria.





sábado, mayo 06, 2006

Impresoras 3-D

Hace una semanas bromeaba con mis compañeros sobre la impresión en 3-D. Lo hacía porque soy el autor y responsable de una herramienta que he desarrollado en la empresa en la que trabajo y la cual consiste en un editor para formularios de impresión basados en el standard WOSA. Teníamos la necesidad de implementar la posibilidad de editar a dos caras y se nos planteaban dudas como la de si algún día haría falta una cara más lo cual nos llevaría a pensar en 3-D, claro, nos reimos un poco.

Mi sorpresa vino cuando, hace unos días, leyendo la revista "Muy Interesante" veo un artículo que indica que hay empresas como MIT y BASF que ven la posibilidad de que en el futuro cualquier persona pueda imprimirse los artículos que compra por internet, como una maquinilla de afeitar u otra cosa parecida. Movido por la curiosidad investigo un poco y descubro que desde 2003 , al menos, se habla del tema. Además, hay al menos una empresa, Z Corporation, que comercializa impresoras 3-D. Estas impresoras son dedicadas a la impresión de prototipos de artículos, lo cual facilita y agiliza la rectificación de los diseños de objetos.

Aunque quizás lo que más me ha sorprendido haya sido la posibilidad de imprimir órganos vitales como podréis observar en medGadget.

Está claro que no podemos tomarnos a broma casi nada, aunque a priori nos parezca ciencia ficción.



martes, abril 25, 2006

Evolución de las herramientas de desarrollo de software

Como todo el mundo sabe, el desarrollo de software conlleva varios procesos, no sólo el desarrollo como ocurre en algunos entornos dominados por los malos modos a la hora de abordar un proyecto.

Los procesos a los que me refiero abarcan desde la recogida de especificaciones hasta la puesta en producción del producto. Hoy en día, las herramientas de desarrollo se están convirtiendo en entornos configurables según el rol del que las utiliza, por tanto habrá tantas vistas como roles tengamos. En principio se podría hablar de cuatro roles fundamentales: jefe de proyecto, arquitecto, analista/desarrollador y testeador.

La función de cada uno la conocemos todos, pues bien, todos trabajarán con la misma herramienta de forma ordenada en función a una perspectiva sobre la misma información. Esta información es toda la referente al proyecto, incluidas las tareas, el código fuente, los documentos que generan los arquitectos para orientar a los anialistas/desarrolladores (GUIDANCE) y por último los que verifican que el software cumple con unos requisitos mínimos de calidad, los testeadores, rol cada vez más importante y en contradicción menos considerado.

Ejemplos de estas herramientas los hemos visto aparecer recientemente, es el caso de IBM Rational y Visual Studio Team System.

De los dos ejemplos, quizás el que mejor conozco es el de Visual Studio Team System y en mi opinión me parece que está bastante bien, y no es por echar flores a nadie, ya que cada uno está implementando la misma idea de la mejor manera posible.

No voy a entrar a detallar qué características tiene esta herramienta, pero sí pensar en la ventaja y el beneficio que pueda tener un jefe de proyecto para controlar un proyecto en .Net siempre y cuando esté bien dividido en hitos y tareas, ya que gracias a esta herramienta, al estar todo integrado y sincronizado en una base de datos sobre la que se basa, como no, SQLServer, se puede saber en todo momento qué porcentaje de cada tarea está cubierto, ya que todo desarrollador, al hacer checkin está proporcionando qué es lo que se libera y qué es lo que está completo. Y esto es sólo un pequeño ejemplo.

lunes, abril 24, 2006

Posicionamiento

Hace un tiempo que no escribo, lo cual tiene fácil explicación si os digo que he estado patrocinando la galería de pinturas. No tenía mucha experiencia en dicho trabajo, ya que siempre que he hecho algún trabajo similar nunca he tenido que hacer que llegara al público.

La verdad es que me ha gustado la experiencia, hay todo un mundo detrás del posicionamiento de las páginas en los buscadores, por tanto considero que sólo he aprendido un porcentaje mínimo sobre este tema. De todos modos, espero seguir aprendiendo y mejorando las técnicas para optimizar el rank en los mejores buscadores. Algún día, reuniré dichas técnicas y las publicaré en un post. Lo que si tengo claro es la infinita importancia que tiene este labor, ya que, de nada vale si publicas un sitio y nadie lo visita.

Una de las tareas que he realizado ha sido la de introducir un sistema de subscripción en la página, de este modo, de una forma sencilla y cómoda, el subscriptor podrá estar enterado de todas las actualizaciones que sean llevadas a cabo en ésta.

lunes, abril 03, 2006

Mejoras en la Galería

Sólo quería comentaros que he estado el fin de semana trabajando un poco en la Galería de Pinturas y los cambios los he subido. Además he cambiado el sitio de alojamiento, antes lo tenía en un host gratuito (Lycos), ahora está en un sitio de pago, espero con ello mejorar el servicio.

Las modificaciones consisten en un sistema de paginación, de modo que sea más cómodo dar un paseo por la Galería, y que al maximizar el cuadro lo hace sobre la misma página, permitiendo paginar de cuadro en cuadro dentro de la categoría seleccionada.

Espero que os guste, y como siempre, si queréis hacer algún comentario, soy todo oidos.

viernes, marzo 31, 2006

Componentización de software

Parece que la industria del software se está moviendo hacia lo que se conoce como la componentización. Este concepto se podría definir como un nivel superior de abstracción a la programación orientada a objetos.

La importancia de la componentización radica en las ventajas que ésta proporciona:

  • Incremento de la productividad, debido entre otros motivos a la reutilización de código.
  • Abarata costes, la mano de obra no necesita estar tan especializada.
  • Mejora el rendimiento, si la arquitectura y el framework ofrecen un buen rendimiento, será más fácil hacer un desarrollo eficiente y mejorar la calidad de vida para el soporte.
  • Mayor calidad, dado que las funcionalidades están aisladas en los componentes es posible optimizar éstos sin que ello afecte a los desarrollos realizados sobre los mismos. Si quieres conocer más sobre la calidad, profesores de la Universidad de Málaga (España) han publicado el siguiente artículo Aspectos de Calidad en el Desarrollo de Software Basado en Componentes
  • Posibilidad de comprar componentes a terceros e integrarlos fácilmente.
  • Reutilización de código.
  • Agiliza el ciclo de vida del desarrollo del producto.

Por último, citaros un ejemplo real Fujitsu - Caja Laboral - MDCS-TPnet


¿Qué es SOA?

Las siglas vienen de service-oriented architecture, o mejor dicho, arquitectura orientada a servicios, en pocas palabras, SOA es un conjunto de servicios conectados entre sí. Para entenderlo mejor vamos a ver qué es un servicio y cómo se comunican unos con otros.

* Servicio: en definitiva un servicio es una función que no tiene dependencia del contexto en el que es solicitado, podríamos llamarlo auto-contenido y bien definido.

* Conexión: es normalmente llevada a cabo a través de los WS (Web Services) los cuales no son más que la tecnología necesaria para poder conectar con un servicio. Aquí podríamos explicar tres elementos importantes:

  • WSDL: Web Service Description Language es un xml que describe al servicio.
  • UDDI: Directorio donde se encuentran las descripciones de los servicios que ofrece una organización, podríamos decir que es un directorio de registro.
  • SOAP: Es el protocolo utilizado para el intercambio de información con los servicios. Todos los datos que son enviados o recibidos desde un servicio, son encapsulados y enviados mediante, generalmente http.

miércoles, marzo 29, 2006

Principio de encapsulamiento

En programación orientada a objetos, el encapsulamiento consiste en poder elegir qué información de un objeto es publicada y cuál forma parte de su estado, no siendo esta última accesible entre objetos.

Esta definición se podría identificar como la definición pura de lo que en POO es el encapsulamiento, sin embargo, en la realidad no siempre es así. Por ejemplo, en java todo el comportamiento es el esperado, en cambio, en C# la cosa cambia.

Por ejemplo, en el siguiente código java, tenemos una clase BaseClass la cual contiene un campo privado y método público a través del cual se puede acceder a dicho campo.

public class BaseClass {

private int _cont = 0;

private ExtendClass bClass = new ExtendClass ();

public int Cont() {

return _cont;

}

public int ParentCont() {

return bClass.Cont();

}

}


En la siguiente clase, heredamos de BaseClass y sobrescribimos el método Cont.

public class ExtendClass extends BaseClass{

public int Cont() {

return 3;

}

}


Dentro del método ParentCont de la BaseClass accedemos a una instancia previamente creada de ExtendClass , y lo hacemos a través de su método público ParentCont, en ningún momento se nos ocurriría acceder al campo privado, ya que rompería con el encapsulamiento.

Sin embargo, en C# no ocurre lo mismo que en Java. Es decir, en C# podríamos acceder al campo privado (bClass._cont), lo cual en mi opinión no me parece correcto. Tampoco entiendo la razón para romper con el paradigma de la programación orientada a objetos de ese modo.