31 julio 2006

Un IDE para la web 2.0

Se ha lanzado un nuevo IDE para desarrollar páginas Web con carcaterísticas 2.0

Entre las características de Aptana, podemos mencionar que es open source, que se encuentra disponible para Linux, Mac y Window$

Además, posee un asistente de código, soporte para los lenguajes Javascript, HTML y CSS, referencia Javascript entre otros.

El IDE se ve muy completo y a simple vista promete bastante.

Si deseas más información, haz clic aqui.

30 julio 2006

Conversor de DVD9 a DVD5 desde GNOME

DVD95 es una aplicación GNOME con la que convertirás un DVD9 a un DVD5 de 4,7GB, es decir reducirás el tamaña de un DVD comercial a aproximadamente la mitad sin perder un ápice de calidad.



Todo lo que necesitas para hacerlo es dvd95. Es una solución todo en uno ya que en realidad, integra una versión de vamps y dvdauthor. Su Interfaz es agradable y de fácil manejo, y el proceso de conversión es muy rápido, mucho más que otros de sus rivales.

El método utilizado incluye el cálculo de un ratio de compresión adaptable, según la necesidad y escenas de la película. El DVD resultante será una imagen ISO lista para su grabación, con la posibilidad de visualizar el resultado a través de Xine, VLC o mplayer. Por último, soporta la integración de menús, múltiples canales de audio y subtítulos.

DVD95 lo puedes descargar aqui.

24 julio 2006

Soporte para paginas ASP.NET en Apache2

En este artículo expondré los pasos que seguí para instalar mono en Ubuntu Dapper con el respectivo soporte para el servidor web Apache2 para servir páginas ASP.NET

Nota: Evidentemente la instalación de todos los programas aca mencionados se realizó con el synaptic (la GUI del clásico apt-get)

Primeramente instale el paquete mono con todas sus dependencias, luego instale el paquete monodevelop con sus respectivas dependencias. Hasta aquí ya tengo instalado correctamente el entorno de programación de mono.

Ahora viene lo que realmente me interesaba, el tener soporte nativo para mis páginas ASP.NET bajo Apache2, para ello, debemos instalar mono-xsp, libapache2-mod-mono y todas las dependencias. También recomiendo instalar el archivo asp.net-examples los cuales son un conjunto de archivos de ASP.NET que nos servirán para montar nuestro módulo mod_mono y comprobar su correcto funcionamiento (En ubuntu dapper estos archivos se encuentran ubicado en /usr/share/asp.net-demos)

Ahora vamos a configurar el apache2 para que tenga soporte nativo a nuestras páginas de ASP.NET, para ello editamos el archivo /etc/apache2/apache2.conf y agregamos lo siguiente:

Include /etc/apache2/mod_mono.conf
Alias /test "/usr/share/asp.net-demos"
AddMonoApplications default "/test:/usr/share/asp.net-demos"

(Location /test)
SetHandler mono
(/Location)

OJO: CAMBIAR LOS PARÉNTESIS POR SIGNOS '<' '>' (SIN COMILLAS) PARA SU CORRECTO FUNCIONAMIENTO

la linea Include /etc/apache2/mod_mono.conf es la encargada de cargar el módulo mod_mono en nuestro apache2, luego creamos un enlace al directorio en el cual se encuentran los ejemplos de asp.net que descargamos en su momento y por último, creo un directorio en el cual tendré soporte nativo para mis aplicaciones ASP.NET

Para verificar que realmente tenemos soporte para páginas aspx abro el firefox y escribo: http://localhost/test/ y se debería abrir una página muy similar a esta:



Ahí están los ejemplos que instalamos en su momento, los podemos ejecutar y verán que funcionan perfecto. Ahora si quieren agregar un directorio aparte para servir sus páginas aspx, por ej. /home/viktor/www (mi caso particular) sólo deben agregar las lineas respectivas al archivo /etc/apache2/apache2.conf el cual quedaría de la siguiente manera:

Include /etc/apache2/mod_mono.conf
Alias /test "/usr/share/asp.net-demos"
Alias /www "/home/viktor/www"
AddMonoApplications default "/test:/usr/share/asp.net-demos"
AddMonoApplications default "/www:/home/viktor/www"

(Location /test)
SetHandler mono
(/Location)

(Location /www)
SetHandler mono
(/Location)

OJO: CAMBIAR LOS PARÉNTESIS POR SIGNOS '<' '>' (SIN COMILLAS) PARA SU CORRECTO FUNCIONAMIENTO


Espero que este tip le sea util en su momento.


Salu2 xD

21 julio 2006

Publicado libro sobre Mono

Hoy me he encontrado con la grata sorpresa que se ha lanzado un libro sobre Mono bajo licencia Creative Commons. Lo acabo de ver y realmente esta bastante bien el material que se ha generado. Ahora hay que poner en práctica los ejemplos y aprender a desarrollar en .NET

El libro lo pueden visitar aqui y lo pueden descargar aqui.

Saludos.

20 julio 2006

Los 12 mandamiento$ de window$

Leyendo como de co$tumbre la$ página$ de noticia$ informática$ me encuentro con la $orpre$a de que Micro$oft ha publicado lo$ 12 mandamiento$ para window$ lo$ cuale$ $erán aplicable$ de$de el lanzamiento de Window$ Vi$ta.

Aqui vienen los nuevo$ mandamiento$

Parte I : Asegurar elección para fabricantes y usuarios
1. Se asegura, tanto a fabricantes como a usuarios, la instalación de cualquier software.
2. Los fabricantes podrán agregar íconos y menús que sean encontrados con facilidad por los usuarios.
3. Se facilitará, tanto a fabricantes como a usuarios, el designar otros programas como aplicaciones por defecto.
4. Los fabricantes tendrán la posibilidad de eliminar programas clave del sistema operativo, como Internet Explorer o Windows Media Player.
5. Microsoft no tomará represalias contra ningún fabricante que promueva software de sus competidores.

Parte II : Oportunidades para Desarrolladores
6. Se documentará públicamente las interfaces para programas aplicaciones (API) de Windows.
7. Los servicios de Windows Live se establecerán de forma separada al sistema operativo.
8. Microsoft no prohibirá ni dificultará el acceso a sitio Web alguno.
9. Microsoft no firmará contratos que exijan usar en exclusiva sus productos.

Parte III : Interoperabilidad para los usuarios
10. La empresa documentará y hará públicos en términos comercialmente razonables sus protocolos de comunicaciones.
11. Microsoft licenciará todas sus patentes, salvo las que diferencian el aspecto de sus productos.
12. Microsoft se compromete a adherir a los estándares fijados por la industria.


$i quiere$ má$ detalle$ de la noticia, haz clic aqui!!!

07 julio 2006

Publicado Mono 1.1.16

Hoy se ha publicado un nuevo release de este maravilloso framework que nos permite desarrollar aplicaciones bajo .NET

Entre las características sobresalientes de esta nueva versión cabe destacar:

- mejora en el soporte de ASP.NET
- mayor soporte para las windows.forms y system.drawing
- optimizaciones varias, entre otros.

Si quieren más detalles de este nuevo lanzamiento hagan clic aquí!!!

03 julio 2006

¿Cómo grabar tu escritorio en un video?

De seguro alguna vez han necesitado crear un video en el cual se grabe todo lo que han hecho ustedes en la pantalla para luego ser usado en alguna presentación o a modo de tutorial. Para window$ existen muchas pero... ¿cómo anda la cosa en Linux? Pues en linux anda todo bien por el momento y les puedo comentar que existen las siguientes aplicaciones:

- wink
- vnc2swf
- xvidcap


son muy faciles de usar y permiten realizar la captura en .avi o .swf y lo mejor de todo es que en el caso de wink podemos editar posteriormente nuestro .swf y agregar botones o texto en la animación..

Al fin tenemos aplicaciones de este nivel para poder crear tutoriales interactivos usando sólo software libre.

db4o, la gran promesa...

Comenzaré a relatar esta historia de acuerdo a los hechos reales que acaecieron durante este último mes en el cual he estado redactando mi anteproyecto de tesis y por ende he estado un poco alejado de mi blog pero ahora retomo todo y comparto con ustedes este mes de investigación, en el cual me he llevado gratas sorpresas.

Mi primer problema despues de haber definido mi tema para la tesis fue el seleccionar una metodología formal de desarrollo de software, tenía varias en mente pero no sabía cual sería la mejor para mi caso (desarrollo web) así que después de escuchar varias sugerencias el camino pareció ser más claro y finalmente me decidí por Rational Unified Process (RUP).

Inicialmente mi proyecto estaba pensado para ser desarrollado bajo PHP5 - MySQL pero al seleccionar RUP apareció un gran problema, ¿cómo hago persistir los objetos en el tiempo? esa pregunta no me la hecho sólo yo sino que gran parte de los desarrollaores que programan bajo el concepto de objetos pero que usan una base de datos relacional. Pero, ¿dónde está el problema? el problema es de conceptos, básicamente al tratarse de "mundos distintos", entiéndase bien este concepto ya que si analizamos un poco más el caso nos daremos cuenta que estamos trabajando con diferentes formas de pensar, esto es, el mundo de las bases de datos relacionales básicamente es la aplicación de las matemáticas a través de las teorías de conjuntos las cuales nos llevan a manejar la información en este caso en particular, y por su contraparte, el mundo de los objetos es un mundo abstracto, por ende, son paradigmas diferentes.

El problema que genera todo esto es que los objetos no se pueden almacenar en una base de datos relacional así como así, primero que nada se debe hacer un mapeo de los objetos para que puedan ser almacenados en una BD relacional, aunque muchos digan que esa es la mejor solución para mi no la es y estoy de acuerdo con los detractores de la idea ya que al ser 2 mundos incompatibles desde un comienzo, jamás serán compatibles por ser "mundos distintos". Por ejemplo, las clases soportan relaciones de muchos a muchos (N:N), en cambio este tipo de relaciones no están soportadas en un modelo entidad relación, la solución es crear una tabla intermedia para poder permitir las relaciones muchos a muchos.

Si buscan info en la web se darán cuenta que la solución al problema de impedancia de objetos creado al usar POO y modelo ER será usar un framework de persistencia de objetos como hibernate por ej. logrando resultados aceptables, pero si analizamos más a fondo el problema nos daremos cuenta que perdemos performance en nuestra aplicación, específicamente con los tiempos de respuesta y a mi parecer usar tecnologías diferentes lleva consigo el riesgo implícito de que en cualquier momento nuestra aplicación no cumpla con las espectativas deseadas.

Es así que despues de analizar multiples alternativas me encontré en mi camino con db4o (Database for objects) el cual es una base de datos para objetos y que puede ser utilizado por Java, .NET y Mono bajo licencia GPL.

La gran gracia que tiene db4o es que me permite hacer persistir mis objetos en el tiempo de forma transparente y sin tener que usar ningun framework de persistencia entre medio para almacenarlo en una base de datos relacional sino que directamente en una base de datos de objetos, lo cual le da una gran performance a mi aplicación al ser esta 100% orientada a objetos y por ende transparente.

Si ingresan al sitio oficial de db40 en español, podrán acceder a info más detallada de este maravilloso producto que promete dar una revolución en el mundo de las base de datos. Lo que más me llamó la atención es que se ha usado en proyectos de misión crítica y los resultados han sido fantásticos así que me animé y cambie por completo la estructura de mi proyecto y ahora será desarrollado con C# - db4o bajo mono, esperemos que todo resulte bien, estaré dando comentarios a medida que avance con mi programación.

y tú que esperas para animarte a probar db4o???