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.