Saturday, November 01, 2008

Otro movimiento mas

Una vez mas he movido el blog, ahora a http://eduardofv.com

FusiónMX Software sigue en el mismo sitio

Wednesday, July 30, 2008

Me he movido

Este blog lo moví a http://www.fusionmxsoftware.com/blog

Thursday, March 08, 2007

Printing on Windows or Ubuntu with Bluetooth dongle and BT-Parallel adapter

I really like Linux. As well as I like Windows or MacOSX. Maybe I just like to try new things. But Linux sometimes can be a pain. I'm not a complete noob but neither I am an expert.

Today needed to configure Ubuntu 6.10 with a D-Link DBT-120 Bluetooth dongle to print to an old (but extremely reliable) HP Laserjet 4L using a Bluetooth to Parallel Bluetake BT-200 printer adapter. I already knew that it was not going to be a plug and play experience, since even in Windows it's not easy to make work this configuration.

On Windows, the problem comes in two parts: first, the BT200 printer adapter does not offers a plain Bluetooth Printing interface like other products, but offers a Serial Cable Replacement service. And the Windows native bluetooth drivers doesn't support that particular protocol (I've always wonder why Microsoft has always neglected a good BT support). In case you ever need to make a thing like that work, the trick consist on replacing the Windows drivers with the plain old Widcomm drivers, and create a Cable Replacement link to the printer adapter, not pairing the BT devices and adding manually your printer model and selecting the COM port assigned to the Cable Replacement link. Once you get the configuration correct printing is pretty reliable. You can find the indications on Bluetake's site.

When in comes to Linux Ubuntu 6.10, there are no specific instructions for that configuration so I hope to save someone a couple (or three, or four, or...) hours figuring what to do. The point is quite the same as on Windows: you have to create a virtual serial port that uses the BT Cable Replacement protocol to connect to the printer adapter and assign the serial port to the CUPS printer driver. First, you have to get your BT dongle working on Linux. Some instruction here but consider that on my configuration of Ubuntu the installation of bluez is not necessary since the kernel already has BT support, so instead of using

sudo /etc/init.d/bluez-utils restart

you must use

sudo /etc/init.d/bluetooth restart

and so on. I could not get to discover the adaptor using hidd but I could using

hcitool scan

Get the MAC address of the adapter with that command. Query the services provided by the adapter using

$sdptool search sp [your MAC address here, like 00:08:F4:23:03:60]
Inquiring ...
Searching for sp on 00:08:F4:23:03:60 ...
Service Name: Cable Replacement
Service RecHandle: 0x10000
Service Class ID List:
"Serial Port" (0x1101)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 1

Note the service name and the channel number. Create the file /etc/bluetooth/rfcomm.conf

$sudo vim /etc/rfcomm.conf

and type this (replace your own MAC and Channel)

rfcomm0 {
bind yes;
device 00:08:F4:23:03:60;
channel 1;
comment "Impresora Serial";
}

Note the line rfcomm0: this will be the name of the serial port that will be created on /dev/rfcomm0. Start the serial port now using

$sudo rfcomm bind 0


Check the creation of the port with

$ls /dev/rfcomm0
/dev/rfcomm0

Now you have the serial connection configured. You can even send a file to the printer using a simple redirection, and the printer gets connected automatically:

$cp filename.txt > /dev/rfcomm0

You may need to manually send a form feed to the printer (or press the FF button) to get the paper off the printer. The lines on the hardcopy may be mixed and overwritten. This is ok since the document you have sent may not have correctly set the line feeds.

Next, you need to configure CUPS (printing services on Unix). Unfortunately, the serial printing option comes disabled on Ubuntu 6.10 by default. You need to set it on.

$sudo dpkg-reconfigure cupsys

The blue screen will ask for a MIME for printing jobs thing, just leave as it is. On the next screen you will see some options for printing protocols and devices. Select serial. Click OK. CUPS will be resetted and the serial option will be available.

Next, you need to setup the printer. I think the easiest way to do this is setup the printer on the wizard and then modify the URI line on the config file. Go to System-Administration-Printing, double-click on the New Printer icon and select Printer Type: CUPS (IPP) (you will notice that if you select Local Printer/Select by Port any real serial ports you have will appear, but not the rfcomm port). On the URI textbox just type "serial" and press Forward. Select you printer driver from the list. Press Forward, add details and press Apply.

The wizard does not allow us to specify a serial driver other than the ones detected by it because it appends a IPP:// protocol to the device URI specification, so we need now to configure this manually.

$ sudo vim /etc/cups/printers.conf

You will have something like:

# Printer configuration file for CUPS v1.2.4
# Written by cupsd on 2007-03-08 17:44

Info
Location
DeviceURI serial
State Idle
StateTime 1173397494
Accepting Yes
Shared Yes
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
OpPolicy default
ErrorPolicy retry-job


Change the DeviceURI line to

DeviceURI serial:/dev/rfcomm0

Save the file and restart CUPS

$sudo /etc/init.d/cupsys restart

And that's it. Try printing something using OpenOffice.

I don't know right now what to do to automatically configure on system on restart. I'll post as soon as i can figure it down.

Some references:
http://www.spiration.co.uk/post/1307
https://help.ubuntu.com/community/BluetoothSetup?highlight=%28CategoryBluetooth%29
http://www.brennan.id.au/15-System_Printing.html
http://www.linuxquestions.org/questions/showthread.php?t=308086
http://ubuntuforums.org/showthread.php?t=30209
http://mhonarc.axis.se/dev-etrax/msg06630.html
For the installation on Windows
http://www.bluetake.com/FAQ_BT200.htm

Wednesday, July 12, 2006

Elecciones, fraudes y honestidad intelectual

Elecciones, fraudes y honestidad intelectual

Como todos en México hoy, me siento preocupado por la situación política en que nos encontramos. No soy calderonista y mucho menos panista: voté por Calderón porque me considero más bien anti-peje. Las razones de esa decisión no son materia de este post. Lo que quiero enfatizar es la decepción que me produce que tanta gente que, apoyando al peje, ha salido a desprestigiar a las instituciones y al proceso mismo. En especial entre la “clase media revolucionaria” tan dada al apoyo ideológico*, sentimental o simplemente irracional a causas que suenan bien; y que lamentablemente alimenta a la izquierda no pragmática o, por decirlo fácil, medio radical. Estoy de acuerdo con el recuento de los votos siempre que se haga de manera legal: veo en ello una oportunidad de reintegrar esta sociedad que se está destazada.

Leí la serie de posts en el blog de Miguel de Icaza (de quien admiro su capacidad técnica y compromiso con el open source) relativos a la certeza que tienen sobre la existencia de un fraude en el IFE. Liga a este sitio en el que se hace un análisis de los números y aseguran haber encontrado pruebas del fraude. Cuando entré y leí los análisis me parecieron sumamente interesantes y decidí correr algunos números yo mismo. Pero cuando me encontré con una liga bastante oscura con los datos fuente de las actas, decidí que no valía la pena intentarlo sin tener la certeza de su origen. Intenté usar el canal IRC pero no encontré a nadie, y unirme al grupo de Google (que es privado) pero no he recibido respuesta.

Sin embargo hoy publicó el IFE los datos en su página y me puse a trabajar con ambas fuentes. Ya que no tengo demasiado tiempo que dedicarle a esto decidí concentrarme en algún punto. En el blog de Miguel de hoy señala como especialmente relevante el caso del estudio de casillas por gaussianas en la elección en Durango, pero que se repite en diferentes magnitudes en otros estados. En pocas palabras: se asume que la distribución de probabilidad del número de casillas como función del número de votos debe comportarse como una distribución normal. Al correr los números de ambas fuentes encontré que: (dicho sea de paso, solo por llevar la contra hice todo en Windows, SQL Server y Excel)
  • Al menos en el caso de Durango la fuente de datos usada por la gente de “cazando mapaches” es confiable. Tiene registros de 4 casillas con datos nulos en algunos campos. La fuente del IFE tiene esas 4 casillas de menos (sería interesante saber porqué pasa esto). Curiosamente, en la página del IFE el total de votos mostrado en el resumen por estado sí coincide con el total de votos sumados en la base de datos de los cazamapaches, pero no con los datos de todas sus casillas publicadas, esto es por las 4 casillas faltantes. En mis números simplemente dejé afuera esas casillas que representan un porcentaje mínimo y que, además, tienen una distribución de porcentajes por partidos similares al resto de la población (más de 2300 casillas).

  • Reproduje los datos para Durango de acuerdo a como lo hicieron los cazamapaches y obtuve idénticos resultados:



Resultados de cazamapaches


Mis Resultados para el PRD

  • ¿Qué pasa con el mismo estudio en el caso de Diputados Federales por mayoría relativa? El resultado es muy similar para el caso del PRD, y algo distinto en el caso del PAN y PRI. Esto refleja el hecho de que el PRI ganó las elecciones en casi todos los distritos. Se usaron los datos del IFE.


Mis resultados de DMR 2006 PRD


Mis resultados de DMR 2006 PAN


Mis resultados de DMR 2006 PRI


  • Hasta aquí los resultados concuerdan con los obtenidos por los cazamapaches. ¿Qué pasa cuando aplicamos lo mismo a los datos de las elecciones intermedias de 2003 y a la presidencial de 2000? El IFE publica esos resultados. En el primer caso el PRI ganó abrumadoramente a los 11 contendientes (sí, once: no hubo alianzas y estaban el PSN, PAS, México Posible, etc).

  • PRI: 53.13%

  • PAN: 27.59%

  • PRD: 3.98%

  • PT: 7.31%

  • PVEM: 3.25%

  • Otros, menos del 1% c/u – PSN: 0.1%

  • En el segundo caso, el PRI resultó vencedor pero con un margen mucho mas estrecho:

  • PRI: 44.21%

  • PAN: 41.92%

  • Alianza por México (PRD, PT y otros): 10.03%

  • Otros (PARM, PCD, Democracia Social): menos de 1.5% c/u

  • En ambos casos, podemos ver que la presencia del PRD y sus alianzas es casi marginal, muy pequeña.

  • Las gráficas de para la misma estadística de los puntos anteriores de 2003 para cada partido son las siguientes:


Mis resultados DMR 2003 PRD


Mis resultados DMR 2003 PAN


Mis resultados DMR 2003 PRI

  • Las gráficas para 2000 son las siguientes:


Mis resultados Pres 2000 PRD


Mis resultados Pres 2000 PAN


Mis resultados Pres 2000 PRI

  • Lo que podemos observar es que las gráficas, cuando el partido tiene una presencia pequeña, no tienen nada de distribución normal.

  • En las elecciones pasadas el PRD siempre empieza con un número alto de casillas con cero o muy pocos votos

  • Los archivos de XL con los datos y las gráficas están abajo. Si alguien quiere las bases de datos de SQL Server y los queries que usé déjenme un comentario en este post para enviárselos.

Mis conclusiones:
  • Primero, si tengo algún error en los cálculos o la graficación háganmelo saber y con gusto haré cualquier corrección. No descarto que me esté equivocando o incluso llegando a conclusiones erradas, no soy muy bueno con los números :D

  • Creo que no se puede asumir que una distribución normal debe ser la norma para la distribución de probabilidad del número de casillas como función del número de votos por partido. Es claro que eso aplica menos conforme la presencia del partido es menor. Menos evidente es que la distribución geográfica pueda estar afectando al PRD y en menor medida al PAN: parece que hay zonas en las que solo llega el PRI y la gente no vota por otros partidos. También se puede pensar en control caciques, sindicatos, etc. pero todo esto son solo especulaciones. En cualquier caso la tendencia es histórica.

  • A esta luz no resulta tan extraña la distribución de casillas por número de votos en la elección de 2006. Hay lugares donde simplemente no se vota por el PRD lo que resulta en el pico en la menor votación.

  • Creo que no es sostenible argumentar que la distribución observada en esta elección sea debida al fraude: es debida a la poca presencia del PRD en Durango.

  • ¿Otras elecciones, otros estados? Espero tener tiempo de hacerlo pero por lo pronto espero que esto sea suficiente para demostrar que el argumento de la distribución normal en Durango no se sostiene. Si el TEPJF hace recuento en Durango ojalá se publiquen las cifras corregidas y podamos correr de nuevo los datos. Estoy seguro que se va a sostener lo mostrado.

Debemos ser muy cuidadosos con los argumentos que empleamos para descalificar a alguien. Es muy delicado decir que hubo fraude en esta elección. Si lo hubo que se sancione. No estamos en 1988. Entonces, se podría llamar fraude a cualquier elección y casi seguramente acertaríamos. Hoy no. En el mejor de los casos, aún suponiendo que el Peje hubiera ganado la elección, aproximadamente 2/3 de los mexicanos NO lo queremos como presidente y NO lo apoyamos hoy. Si demostrara que hubo fraude y se castigara a los culpables podría ganar apoyo de una parte ese 63% de la población. Pero hoy no me parece que tenga argumentos para sostenerlo. Al menos no sobre el argumento que pretendo rebatir con estos datos.


Liga a los archivos


*Octavio Paz citó en alguna ocasión parafraseando a Raymond Aron diciendo que si la religión es el opio de los pueblos, la ideología es el opio de los intelectuales.

Monday, July 03, 2006

169,000 votos

¿Cuántos votos para Dr. Simi?
Mi estimado es 169,000 votos. No son muchos, pero tampoco pocos. Mi lógica es la siguiente (por cierto, esto no es serio, oficial ni nada, solo un ejercicio de imaginación):


  • Según los datos del PREP el 3 de julio a las 17:40, los votos nulos fueron:

  • Para presidente, 2.14%

  • Para senadores, 2.44%

  • Para diputados, 2.49%

  • Los votos para candidatos no registrados fueron:

  • Para presidente, 0.72%

  • Para senadores, 0.29%

  • Para diputados, 0.31%

  • Me parece según lo observado, a menos que alguien opine lo contrario, que en circunstancias normales el voto nulo se mantiene más o menos constante en las elecciones. Y es posible que también lo haga el voto por candidatos no registrados.

  • Observamos que los votos a candidatos no registrados para diputados y senadores es como del 0.3%, pero que en la presidencial sube hasta 0.72%.

  • Esto solo se puede explicar por la tremenda campaña en radio, televisión, prensa, anuncios espectaculares, etc que llevó a cabo el famoso Dr. Simi (según el, con dinero propio… y que alguien demuestre lo contrario ;)

  • Si imaginamos que el 0.3% hubiera sido el voto esperado para presidente de candidatos no registrados, podemos pensar que el 0.42% fue el voto por ese señor.

  • Tomando las cifras de ese momento, Nueva Alianza obtuvo el 0.99% con 384,027 votos.

  • Por lo tanto, el 0.42% del dr. Simi debe representar unos 169,920 votos

  • Las preguntas son, ¿cuánto costó cada uno de esos votos? ¿cuál espera que sea el retorno de inversión de ese monto?¿QUÉ LE PASA POR LA CABEZA A ALGUIEN COMO PARA GASTAR, EL MONTO QUE SE HAYA GASTADO, PARA TENER EL 0.42% DE LA VOTACION?

  • Pero sobre todo, ¿PARA QUÉ ESTOY PERDIENDO EL TIEMPO HACIENDO ESTO? :D

Friday, June 23, 2006

Ubuntu en Dell D810

Estoy instalando Ubuntu en mi lap a partir del Live CD. Al hacer la instalacion se congelaba al analizar las particiones en el 50%. El problema parecia ser un disco USB externo.

Thursday, June 22, 2006

MySql y MySql Admini

MySql y MySql Administrator

Estoy desarrollando con RubyOnRails y MySQL 4/5  en Windows, MacOS y FreeBSD. Normalmente uso MySql Administrator y MySql Quero Browser por la costumbre que tengo de usar las herramientas de Sql Server. Pero las primeras son BASTANTE malas en varias cosas: inestables, llenas de bugs y de funcionamiento no estándar. La última que me sucedió y que pongo aquí por si a alguien le sucede:

Tengo un campo en una tabla de tipo texto que se usa para serializar un arreglo de Ruby mediante ActiveRecord. Pero al pasar respaldos de cualquier máquina a otra y restaurarlos con el MySql administrator la información deja de ser reconocida por la aplicación. La causa es que la serialización usa CR (chr(13) o \n) para marcar el fin de registros (entiendo que es YAML) . El backup se hace correctamente escapando los caracteres a la forma estándar de \n. Pero el administrator los inserta literalmente, como dos caracteres y no como un CR. La solución encontrada después de algunas horas es no usar el administrator y usar la linea de comando de mysql directamente y meter el respaldo como script. El error lo comete también el query browser en modo query o script. Falla en Windows y Mac conectándose a cualquier SO.

Friday, March 31, 2006

Recién nacidos

Ayer, en las noticias: en lo que va del año han sido abandonados más de 80 recién nacidos en las calles de la Ciudad de México. Un tercio, muertos. ¿Qué dice eso de una sociedad?

Monday, October 31, 2005

ruby Aprendiendo Rub

[ruby] Aprendiendo Ruby y chomp

Estoy aprendiendo Ruby para algunos proyectos personales. Voy a postear aquí lo que me parezca interesante al respecto, o tips que vaya encontrando. El primero: un programa sencillo como el siguiente no funciona:

def Dumpea(fin)
  puts "#{fin}:"
  File.open(fin, "r") do |file|
    while line = file.gets
      puts line
    end
  end
end

s = gets
Dumpea(s)

La razón es simple: el gets regresa el string junto con el ‘\r\n’ y el open intenta buscar ese nombre completo como el del archivo, lo cual no es algo que esperaría yo normalmente. La solución es sencilla:

s = gets.chomp


Tuesday, September 27, 2005

gOFFICE.com - ¿Es este el futuro de las aplicaciones?

Una suite de Office basada en Web, sin Java ni ActiveX. ¿Es este el futuro?


gOFFICE.com - Browser-based Word Processor and Office Suite

Palm, Inc. formerly palmOne, Inc., Your Destination for Handhelds, Mobile Managers, Smartphones, Accessories and Software Titles

Finalmente el anuncio, la siguiente generación de Palm Treo serán Windows Mobile 5

Palm, Inc. formerly palmOne, Inc., Your Destination for Handhelds, Mobile Managers, Smartphones, Accessories and Software Titles

Martí pagará un dividendo de 54 centavos por acción

Martí pagará un dividendo de 54 centavos por acción, un desembolso de 84.6 mdp


--------------------------------------------------------------------------------




Grupo Martí, la cadena de tiendas de artículos para el deporte y de centros de acondicionamiento físico, pagará un dividendo de 54 centavos por acción. El pago del dividendo, que representa un desembolso de 84.6 millones de pesos y que fue aprobado en una asamblea el 28 de abril, se realizará el 7 de octubre de 2005, dijo la empresa en un comunicado de prensa. Sentido Común





Sentido Com�n - Negocios, Econom�a, Mercados: "Mart� pagar� un dividendo de 54 centavos por acci�n, un desembolso de 84.6 mdp






Grupo Mart� la cadena de tiendas de art�culos para el deporte y de centros de acondicionamiento f�sico, pagar� un dividendo de 54 centavos por acci�n. El pago del dividendo, que representa un desembolso de 84.6 millones de pesos y que fue aprobado en una asamblea el 28 de abril, se realizar� el 7 de octubre de 2005, dijo la empresa en un comunicado de prensa. Sentido Com�n"

Friday, September 23, 2005

I've got it! Mono on GPE/Familiar/3630

I’ve got it… mono on GPE

Screenshot is below. You can see the console.exe app from Paolo’s Nokia. This is awesome. Let’s check if GTK# apps work as well…


iPAQ running FamiliarLinux/GPE/Mono and the Paolo Hello World app

Resuelto... lo que es la curva de aprendizaje

Hay que correr con mono en debug (mono --debug holamico.exe) :S
(Solved! run in debug mode)

He tenido problemas así en VC++, los modos de debug protegen de errores en especial de memoria... de cualquier forma algo debe estar pasando...

Mono on iPAQ

Mono on iPAQ

I’m far of being a Linux advocate, but I’ve always seen it with interest and sometimes admiringly. Also, I’m very interested on Mono because seem to me to have great potential and may be the never-was-Visual Basic for Linux that explodes its use. As I’m mainly on the .NET/Windows CE and mobility software business I’m also interested on Mono on handhelds.

And today I’ve got my first iPAQ 3630 16MB running Linux Familiar and Mono for ARM, and my first C# app running on it. It’s great. It’s running a Familiar 0.82 bootstrap bare-bones distribution  (I first tried installing it with whole GPE but it left only 800K on the storage space), and the amazing mono for nokia from Paolo Molaro (notes via Miguel de Icaza blog, because Paolo’s link is broken now – yesterday was up :S). Things worked but there’s a strange error that I don’t understand: most of the time, running the app throws a Segmentation Fault, but it’s not always, sometimes it works fine.

Later I’ll post the process to get to this point and may be publish Paolo’s files. Meanwhile, here are some sceenshots.

     


The iPAQ


The iPAQ running the barebone Familiar, and the hyperterminal window with the app output. Note the two sucesive segmentation faults, the ls and then the succesful execution. Weird.

Martí realiza adquisiciones para expanderse

Grupo Martí, la cadena de tiendas de artículos para el deporte y de centros de acondicionamiento físico, adquirió la empresa Centro de Desarrollo Físico o Entrenna, ubicada en Cuernavaca, como parte de su programa de expansión de su filial Sport City. La empresa no reveló el monto que pagó por Entrenna, que cuenta con un gimnasio, alberca semi-olímpica, alberca de usos múltiples y tres salones para practicar diferentes disciplinas. Norberto Fernández, director de la oficina de relación con inversionistas, dijo en una entrevista telefónica que Martí espera invertir, incluido el costo de adquisición, entre cuatro y seis millones de dólares para remodelar las instalaciones y dejarlas en condiciones similares a las de sus otros 16 centros de acondicionamiento. Además de esta compra, Martí, con sede en la Ciudad de México, espera abrir seis o siete establecimientos más en los próximos nueve meses para llegar a tener 22 clubes y entre 40,000 y 42,000 clientes a mediados del próximo año. Para 2010, la meta de Martí es contar con entre 37 y 40 gimnasios, y con 100,000 socios, dijo Fernández. Sentido Común



Sentido Com�n - Negocios, Econom�a, Mercados

Tuesday, September 20, 2005

Se veía venir...

y cada vez está mas cerca:

Palm Taps Microsoft

Monday, September 19, 2005

Reddit, gran idea

Recomiendo este sitop reddit. Es una gran idea paa obtener información interesante de la red. Aunque similar a del.icio.us tiene sus diferencias.

Thursday, September 15, 2005


Primer rendering 3D usando Blender

Friday, September 09, 2005

PDC Underground... pero porqué ch.... ???

Otra interesante reunión satélite gira en torno al PDC 2005 PDC Underground (a través del blog de Scoble). Nada más... ¿porqué ch... se les ocurrió la misma fecha y hora que la de Mono?