miércoles, abril 02, 2008

La gestión de proyectos importantes

¿Qué es un proyecto importante? Un proyecto en el que la empresa que lo desarrolla se juega mucho dinero, mucho prestigio o cualquier proyecto cuyo mal funcionamiento pueda tener grandes costes humanos, económicos, o lesivos para la organización que lo usa.

Un proyecto que sea fundamental para el funcionamiento de una organización, de cara al servicio que quiere prestar, no puede ser desarrollado de igual forma que otro cuyo mal funcionamiento no tenga un impacto fuerte.

Cuanta mayor sea la importancia de un proyecto deberemos aplicar:

  • Mayor planificación (y seguimiento).
  • Más formalidad en la metodología de desarrollo que estemos usando.
  • Mayor control de calidad.
  • Mayor implicación de la alta gestión.
  • Más conservadores en cuanto a las decisiones tecnológicas.

En este tipo de proyectos, un fracaso cuesta muy caro.

Posted by at 7:36 PM
Categories: Gestión, Informática

miércoles, marzo 05, 2008

Mientras Dormías

'Mientras dormías', es una pieza bastante romántical, con cierto toque jazzy, que a mí me recuerda un poco al famoso 'Love Theme' del Blade Runner de Vangelis (siempre salvando las enormes diferencias que hay entre ese auténtico genio y un servidor). He mezclado tanto sonidos electrónicos como orquestales, teniendo el Rhodes el protagonismo durante casi toda la pieza, con algo de acompañamiento de un Cello, y luego dejando paso a un 'intermedio' orquestal.
Ciertamente este tema es algo diferente a la mayor parte de las cosas que he compuesto, me gusta tener registros distintos, aunque este me ha salido muy natural porque la melodía casi que me pedía esta ambientación, pero además creo que es interesante variar un poco de vez en cuando para aprender cosillas.
El cambio en el minuto 3'00 ciertamente rompe la ambientación que llevaba hasta ese momento la pieza e introduce una tensión y un dinamismo diferente. Así se me ocurrió al piano mucho antes de ni siquiere empezar a montar el tema y así lo he dejado.
Las cuerdas están sacadas del EWQLSO versión Silver, el Rhodes es un soundfont, y he usado como es habitual en mí algunos presets de Native Instrument FM8 y Massive. Como secuenciador el FL Studio.
Posted by at 8:09 PM
Categories: Música

SigWeb 2.0: AJAX + OpenToro

Artículo que escribimos el equipo de desarrollo Portales-SIGs de Dap para un congreso sobre SIG y herramientas abiertas:

RESUMEN

En esta comunicación se describe el desarrollo de un nuevo visor SIG para la web, integrándole AJAX y el componente libre de publicación web OpenToro.

Palabras clave: SIG, visores web, AJAX , OpenToro, publicación web.

Aquí está la comunicación: SigWeb 2.0: AJAX + OpenToro

Posted by at 7:41 PM
Categories: Artículos, Informática

sábado, febrero 23, 2008

Reflections Opentoro: Objects, Databases, and the OpenToro's Philosophy'.

(Previously published in http://opentoro.sourceforge.net/reflections.html )

In these days, there has been a notable discussion about ORM, RDBMS and ODBMS, with interesting contributions like Ted Neward’s ‘The Vietnam of Computer Science and ‘Avoiding the Quagmire’, Gabin’s reply  ‘In defense of the RDBMS’, and the interesting discussions in the TheServerSide.net (and this) and InfoQ forums.

The next OpenToro version (the 5.0) has an interesting new feature: java objects, like previously database tables, can be easily published in the web. So we have wanted to make a reflection about these questions too.

 

Introduction.

OpenToro is a Web Database Publisher, a tool that allows us developing database-driven web applications (with advanced AJAX technology) in an agile and automatic way. Using OpenToro simply means to forget coding countless SQLs and JSPs every time we want to implement a web application with database access.

When we say ‘publishing’ a database in the web, we want to say generating a web interface that let people listing database tables, visualizing records, and generating forms for inserting, modifying and deleting records.

 

An OpenToro application is just a way to perform manipulations on the data in a relational database in a direct way (through the web).

 

You can see OpenToro too like a framework for rapid development of web applications.

 

OpenToro is not a panacea, and is not suitable for all application scenarios.

Usually you are going to use OpenToro in the Views of an application, using its easy tag lib and its XML files.

OpenToro and java Objects.

Like we have said, OpenToro next release (5.0 version, planned for November 2007) has an interesting new feature: java objects, like previously database tables, can be easily published in the web.

Until now OpenToro have not supported a very object oriented programming style for web applications, supporting more a declarative programming style (OpenToro is a complex metadata-reflective architecture piece of software). The reason is very simple: if you want to publish in the web some database tables, and made some CRUD operations (Create, Read, Update and Delete), why do you need to build a complex application?

It has nonsense using an ORM, a lot of classes for the data model, and a big architecture for doing so simple things. An excerpt from Martin Fowler:  

Costs of a domain model: The primary cost is the awkwardness of mapping to a database, which typically results in a whole layer of O/R mapping. This is worthwhile if you use the powerful OO techniques to organize complex logic.

 

But there are a lot of problems that are naturally developed using a full object oriented data model. LikeMartin Fowler says:

 

At its worst business logic can be very complex. Rules and logic describe many different cases and slants of behaviour, and it's this complexity that objects were designed to work with. A Domain Model creates a web of interconnected objects, where each object represents some meaningful individual.

 

OpenToro wants to do the next step, supporting other data container, like java objects, for web publication.

 

Our Philosophy.

In these days, there has been a notable discussion about ORM, RDBMS, and ODBMS.

Our philosophy is the next: keep the things simple.

 

We have identified al least 3 development scenarios:

  • You don’t have complex logic; rather, you almost don’t have any business logic. Solution: Don’t use any ORM, don’t build a domain model, perform manipulations on the data (in a relational database, of course) in a direct way. This is very simple using XML files for declarative specification of database tables. OpenToro will do the rest for you. Application example: a web site that contains news, events, and some documentation.
  • You have some business logic. The recommendation is simple, you must to develop a small domain model, only with the entities that have logic, the rest can be in the database. OpenToro 5.0 implements mechanisms that let your classes to reference database records (as if they were objects too). Still you don’t need an ORM, OpenToro has a set of utilities that let you ‘move’ data between classes and records.
  • You have complex logic. Ok, let’s open way to the heavy artillery. Anyhow we recommend using OpenToro 5.0 for publishing objects’ data in the web.
Posted by at 8:30 PM
Categories: Artículos, In English, Informática

domingo, enero 20, 2008

El sabor de la lluvia (The Taste of the Rain)

¿Has olvidado ya el sabor que tiene la lluvia?

Hay veces que una pieza sí se construye alrededor de un pensamiento o idea, y en este caso sí es así, perdonad que sea tan mal escritor, pero mi inspiración venía de una especie de poema-improvisado que escribí hace unos años y que ahí tenía guardado en un diario:
“Infinita sucesión de movimientos,
impulsados por el aliento de una carrera sin fin.
¿Has olvidado ya el gusto que tiene un momento?
Detén el mundo y abre tus brazos
Y siente cómo la lluvia aún cae fría sobre tu frente”.

Ejem, ejem, sí, soy un mal poeta, mejor seguir con la música...

El tema se puede ver más o menos en 4 partes,la primera con el protagonismo del solo de violín, que transmite algo de oscuridad y frío y también de su contrario. La segunda ya con ritmo (esa mezcla curiosa de percusión orquestal y ritmo jazzy) y un mayor soporte con un colchón de cuerdas y sobre todo el piano con delay describiendo la lluvia (es como un pasaje más urbano). La tercera parte pasa a ser una descripción más íntima, de reflexión (ese ¿has olvidado el sabor de la lluvia?) que da paso al desarrollo de la cuarta parte (que intenta expresar liberación) en el que se repite hasta el final un fraseo del piano (tocado más bien regular, la verdad es que me resulta dificilísimo ajustarme al metrónomo, ojalá tocase el piano un poco mejor (qué ironía, proponiendo yo en un post anterior un concierto de los numunitas...)) al que poco a poco se le va dando consistencia rítmica y algo de fuerza con la entrada de las cuerdas, para volver a dejar entrada al piano con delay volviendo a humedecer todo el tema y finalizando con ese fraseo de piano.

Aquí está el enlace:

El sabor de la lluvia (The Taste of the Rain)
Posted by at 7:49 PM
Categories: Música

When The Night Falls - ET3

Temita que compuse para el Electronic Tour 3.

Es una pieza sencilla, con un desarrollo muy lineal, principalmente electrónica.

He intentado reflejar un poco la caida de la noche en las grandes ciudades, la frialdad, la soledad que se puede sentir aunque estés rodeado de movimiento (en el video musical se ve reflejado en los haces de luz contínuos), la oscuridad que se va adueñando del ambiente, pero también la pasión y la cercanía que propian esta falta de luz:

When The Night Falls - ET3

Aquí dejo también una especie de video-musical que he hecho del tema (sólo son fotos (Creative Commons) con un poquito de movimiento):

http://www.youtube.com/watch?v=-q1bmiePP7w

Posted by at 7:46 PM
Categories: Música

Electronic Tour vol.3

Se publicó hace ya unos días el Electronic Tour vol.3. Doble disco gestado en el foro FJarre y al que han aportado temas una gran cantidad de músicos hispanos dando muestra de la variedad de la música electrónica.

Esta es la dirección:

http://www.electronictour.es/

Yo participo con el tema When The Night Falls (el tema que cierra el recopilatorio).

Posted by at 7:37 PM
Categories: Música

jueves, diciembre 27, 2007

Al Alba. Nuevo tema.

En esta ocasión he intentado explorar un poquito más el sonido acústico-orquestal, y utilizar un maravilloso instrumento llamado Duduk ( http://en.wikipedia.org/wiki/Duduk )

La pieza tiene dos partes bien diferenciadas en cuanto a ritmo, fraseo, etc. Inicialmente al piano sonaba todo muy natural, sin embargo aquí la transición entre ambas partes... me ha resultado difícil de conseguir.
Aquí está el tema:
http://soundclick.com/share?songid=6107237
Posted by at 5:26 PM
Edited on: jueves, diciembre 27, 2007 5:27 PM
Categories: Música

jueves, diciembre 20, 2007

Biografía de Vangelis... y en español!!!

Pues lo dicho, una biografía de Vangelis, escrita en español y con una cantidad de datos enorme.

Lo mejor de todo es que además es entretenida (para los que estamos interesados en la figura de este enorme músico):

http://www.geocities.com/Athens/Delphi/8286/biograf1.htm

Enhorabuena para los autores (sólo recuerdo el nick de uno: phaedrax).

Posted by at 9:47 PM
Categories: Apuntes, Música

martes, diciembre 18, 2007

Plataformas Software

En estas últimas semanas he estado reflexionando e investigando un poco sobre las plataformas software.

Aquí va un apunte interesante: una definición y sus ventajas.

Definición de Plataforma:

Una plataforma software es un conjunto de artefactos (componentes o subsistemas) que forman una estructura común a partir de la cual podemos derivar (desarrollar, construir) sistemas de una forma eficiente.

Los sistemas derivados de una plataforma no sólo comparten código, sino requisitos y arquitectura. Se da por tanto un proceso de reutilización natural de los artefactos de la plataforma en los diferentes sistemas.

Ventajas de una plataforma software:

  • Reducción del coste de operación. Uno de los parámetros fundamentales en la ingeniería y en la estrategia empresarial es la justificación económica. Una plataforma software nos permitirá reducir el coste de operar en el campo del desarrollo del software, ya que nos permitirá reducir costes tanto a nivel de desarrollo, como de mantenimiento. El elemento esencial aquí es el de reutilización de los artefactos que componen la plataforma.
  • Mejora de la calidad. Al ser usados los artefactos de la plataforma en muchos sistemas, éstos son revisados y testeados de forma intensiva, por lo que es más fácil hacer que dichos artefactos tengan un número muy reducido de errores, buen rendimiento, etc.
  • Reducción del tiempo de desarrollo. Tener la capacidad de poder desarrollar proyectos en menos tiempo no tiene sólo un impacto económico directo en el coste individual de los proyectos, sino que tiene varios indirectos: al hacernos más competitivos podemos optar a realizar más proyectos y a ser por tanto más productivos. Para esto es fundamental una plataforma estable y adaptada a la problemática a la que se quiere aplicar.
  • Gestión centralizada de la evolución. La introducción de un nuevo artefacto en la plataforma da la posibilidad de que todos los sistemas derivados de la plataforma usen ese nuevo artefacto. Esta gestión centralizada permite a los sistemas evolucionar de forma ordenada.
  • Reducción de la complejidad global. El hecho de usar una plataforma bien definida con una serie de artefactos reconocibles y conocidos reduce la complejidad significativamente tanto a nivel de desarrollo, como de gestión del desarrollo, mantenimiento, etc.
  • Mejoras en las estimaciones de costes. Calcular costes para sistemas derivados de la plataforma es más sencillo y tiene menos riesgo porque se tienen ya resultados de otros sistemas derivados de la plataforma y que por tanto pueden ser comparables.
  • Interfaz común. Todos los sistemas derivados de la plataforma tendrán en común bastantes elementos en cuanto a su funcionamiento e interfaz, lo que hace que los usuarios aprendan rápido y se sientan cómodos ante nuevos sistemas derivados de la misma plataforma.
  • Estandarización del conocimiento técnico. El conocimiento de los técnicos de la organización se estandariza al estar todos los sistemas (o casi todos) basados en la plataforma y sus artefactos. Esto hace fácil que los técnicos puedan comprender y por lo tanto desarrollar y mantener el conjunto de sistemas generados por la organización, facilitando a su vez la movilidad del personal entre los diferentes proyectos atendiendo a las necesidades corporativas.

También tienen una clara desventaja (entre otras): Inversión en el desarrollo y mantenimiento de la plataforma. Se supone que una vez construida una plataforma la inversión realizada se recupera al utilizarla en 3-5 proyectos.

Posted by at 9:10 PM
Categories: Artículos, Informática