domingo, noviembre 11, 2007

Tour Tecnológico 2007 en Tijuana

Este jueves 15 de Noviembre se llevará a cabo el Tour Tecnológico 2007 organizado por la comunidad TJ.NET y Microsoft, este evento se realizará en las instalaciones del CESUN, bajo el siguiente programa:

8:30 Registro
8:45 Bienvenida
9:00 Características principales de VS 2008 y el .Net Framework 3.5
Mario Alberto Chávez (Decisiones Inteligentes)
9:45 Construyendo Clientes inteligentes usando Visual Studio 2008, WPF y Expression Blend
Jaime Sánchez (Microsoft México)
10:30 Receso
11:00 Construyendo aplicaciones móviles usando Visual Studio 2008 y el .NET Compact Framework 3.5
Gabriel Flores (Microsoft MVP C#)
11:45 Introducción al ciclo de desarrollo con Visual Studio Team System
Haarón González (Microsoft MVP ASP.NET)
12:30 Desarrollo de aplicaciones interactivas con Windows Live
Jaime Sánchez (Microsoft México)
13:00 Interoperabilidad de documentos con OpenXML
Jaime Sánchez (Microsoft México)

Para registrarse en línea ir aquí.



lunes, noviembre 05, 2007

Richard Stallman en el ITT

Pues el dia de hoy se llevo a cabo la conferencia sobre Software Libre impartida por Richard Stallman en el teatro Calafornix del ITT.

La platica en general fue muy amena, la sorpresa, por lo menos para mi, es que fue totalmente en español por parte de Stallman, como dato curioso, se quito los zapatos antes de comenzar la platica y la dio en calcetines.

Los puntos a resaltar de la platica son los siguientes:
  • Definio que es software libre y porque software de codigo abierto no es lo mismo que software libre, al igual que definio que es software propietario, y pues bueno aqui vino el "yada yada yada..." contra Microsoft
  • Platico el porque a él, el uso de software libre le parece un acto moral, y aqui uso un ejemplo que cito textualmente "si se esta en una alberca y alguien se esta ahogando y uno sabe nadar, es una obligacion moral rescatar a la persona que se esta ahogando, claro a menos que esa persona sea Bush"
  • Comento sobre la ventaja de tener el codigo abierto para resolver problemas rapidamente, inspeccionar el codigo fuente para ver que haga lo que tiene que hacer y que no este espiando al usuario, aqui menciono que dentro de la industria del software, cito textualmente "hay una organizacion terrorista mas poderosa que Al-Qaeda, que se encarga de espiarnos a traves de 'backdoors' en el software propietario, esta organizacion es el gobierno de estados unidos"
  • Hablo sobre las licencias de software libre, especificamente que es la GLP
  • Tambien comento el problema de que el software GNU/Linux se conozca simplemente como Linux, omitiendo la participacion del proyecto GNU, y de la posicion politica de Linus Torvalds acerca de esta situcion, donde segun el, a Linus no le importa el software libre.
  • La platica se centro en relacion a la libretad y los derechos de los usuarios de software, asi mismo critico a las escuelas que enseñan y aceptan el uso de software propietario en lugar de enseñar y utilizar software libre
  • Finalmente hablo que no es cierto que al enforcarse al desarrollo de software libre se pierden empleos ya que el desarrollo de software es una parte pequeña en comparacion a otros servicios de las TI, y que una buena parte del desarrollo de software esta enfocada a desarrollo a la medida, y esta parte seria vigente aun y cuando se emigre a software libre.
  • Al final en algunas de las preguntas - no recuerdo cual era - menciono que para que Mexico alcance una verdadera democracia, el gobierno actual debe romper con su relacion con Estados Unidos.
Mucha gente tomo fotos - yo n traje mi camara -, tambien hubo varias camaras de video, asi que a la mejor en los siguientes dias por ahi aparacen los videos en youtube o algo asi.

Nota: Fotos "malitas" tomadas con mi celular...








Blogged with Flock

jueves, octubre 25, 2007

Richard Stallman en Baja California

Asi es Richard Stallman estara los dias 5 y 6 de Noviembre aqui en Baja California, hoy me acabo de enterar que estara en Tijuana el dia 5 a las 3:00pm PST en el teatro Calafornix del Tecnologico de Tijuana, al parecer va a ser un evento sin costo, entrada libre.

Del dia 6 ya estaba enterado desde hace algunas semanas, se presentara con una conferencia magistral en el CiComp 07 en la UABC de Ensenada, este evento si tendra un costo.



Nota para mi ... como crear un iso a partir de un dmg en OSX

hdiutil makehybrid -iso -joliet -o isofile.iso dmgfile.dmg

Mi primer parche para Mono, toma 2

Ok, mi primer parche para Mono fue aceptado, y debido a la funcionalidad del par de clases que fueron modificadas por mi, es muy probable que los usuarios de Mono cada vez que ejecuten/compilen sus aplicaciones, ejecuten el codigo que escribi ;)

Por otro lado cuando desarrolle el parche, realice un programa con un par de casos de prueba, solo para asegurarme que mi codigo funcionara y que funcionalidad original de los metodos que modifique tambien, el caso es que ese programa de prueba yo ya no lo ejecute en MS .NET, solo en Mono, pues resulta que mi programa de prueba descubrio un "Bug" en el .NET - de acuerdo a Gert quien reviso mi parche de Mono -, y ahora existe un reporte para Microsoft para que solucione el problema, el cual aparece en .NET 2.0 y .NET 3.5, aunque existe otro reporte previo a este problema, Microsoft lo cerro indicando que ya estaba solucionado, pues resulta que no.

Definitivamente para mi fue un buen ejercicio, por haber solucionado mi problema, haber contribuido a Mono, descubrir el problema en OSX, confirmarlo en Windows, desarrollar el parche en OSX, compilarlo y probarlo en Linux y finalmente confirmarlo solucionado en OSX ;)

Bueno ahora a otra cosa ...

miércoles, octubre 24, 2007

Reflection falla al invocar miembros con el attribute ParamArray en Mono

Trabajando en un proyecto con Monorail, el cual estoy desarrollando desde OSX con Mono, el motor de vistas Brail fallaba al compilar una de las vistas, este problema se me presento solo con Mono, ya que en MS .NET la vista funcionaba como debia.

Investigando el problema, me di cuenta que Brail invoca por medio de reflection a los metodos que se indican dentro de la vista, y es precisamente aqui donde Brail fallaba al ejecutar; el metodo en cuestion era el metodo Create de la clase DictHelper dentro del Framework de Monorail, el cual se le pasan parametros de la forma: "property1=value", "property2=value", etc, y el metodo regresa un objeto del tipo IDictionary, este metodo acepta parametros de la forma: Create(params string args).

Params es una palabra clave de C# que permite definir un parametro especial que acepte una cntidad indefinida de parametos, por ejemplo Create esta definido come se mostro arriba, pero la forma en como lo puedo llamar es: DictHelper.Create("p1=v1", "p2=v2", "p3=v3"), es decir le paso un arreglo de parametros. .NET cuenta con un attributo ParamArray, el cual puede ser utilizado desde cualquier lenguaje, lo que sucede una vez que el programa ha sido compilado .NET toma los parametros y los convierte en un arreglo de parametros para que pueda ser pasado al metodo.

El problema de Mono es que no implementa funcionalidad para llamar mediante reflection metodos que usen la palabra clave params, pude haber creado un "bug" para reportar el problema a los desarrolladores de Mono y ya, pero al final me decidi a tratar de implementar el soporte para esta funcionalidad.

Despues de analizar como Mono invoca metodos por reflection, me fue necesario modificar los archivos Binder.cs y MonoType.cs.

El parche y programa de prueba lo envie a la lista de Mono-devel, de momento estoy a la espera de que lo revisen y me digan si lo aceptan o no.

jueves, octubre 18, 2007

Tutorial de Ruby interactivo

En el sitio TryRuby se encuentra un tutorial en linea e interactivo donde se aprende como utilizar el lenguaje Ruby, sin necesidad de ser instalado localmente.

miércoles, octubre 03, 2007

Mas sobre la disponibilidad del codigo fuente de .NET 3.5

Con noticias en Slashdot como "Open.NET - .NET Libraries fo open source", a partir del anuncion de Scott, lo unico que se genera es confusion y discusiones sin sentido.

No, Microsoft no libera el .NET Framework como open source, libera el codigo para referencia, asi como los arhivos .PDB para propositios de depurar aplicaciones, como dije, el tener codigo fuente, no es la gran cosa, ya que con herramientas como reflector siempre se ha podido inspeccionar para tener mejor entendimiento, o bien se puede consultar la implementacion de alguna clase en el codigo fuente de Mono.

Aqui el unico punto importante es el acceso a los .PDBs para depuracion.

La apertura al codigo fuente de .NET, no es algo nuevo ya desde antes de la liberacion del .NET 2.0 se hablaba por parte de Microsoft de liberar el codigo fuente y los PDBs de Windows Forms.

Asi que las teorias conspiratorias sobre un plan maestro para eliminar Mono, publicadas en Slashdot, no tienen sentido; lo unico es que van tener que vigilar mas las contribuciones de codigo para evitar que se utilize el codigo liberado por Microsoft.

Microsoft va a liberar el codigo fuente de .NET 3.5 Framework

Scott Guthrie ha anunciado hoy, que Microsoft va a liberar el codigo fuente de la version 3.5 del Framework .NET que va a salir a finales de este año, el codigo fuente estara disponible bajo la licencia "Microsoft Reference License (MS-RL)".

Esta licencia, como su nombre lo indica, permite utilizar el codigo fuente unicamente como referencia, no es posible tomarlo, extenderlo, modificarlo, incluirlo en aplicaciones de terceros, etc.

Es decir, el .NET Framework 3.5 no se vuelve open source, como aparecio en la noticia de Dotnetkicks.

La unica ventaja que le veo a esto, es que va a ser posible depurar codigo desde el VS.NET con los simbolos y las referencias de codigo fuente del Framework, en cuanto a que sea novedad conocer el codigo fuente de las librerias para enteder su funcionamiento, pues no es nuevo, desde hace tiempo se a podido acceder a su codigo fuente con herramientas como Reflector.

lunes, septiembre 24, 2007

Hugin, fotos panoramicas

Hugin es una aplicacion open source para componer fotografias panoramicas a partir de un mosaico de fotografias.

Hugin funciona en Linux, Windows y OSX.

Algunos ejemplos:





Carretera escenica Tijuana-Ensenada





Rumorosa, vista a Mexicali

martes, septiembre 18, 2007

Cubo tipo compiz para Windows

Si has visto los efectos del cubo de compiz y te gustan, pero no tienes Linux, solo tienes Windows XP o Vista, pues aqui hay un plugin que crea un efecto similar para el escritorio.

lunes, septiembre 17, 2007

Programas libres para OSX

Compendio de programas libres para libres para OSX, libres en el sentido de Open source y gratis. Hay programas en varias categorias: Graficos, Organizacion, Base de datos, Ciencias, etc.

http://web.mac.com/simon_elliott/iWeb/simon_elliott%40mac.com/Software.html

jueves, septiembre 13, 2007

Día mundial del software libre en Tijuana


El día mundial de software libre se llevará a cabo este 15 de septiembre en el CECUT. Este evento esta organizado por la comunidad Linux Baja

Este año tenemos programadas conferencias, distribución gratuita de Software Libre.

El evento es gratuito y se realizará en la Sala de Lecturas del Centro Cultural Tijuana, el sábado 15 de septiembre de 2 P.M. a 6 P.M

Orden del día
  • 2:00 PM - 2:15 PM Registro y Bienvenida
  • 2:20 PM - 3:00 PM Conferencia "Compiz Fusion o Cómo impresionar a tu chic@ en la primera cita"
  • 3:05 PM - 3:45 PM Conferencia "Experiencias con Software Libre"
  • 3:50 PM - 4:30 PM Conferencia "Formatos Abiertos"
  • 4:35 PM - 5:15 PM Conferencia "Ubuntu o Cómo saber la temperatura exacta del punto de congelación de un bubulubu"
  • 5:20 PM - 6:00 PM Conferencia "Retos del Software Libre o Cómo usar Linux sin morir en el intento"

Actividades simultáneas
Distribución gratuita de Software Libre
Se estará distribuyendo gratuitamente el disco “The Open CD” que contiene Software Libre para Windows. Es necesario registrarse el día del evento para obtenerlo.



miércoles, septiembre 12, 2007

Siguiendo los Rubies

Desde hace algunos meses he estado siguiendo a un nuevo jugador en el área de desarrollo de aplicaciones para Web, ese nuevo jugador es Ruby.

Ruby es un popular lenguaje de programación interpretado de pasada-unica con características orientadas a objeto y multiplataforma. Ruby tiene ya como 10 años de que fue desarrollado, pero creo que ha ganado una gran popularidad en los últimos años debido a un framework (marco de trabajo) que permite la creación de aplicaciones web con relativa facilidad y potentes; este framework se llama Ruby On Rails (RoR).

RoR esta basado en 2 patrones primordialmente, Model-View-Controller (MVC); el cual permite realizar una separación entre el manejo de los datos, el control de flujo y la presentación o interface web, permitiendo una mejor organización y control del código de la aplicación, el otro patrón es ActiveRecord, el cual funciona como un ORM, y ayuda a realizar una "mapeo" transparente entre un objeto y una entidad relacional, ayudando a acceder a datos en una base relacional como si fueran objetos.

RoR ofrece algunas características que creo que han sido pieza clave en el éxito que tiene, una de ellas es que al hacer uso del patrón MVC ayuda a crear pruebas automáticas sobre el modelo de los datos y el controlador para asegurar que la aplicación una vez puesta en producción va a funcionar adecuadamente, ademas de ayudar a verificar que cambios introducidos en el código no van a romper funcionalidad existe, y si esto pasa, bueno al menos identificarlos por medio de las pruebas para su corrección antes de pasarlos a producción.

Otra característica interesante es el "Scaffolding", el cual es una manera de poder crear prototipos de una manera rápida en RoR, ya que se crea código de manera dinámica (código para operaciones CRUD) a partir de las entidades de la base de datos, mas tarde el "Scaffold" se puede ir reemplazando por nuestro propio código de forma gradual.

Ruby y RoR tienen una comunidad muy activa que aporta soluciones para extender la funcionalidad de ambos.

Si acaso la única desventaja (desventaja entre comillas) es que como mencione anteriormente Ruby es interpretado al momento de ejecución por un compilador de pasada única, esto implica que no se va a ejecutar tan veloz como un programa nativo (por ejemplo creado en C), pero el que el compilador sea de pasada única ayuda en que código que ya se interpreto no se va a volver a interpretar si se vuelve a ejecutar, en su lugar se va a utilizar su imagen ya interpretada.

Como mencione al principio Ruby ha llamado mi atención fuertemente, pero al parecer hay comunidades fuera del ámbito original de Ruby que también han sido atraídas por las joyas.

Una de esas comunidades, es la comunidad Java con el desarrollo de JRuby, el cual se enfoca en hacer que un programa de Ruby pueda ejecutarse dentro de la maquina virtual de Java.

Otra de las comunidades es la comunidad .NET, en donde a diferencia de Java, se ha implementado Ruby para ejecutarse en .NET, pero no por un grupo de programadores en su tiempo libre, si no que es un esfuerzo lidereado desde dentro del mismo Microsoft, el proyecto se llama IronRuby.

Lo curioso no es que Microsoft haya implementado Ruby para .NET (cuando ya existía un esfuerzo previo, por terceros para llevar a cano esta tarea Ruby.NET), lo interesante son las interpretaciones que gente como Martin Fowler, Scott Hanselman, Sam Gentile y algunos miembros del sitio Codebetter le dan a este hecho.

La realidad es que Microsoft y grupos open source no se llevan del todo, durante ya algo de tiempo han habido golpes bajos y FUD entre ambos; por su parte Microsoft parece estar empeñado a reemplazar las herramientas de desarrollo open source populares en el mundo .NET, por las suyas (por ejemplo el caso de NUnit o NAnt), lo cual es una duplicación de esfuerzo, ya que algunas de esas herramientas no superan a las ya disponibles en open source; pero por otra parte hay descontento entre algunos de los denominados "Líderes Técnicos" en el mundo .NET por la complejidad de las herramientas y tecnologías que Microsoft ha liberado en los últimos años, por ejemplo ASP.NET, cuenta con asistentes que ayudan a crear una aplicación fácilmente en minutos, el problema viene cuando hay que darle mantenimiento a esa aplicación o es necesario "crecerla" a un nivel corporativo, y en buena parte es por el modelo de ASP.NET el cual trata de llevar el paradigma de aplicaciones de escritorio a Web; otro punto es que es un tanto difícil seguirle los pasos a Microsoft en cuanto a la liberación de tecnologías, cambia el rumbo muy fácilmente, en solo un par de años por ejemplo el auge de los WebServices se extinguió y ahora existe WCF, el cual tiene otra visión; parte de este problema son también las incompatibilidades que ocasiones se crea al introducir nuevas tecnologías.

El problema que Microsoft quiere atacar con la implementación de IronRuby (desde la perspectiva de Martin y Scott), es que no esta detrás del dinero, es decir no espera obtener ganancias directas por implementar Ruby, lo que busca es que los "Líderes Técnicos" que están considerando soluciones menos complejas, como por ejemplo RoR, continúen trabajando en ellas, pero dentro de su plataforma Windows ( que ahí si es donde espera ganar dinero ) y no se migren a Linux u OSX, y junto con ellos se queden los desarrollares que siguen las opiniones de estos líderes, que a final de cuentas muchos evangelizadores de la plataforma .NET.

Solo el tiempo dirá si las cartas que se juega Microsoft son las correctas para mantener su amplia base de desarrollares.

Yo por mi parte, me interesa bastante Ruby, de hecho ya instale la plataforma en mi Mac, pero no he tenido el tiempo de experimentar con RoR; aunque tengo algunos proyectos web, el requisito hasta ahorita de mis clientes es que sea en ASP.NET, aun así he decido implementar los proyectos con MonoRail y ActiveRecord para .NET, con la finalidad de irme haciendo mas a la idea de RoR, tanto MonoRail como ActiveRecord están implementados en C#, pero con la misma filosofía del framework RoR, pero de ellos espero hablar en un siguiente post.

miércoles, septiembre 05, 2007

Morrissey en el Foro

Este 20 de Septiembre viene Morrissey a El Foro de Tijuana, venta de boletos a partir del 8 de Septiembre.

Nota: El anuncio del concierto aparecio en la edicion del Zeta de la semana pasada

Era cuestion de tiempo

El dia de hoy tanto Scott Guthrie de Microsoft como Miguel de Icaza anunciaron el acuerdo de colaboracion para llevar Silverlight oficialmente a Linux/Unix.

Si bien Microsoft anteriormente yua habia colaborado en proyectos de codigo fuente abierto como Xen y PHP, al parecer es la primera vez que colaboraria en el area de escritorio (segun lo que espresa Miguel en su post).

El acuerdo consiste en implementar las especificaciones Silverlight 1.0 y 1.1 en el proyecto llamado Moonlight, al cual Microsoft le ofreceria el apoyo necesario para que se lleve a cabo, ademas de poner a disposicion los codecs binarios para audio y video para Linux/Unix.



Miguel comenta que Moonlight continuara siendo open source, lo unico que permanecera cerrado son los codecs de Microsoft, pero que Moonlight puede utilizar otros codecs que sean open source aunque no se puede asegurar en ese caso la compatibilidad con Windows.

Aunque el acuerdo al que se llego esta demarcado por lo dicho anteriormente, el esfuerzo del equipo Mono no se centra en solo ejecutar aplicaciones Silverlight, tambien se esta desarrollando herramientas para poder diseñar aplicaciones en Linux/Unix y MacOS, ya que la herramienta Expression Blend de Microsoft para el diseño solo va a estar disponible en Windows. Aqui es donde entra en juego "Lunar Eclipse" que aun esta en proceso de desarrollo.



Ahora solo resta esperar y ver cual es la reaccion de los "trolls" en sitios como Slashdot al respecto de este anuncio.

miércoles, agosto 29, 2007

Wine en Mac OS X

Hace unos días tuve la necesidad de ejecutar un programa de Windows en mi MacBook, el problema es que para ese programa no existe versión para OS X, asi que me puse a buscar si existía Wine para OS X, la primera referencia la encontré en el sitio de WineHQ, donde se explica como compilar el código fuente, pero no quería compilarlo desde el código fuente, así que decidí realizar una búsqueda mas; encontré el sitio de Darwine, el cual ya cuenta con archivos dmg listos para ser utilizados, pero el problema es que el sitio tiene binarios para OS X (x86) antiguos, no van a la par con la versión de Wine, de nuevo una búsqueda mas y di con este sitio que tiene una versión previa a la liberada por WineHQ, finalmente una ultima búsqueda y encontré un binario con la misma versión que la ultima versión de Wine (0.9.44).

Después de instalarlo pude ejecutar el programa de Windows sin ningún problema... ( Nota: Wine requiere del servidor X11, para instalarlo, hay que usar el disco 1 de instalacion de Apple)

viernes, agosto 17, 2007

Nokia 770 Fantastico

Leyendo hoy el blog de Fernando Herrera (desarrollador de Gnome), me acorde que en la pelicula de los 4 fantasticos el Dr. Reed esta "enamorado" de su PDA, ya que desde ahi controlar practicamente cualquier otro dispositivo/red; pues resulta ser que yo tengo un PDA igualito, ya que el que se muestra en la pantalla es un Nokia 770:

En la imagen de la pelicula se aprecia el mismo dispositivo:


Lo que no he encontrado todavia son los repositorios para descargar el software que se ve en la pelicula, acaso no sera software libre? :P

lunes, agosto 13, 2007

Reinscripciones en el ITT

Ya esta la informacion de reinscripciones en la pagina del ITT, estas se llevaran a cabo del 22 al 24 de Agosto del 2007.

La informacion relevante es:

viernes, agosto 10, 2007

¿Porque en la uni no enseñan el lenguaje (ponga su lenguaje favorito aqui)?

Comentarios como los del titulo del post los he ecuchado, tambien he escuchado ¿como me pide el maestro/a un programa en lenguaje (otra vez inserte su lenguaje favorito aqui), si no me han enseñado a programar en el?. Un post recente en un blog me hizo reflexionar sobre este tema.

Bueno la verdad es que en las universidades, en las carreras de sistemas (ingenieria o informatica), no enseñan a programar en ningun lenguaje, y de hecho no es su responsabilidad.

El objetivo de materias como "fundamentos de programacion", "programacion OO", "topicos de programacion", "estructuras de datos", etc., es proporcionar los conocimientos necesarios para enteder los conceptos de programacion, por lo tanto estas materias son agnosticas a un lenguaje en particular, ya que primeramente se enseña con pseudo-codigo el concepto que se esta explicando, y despues se muestra con algun lenguaje de programacion, como seria la implementacion.

Pero aprender a usar un lenguaje (cualquiera que sea) es responsabilidad del alumno, no de la uni.

Por otro lado en el post que me hizo reflexionar al respecto, se critica los lenguajes que las unis usan para la parte practica de las materias. Bueno lo que puedo comentar es que la forma en como se seleccionan los lenguajes depende de escuela a escuela, en algunos casos en reunion de academia o departamento los maestros deciden que lenguaje es mejor para apoyar el contenido de los cursos, en otros casos el maestro decide que lenguaje - a la mejor porque no conoce otro, o porque le es mas comodo el lenguaje elegido - y finalmente, no muy comun, pero algunos maestros preguntan que lenguaje es el mas comun que los alumnos conocen y ese es el que se emplea.

Tambien existe la posibilidad de que la uni tenga un acuerdo con alguna empresa y se decida usar el lenguaje/herramientas de la empresa, caso muy comun con Microsoft.

Por ejemplo en Mexico es muy comun que en las unis se use C++, C# y Java, como en algun tiempo tambien fue comun usar Pascal, peo de igual forma existen algunos otros lenguajes pocos populares o academicos que se usan, como puede ser Prolog, Scheme o Lisp.

Asi que para recapitular, la uni solo enseña conceptos sobre programacion, aprender un lenguaje es responsabilidad del alumno, ya sea por interes propio o porque desea pasar la materia; a final de cuentas al salir de la carrera y entrar a trabajar posiblemente requiera aprender lenguajes nuevos, porque el tranajo asi lo requiere.

martes, agosto 07, 2007

C# codigo intermedio, Vala C puro

Hace unos dias en el mundo Gnome encontre un proyecto interesante, el cual parace que esta ganando "momento", aun y cuando el proyecto se inicio alla por el 2006, este proyecto se llama Vala.

Como se describe en su pagina, Vala es un lenguaje moderno para el desarrollo de aplicaciones para el ambiente Gnome, el cual compila el codigo a C, permitiendo el uso directo de las librerias de Gnome escritas en C, sin la necesidad de una maquina virtual para la ejecucion del codigo - tal y como lo hace C# o Python -.

Vala esta basada en el sistema de tipos GObject, pero la pregunta es ¿porque Vala es un lenguage moderno de programacion?, bueno porque su sintaxis esta basada, nada menos que en C#!

Asi es Vala soporta caracteristicas existentes en C# 2.0 como pueden ser:
  • Interfaces
  • Ciclos foreach
  • Señales o eventos
  • Generics
  • Propiedades
  • Tipos no nulos
  • Manejo automatico de memoria, bueno usa "Reference counting"
  • Soporta manejo de excepciones con los bloques Try-Catch
Pero ademas implementa caracteristicas de C# 3.0 como son:
  • Expresiones Lambda
  • Inferecia de tipos (variables de tipo var)
El rasonamiento de Vala es que en Gnome existen programadores que no quieren/pueden usar lenguajes como C# o Java y estan "condenados" a utilizar C y la complejidad de programar para GObject, ahora van a poder usar un lenguaje que se encargue de la "plomeria" para seguir creando aplicaciones en un lenguaje moderno y sin tener que depender de una maquina virtual.

Para poder utilizar las librerias nativas de Gnome en Vala, es necesario crear "bindings" que son una capa que permite la comunicacion entre las librerias y el lenguage Vala, actualmente hay "hackers" que estan enfocados en esta tarea y se espera que un futuro proximo al menos las librerias basicas de Gnome cuenten con bindings para poder ser utilizadas con Vala.

Aqui muestro un par de ejemplos, el primero es interesante porque muestra el uso de: Propiedades, Eventos, Expresiones Lambda y ciclo foreach

// Para compilar, teclear: valac -o sample1 sample1.vala

using GLib;

public class Sample1
{
private string name {get; set;}
public Sample1 (construct string! name){}

public signal void Display();

public void run()
{
Display += s => {
stdout.printf ("Expresion Lambda %s!\n", name);
};

Display();
}

static int main(string[] args)
{
foreach(string arg in args)
{
var sample = new Sample1(arg);
sample.run();
}
}
}
El segundo ejemplo muestra como crear una aplicacion grafica con el toolkit Gtk+

//valac --pkg gtk+-2.0 -o sample sample.vala

using GLib;
using Gtk;

public class Sample : Window {
construct {
title = "Sample Window";
create_widgets ();
}

public void create_widgets () {
destroy += Gtk.main_quit;

var button = new Button.with_label ("Hello World");
button.clicked += btn => {
title = btn.label;
};

add (button);
}

static int main (string[] args) {
Gtk.init (out args);

var sample = new Sample ();
sample.show_all ();

Gtk.main ();
return 0;
}
}
El listado de la sintaxis de Vala se encuetra aqui.

Me llama la atencion que hallan decido implementar Vala con una sintaxis mas parecida a C# en lugar de Java, y me llama la atencion porque generalmente en el mundo OSS cualquer cosa que venga de Microsoft es maligna, en fin veremos que futuro le depara a Vala en el mundo Gnome.

Por cierto no existen paquetes de instalacion, asi que aqui estan las instrucciones de como compilarlo, ya que Vala se autocompila, pero lo tant es necesario contar con un compilador Vala para poder compilarse a si mismo, ok, ok se escucha complejo, pero es muy simple.

Primero hay que descargar algunos de los archivos tar liberados - el mas reciente es el mejor - de esta liga: Releases. Despues de descomprimirlo lo compilamos y lo instalamos:
$ tar xvfj vala*.bz2
$ ./configure --prefix=/usr/local
$ make
$ sudo make install


Despues se puede bajar el codigo fuente de Vala desde el repositorio - recomendable ya que agrega nueva funcionalidad y corrige bugs - con compilarlo e instalarlo:
$ svn co http://svn.gnome.org/svn/vala/trunk
$ ./configure --prefix=/usr/local
$ make
$ sudo make install
$ make distclean
$ ./configure --prefix=/usr/local
$ make
$ sudo make install

Listo, ya podemos empezar a programar en Vala.

Xbox 360 y el sindrome de "Red Ring of Death"

Hace un par de dias mi XBox 360 "murio" debido al sindrome "Red Ring of Death", aun no hablo a Microsoft para ver que procede. Mi Xbox ni siquiera alcanzo a cumplir el año, el costo de un aparato asi es bastante alto como para que "por errores de diseño" simplemente deje de funcionar, y no hablo solo del costo de inversion sobre la consola en sí, sino los costos adicionales por dispositivos perifericos y obviamente el alto costo que tienen los discos de juegos.

En fin espero poder recibir la autorizacion de Microsoft para poder enviarles mi XBox y a esperar que solucionen el problema y que sea una solucion definitiva. Por cierto el sitio donde debo de registrar mi XBox - no lo habia registrado desde la compra - parace que tiene problemas, sera la alta demanda de consolas defectuosas, todo el dia he recibido un:
The connection has timed out

The server at rc.xbox.com is taking too long to respond.

Club de robotica en el ITT


El ITT ya cuenta con club de robotica, el cual fue creado a partir de que algunos algunos de ISC participaran en el evento Sony Robotika'07, el club se llama RobotITT y esta invitando a que se unan al club.

lunes, agosto 06, 2007

Elecciones en BC

El dia de ayer se llevaron a cabo elecciones estatales en Baja California para elegir a Gobernador del estado, diputados y a las cinco alcaldias de la entidad.

Desde mi punto de vista todo el evento se llevo a cabo de forma tranquila, salvo algunos incidentes de hostigamiento por parte de las policias municipales del Tijuana y Rosarito, asi como la policia estatal, ademas de grupos de personas agresivas de uno de los partidos envueltos en la contienda - mareas rojas -.

Puesto que me encontraba en Mexicali, me toco votar en la casilla especial del teatro del estado, la cual estuvo - durante el tiempo que estuve alli - muy concurrida, por gente de todo el estado. Por lo que me toco ver en Mexicali y en el valle, la eleccion no estuvo muy concurrida, quizas por el tremendo calor que hacia en esa zona y la tormenta de arena que por ahi de las 2:00pm se "estaciono" sobre la ciudad y el valle.

Ya por la noche cuando los resultaron enpezaron a fluir, el IEE pidio que no se hicieran publicas las encuestas de salida, debido a que aun despues de las 6:00pm - hora del cierre de casillas - habia todavia gente votando, aun asi las encuestas que alcanzaron a publicarse por varios medios, daban ventaja a Osuna Millan para la eleccion de gobernador.

Mas tarde el IEE anunciaba en entrevistas por varios medios de comunicacion que habia un "empate tecnico" entre las alianzas panistas y pristas, se les cuestiono por tal situacion y ante la presion se echaron para atras con lo del empate, pero se les cuestiono tambien que no haya habido alguna declaracion oficial de IEE sobre las tandencias que marcaban la captura de los votos, aun y cuando si existia esta; otro traspie mas del IEE en su marcada parcialidad a un partido politico.

El dia de hoy lunes, el PREP cerro el contero de los votos al llegar al 99.7%, donde la tendencia parece clara e irreversible: Gano Osuna Millan la gobernatura del estado, asi como practicamente todo el congreso estatal, ademas de que 4 de las 5 alcaldias van a ser gobernadas por el PAN y solo Rosarito por el PRI.

Como dato curioso ayer como a las 10:00pm el sitio del prep empezo a fallar esporadicamente, pero parece que no paso a mayores:












Ya el dia de hoy Osuna Millan se declaro vencedor de la contienda, y Hank Rhon quien asevero que aceptaria el resultado fuera cual fuera "como hombrecito", no ha dado la cara para saber cual es su postura al respecto. Ya dio la cara en una conferencia de prensa, donde acepto su derrota, la cual la justifica por el nivel de abstencionismo.

viernes, julio 27, 2007

5 de agosto, elecciones en Baja California

A tan solo unos cuantos días de que se lleven a cabo las elecciones estatales y municipales en Baja California, el panorama deja mucho que desear...

El motivo de tal comentario proviene de que gran parte de la campaña se enfoco a la violación de la ley Anti-chapulín por parte de políticos oportunistas, y por ende su revocación como candidatos, aun y cuando ellos tenían plena conciencia de las leyes del estado, a final de cuentas un Tribunal Electoral fallo en contra de dicha ley y en contra de la soberanía del estado, y devolvió las candidaturas revocadas previamente.

Los candidatos que violaron el articulo 42, utilizaron esta coyuntura para aparentar ser víctimas del PAN y del gobierno del estado y así ganar algunos puntos en su favor. Pero no todas las candidaturas fueron regresadas, en el caso de la alcadía de Tijuana, el periodista Fernando Del Monte vino a relevar a Jorge Astiazarán, quien en cuanto tuvo su constancia como candidato, a mi parecer se desligo de Jorge Hank y el PRI, ya que a pregunta de la prensa sobre su relación con Jorge Hank, solo atino a decir que las coincidencias que los unen es que ambos son candidatos por la misma alianza y que el esta ahí por invitación del partido de BC, el cual es parte de la Alianza para que vivas mejor, ademas de que en su publicidad y persona, no usa el color Rojo distintivo de la campaña, y en su lugar usa el color blanco.

Otra parte de la campaña se ha enfocado a los ataques y descalificaciones de los candidatos y partidos que conforman las alianzas ¨Por Baja California¨y ¨Para que vivas mejor¨, aunque también se ha sumado el PRD al tren de descalificaciones, aunque el PRD y los otros partidos políticos en la contienda no tiene real peso político en el panorama de estas elecciones.

Los ataques de la alianza para que vivas mejor son de manera general al PAN en Baja California, buscando descalificar los 18 años que lleva en el poder, aquí en el estado, con una serie de ¨spots¨que mas que propositivos su función es realizar el desprestigio de los gobiernos panistas.

Por su lado la alianza por Baja California se ha enfocado en desvictimisar al PRI por el caso del articulo 42 y atacar a Jorge Hank Rhon, tanto por su truncada gestión como alcalde de Tijuana, su estilo de vida y su negra y obscura historia, que lo involucra en hechos delictivos en donde ha estado bajo sospecha dentro como fuera del país.

La otra parte de la campaña se ha enfocado en mutuas acusaciones, en este caso, entre el ayuntamiento de Tijuana y el gobierno del estado, en donde ambos de alguna manera u otra han estado metiendo las manos para captar votos para las alianzas que apoyan, por ejemplo se ha acusado al gobierno de Tijuana, por remover propaganda de la alianza por Baja California, por estar fuera de reglamento, del reparto de despensas y útiles escolares por gente con propaganda de la alianza para que vivas mejor utilizando bodegas del ayuntamiento de Tijuana, la participación de funcionarios del gobierno municipal en actos de campaña durante horas laborables.

Por otro lado se ha acusado al gobierno estatal de ejercer presión en el IEE con la finalidad de obtener alguna ventaja o beneficio para la alianza por Baja California, también se le ha acusado del anuncio de obras importantes en tiempos de elección, así como apoyos a la campaña.

Pero lo cierto es que han faltado las propuestas y al parecer todo el proceso de campaña se ha basado en un enfoque destructivo y no propositivo. Y por si fuera poco la sombra de la violencia acecha las próximas elecciones, y es que se han suscitado conatos de violencia física entre los ¨simpatizantes¨ de una alianza y otra; ademas de que ambas han anunciado el despliegue de simpatizantes a las casillas, situación que se puede en algún momento dado volverse tensa.

La siguiente semana será una semana ya sin campaña política, y solo restara esperar al próximo 5 de agosto y esperar que todo se lleve en calma, aunque los días después de la elección se pueden poner algo rispidos ya que según las ultimas encuestas la diferencia entre las alianzas para la gobernatura indican que la diferencia en mínima, mientras que en el proceso por la alcaldía de Tijuana, al parecer la alianza para que vivas mejor lleva la delantera.

miércoles, julio 18, 2007

Segunda MAC

Pues despues de algunas semanas de la MacBook que compre, ahora llego el turno de una MacBookPro, esta nueva maquina me llego el dia de ayer, una vez mas la compre en la tienda DNewton en Tijuana, lo mejor de todo el precio igual que en estados unidos y es deducible de impuestos para mi.


lunes, julio 16, 2007

Que paso con Kuali?

Con el motivo de adelantar materias, este verano estoy llevando "Fundamentos de Ingeniaria de Software" en el ITT; buena parte de la materia se enfoca en asegurar la calidad del software implementando algunos de los diferentes procesos que nos permitan medir y asegurar la calidad; debido a eso recorde que en Mexico existe una norma Mexicana para el aseguramiento del software, esta norma comunmente se conoce como Moprosoft.

Recuerdo que cuando la norma aun estaba en desarrollo, se hizo publicidad a que se estaba desarrollando una herramienta de software que iba a ayudar a implementar y manejar Moprosoft, esta herramienta se llamaba Kuali.

Me puse a buscar en Internet Kuali para ver como habia evolucionado desde la ultima vez que la habia utilizado, pero por alguna razon ya no existe. Kuali era una herramienta para Windows desarrollada en C#, por la empresa CrossHorizons bajo encargo de Microsoft / Secretaria de Economia, ambas aserciones las realizo porque es lo que recuerdo de Kuali y porque los ensamblados todos iniciaban su nombre con CrossHorizons; y en las propiedades de los mismos, se decia que los derechos estaban reservados a la SE.

Pero la pregunta sigue siendo, que paso con Kuali?, el cual se suponia que iba a ser un programa Open Source, nunca se dio eso, y el sitio, foros y binario no esta disponible.

De lo poco que pude encontrar al respecto es un post de Dan'l Lewin, VP Corporativo de Microsoft donde se dice lo siguiente:
"Through this project, we developed KUALI, a free tool to help the local industry implement MOPROSOFT, Mexico’s national software processes standard and preferred methodology for developing software"
Que ellos desarrollaron una herramienta libre llamada Kuali, para ayudar a la industria local a estandarizar el proceso y la metodologia de desarrollo de software, encargo que Microsoft realizo a CrossHorizons. En el sitio de CrossHorizons no hay referencia, pero en sus blogs, Beto Bedolla tiene 2 referencias de Kuali, una de ellas dice:
"Lo cual me recordó que hace ya más de un año, empezamos a usar VSTS para el proyecto Kuali …"
Pero no hay mas referencia, los foros de Software.net.mx no funcionan mas, solo muestras una pagina de Sharepoint, las ligas a Kuali tampoco.

Por ultimo, en la pagina de la Secretaria de Economia hay referencias a que en el 2005 se celebro un convenio para promocionar Kuali:
  • C0553/2005-
  • 01/11/2005
  • Conv. De Adhesión a la Addenda al Conv. De Colab.
  • Esta Secretaría, Asociación Mexicana de la Industria de Tecnologías de la Información, A.C. Y Microsoft México, S. De R.L. De C.V.
  • Apoyar el proyecto denominado "DevDays "Kuali" 2005"
  • Dirección General de Comercio Interior y Economía Digital
  • A partir de su firma hasta el 31 de diciembre de 2005 en el Distrito Federal el 26 de septiembre de 2005
  • $266,167.00
  • $798,502.00
  • $1,064,669.00
  • Reglas de Operación del Prosoft


Promocion que si se llevo a cabo en los DevDays de Microsoft, pero aun y con todo esto, Kuali nunca vio la luz, asi que repito la pregunta, alguien sabe que paso con Kuali?

domingo, julio 15, 2007

Mas eyecandy para Linux, Avant Window Manager y Launch Box

Desde hace unas semanas que compre mi MacBook, hay una aplicacion que me parece muy util, esta es Quicksilver, ya que con solo algunas teclas te permite lanzar cualquier aplicacion/documento en la PC; buscando una herramienta similar, pero para Linux, me encontre con Gnome Launch Box, la cual funciona exactamente igual.

La forma de instalar Gnome Launch Box en Ubuntu es de la siguiente manera en una terminal:
$ sudo apt-get install gnome-launch-box
Despues en el menu de Sistema > Preferencias > Sesiones, se agrega una nueva sesion con los siguientes valores:








Despues si tenemos Compiz o Beryl es necesario registrar la combinacion de teclas que nos permiten usar Gnome Launch Box, esta combinacion es: Ctrl + Space, en mi caso tengo Compiz Fusion, asi que en la pantalla de configuracion elegi "General Option", despues me fue al tab de "Action", ahi expandi el area de "Commands" y en uno de los comandos que tenga el valor "Disabled" hay que registrar la combinacion de teclas Ctrl+Space.













Una vez hecho esto y despues de reinciar la sesion vamos a poder activar Gnome Launch Box con la combinacion de teclas antes mencionada, empezamos a teclear las primeras letras del programa que buscamos y Gnome Launch Box nos va a mostrar el listado de programas cuyo nombre contiene las letras capturadas, y las opciones que tenemos, por ejemplo ejecucion.

La otra aplicacion de la que quiero hablar es un manejador de las ventanas abiertas en la sesion, el cual corre con los manejadores como Beryl o Compiz y que funciona de forma parecida al Dock de OSX, Avant Window Navigator.

Aunque de igual forma es posible instalarlo desde alguno de los repositorios que lo tienen ya empaquetado, el dia de ayer el codigo sufrio algunas actualizaciones que lo hacen mas atractivo, y todavia mas parecido al Dock de OSX, ya es posible mostrar el fondo de los iconos de las pantallas sobre una barra en 3D y con refleccion de los iconos sobre esta.

Por lo tanto mientras ese codigo llega a los repositorios es necesario bajar el codigo fuente y compilarlo para usar las nuevas caracteristicas, para eso seguimos los siguientes pasos desde una terminal:

$ svn co http://avant-window-navigator.googlecode.com/svn/trunk avant-window-navigator
$ cd avant-window-navigator
$ ./autogen.sh --prefix=/usr
$ make
$ sudo make install
Despues de eso hay que activarlo para que se ejecute automaticamente al iniciar nuestra sesion para esto en Sistema > Preferencias > Sesiones ingresamos los siguientes datos:










Como ultimo paso necesitamos configurar AWN para que muestre el efecto 3D y la reflexion, pero como es una funcionalidad nueva, no estapresente en la propiedades de AWN, por lo tanto desde una terminal ejecutamos el siguiente comando:
$ gconf-editor

En la ventana abierta navegamos a: /apps/avant-window-navigator/bar
y ahi modificamos los valores de las siguientes llaves: bar_angle = 40, bar_height = 42 e icon_offset = 15; reiniciamos nuestra sesion y listo.


miércoles, julio 11, 2007

Discos de XBox 360 rayados


Ultimamente he visto en varios sitios relacionados con la consola XBox 360 acerca de problemas en que la consola raya los discos de juegos, aparentemente Microsoft ha negado que la consola sea la culpable del hecho y culpa al mal uso de los usuarios de la misma.

En lo personal me paso unicamente una vez, con un disco nuevo, el cual tenia apenas 2 dias de haberlo comprado, al querer jugralo, la consola lo rachazaba y me marcaba que el disco no era valido, al momento de revisarlo me percate que toda la circunferencia en la parte externa del disco estaba totalmente rayada con una anchura de alrededor de 3 milimitros, al principio pense que habia sido mal uso del disco, pero si por algun error mio hubiese pasado, la rayadura no fuera tan perfecta.


Tome el disco y lo lleve a una tienda donde venden videojuegos, y ahi le quitaron la rayadura en cuestion de minutos, despues de eso el disco volvio a funcionar correctamente, no ha vuelto a suceder, ademas de tomar las siguientes precauciones:
  • No dejar ningun disco dentro de la consola cuando se vaya a apagar
  • Tratar de no mover la consola mientras esta prendida, por ejemplo para conectar algun dispositivo USB o el cargador de los controles
Despues de leer los reportes sobre discos rayados en foros y sitios relacionados a XBox, estoy 100% seguro que la consola fue la causante del disco que se me rayo.

Ahora debido a esta situacion Microsoft tiene un juicio en su contra al no responder de manera efectiva a esta situacion negandola.

Esto solamente se agrega a la lista de problemas como:

viernes, julio 06, 2007

Compiz Fusion

OpenComposition es el proyecto que unifica los desarrollo de Compiz y Beryl ambos manejadores de ventanas con efectos de 3D para Linux.

En los ultimos dias han salido algunos posts de como instalarlo desde un repositorio con paquetes para Ubuntu, pero el unico problema para mi con eso paquetes, es que solo existen para 32 bits y mi laptop corre en AMD64.

Buscando en el sitio de OpenComposition, me encontre con un script que ayuda a descargar el codigo fuente, compilarlo e instalarlo, el script se llama makefusion.

La forma de utilizar el script es la siguiente:
  • Una vez descargado, es necesario darle permisos de ejecucion desde una terminal, es mejor guardarlo en su propio directorio, por ejemplo compiz o fusion:
chmod +x makefusion
  • Hay algunas opciones de configuracion que las voy a dejar con los valores por omision, estas se refieren a la distribucion de Linux, la version de la distribucion, donde se va a instalar, que paquetes de fusion instalar, que plugins; en la pagina del script viene la informacion detallada, por lo pronto los valores por omision me son suficientes para Ubuntu Gutsy Gibbon
  • El siguiente paso consiste en descargar las librerias que necesarias para compilar Compiz Fusion, estas se descargan desde el repositorio de Ubuntu con el siguiente comando:
./makefusion packages
  • Despues de descargar lo necesario para compilarlo, bajamos el codigo fuente de Compiz Fusion, para esto es necesario contar con la instalacion del programa git (sudo apt-get install git-core) que nos permite acceder al repositorio de codigo fuente de compiz:
./makefusion clone
  • Finalmente lo compilamos y lo instalamos con el siguiente comando, algo importante a remarcar es que si deseamos actualizar Compiz Fusion a los ultimos cambios en el codigo, solo ejecutamos a partir del paso anterior y asi siempre lo podemos tener actualizado, aunque esto es una navaja de 2 filos, ya que se pueden probar rapidamente las mejoras, pero tambien es posible que algo deje de funcionar o falle.
./makefusion install
A partir de aqui desde la consola podemos ejecutar
ccsm
para configurarlo y despues ejecutar
compiz-manager &
para activarlo y disfrutar de los efectos.

Si queremos que se inicie cuando iniciamos sesion es necesario ir al menu de System > Preferences > Sessions, y en la ceja "Startup Programs" agregamos uno mas, como nombre podemos poner "Fusion Manager", en el comando ponemos "fusion-icon" y el comentario lo podemos dejar en blanco, presionamos Ok y cerramos la ventana de sesiones, con esto cada vez que iniciemos una sesion aparecera un icono en el area de notificaciones, con el cual podemos configurar las opciones de Fusion o bien habilitarlo o deshabilitarlo.

lunes, julio 02, 2007

VMWare Workstation 6 en Gutsy Gibbon

Instalando hoy el VMWare Workstation 6 en mi Gutsy Gibbon AMD64, fallo en la parte donde compila el modulo de soporte para redes, al parecer es un cambio en el API del kernel que trae Gutsy Gibbon.

make: Entering directory `/tmp/vmware-config3/vmnet-only'
make -C /lib/modules/2.6.22-6-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.22-6-generic'
CC [M] /tmp/vmware-config3/vmnet-only/driver.o
CC [M] /tmp/vmware-config3/vmnet-only/hub.o
CC [M] /tmp/vmware-config3/vmnet-only/userif.o
/tmp/vmware-config3/vmnet-only/userif.c: In function ‘VNetCopyDatagramToUser’:
/tmp/vmware-config3/vmnet-only/userif.c:630: error: ‘const struct sk_buff’ has no member named ‘h’
/tmp/vmware-config3/vmnet-only/userif.c:630: error: ‘const struct sk_buff’ has no member named ‘nh’
/tmp/vmware-config3/vmnet-only/userif.c:636: error: ‘const struct sk_buff’ has no member named ‘h’
make[2]: *** [/tmp/vmware-config3/vmnet-only/userif.o] Error 1
make[1]: *** [_module_/tmp/vmware-config3/vmnet-only] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.22-6-generic'
make: *** [vmnet.ko] Error 2
make: Leaving directory `/tmp/vmware-config3/vmnet-only'
Unable to build the vmnet module.

For more information on how to troubleshoot module-related problems, please
visit our Web site at "http://www.vmware.com/download/modules/modules.html" and
"http://www.vmware.com/support/reference/linux/prebuilt_modules_linux.html".


La forma de solucionar el problema se encuentra en este hilo del foro de VMWare donde basta con descargar el archivo vmnet.rar y copiarlo al directorio /usr/lib/vmware/modules/source (si es que ahi se realizao la instalacion del VMWare) y simplemente ejecutar nuevamente ejecutar el programa vmware-config.pl, y listo, el modulo se compila y es posible ejecutar nuestra maquina virtual con soporte para red.

jueves, junio 28, 2007

Ubuntu Gutsy Gibbon Tribe 2

El dia de hoy se ha liberado la segunda version de prueba de Ubuntu Gutsy Gibbon , al cual se llama Tribe 2, dentro de las cosas interesantes y nuevas que trae, se puede citar:
  • Gnome 2.19.4
  • Gnash, el cual es un player open source para archivos flash, el cual es compatible con archivos version 7 y 8, y comenta que el soporte para version 9 esta en proceso
  • Compiz fusion, que es la union de los proyectos Beryl y Compiz
  • Firefox 3 alfa, es la version de prueba del proxima version de Firefox
  • Restricted-manager, que ayuda a la instalcion de drivers no libres, o que aunque sean libres requieren de algun componente que no lo es, como por ejemplo en driver de las tarjetas de red Broadcomm - bcm43xx -, requiere de extraer el firmaware de la tarjeta para funcionar.
  • Ademas de habilitar nuevamente el reporteador de error ene el sistema
He estado utilizando de forma regular el Tribe1 desde que salio y en general no he tenido ningun problema y durante este tiempo he estado actualizando los paquetes conforme se van actualizando, por lo cual puedo decir que ahora estoy ejecutando Tribe2, y de igual forma nada que lamentar, todo funciona bien; esto es algo que llama la atencion, ya que antiormente en las versiones de prueba de Ubuntu, generalmente habia experimentado fallos que dejaban el sistema medio estable, pero con Gutsy la experiancia ha sido muy buena.

Por cirto a partir de dia de hoy aparezco sindicado en el sition Planeta Linux Mexico !!

miércoles, junio 27, 2007

La ley Antichapulín

La ley antichapulín es un tema muy "traído" ultimamente en el ámbito político de Baja California, y es como se le conoce popularmente al articulo 42 de la Constitución de Baja California, en donde se prohibe que cualquier funcionario publico que haya sido elegido por medio de una elección, abandone su puesto y se enrole en otra elección buscando "mejorar" su posición.

Esta Ley fue presentada al congreso de Baja California, fue presentada por la fracción priista en el año 2002 (o 2003 no lo recuerdo exactamente); en ese entonces el PRI comenzaba a ser oposición en el estado ya que el partido del gobernante era el PAN y que no solo controlaba la gobernatura, si no también la mayoría de los municipios - creo que Tecate ha sido el único que no ha sido gobernado por el PAN -; en aquel entonces y bajo este contexto el articulo 42 lo propuso el PRI para frenar a los políticos panistas "oportunistas" que brincaban de elección en elección para mejor su posición política, esta ley se aplico de forma incuestionable por 14años, hasta el día hoy.


El PRI y el PT en estas próximas elecciones haciendo caso omiso al articulo 42, presentaron candidatos para los siguientes puestos:
- Jorge Hank Rhon, candidato a Gobernador por la alianza PRI-PVEM-PEBC
- Mercedes Maciel Ortiz, candidata a Gobernadora por la alianza Convergencia-PT
- Eligio Valencia Roque, candidato regidor de Tijuana por la alianza PRI-PVEM-PEBC
- Jaime Palafox Granados, candidato a la alcandia de Ensenada por la alianza PRI-PVEM-PEBC

Realmente no me explico que paso, no se si el mismo PRI era ignorante de este articulo - que remarcado, ellos mismos propusieron como ley - o pensaron que como ellos lo propusieron, ellos podían echarlo abajo, pero la verdad es que los ha puesto en graves aprietos.

Desde el año pasado el PRI a través del congreso trato de desechar el articulo de la Constitución de BC, pero no les fue posible por falta de acuerdos, ok el PAN no quería desecharlo, continuaron apoyando a los candidatos que claramente no iban a poder serlo, no se quizás esperando poder echar por tierra el articulo por otros medios/vías; pero este realmente no es el problema que ahora causa controversia, el problema es que cuando dichos candidatos solicitaron su registro ante el Instituto Estatal Electoral (IEE), este haciendo caso omiso de la ley e inclusive interpretando, cuestión que esta fuera de sus facultades, no rechazaron las candidaturas, las aceptaron, situación que el PAN tomo para interponer un recurso ante el Tribunal Estatal Electoral para que se rechazaran las candidaturas y se aplicara la ley vigente.

El Tribunal Estatal Electoral indico que el articulo 42 es un articulo vigente y que aplica al registro de candidatos para elección popular a puestos en el estado de Baja California, por lo tanto se revoco la candidatura de los antes mencionados, el PRI y su alianza en su defensa argumentó que al momento de pasar la el articulo 42, no se siguió todo el procesamiento técnico que se requiere para ser efectiva, pero eso sucedió hace 14 annos y en todo caso fue un error del PRI de aquel entonces, pero eso no ha sido impedimento para que se haya aplicado durante todo este tiempo y que no se aplique hoy.

Otro de los argumentos es que la ley es anti-constitucional y que esta en contra de lo que nuestra constitución rece sobre que todo ciudadano tiene el derecho de votar y ser votado, lo que están usando de forma maliciosa para confundir a la gente, ya que si bien es cierto laconstitución nos da ese derecho, hay ciertas condiciones que se tiene que cumplir, como el ser mayor de 18 años para ser votado y poder votar; si usamos el mismo criterio que están usando para descalificar el articulo 42 por sus restricciones, entonces la misma constitución esta contradiciendose a si misma... así como esta esta restricción hay otras en la misma constitución mexicana que limitan quien puede ser votado y quien no.

Además, se menciona que la constitución de un estado no puede contradecir la constitución, y eso es falso, la constitución mexicana nos da un respaldo jurídico como mexicanos, pero cada estado que compone la república es estado libre y soberano - dentro de los términos que, otra vez, la constitución les confiere -, y por lo tanto cada estado puedo - y de hecho sucede - adoptar su propia constitución con los obligaciones y derechos que se le confieren a cada habitante del estado.

El Tribunal Estatal Electoral fue muy claro en el sentido que ellos tiene que aplicar la ley vigente, y no tienen facultad para ver si se incumplió con la con el proceso de promulgación de leyes o no, o si la ley es anticonstitucional o no, para esas cuestiones esta la Tribunal Electoral del Poder Judicial de la Federación, asi que el tribunal simplemente hizo lo que tenia que hacer dentro de su ámbito de acción.

Como ultimo recurso, y al parecer es la accion que va a tomar la alianza PRI-PVEM-PEBC, es llevar el caso a la Tribunal Electoral del Poder Judicial de la Federación, y esperar a que resuelvan a tiempo para el proceso electoral del estado, y sobre todo a su favor, ya que de no serasí, las alianzas PRI-PVEM-PEBC y Convergencia-PT van a quedar en ridículo y a la mejor ya con el tiempo muy apretado para sustituir candidatos, por una toma de decisión equivocada desde su concepción.

Y para colmo de males el candidato para la alcaldía de Tijuana también fue rechazado por incumplir con la cuidadania Mexicana, o por lo menos por no haber realizado los tramites para la misma en tiempo y forma.

He visto en el área de comentarios del periódico Frontera, gente que critica al PAN y que los acusa de haber pagado el Tribunal Estatal Electoral o haber puesto algún tipo de coerción para que estos fallaran de la forma en como lo hicieron, pero a mi parecer están fuera de lugar, creo que si a alguien hay que culpar es a los mismos partidos que quisieron estar fuera de la ley y que no tomaron con la seriedad que se debe el proceso electoral, el PAN solo hizo notar los terribles errores en los que incurrieron, era la jugada cantada y nohabía otra para ellos.

NOTA: La imagen de portada mostrada, pertnece al semanario ZETA, y corresponde a la portada de la edición1734, de la semana del 22 al 28 de Junio del 2007

martes, junio 26, 2007

healthMonitoring de ASP.NET

El dia de ayer comente sobre un problema con el sitio del periodico frontera - y que no es la primera vez que sucede -, pues bueno extendiedo un poquito mas sobre el manejo de errores en aplicaciones ASP.NET, hay una forma muy sencilla de pedirle a ASP.NET que nos avise cada vez que se genera un problema en el sitio, esta notificacion puede ser a traves de un correo electronico, el insertar un registro en una base de datos o escribir el problema a la bitacora del sistema operativo.

De esta forma se puede ser un poco proactivo cuando algun problema surge, en lugar de esperar a que alguien nos lo haga saber.

La forma de activar este tipo de notificaciones, es haciendo uso del healthMonitoring, en cual se puede configurar de forma declarativa en el archivo web.config de nuestra aplicacion, algo importante de esta funcionalidad es que no unicamente nos puede servir para reportar errores, sino tambien para monitorear y auditar cuestiones de seguridad - demasiados intentos fallidos de acceso -, cuantas veces se recicla nuestra aplicacion -importante, ya que esto puede ocacionar problemas de rendimiento, entre otras cosas mas.

Para usar healtMonitoring en nuestro sitio, lo primero que tenemos que hacer es definir la seccion healtMonitoring dentro de la seccion de nuestro web.config, despues es necesario indicar los eventos eventos que deseamos capturar, luego se definen los proveedores, es decir a donde vamos a enviar los eventos capturados - email, base de datos, etc - y finalmente las reglas, ya que es posible filtrar ciertos eventos a un proveedor especifico, para mas detalle ver la pagina de ayuda de healtMonitoring en el sitio de MSDN.

Un ejemplo sencillo para recibir notificaciones por correo de cualquier error en nuestro sitio es el siguiente:
<healthMonitoring enabled="true">
<providers>
<add name="EmailProvider"
type="System.Web.Management.SimpleMailWebEventProvider"
from="error@micorreo.com"
to="parami@micorreo.com"
subjectPrefix="Error: algo pasa en misitio.com "
buffer="true"
bufferMode="Notification" />
</providers>
<rules>
<add provider="EmailProvider" name="All App Events" eventName="All Errors" />
</rules>
</healthMonitoring>

Como ven es muy facil con ASP.NET 2.0 mantener nuestro sitio monitoreado en cada momento, y sobre todo no es necesario modificar nuestra aplicacion para que esto suceda, aunque es posible extender las clases del healthMonitoring y generar eventos y proveedores personalizados, que podemos "disparar" desde nuestra aplicacion.

lunes, junio 25, 2007

Manejo de errores en ASP.NET, periodico frontera

Este mensaje de error esta aparencienod actualmente al intentar cargar la poagina de error del periodico frontera:

Es demasiada informacion para el usuario del servicio, ademas de que gente sin mucho que hacer puede buscar como explotar algun bug del sitio, al cabo ya el mismo error presenta demasiada informacion que puede ser util.

Es posible manejar los errores en ASP.NET para que despliegen paginas mas amistosas para el comun de los moratles y que ademas no muestre informacion critica del sitio, una forma es con el atributo errorPage para indicarle a nuestra forma, que si encuentra algun problema despliegue la pagina de error que le indiquemos:

<%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="WebTest.WebForm1" errorPage="/WebTest/ErrorPages/PageError.html"%>


Ora forma es configurado el manejo de errores de forma global en nuestra aplicacion, modificando el web.config para que luzca como:

(customErrors mode="On" defaultRedirect="/WebTest/ErrorPages/AppError.html")
(error statusCode="404" redirect="/WebTest/ErrorPages/404.html" /)
(/customErrors)
Nota: Cambie los <> por (), ya que si usaba los <> no se desplegaba el codigo.

Donde inclusive podemos indicar una pagina de error diferente para cada tipo de error que se produzca, si no existe una pagina especial, ASP.NET genera una generica, pero es posible indicarle que no muestre demasiada informacion, esto se logra cambiado el valor de mode a "On" o a "RemoteOnly", estoy seguro que el sitio del frontera lo tiene en "Off".

La diferencia entre los 3 modos es que:
  • On: Despliega una pagina de error generico si no se indica otra cosa, pero en lugar de mostrar detalles del error, indica como ver los detalles del mismo
  • Off: Siempre que se genere un error, si no se especifica una pagina de error, va a mostrar una pagina generica de error con todos lo detalles posible,. muy peligro si el sitio esta en Internet.
  • RemoteOnly: Muestra una pagina generica de error para los usuarios del sitio, pero el administrador/programadores que se conencten de forma local al servidor van a recibir una pagina con todo el detalle del error para investigarlo/corregirlo.

jueves, junio 21, 2007

Silverlight en OSX


Despues del post anterior donde hago referencia al proyecto Moonlight, me dispuse a instalar Silverlight para OSX, solo que me encontre con el siguente problema al momento de instalarlo, al parecer mi OSX no cumple con el requerimiento de ser igual o mejor a la version 10.4.8, alguna sugerncia? ...

Silverlight en 21 dias


No, no es el titulo de un nuevo libro para aprender Silverlight, es un interesante y largo post de Miguel de Icaza donde explica el estado y como es que se dio forma al proyecto Moonlight, que es la version libre de Silverlight.

El post es interesante en el sentido de que estan muy cerca de tener una version de Silverlight que se podra ejecutar en *nix, habla sobre las complicaciones tecnicas del proyecto, la coordinacion de los desarrolladores dispersos por varias regiones del planeta, y la posible extension del proyecto para llevarlo a otras areas de Linux.

martes, junio 19, 2007

Experiencia con la MAC



La nueva MacBook que ordene hace 2 semanas, llego la semana pasada, en general la experiancia ha sido excelente, desde la experiencia de desempacarla, la verdad Apple se esmera en todos los pequeños detalles del empaque, para la que la mac se vea de lujo.

Hace ya mucho tiempo que no utilizaba una mac, y a principio si saca un poco de "onda" el como acceder a las aplicaciones que no estan en el "dock", o que el mouse solo tiene un boton, pero es super facil acostumbrase.

De lo primero que le instale fue el quicksilver, herramienta para acceder a aplicaciones, datos, contactos, etc de una forma muy sencilla e intuitiva, el siguiente software fue Firefox, despues XCode, herramienta para el desarrollo de aplicaciones en OSX, Mono para OSX y el plugin para desarrollar aplicaciones en C# en XCode, aunque aun no he tenido tiempo de hacer alguna prueba, espero en los siguientes dias poder hacerlo.

Definitivamente una de las caracteristicas que mas me gustan es RowFront, de los unicos detalles que encontre y que me desagrada es que al importar fotos con el programa iPhotos desde mi camara digtal, no me pregunta si deseo cambiarle el nombre a los archivos a importar o dejarles el nombre que les asigno la camara, aun no encuentro si es posible hacerlo o no.

Pero como mencione en general, me encanta la MacBook, y ya estoy esperando que esten disponibles por aca en Tijuana las nuevas MacBookPro para adquirir una.

jueves, junio 14, 2007

Conectarse a redes VPN Microsoft pptp con Network Manager

En un post anterior mencione que en Linux utilizo el Network Manager para el manejo de mis conexiones de red, Network Manager es una mejora importante en Linux para la gestion de conexiones de red, sobre todo ahora que en muchos lugares publicos aqui en Tijuana.

Network Manager Network Manager puede ser extendido, por ejemplo para conectarse a diferentes tipos de VPN, por medio de plugins, esta es la parte interesante para mi, ya que parte de mi trabajo requiere que me conecte a VPNs de Microsoft (PPTP).

Inicialmente trate de activar mi red VPN con el pluing para PPTP que se encuentre en los repositorios de Ubuntu, pero al intentarme conectar el pluing fallaba con un "segment fault", buscando en los foros de Ubuntu y en Launchpad, al parecer el problema era relacionado a que la version de NetwrokManager no era compatible con la version del plugin.

Asi que me resigne y configure mi VPN manualmente por medio de los archivos de configuracion de ppp, hace poco decidi volver a intentar con el NetworkManager, me encontre que en Ubuntu la situacion no habia cambiado, pero buscando en Internet di con una pagina donde alguien compilo y subio paquetes del plugin para PPTP compatibles con la version del NetworkManager de Ubuntu.

Descargue e instale el paquete desde ahi, y en ese momento me fue posible configurar y conectarme graficamente a redes VPN Microsoft PPTP, el unico detalle que aun queda pendiente, es que aunque especifico que al momento de conectarme agregue una ruta para llegar al subnet de la VPN, no lo hace.

Por ejemplo si yo estoy en la red 192.168.5.0 y la red del VPN estan en 10.0.2.0, es necesario agregar una ruta que direccione todo el trafico destinado a la red 10.0.2.0 a traves de la conexion VPN, de momento la unica solucion que encontre es realizar la rutra de forma manual cada vez que me conecto, y lo hago dela siguiente forma:
$ sudo route add -net 10.0.2.0 netmask 255.255.255.0 dev ppp0

Fuera de eso todo funciona a la perfeccion, espero que en la version 0.7 del NetworkManager el problema quede corregido, esta version es posible que este liberada para el final del verano.

jueves, junio 07, 2007

Soy MAC

Asi es ya soy MAC, bueno casi..., el dia de hoy ordene mi primer MacBook, el cual me dicen que llega el proximo miercoles.


macbook


La MacBook la compre en la tienda del distribuidor de Apple en Tijuana D Newton, inicialmente pense ir a la tienda Apple de San diego y comprarla alla, pero al contemplar el costo de la misma + el impuesto de California + el impuesto para importarla a Mexico y asi poder hacerla deducible, me salia algo alto; asi que me di una vuelta a la tienda aqui en Tijuana y el precio de la misma ya con el IVA, me salia mas barata que comprarla en US y con factura para poder deducirla.

La MacBook que compre es de los nuevos modelos anunciados hace una semana, la cual viene con una actualizacion de procesador.

Ahora la siguiente compra Mac va a ser una MacBook Pro ya que esten disponibles la anunciadas hace unos dias ;).

Asi que ya soy MAC !