sábado, 29 de agosto de 2009

Slackware 13.0 Listo!!!!

Les escribo para comentarles que la nueva version de Slackware Linux ya esta disponible, para todos nosotros que nos gusta esta magnifica distribucion hay que estan contentos. Entre las mejoras que contiene esta un nuevo sistema de paquetes (txz) con una mejor compresion que el anterior y nuevas versiones de X, KDE y XFCE. Ademas de ya contar oficialmente con una version para 64 bits.
No puedo esperar a terminar de descargarlo y probar.

vayan a http://www.slackware.com/getslack

viernes, 31 de julio de 2009

Google Docs

Que tal a todos, ahora les voy a escribir una pequeña opinión sobre las experiencias que he tenido con Google Docs. Actualmente estoy estudiando mi Maestría en Administración de TI con modalidad en linea y esta valiosa herramienta me ha sido de suma utilidad para realizar las actividades requeridas en las materias.
Google Docs the permite editar documentos en linea y exportarlos a los formatos mas populares en el mercado (pdf, doc, odt, txt y rtf). Los documentos pueden ser compartidos y editados al mismo tiempo por colaboradores permitiendo la estructuración de documentos dinámicamente. Google también permite la edición de hojas de calculo o spreadsheets, asi como un básico motor de presentaciones y bases de datos. Google Docs sigue creciendo con la adición de nuevos templates, nuevas funcionalidades y nuevas ideas. Ademas por ser una aplicación web es soportado por la mayoría de los navegadores en el mercado (Chrome, Firefox, IE, Opera, etc) y sin la necesidad de instalar nada en tu computadora.
Claro que no todo es miel sobre hojuelas, google docs tiene la limitante de no poder almacenar documentos de texto mayores a 500 kb + 2 mb de imágenes; las hojas de calculo no pueden almacenar 10,000 filas y 256 columnas, además documentos con 100,000 celdas y 40 hojas, solo teniendo 11 hojas abiertos al mismo tiempo y además las presentaciones no pueden ser mayores a 10 Mb.
Google Docs no es un reemplazo para paquetes de oficina complejos como OpenOffice o MS Office pero puede llegar a ser una buena alternativa para la realización de tareas y trabajos sencillos como los que la mayoría hacemos en su vida cotidiana. En verdad les recomiendo que lo prueben solo hay que tener una Google Accoutn que puede ser solicitada gratuitamente en: https://www.google.com/accounts/

La pagina para Google Docs es http://docs.google.com.

sábado, 25 de julio de 2009

Mejor Linux para Laptops

Que tal gente, últimamente he estado buscando cual seria la mejor distribución Linux que funcione adecuadamente en mi laptop Dell vostro 1310. Compre la computadora para realizar mis trabajos requeridos en mis cursos de maestría y por supuesto que tenia pre-instalado Windows Vista. Tengo pocos años utilizando Linux pero me encanta el sistema. He probado algunas distribuciones en mi pc de escritorio y la verdad la que mas me convenció fue Slackware (aunque tarde un poco en configurar todo mi sistema completamente), es genial poder tener control total de todo el sistema y aprender su funcionamiento indagando dentro de sus fuentes. Ahora para mi laptop he probado, Suse, Ubuntu, Fedora, Sabayon entre otros. Pero ninguno termina de convencerme tanto como Slackware; así que me gustaría saber cuales han sido sus experiencias utilizando el sistema en sus computadoras portátiles.
Saludos a todos

miércoles, 1 de julio de 2009

Postgre 8.4 Listo!!!

La nueva versión del poderoso DBMS PostgreSQL (Version 8.4), ya esta lista y liberada. Algunas de sus mejoras son, queries recursivos, permisos a nivel columna, localización a nivel BD, algunas herramientas de monitoreo y mas. La lista completa de mejoras esta en este link:
http://www.postgresql.org/about/press/features84.html

Para descargarlo vayan a:
http://www.postgresql.org/download/

No puedo esperar a probarlo. Después les posteo que tal me fue.

viernes, 19 de junio de 2009

IE 8 mejor que Firefox???

Recién vi que Microsoft publico una campaña en donde compara IE 8, Firefox y Chrome (claro que el ganador es IE 8). En la página se despliegan una serie de características como privacidad, compatibilidad, personalización entre otras.
Les dejo el link a la pagina de IE 8.
Le creeremos a Microsoft?

sábado, 13 de junio de 2009

Notificaciones con Npgsql y PostgreSQL 8.3

Hola que tal buen rato ya sin escribir, últimamente estuve muy ocupado con el trabajo, ya saben que hay momentos en los que todo falla al mismo tiempo. Esta vez me toco estar trabajando en una aplicación ASP.Net en la que ya llevo algunas semanas desarrollando, pero pues como siempre, los altos mandos no quieren gastar mas dinero en el desarrollo ya que nuestro servidor de Oracle esta limitado de licencias, es por esto que se decidió buscar una alternativa de DBMS gratuita (PostgreSQL). ¿Por que no MySql? preguntaran; bueno se decido utilizar un servidor Postgre por su poder y su gran capacidad de desarrollo a travez de su lenguaje PL/PgSQL. Bueno el caso no es eso lo que vamos a discutir hoy. Durante el desarrollo me encontré con la necesidad de realizar varias funciones no muy complejas, pero llegue a una en la que era necesario comunicarse con el mundo exterior para reportar sus resultados. Existen metodos muy sencillos: ejecuta la funcion y si algo sale mal arroja una excepcion y aborta:

begin
--Haz algo
if algo_malo then
RAISE EXCEPTION 'Mensaje algo salio mal';
end if;
end;

Una excepcion es un nivel de mensajes dentro de PostgreSQL y significa que algo fuera de lo común ha ocurrido, pero existen veces en las que nada grave ha salido mal y solo necesitamos enviar un mensaje. O de algun batch de instrucciones solo algunas salieron mal y no podemos abortar la ejecusion ya que las instrucciones que si se procesaron correctamente se cancelarian. Para esto exiten varios niveles en los cuales nosotros podemos colocar un mensaje sin necesidad de abortar la ejecusion de nuestra funcion PL/pgSql el que nos interesa en este post es el nivel de notificacion o NOTICE (Lista Completa).

Bueno primero lo primero para lanzar una notificacion en el sitema de postgre solo hay que invocar RAISE NOTICE. Un ejemplo seria:

RAISE NOTICE 'Mensaje de Notificacion';

Las notificaciones quedaran registradas en el sistema dependiendo de la configuración del servidor postgre, pero como hacemos que Npgsql reciba estas notificaciones que surgen en el servidor, como primer paso tenemos que configurar PostgreSQL para que los mensajes NOTICE sean enviados a los clientes; para hacer esto tenemos que cambiar la variable de entorno "client_min_messages". Esto lo podemos hacer cambiando su valor dentro del archivo "postgresql.conf" localizado dentro del directorio de instalación de Postgre y haciendo que el servidor recargue la configuración del archivo; los valores posibles para esta variable son cualquiera de los listados en los niveles mensajes arriba direccionados. Establecemos esta variable a "notice", para que todos los mensajes generados con este nivel o niveles siguientes sean enviados al cliente y así poderlos capturar con npgsql en nuestro programa.
Las lineas de configuración quedarían mas o menos as
í: (Nota: Esto es en Postgre 8.3, no lo probé para otra versión).

client_min_messages = 'notice' # values in order of decreasing detail:
# debug5
# debug4
# debug3
# debug2
# debug1
# log
# notice
# warning
# error


Una vez que el servidor esta configurado para enviar los mensajes de notificación, solo necesitamos hacer que nuestro NpgsqlConnection maneje los mensajes que el servidor nos enviara. Así que en el código de nuestra aplicación solo tenemos que agregar una función que actuara como manejador de los mensajes.

Para hacer esto necesitamos establecer cual método sera el encargado de procesar los mensajes que lleguen al cliente. En nuestra conexión necesitamos agregar una función en la propiedad Notice que se llamara una vez que se reciban las mensajes provenientes del servidor. Quedaría mas o menos así:

NpgsqlConnection conn = new NpgsqlConnection('CADENA DE CONEXION');
conn.Notice += MetodoManejador;

public void MetodoManejador(object sender, Npgsql.NpgsqlNoticeEventArgs e)
{
//Procesar el mensaje
}

Y eso seria todo, cabe mencionar que el objeto NpgsqlNoticeEventArgs contiene el mensaje proveniente del servidor. Un punto extra, a partir de la versión 1.0 de Npgsql existe soporte para notificaciones sinctronas, esto quiere decir que Npgsql puede recibir las notificaciones del servidor sin una interacción extra que saque las notificaciones generadas. Para habilitar esta opción es necesario agregar en la cadena de conexión el parametro
"SyncNotification = true".

A continuación les dejo un pequeño ejemplo que realice.

string conString = "CADENA DE CONEXION";
Npgsql.NpgsqlConnection con = Utilities.GetNpsqlConnection(conString);
Npgsql.NpgsqlCommand com = new Npgsql.NpgsqlCommand("sp_raise_notice", con);
com.CommandType = CommandType.StoredProcedure;
com.Connection.Notice += new Npgsql.NoticeEventHandler(Connection_Notice);
com.Connection.Open();
try
{
com.ExecuteNonQuery();
}
catch (Exception e)
{
writeMessage(e.Message);
}
finally
{
com.Connection.Close();
}

//Metodo Manejador
void Connection_Notice(object sender, Npgsql.NpgsqlNoticeEventArgs e)
{
writeMessage(e.Notice.Message);
}


Nota por razones de seguridad no pongo mi cadena de conexión pero en ella esta habilitada la opción SyncNotification. Si tienen alguna duda de como formar su cadena de conexión para postgre pueden visitar la pagina:
http://www.connectionstrings.com/postgre-sql
O si quieren pueden visitar el manual completo de NpgSQL (muy completo) en:
http://npgsql.projects.postgresql.org/docs/manual/UserManual.html

Saludos a Todos!!!.

domingo, 26 de abril de 2009

JavaScript Facil con JQuery



Que tal, ahora les voy a mostrar lo fácil que es hacer grandes funcionalidades en las aplicaciones web con javascript. Javascript son piezas de código que se ejecutan en la máquina del cliente web en su explorador web. La mayoría de los exploradores web modernos soportan la ejecución de javascript. Ejemplos:

  • Firefox

  • IExplorer

  • Safari

  • Opera

  • Etc, etc.


Con la aparición del objeto XMLHttpRequest, desarrollador por Microsoft, la web se convirtió en un lugar mas dinámico a travez de su manipulación con javascript. Yo creo todos han escuchado hablar de AJAX (javascript asincrono y XML por sus siglas en ingles), chequen el blog de Carlos, puso un post muy bueno sobre ajax. Antes javascript se usaba para hacer paginas web dinámicas o (DHTML) dando efectos y cosas así, pero ahora es una herramienta indispensable para todo desarrollador web, ya que además de efectos se puede utilizar para reducir el trafico de red en la carga parcial de paginas web, validaciones en tiempo real y mucho mas.
Bueno al grano JQuery es una librería js que nos hace la vida mas sencilla para desarrollar funcionalidades muy poderosas con pocas lineas de código.
A continuación les dejo un ejemplo sencillo pero les prometo que mas delante publicare mas cosas.
Lo único que tenemos que hacer primeramente es añadir JQuery a nuestras paginas web, esto se hace mediante una etiqueta "script", se puede descargar la librería e incluirla en tu directorio web o incluirla directamente desde su link de descarga en la pagina de JQuery.

<script src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js"> </script>

Ademas la funcionalidad de JQuery puede ser extendida por medio de muchos plugins gratuitos que se desarrollan dentro de la comunidad open source, esto hace de esta libreria una de las preferidas por los desarrolladores web. Para ver los plugins existentes visiten: http://plugins.jquery.com

jueves, 23 de abril de 2009

Pingüinos Robot

Navegando por el Internet en un rato libre me encontré con esta noticia. Unos ingenieros de una compañía llamada Fisto revelaron sus avances en tecnología al crear robots que se asemejan en tamaño y forma a un pingüino verdadero. Estos robots son capaces de nadar y reconocer el ambiente con un sonar integrado, supuestamente estos pingüinos estan en exibicion en Alemania. Ademas presentan mas avances tecnológicos chidos que se han estado desarrollando.
Les dejo un link al vídeo donde se presentan estos productos.

http://www.youtube.com/watch?v=L5JHMpLIqO4

o velo aqui:

jueves, 16 de abril de 2009

Un DBMS muy bueno (PostgreSql)

La mayoría de las aplicaciones necesita de un lugar donde guardar información, pueden ser archivos, memoria o una base de datos. DBMS o Sistemas Manejadores de Bases de Datos (por su siglas en ingles) son utilizados enormemente en todo el mundo, algunos ejemplos Oracle, SqlServer, MySql, Postgresql, entre otros muchos.
Todos saben del gran poder de Oracle, el gigante de las bases de datos, pero también de su gran costo. Últimamente en la empresa para la que trabajo hemos tenido un dolor de cabeza enorme por el licenciamiento que tenemos de nuestro servidor Oracle, es algo sorprendente yo no me imagine que el costo seria tan impresionante, algo así como 35,000 USD por socket de procesador en la máquina servidor(este siendo usado o no). En realidad eso del licenciamiento es un poco complejo, hemos hablado algunas veces con representantes de Oracle y aun así es un poco difícil de entender, sin embargo no podemos negar su gran poder, su potente lenguaje (PLSQL) y amplio uso en el ramo empresarial.
Hace poco comenzamos el desarrollo de una nueva aplicación en la empresa, es algo moderado no es nada enorme y complejo, pero nos permitió buscar alternativas para gestionar su base de datos ya que no queríamos tener mas problemas con Oracle. Así que decidimos buscar una alternativa gratuita o de bajo costo para la gestion de la base de datos de esta aplicación, la mayoria de las personas conosen MySq l, es muy popular entre el mundo del free software, y ahora que tiene el respaldo de una empresa como lo es SUN ha crecido bastante. Yo habia oido hablar de Postgre, en algun momento del estudio de mi carrera lo instale y lo probe poco tiempo, vi un poco de su funcionalidad y me parecio muy bueno, asi que ahora en lo laboral decidimos revisarlo y ver su desempeño, esta nueva aplicación la estamos desarollando en ASP.Net y PostgreSql 8.3, y debo decir que la base de datos se esta comportando muy bien, tiene muy buen soporte para triggers, funciones, vistas, reglas y demas, postgres es un muy dbms y con la ventaja de que es 100% gratuito. Debo decir que estoy muy satisfecho de que como se han estado dando las cosas en el desarrollo de esta aplicacion, tal vez es necesario un poco mas de integracion con visual studio pero con el puente ODBC puedes realizar casi todo lo que es necesario. Ademas tiene un buen conector para .Net (NpgSql) el cual esta escrito 100% en c# y da un muy buen rendimiento.
Hasta el momento todo va marchando muy bien en esta nueva experiencia utilizando PostgreSql en el desarrollo, no hemos tenido mayor problema mas que falta de un poco de integracion con visual studio, pero esto no se convierte en algo muy grave. Les recomiendo que le den una probada en sus aplicaciones para que vean su desempeño y su robustes, ademas existe una amplia comunidad que te puede ayudar asi como una basta documentacion en internet que te pueden ayudar a resolver tus dudads. Mas delante escribire mas hacerca de este grandioso DBMS, algunas experiencias de desarrollo y si puedo algunos tutoriales. Si tienen alguna pregunta no duden en postear y tratare de ayudarles lo mas posibles. Por lo pronto les dejo algunos enlaces hacia sitios interesantes de PostgreSql.

Sitio oficialEnlace
.Net Data Provider for Postgresql
Enlace
Manuales oficiales

martes, 7 de abril de 2009

Bienvenida!!!

Hola que tal a todos, esta es mi primera publicación en mi nuevo blog espero y sea una de muchas. Aquí ire poniendo mis comentarios, puntos de vista, links interesantes y demas cosas que valgan la pena ver.
Esto esta abierto para que todos hagan lo mismo.
Saludos