Friday, February 08, 2019

R con MySQL

Los pasos que sigo para obtener datos de MySQL con R son los siguientes:

En primer término hay que cargar la biblioteca RMySQL, se hace así:

> library("RMySQL")

En caso de error una de las cosas que hay que intentar es instalar la biblioteca con el usuario root.
Cerramos la session actual de R y la abrimos con el usuario root.
sudo R

Ahora instalamos la biblioteca con el comand0
>  install.packages("RMySQL")
cerramos la session e iniciamos con el usuario normal.

El segundo paso es conectarse a la base de datos, en mi caso con estos parámetros.
>  con <- dbConnect(MySQL(), user="rafael", password="chessKarKorKas", dbname="table_tennis", host="127.0.0.1")

Lo que sigue es ejecutar las consultas para obtener los datos en un RecordSet.
> rs = dbSendQuery(con, "select * from jugadores where sigla='LMI'")

Obtenemos un data.frame con los resultados del select.
> data = fetch(rs, n=-1)

cerramos el RecordSet
> dbClearResult(rs)

para cerrar la conexión  con mysql se ejecuta
> dbDisconnect(con)

vemos los datos
> data





Sunday, December 09, 2012

Lanzador en el escritorio GNOME con cd


Necesito ejecutar un programa en un directorio determinado, pensé configurar el lanzador con dos comandos. algo así cd /home/rafael/trabajo; ./a.out pero no funcionó. Resulta que cd no es un comando externo, es parte de bash.

Por lo tanto la forma de hacer lo que quiero es configurar el comando del lanzador de la siguiente forma.

bash -c 'cd /home/rafael/trabajo && a.out'


Ordenar con sort en modo ASCII.

Ordenar con sort en modo ASCII.

Necesito ordenar el contenido de un archivo pero necesito que se tenga en cuenta el ascii de los caracteres.

Por defecto sort ordena de esta manera.

$ sort wordlist.txt | more

{a{a
a{a
a{a{ay
a{acal
a{acea
a{acear
a{ada
a{adido
a{adir
a{afea

peeero  cambiando el locale se logra ordenar en modo ascii.

$ export LC_ALL=C

y ahora

$ sort wordlist.txt | more

Ba{on
Cala{as
Espa{a
abaje{o
aba{ar
abe{ola
abe{ula
abru{al
abru{o
ace{a
ace{ero
acu{ar
adeli{o

Perfecto, es lo que necesito.

Wednesday, January 18, 2012

IvanHoe (chess engine)

IvanHoe (chess engine) IvanHoe es un destacado motor de Ajedrez, se lo compara con Robbolito (y en algunos lugares se dice que es mejor). En el sitio http://www.chesslogik.com distribuyen binarios y el código fuente, los binarios para linux están compilados para 64 bits pese a que dicen que son para 32 bits. El proceso de compilación en muy simple (solo hay que ejecutar make) pero hay un pequeño problema, los archivo Makefile están preparados para generar binarios de 64 bits, por lo tanto hay que hacer algunos cambios. hay que modificar 3 archivos:
  • RobboBuild/Makefile
  • RobboExplorerDir/Makefile
  • IvanHoeSource/Makefile
En esos archivos hay que hacer los siguientes cambios: RobboBuild/Makefile de: DEFINITIONS = -Dx86_64 $(HAS) a: DEFINITIONS = -Dx86_32 $(HAS) RobboExplorerDir/Makefile de: DEFINITIONS = -Dx86_64 # $(HAS) a: DEFINITIONS = -Dx86_32 # $(HAS) IvanHoeSource/Makefile de: DEFINITIONS = -Dx86_64 $(HAS) -DVERSION=\"$(VERSION)\" a: DEFINITIONS = -Dx86_32 $(HAS) -DVERSION=\"$(VERSION)\" Luego de hacer esos cambios hay que ejecutar make (¡¡dos veces!!) ¿y porqué dos veces? Bueno, en la primera se genera un error, y en la segunda se generan los ejecutables. No tuve ganas de buscar el error, hay muchos (demasiados para mi gusto) warning de compilación lo que me hace pensar que el código no es muy prolijo.

Sunday, December 18, 2011

Comportamiento errático del teclado y mouse.

Tengo una pc con mother asus M2N-E micro AMD Athlon 64 X2 Dual Core Processor 3600. La uso con varias distribuciones de linux. Uno de los kernel que uso es 2.6.32-36-generic #79-Ubuntu SMP.

El teclado genius PS/2 y mouse USB genius de esa pc tenían un comportamiento errático, funcionaba uno u otro, había que reiniciar varias veces hasta que lograba que funcionaran los dos juntos.

Aparentemente hay un bug en los ultimos kernel que customiza Ubuntu.
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/586471

La solución (temporal) a ese problema es agregar acpi=off noapic nolapic en las opciones de booteo.

dejé mi menu.lst así:

## additional options to use with the default boot option, but not with the
## alternatives
## e.g. defoptions=vga=791 resume=/dev/hda5
# defoptions=acpi=off noapic nolapic



Después de modificar el archivo hay que ejecutar update-grub

Thursday, December 01, 2011

Botones con imagen y etiqueta en GNOME

Los botones de las aplicaciones basadas en GTK admiten la posibilidad de tener una imagen y un texto, En la instalación por default de ubuntu la opción es que esté solamente visible el texto de los botones y no ambas.

En otra entrada en este blog ya expliqué como modificar la configuración de GNOME para que *todas* las aplicaciones muestren imágenes y texto, pero esto también es posible hacerlo desde una aplicación RUBY/GTK y ese es el motivo de esta entrada.


Este es el código que hay que usar para hacer visible las imágenes en los botones.

  1. unless Gtk::Settings.default.gtk_button_images? then
  2. Gtk::Settings.default.gtk_button_images = true
  3. end
o el siguiente para que los botones solamente tengan texto.

  1. if Gtk::Settings.default.gtk_button_images? then
  2. Gtk::Settings.default.gtk_button_images = false
  3. end
o la siguiente línea para alternar los estados.

  1. Gtk::Settings.default.gtk_button_images = !Gtk::Settings.default.gtk_button_images?

Tuesday, November 29, 2011

Como cambiarle la propiedad text a un Label de GTK::STOCK::XX

Como cambiarle la propiedad text a un Label de GTK::STOCK::XX código para ruby
  1. MiBoton = Gtk::Button.new(Gtk::Stock::OK)
  2. MiBoton.child().child().children[1].text="nuevo texto"
Con esto se mantiene el icono OK y se cambia la leyenda a "nuevo texto" rafael@rafael-desktop:~$ irb irb(main):001:0> require 'gtk2' => true irb(main):002:0> miboton=Gtk::Button.new(Gtk::Stock::OK) => # irb(main):003:0> miboton.class.name => "Gtk::Button" irb(main):004:0> miboton.child().class.name => "Gtk::Alignment" irb(main):005:0> miboton.child().child().class.name => "Gtk::HBox" irb(main):006:0> miboton.child().child().children[0].class.name => "Gtk::Image" irb(main):007:0> miboton.child().child().children[1].class.name => "Gtk::Label" irb(main):008:0>

Como configurar GNOME para que los botones tengan un icono además de la leyenda.

Como configurar GNOME para que los botones tengan un icono además de la leyenda.
  1. Ejecutar desde la consola gconf-editor luego
  2. desktop
  3. gnome
  4. interface
  5. buttons_have_icons checked
Listo, eso es todo.

Saturday, October 01, 2011

Hice otro programa para construir sopas de letras.

Este está hecho en FreePascal + Lazarus lenguaje mas IDE similares a Delphi.

Demoré dos dias en hacerlo, y necesito ayuda para testearlo.

Por el momento voy a subir el binario para Linux, despues voy a subir los fuentes, si alguien los quiere puede mandarme un mail y yo se lo mando.
la idea es publicar todo el codigo fuente licenciado con GPL V 2, publicar un binario para Linux y otro para Windows

Wednesday, March 02, 2011

¿habrá cafeconf 2011?

Sunday, December 23, 2007

grub con noapic por default.

Cada vez que actualizo el kernel de mi nueva máquina (amd) tengo que editar el archivo /boot/grub/menu.lst y agregarle la opción noapic.

Hoy encontre la solución en este post y es algo muy facil de implementar.

primero debe buscar las siguentes líneas
# defoptions=quiet splash
# altoptions=(recovery mode) single


luego debe editarlas para que queden de la siguiente manera:
# defoptions=quiet splash noapic
# altoptions=(recovery mode) single noapic

listo!
aunque le parezca raro, no hay que quitar el # de las líneas!


ahora, tranquilo, ejecute:
~$ sudo grub-update

Sunday, January 14, 2007

unsort

unsort

Acá tengo una serie de comandos encadenados que sirven para desordenar un archivo 

rafael@edubuntu:~$ awk '{printf("%7d\t%s\n", int(rand()*1000000), $0)}' ../columna10.txt | sort -n | cut -f2 

vamos por partes 

a) El archivo que tiene los datos a desordenar es ../columna10.txt 

b) awk '{printf("%7d\t%s\n", int(rand()*1000000), $0)}' ../columna10.txt 

 

Uso awk para generar un número al azar entre 0 y 999999, imprimo ese número junto a cada línea del archivo y uso como separador de campos el ascii 9 (tab) 

c) sort -n Ordeno la salida de awk, el flag -n indica que la clave a usar es numérica. 

d) cut -f2 Selecciono el segundo campo, en el punto b) agregué un campo para ordenar, cut usado de esta manera asume que el separador de campos es el tab. listo!, con esto tengo en la salida estándar el archivo desordenado. 

para comprobar como se comporta hice una pruebita con un archivo de 226800 líneas 

rafael@edubuntu:~$ wc -l ../columna10.txt  

226800 ../columna10.txt

rafael@edubuntu:~$ time awk '{printf("%7d\t%s\n", int(rand()*1000000), $0)}' ../columna10.txt | sort -n | cut -f2 

... ... 

real 0m4.501s 

user 0m1.644s sys 0m0.484s 

nada mal, cierto?

Sunday, January 07, 2007

Firefox 1.5.0.9, crash.

Ayer actualice de mi Ubuntu Dapper (aptitude update, aptitude upgrade) como es algo habitual y periodico las actualizaciones no fueron muchas. Entre los paquetes que se actualizaron estaba Firefox, la nueva versión es la 1.5.0.9.

Ocurrio que fue imposible usar la interfaz adminsitrativa de mailman, despues de aceptar los mensajes de los certificados Firefox se cerraba sin ningún aviso y sin dejar rastros, el unico mensaje que mostraba la consola decía "segmentation fault", clarito ehhh, con eso un usuario sabe perfectamente que es lo que esta funcionando mal... :)

La sospecha recachó en ssl y el certificado autofirmado, por lo que empece a buscar por ese lado, nada nada nada, en algunas listas algunos viejos de crash adjudicaban el problema a javascript y recomendaban desabilitar la opción.

Por lo que opté por desabilitar todo y probar hasta encontrar al culpable, resulto ser: edit, preferences, privacy, passwords, remember passwords.

Si ya sé, es inseguro pero es la máquina de mi casa.

Thursday, November 16, 2006

Fuente Fixed y Xorg


En el último update/upgrade el xorg de mi debian etch dejo de funcionar, el mensaje de error indicaba la imposibilidad de encontrar la fuente fixed.

Despues de probar varias de las recetas de google pude solucionar el problema agregando en el archivo /etc/X11/xorg.conf una entrada en la seccion Files:

FontPath "unix/:7100"

Sunday, March 26, 2006

Ruby

Resulta de tome la decisión de apostar por ruby....
resulta que navegando llegue al blog de Juantomas y que me encuentro con que a él tambien le gusta ruby
http://www.juantomas.net/2006/03/24/falling-in-love-again-with-ruby/

Juantomas es uno de los primeros speakers de SL que escuché (él me recomendo glade...)
Ajedrez On-Line libre

hay un excelente sitio libre donde jugar al ajedrez es http://www.freechess.org/ para jugar se necesita un cliente yo uso eboard.

hay un buen manual de ics en http://www.diariolinux.com/tiki-read_article.php?articleId=12
Ajedrez Postal

Estoy jugando ajedrez postal en http://www.superajedrez.com.ar/webchess/index.htm, hacía varios años que no jugaba y esta alternativa me vino de maravillas.
tidy que se integra a Firefox

desde hace unos dias estoy usando una extension para firefox que realmente me cambio la forma de trabajar
http://users.skynet.be/mgueury/mozilla/

Esta maravilla me avisa si el sitio web que estoy viendo cumple los standares del w3c y me marca cuales son los errores!

desde que lo instalé todas mis paginas cumplen el standar xhtml 1.0
Ayer en el Flisol comente con Marga el problema de mi Etch para levantar la interfaz por dhcp, me comento que el problema no es el dhcp sino el zeroconf (antes de ayer habia notado que ese programa esta corriendo en mi equipo con dos instancias y que no existía el man de dicho programa)
y me recomendo eliminarlo, Leito estaba presente y comento las bondades de zeroconf (él lo usa en macOS).
siguio un que esta bueno, que le falta, si pero.

hoy lo desinstalé y todo volvio a la normalidad en mi Etch.
Ayer sabado 25 de marzo de 2006 asistí al II flisol en Capital Federal, hubo muchas cosas para destacar como: -El lugar donde se realizó (Colegio Francesco Faà Di Bruno, Nicaragua 5668, http://www.faadibruno.edu.ar/inicio.htm)
-Los lug organizadores: lugfi, ublug, lugsam, cafelug.
-La coordinacion del evento: Agustin Mendieta
-Las charlas y disertantes: Beatriz Buzaniche (aka bea), Enrique Chaparro (aka Chapa), Carlos Miranda (aka mstaaravin)
-El encuentro de geeks post evento