Monday, April 30, 2007

DATEADD en PostgreSQL 8

Actualmente me ecuentro migrando un portal de MS SQL Server a Postgress. Me encontre con un tema que me demostro una vez mas el poder de PostgreSQL sobre Microsoft SQL Server 2000/2005. En Microsoft SQL Server existe la funcion DATEADD , que permite agregar partes de datetime( dias,meses,años,minutos,segundos) una fecha existente, por ejemplo: Esta function en SQL Server: select getdate() as FechaActual, dateadd(day,2,getdate()) as DiasDespues Da como resultado: FechaActual DiasDespues ------------------------------------------------------ ------------------------------------------------------ 2007-05-01 08:19:22.693 2007-05-03 08:19:22.693 (1 filas afectadas) En PostgreSQL no existe el DATEADD, existe el operador de suma el cual actua entre operandos de tipo timestamp e interval. select now() as FechaActual, now() + cast('2 day' as interval) as DiasDespues Una vez mas me asombra el poder de PostgreSQL como base de datos orientado a objetos sobre T-SQL que es un lenguage estructurado... bueno, SQL es Structured Query Language jejeje.

Sunday, April 29, 2007

Embedding Mono

Embedding mono es el proceso en el cual se incrusta el Mono Runtime en otro proceso generalmente creado en C o C++. Siguiendo los pasos de la guia oficial de mono he creado este pequeño ejemplo para hacer ejecutar una aplicacion Ejecutable de Mono desde una aplicacion hecha en C. El demo incluye:
  • main.c : Archivo con el embedding para el Runtime de Mono
  • main.cs : Archivo de C# para generar ejecutable.
  • Makefile : Archivo para compilar y ejecutar todo.
[Descargar mono_embedding_exe.tar.gz] Basicamente los pasos son los siguientes:
  1. mono_jit_init y recibir un puntero al dominio de aplicacion.
  2. mono_domain_assembly_open y recibir un puntero al ensamblado.
  3. mono_jit_exec y pasarle el ensamblado y el dominio
  4. mono_jit_cleanup para limpiar la instancia de CLR.
Es todo. Me he tomado el trabajo porque actualmente en mi poco tiempo libre estoy intentando hacer wrappers del x-chat. La verdad lo que necesito es ejecutar una clase en una libreria y aun no lo consigo:P (Continua)

Friday, April 27, 2007

10 Contraseñas mas usadas de Internet

Definitivamente esta lista da pena, es la lista de las 10 contraseñas mas usadas en internet y figuran: 1. password 2. 123456 3. qwerty 4. abc123 5. letmein 6. monkey 7. myspace1 8. password1 9. blink182 10. (your first name) Me parece cool, yo usare "monkey".

Tuesday, April 24, 2007

Gmail en Evolution

Desde hoy comienzo a desarrollar el proyecto personal y como va en serio la cosa, he decidido buscar algunas herramientas para facilitarme el asunto. Lo primero es el gmail, de verdad me fastidia ir a la pagina a ver los correos asi que decidi empezar a utilizar Evolution que estaba a tan solo 2 clicks. Para configurarlo simplemente segui estos pasos ahora mi evolution recibe y envia para mi gmail. Yo no siquiera usaba Outlook excepto para la oficina pero buenas noticias para mi que voy a desintalar el Windows XPCochinada de la maquina del trabajo para instalar Ubuntu Feisty Fawn. Jamas en mi vida pense que diria esto: "Me siento mas comodo trabajando en linux que en Windows"

Sunday, April 22, 2007

Proyecto Personal Enabled!

Sorprendentemente alguien me ha comprado mi idea (por asi decirlo) y ya hemos empezado a desarrollarla. Es un framework para desarrollo de aplicaciones distribuidas para linux construido 100% en C#/Mono incluyendo un servidor de datos, un servidor de procesos de negocios y un servidor de presentacion que no es ASP.NET. El tiempo de desarrollo aproximado esta entre 5 a 7 meses a partir del miercoles 23 de Abril y despues de ese periodo desconocemos como realizaremos una estrategia comercial aunque se proponen distribucion propietaria de muy bajo costo(diagmos unos 100$), Freeware o hasta LGPL. Soportara inicialmente Linux+Postgres y de acuerdo a la demanada se soportaran otros sistemas operativos y bases de datos. Debido a que aun no hemos comprado el dominio en internet no puedo dar el nombre oficial pero esta relacionado a un elemento de la tabla periodica(eso creo...). Probablemente mi blog sea la fuente principal de noticias del asunto hasta que todo salga a la luz publica con un fin comercial.

Servidor IRC

Recientemente he creado mi propio servidor IRC, se encuentra en johansoft-linux.no-ip.org. Las salas estan libres. Si estas en windows pudes descargarte este cliente: X-Chat for Windows Si estas en ubuntu o debian en una terminal puedes instalarlo asi: sudo aptitude install x-chat O usando Synaptic. Recuerda colocar en las redes johansoft-linux.no-ip.org, la primera sala es #idiotas. Richard y yo estamos esperando mas gente.

Saturday, April 21, 2007

Gnome Art Manager

Para consolidar mi salida completa de Microsoft y entrar en Ubuntu, he querido darle a mi escritorio un nuevo look y decidi buscar algunos wallpapers y descubri Gnome Art Manager, que es una aplicacion que descarga automaticamente los wallpapers y temas visuales de la pagina de gnome art. El nombre del paquete es gnome-art. Si no lo saben instalar, tienen dos formas: 1) Desde el Menu "Aplicaciones->Agregar/Remover". 2) Usando Synaptic 3) Usando una terminal: sudo aptitude install gnome-art. Despues de la instalacion podran arrancarlo usando el menu "Sistema->Preferencias->Art Manager"(intente traducirlo, tengo ubuntu en ingles:P) Despues solo active los efectos 3d de Beryl usando el menu "Sistema->Preferencias->Desktop Effects" y listo. Ja! No todo es programar, tambien hay que sentirse bien! Larga vida a Ubuntu Linux!

Mono 1.2.4 coming soon!

Mono 1.2.4 esta en camino y ya se peude ver que viene para este release. Para mi esto es lo mas importantes:
  • Una nueva clase llamada System.DataConvert
  • Soporte parcial de C# 3.0 Lambda Expressions, Many updates to the System.Linq, System.Linq.Expressions.
  • Windows Forms 2.0:

    2.0 support: ToolStrip overflow, merging, shortcut keys, tooltips, new layouts.

    2.0 support: Hundreds of new 2.0 methods implemented in various controls.

  • Many of the new 2.0 socket
Mono 1.2.4 Release Notes

Wednesday, April 11, 2007

Sun Java F3

Leyendo el blog de Chris Oliver's me he enterado de la siguiente jugada de Sun, se llama F3 que no es mas que un lenguage+compilador que compila al mismo bytecode de JVM pero sin usar el lenguage Java. Para que otro lenguage? Probablemente venga acompañado de un IDE para Diseño y competir directamente con Microsoft Expression y Adobe. El lenguage es diferente a Java y no son simples extensiones ni usa librerias nuevas, el proposito parece ser demostrar las capacidades AUN NO EXPLOTADAS comercialmente de los graficos de Java pero sin embargo, siguen tendiendo el mismo problema de deployment que los Java Applets con las desagradables barras de progreso de "carga de la pelicula [flash] java y la falta de automatizacion en el proceso de instalacion del JVM y su Java Web Start. Aun asi es asombroso lo que Java y F3 puede hacer. (Screenshot de Descarga) Demo de F3 Blog F3

Tuesday, April 10, 2007

Mono y SharpDevelop en Windows.

Para desarrollar aplicaciones con Mono en Windows utiliza SharpDevelop y Mono, aqui explicare como hacerlo y que problemas resultan asi como tambien la solucion. Instalacion 1) Instalar el Mono y SharpDevelop: Instalar .NET Framework 2.0, 22.4 MB: SharpDevelop 2 utiliza .NET 2.0. Instalar SharpDevelop 2, 8.63 MB: Al instalar SharpDevelop no se instala automaticamente Mono, la instalacion de Mono sigue siendo obligatoria. Instalar Mono, 48.9 MB: El link lleva a la pagina de todas las descargas de mono, deben elejir en la seccion "Windows Installer Windows 2000 and above" y el instalador para la version Stable, para el momento que se escribio este blog era la version Mono 1.2.3.1_0 Setup (Stable). El instalador de mono les preguntara el puerto donde se instalar XSP, el hecho de que tenga un puerto predeterminado no quiere decir que se iniciara automaticamente, el uso de XSP en Windows es Manual. Problemas Al crear un proyecto de GTK# o libreria mono se encontraran con un problema, el error es el siguiente de acuerdo al tipo de proyecto que crearon: Proyectos en Mono 1.1: "Mcs.exe" exited with code -1. Proyectos en Mono 1.2: "Gmcs.exe" exited with code -1. La solucion es agregar una variable de entorno a Windows llamada "MONO_EXTERNAL_ENCODINGS" y con el valor "default_locale" (sin comillas). Para establecer la variable de entorno no utilice el comando SET, en vez de eso, realice la operacion usando la interfaz grafica haciendo click derecho en el icono de Mi PC->Propiedades. Nota: Las variables establecidas con SET por linea de comando no se establecen de forma global para Windows, si necesita hacerlo global y no quiere utilizar la interfaz grafica entonces debe agregar las instrucciones SET en el archivo Autoexec.bat y reiniciar Windows. Ejemplo: Lo siguiente es anexar a la variable PATH la ruta de instalacion de los binarios de Mono Runtime. Recuerden colocarle un punto-y-coma(;) al final del valor actual de la variable si antes no lo tenia y anexen la ruta a la carpeta "bin" de la instalacion de mono, para mi caso es "C:\Archivos de programa\Mono-1.2.3.1\bin". Ejemplo: Le damos click al boton Aceptar para establecer los nuevos valores. Reinicien SharpDevelop e intenten compilar el proyecto y veran como todo funciona:)

Estado de Implementacion de Mono

Recientemente he comenzado a trabajar 100% en Linux+Mono implementando sitios web con XSP+Apache y me preguntaba cuan implementado estaba el CLR 2.0 en comparacion con el 1.1. El link que les dejo les permite conocer que clases y sus miembros estan o no implementados para una determinada version: Mono Class Implementation Status

Thursday, April 5, 2007

Linux, GNU & Mono

Como recientemente he estado al 100% de mi tiempo trabajando en Linux y Mono, les dejo estos links que les seran de mucha utilidad: GNU Linux Coding Standards Compatilibidad de Mono Framework Manual de Automake(PDF) MonoHispano Estoy a su disposicion si necesitan apoyo. Saludos.

Anatomy Of A Debian Package - Google TalkTech

El siguiente video es para los desarrolladores de DebianX (ubuntu,xubuntu,edubuntu) que requieran entender un poco el sistema de empaquetado de debian, una presentacion de onathan Oxer uno de los autores de "Ubuntu Hacks" de O'Reilly. Video - Google TalkTech