Monday, September 24, 2007

Instalando Gnome Vala en Ubuntu

La gente de Gnome ha inciado un proyecto interesante llamado Vala en su intento de Agilizar la Velocidad de Desarrollo para las librerias GNOME sin sacrificar Memoria RAM(cosa que critican directamente de Mono y Java). "Vala" hace parsing de una sintaxis muy pero muy similar a C# pero en vez de compilar a Nativo o a IL, compila a language C(.h y .c) "Compiler for the GObject type system" y por supuesto no necesita runtime. En fin, si quieren probarlo ustedes mismos aqui estan los pasos para instalarlo en Ubuntu: 1. Descargar los fuentes de Vala: wget http://download.gnome.org/sources/vala/0.1/vala-0.1.3.tar.bz2 2. Descomprimir: tar -xvf vala-0.1.3.tar.bz2 La descompresion ha creado el directorio vala-0.1.3 cd vala-0.1.3 3. Preparamos la compilacion ./configure 4. Compilamos. make 5. Instalamos. sudo make install Listo. Ahora solo nos queda probar el compilador(valac) y para esto creamos un archivo llamado "main.valac" y colocamos el siguiente contenido: using GLib; public class Sample : Object { public Sample () { } public void run () { stdout.printf ("Hello World from http://johansoft.blogspot.com\n"); } static int main (string[] args) { var sample = new Sample (); sample.run (); return 0; } } Compilamos: valac -o main main.vala Ejecutamos: ./main Listo:) El resultado deberia ser el siguiente: Hello World from http://johansoft.blogspot.com

Friday, September 21, 2007

Solucion: ERROR: language "plpgsql" does not exist

PostgreSQL puede ser programado con muchos lenguages y el mas usado es PL/pgSQL pero no siempre se instala por defecto. Para corregir este problema en Ubuntu Linux se realizan los siguientes pasos: 1. Localizar el archivo plpgsql.so Este archivo es una libreria de funciones que ejecuta el codigo PL/pgSQL, para localizarlo hacemos lo siguiente: $sudo updatedb $locate plpgsql.so Con estas instrucciones Linux localizara el archivo y nos dara la ruta de la libreria, en mi caso para Ubuntu 7.04 y PostgreSQL 8.2 la ruta seria la siguiente: /usr/lib/postgresql/8.2/lib/plpgsql.so 2. Instalar el handler y lenguage. Una vez localizada la ruta de la libreria handler del lenguage(ver paso 1) se procede a crear el handler en PostgreSQL, para esto se necesita una conexion a PosgreSQL que puede hacerse con pgadmin3 o la utilidad de linea de comandos psql. Envie a PostgreSQL los siguientes comandos: CREATE FUNCTION plpgsql_call_handler () RETURNS OPAQUE AS '/usr/lib/postgresql/8.2/lib/plpgsql.so' LANGUAGE 'C'; CREATE LANGUAGE 'plpgsql' HANDLER plpgsql_call_handler LANCOMPILER 'PL/pgSQL'; Listo, con esto ya creo el lenguage PL/pgSQL correctamente. Intente ejecutar nuevamente el script que genero el error original. Nota: la creacion o configuracion de cada lenguage de PostgreSQL se hace por base de datos, no en el servidor o en todas las bases de datos al mismo tiempo. Si necesita crear el leguage en varias bases de datos debe ejecutar el Paso 2 en cada base de datos o ejecutar el Paso 2 en alguna de las plantillas(template0,template1,etc) y despues crear las otras bases de datos futuras basadas en esta plantilla. Consulte tambien Acerca de PL/pgSQL [Actualizacion-28/09/2007] El error tambien puede ocurrir en Windows con el instalador por defecto de PostgreSQL, el handler puede que este creado pero no el lenguage. Para solucionarlo ingrese con el usuario POSTGRES en la base de datos donde necesita el lenguage y ejecute el siguiente script: CREATE TRUSTED PROCEDURAL LANGUAGE 'plpgsql' HANDLER plpgsql_call_handler VALIDATOR plpgsql_validator; Si el handler no existe se debe crear usando el procedimiento mencionado mas arriba para Linux pero aputando al archivo plpgsql.dll(que normalmente se encuentra en "C:\Archivos de programa\PostgreSQL\8.2\lib" si no se cambio la ruta de instalacion por defecto).

Tuesday, September 18, 2007

Resultados de encuesta: "Que lenguages de programacion empleas mas?"

Desde agosto coloque una encuesta en mi blog bajo el titulo "Que lenguage de programacion empleas mas?" y los resultados finales fueron los siguientes: Los ganadores: 1. PHP 2. SQL 3. Java A continuacion el Total de Votos:
SQL
155 (38%)
C#
107 (26%)
Java
149 (37%)
XML
53 (13%)
Phyton
53 (13%)
PHP
174 (43%)
Ruby on Rails
30 (7%)
Saludos y Gracias a todos los que participaron en la encuesta.

Como Obtener Informacion del CPU en Windows con .NET/C#

En Windows es bastante sencillo. ProcessorInfo[] procesadores = ProcessorInfo.GetList(); foreach(ProcessorInfo cpu in procesadores) { Console.WriteLine("CPU ID={0},DeviceId={1},Name={2},Machine={3}",cpu.Id,cpu.DeviceId,cpu.Name,cpu.SystemName); } El ejemplo anterior escribe lo siguiente en la consola: CPU ID=BFEBFBFF00000F41,DeviceId=CPU0,Name=Intel(R) Pentium(R) 4 CPU 2.66GHz,Mac hine=ACSA08 Donde ProcessorInfo es una clase que puedes descargar en la siguiente direccion: Descargar ProcessorInfo.cs

Feliz Cumpleaños Linux!

Saludos a todos los colaboradores y empresas que apoyan a Linux y el Software Libre. Feliz Cumpleaños Tux!