viernes, 23 de noviembre de 2012

Aprendiendo sobre LDAP

En mi trabajo ha surgido la necesidad de crear una infraestructura de LDAP+kerberos, que voy a montar sobre (adivinaron) Debian. Si bien en la web hay varios artículos al respecto, ésto es lo que les recomiendo dentro de lo que vengo leyendo:
Un problema general que me he encontrado en convertir los ejemplos de configuraciones de slpad.conf al formato manejado dentro del mismo árbol de LDAP. Pero si hubiese leído las cosas en el orden que puse arriba, me hubiese sido mas fácil de entrada :-)

Un amigo me recomendó mirar la wiki de DebianLan para lograr un setup mucho más rápido. Todavía no he llegado a ésa parte.

jueves, 1 de noviembre de 2012

¿Tu sesión de KDE está leeeeenta? Chequeá tu interface de loopback


Mientras reviso los bugs del equipo Qt-KDE de Debian, no es raro encontrar gente que reporta que se sesión de KDE está muy lenta. La gran mayoría de las veces el problema es que la interfaz de loopback (aka lo) no está habilitada. A veces el usuario hizo algo mal, a veces algún manejador de redes metió la pata, pero el resultado final es el mismo: KDE está lento.

Un usuario llenó un bug en KDE upstream pidiendo por un diálogo que avise al usuario en caso de que ésto ocurra. esperemos que sea implementado :-)

Bueno, pero... ¿como chequeo de que la interfaz esté activa?

Simplemente corriendo:

$ /sbin/ifconfig 
eth0      Link encap:Ethernet  HWaddr 00:1f:c6:ba:70:f3  
          ...

lo       Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:1807 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1807 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:494525 (482.9 KiB)  TX bytes:494525 (482.9 KiB)

La última entrada "lo" nos dice que la interface está activa.

En Debian, el archivo /etc/network/interfaces debería contener algo como:

# The loopback network interface
auto lo
iface lo inet loopback

La próxima vez que tu sesión de KDE esté lenta, ya sabés por donde empezara mirar ;-)

Is your KDE slooooow? Check your loopback interface

While digging Debian Qt-KDE's bugs, it has become more common to find people reporting that their KDE is very slow. Most of the time (if not every time) it turns out that the loopback interface is down. Sometimes the user did something wrong, sometimes some network manager, but the end result is the same: KDE is terribly slow.

A user filled a bug upstream to ask for a dialogue in KDE that warns the user about this fact. Let's hope it get's implemented :-)

OK, so, how do I check that my lo interface is up?

You can simply run:

$ /sbin/ifconfig 
eth0      Link encap:Ethernet  HWaddr 00:1f:c6:ba:70:f3  
         

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:1807 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1807 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:494525 (482.9 KiB)  TX bytes:494525 (482.9 KiB)

The last entry "lo" tells us that the interface is up.

In Debian, the file /etc/network/interfaces should have something like:

# The loopback network interface
auto lo
iface lo inet loopback

So, next time you find a KDE session is slow, you know what to do ;-)

jueves, 16 de agosto de 2012

QExtSerialPort in Debian experimental

After some rants about the status of different Qt-based serial port libs, I'm happy to announce that today QExtSerialPort was accepted in Debian experimental (this last link may give a 404 for some time, that's ok).

A great effort was done upstream to put the source in a suitable state for being included in Debian. Thank you all guys!

I packaged a beta version, so I uploaded it to experimental.

In case you are wondering why packaging a lib with (yet) no apps depending on it, the answer is quite simple: there are lots of people already using it in it's home projects (me included). Now those projects have the chance to get into Debian too :-)

As a side note, there is also another nice implementation called QtSerialPort. I have also tested it and works pretty fine too. It aims to become part of Qt as an add-on someday.


¡Feliz cumpleaños Debian! 19 y vamos por mas :-)


¡Feliz cumpleaños Debian! Por supuesto, vamos por mas :-)

viernes, 13 de julio de 2012

Poniendo la rama del repositorio de git en el prompt

A partir de la charla Git and Debian packaging me saltó la duda de como lograr un prompt que me diga la rama actual de git cuando me encuentre en un repositorio.

Christian "bubulle" Perrier nos ofreció éste link. La idea me gustó mucho, pero tuve que twikearlo un poco para que use colores :-)

El resultado, en mi ~/.bashrc

[...]
# Search for git repos.
parse_git_branch() {
  git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'
}


# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
force_color_prompt=yes


if [ -n "$force_color_prompt" ]; then
    if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
# We have color support; assume it's compliant with Ecma-48
# (ISO/IEC-6429). (Lack of such support is extremely rare, and such
# a case would tend to support setf rather than setaf.)
color_prompt=yes
    else
color_prompt=
    fi
fi


if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\[\033[01;31m\]$(parse_git_branch)\[\033[00m\] \$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w$(parse_git_branch)\$ '
fi
unset color_prompt force_color_prompt
[...]

Como verán, agregué la función parse_git_branch() tal y como se describe en el link. Luego agregué la llamada en la definición del color prompt.

Por supuesto, se puede mejorar aún mas :)

Nota 201207172003GMT-3: bubulle parece haber hecho lo mismo, sólo que él lo mejoró. Y por supuesto, cambié el post de forma acorde :)

viernes, 6 de julio de 2012

Charla sobre el puerto USB y experiencias de programar un driver para un circuito integrado

El miércoles 11 de Julio (el próximo miércoles al momento de escribir ésto) en la sala de conferencias del DIEC, Universidad Nacional del Sur, Bahía Blanca, voy a estar dando dos charlas en una: "El puerto USB: mas que un puerto serie con energía" y "Experiencias de programar un driver para un circuito integrado".

En la primera charla voy a presentar las ideas básicas detrás del puerto USB en forma de sistema y con énfasis en los dispositivos. Voy a hablar sobre los pro y los contras del mismo.

En la segunda parte, que debería durar no mas de 10', voy a hablar de mi experiencia haciendo un driver para el Texas CC1101.

En ambos casos no voy a tocar muchos aspectos de software, sino que voy a conentrarme mas en presentar ideas y contar tips y experiencias con los mismos.

¡Los espero!

jueves, 28 de junio de 2012

Un tackle por Candela

Y ustedes se dirán ¿Lisandro haciendo una cadena en su blog? Algo así. Pero ésta vez lo hago con toda la alegría de intentar ayudar a alguien que sé que existe, y no sólo porque la "he visto", sino porque la he tenido en brazos y jugado con ella.

El anuncio de la Sociedad Sportiva de Rugby:

El próximo sábado 30/6/2012 va a haber un encuentro de rugby en Carrindanga, Bahía Blanca. Los motivos:
  • M12 y M14 juegan el encuentro de infantiles de la URS (junto a 13 clubes de bahía y la zona).
  • Las juveniles participan de una fecha del norpatagónico con Neuquén
  • La inter juega un amistoso con universitario
  • y como si fuera poco la primera de Sociedad Sportiva Rugby se mide con Universitario en la ultima fecha del campeonato
Sin embargo, y porque el rugby es mucho más que el juego, te vamos a presentar a Candela, una amiga de 4 años... mas abajo sus padres Seba y Pata nos cuentan su historia... leela, sentila y acompañanos con tu ayuda durante el encuentro... las seños del jardín de cande traerán café y tortas, el bere sorteará una camiseta y una pelota y algunas amigas del blanco recorrerán las canchas con urnas... sumate... entre todos es posible...

Y si no vas a Carrindanga (por que tu hijo juega en otro club... o porque no podés...) sumate igual.. te damos los datos de la cuenta bancaria; seguramente vas a saber que hacer.

BANCO NACIÓN ARGENTINA
CAJA DE AHORRO EN PESOS
Nº: 1308689672
CBU: 0110130630013086896729

Escriben Seba y Pata, los papis de Candela:

Candela una noche calurosa de Enero llegó a nuestras vidas muchísimo antes de lo esperado.  Hay algunas causas y explicaciones científicas por las que ocurre un nacimiento prematuro pero ninguna de esas fue la nuestra, Pata no tuvo infección, no tuvo un accidente, no tenía presión alta ni ninguna de las explicaciones que aun hoy reconoce la medicina. Asi que tan sólo así se dió, y como dijimos llegó para quedarse.


En los tres meses de terapia neonatal, por su inmadurez extrema tuvo muchas complicaciones: infecciones, cirugías, le colocamos una válvula en la cabecita y quedo con varias secuelas.


Entre ellas, hipoacusia severa bilateral por la que usa audífonos, la lesión cerebral hoy se denomina ENCEFALOPATIA CRÓNICA NO EVOLUTIVA, por la que usa un andador ortopédico y valvas en sus piernas, ademas al día de hoy se desconoce cuanto daño hizo en su sistema nervioso.


Una de las 3 noches que de madrugada nos llamaron para que vayamos a estar a su lado porque estaba muy complicada y era dificil que pase la noche, estando muy pocos minutos al lado de su cunita especial, le susurramos que apoyaríamos lo que ella decida. Si por fin quería dejar de luchar y descansar (se veía día a día literalmente que peleaba por su vida) o si quería seguir.Pero le prometimos que si se quedaba con nosotros, íbamos a hacer todo cuanto este a nuestro alcance para ayudarla a ser feliz.


Lo que nosotros estuvimos haciendo durante estos 4 años y pico es tan solo eso.


Ella hace 6 estimulaciones semanales, mas la estimulación en casa.


Los médicos siempre dijeron que ha evolucionado mucho para los pronósticos que tuvo, y que debemos aprovechar el período de mayor plasticidad neuronal (hasta los 5,6 años) para mejorar sus capacidades, pero ningun esfuerzo garantiza un resultado, es hacer, hacer, hacer y esperar.


Muchísimas noches nos preguntamos:


¿podrá caminar algún día?
¿podrá hacer las cosas que hace un niño de su edad, correr, saltar?
¿podrá ir a 1º grado, a 2º, que pasará?
¿podrá hablar y que otros la entiendan?


Dedicamos mucho tiempo también para hablar con otras familias de casos similares, indagar en medicinas alternativas, leemos, investigamos, cursamos a distancia y seguimos en la búsqueda.


Nosotros estamos AL PIE, no desde la resignación sino con la CERTEZA de que esto es PLAN DE DIOS. 


Candela hace unos días se paró.


Ella y nosotros estamos listos para ir por mas, para redoblar los esfuerzos.


A partir de ahora daremos un paso mas grande, hemos decidido hacer dos grandes apuestas.


Llevaremos a Candela al "Instituto de Rehabilitación y Educación Terapéutica" FLENI de ESCOBAR, el lugar es uno de los mas reconocidos de Latinoamérica para el tratamiento de pacientes con problemas neuronales y motores.


El otro paso es llevarla al CIREN (Centro Internacional de Restauración Neurológica) en Cuba.


Los dos tratamientos son costosos para afrontarlos solos.


Debemos contar aproximadamente con unos 165 mil pesos argentinos, el calculo no es exacto porque tanto en Fleni como en Ciren, una vez que la evalúen pueden sugerir otros estudios complementarios o cirugías. Además en Cuba es en dólares (que hoy parece mala palabra)


Si llegaste hasta acá y te estás preguntando: Estos padres ME ESTÁN PIDIENDO PLATA?


Intentaremos darte una respuesta


No tenés idea de cuantas veces nos preguntamos si estaba bien que te llegue un mail así


Lo charlamos con muchas personas y cada uno nos iba ayudando a tomar la decisión.


Recibir este mail no te compromete en nada, no te obliga a nada, solo te informa, solo te pide y tenes la libertad absoluta de ni siquiera responderlo.


Pero si tan sólo una fibra tuya quiere hacer algo, si la causa te parece justa y honesta y tenes la plata para ayudar, la respuesta a tu pregunta es SI.


Si no dispones de ella pero tenes una idea, un amigo, un conocido, para sumar es bienvenido.
GRACIAS por la paciencia de leer un mail tan largo, si te sirve, nosotros lo leímos 84 veces antes de enviarlo.


Pata y Seba

Nota: no estoy afiliado de ninguna manera a ningún club de rugby, pero (insisto), tengo el gusto y honor de conocerla a Cande :)

martes, 17 de abril de 2012

Docsis 0.9.6+git16 disponible en Debian unstable (bueno, en unas horas)

Docsis 0.9.6+git16 acaba de ser aceptado en Debian unstable. Pero ¿que es Docsis? Es un programa homónimo a la especificación usada por los modems de redes HFC (Hybrid Fibre Coaxial), o "los modems del cable de TV", como mas o menos los conocemos acá en Argentina. Sirve para generar configuración binaria para los mismos.

Como siempre, espero que les sea de provecho :-)

jueves, 22 de marzo de 2012

KDE 4.7.4 en Debian testing

Desde hace unos pocos dias KDE 4.7.4 se encuentra disponible en testing. La actualización es mas que recomendada. Como siempre, muchas gracias al equipo Qt-KDE en Debian.

Por otro lado hace poco se pidió que se remueva kaboom de Wheezy. Kaboom fué la primera herramienta desarrollada colaborativamente entre los miembros del citado equipo. Su misión: migrar las configuraciones de KDE 3 (o las configuraciones experimentales de KDE 4 que proporcionaba el equipo) a KDE 4. Con Squeezy se completó la migración, y por ende la herramienta ya queda obsoleta en Wheezy.

martes, 13 de marzo de 2012

QtSerialPort: a new hope

Some time ago I wrote about the status of Qt-based libs for using the serial port. Some days later I was pointed to the QtSerialPort project. The good news on this is that this is a project aimed to enter into Qt 5.

I have tested the lib with some apps that originally used QExtSerialPort. So far, so good. The license terms seems pretty OK (it wouldn't have got that far in the Qt code review if it weren't).

In the meantime, I received a reply to one of my messages from an upstream dev of QSerialPort (note that is Q and not Qt). He was very kind, but considering the effort to get QtSerialPort inside Qt itself, I think it's better to try to develop with this last lib.

Maybe I should try to package it and upload it to experimental.

miércoles, 7 de marzo de 2012

Entretenimiento en vuelo: volando con Emirates

Algún tiempo atrás ví un video sobre el uso de Qt en plataformas de inflight entertainment (entretenimiento en vuelo) de Panasonic:



Pensé que iba a pasar bastante hasta que viera un sistema así en vivo y en directo... arriba de un avión (lo digo porque lamentablemente no he estado pudiendo viajar mucho que digamos). La sorpresa me la dí al viajar en un vuelo de Emirates. ¡Y aún viajando en clase económica!

El sistema se llama ICE: Information, Communication and Entertainment. La verdad, desconozco si es el mismo sistema que produce Panasonic con Qt (puede que si), pero si me pareció muy bueno.

Algunas cosas que me llamaron la atención:

  • El sistema está disponible en clase económica.
  • Por el cursor, diría que corre bajo Linux (además, si fuese un sistema operativo propietario, es muy probable que le haya visto un logo en algún lado).
  • La pantalla es táctil, aunque parece resistiva por como reacciona. Creo que, en ese caso, los botones que se dibujan en pantalla deberían ser un poco mas grandes.
  • El "control remoto/joystick/horquilla de teléfono" es muy piola. Se nota que fué construído con la premisa de robustez antes que comfort al usarlo, pero es mas que entendible por la función que cumple.
  • Si bien es particular a Emirates, la selección de música me pareció excelente :-) No estuve viendo las películas en mi sistema, pero si en la de otros. Había estrenos y todo. ¡Y gratis! (bueno, uno paga el pasaje ;-) ).
  • Mi pantalla estaba pidiendo que la recalibren un poco, la parte superior era complicada para acceder con el sistema táctil.
  • El "mini joystick" para mover el cursor (similar al botoncito de las notebooks para el mismo fin) resultó muy práctico.
  • El sistema generaba mucho calor. Bastaba con girarlo un poco y poner la mano atrás para sentirlo.
  • Las vistas de las cámaras inferior y delantera del avión son geniales. Y si, están encendidas todo el tiempo, por lo que podemos ver como despegamos.
En fin, golazo para Emirates, me dejaron con una muy buena impresión mas allá del servicio, que realmente fué muy bueno también.

Por las dudas: no, no trabajo en Emirates ni Panasonic ni Qt, ni estoy relacionado con ninguno de ellos.


Y digo yo, si el sistema fuese Software Libre ¿que podría mejorar?

viernes, 3 de febrero de 2012

The license mess with serial port Qt-based libs

I am currently working on a Qt-based app that needs to communicate through the serial port. Apart from all the benefits that a normal lib with a serial port implementation will bring in this case, having a Qt-based serial port lib would make even more sense, as it should be as multiplatform as possible and use the signal/slot mechanism. Also it should have a DFSG-compatible license, so I can package it for Debian, of course :-)

So I have found two libs which seemed to have the above mentioned features: QExtSerialPort and QSerialPort.

QExtSerialPort seems to be the most recommended lib in the web. It features polled and signal-based functionality; it uses Qt's standard types inheriting QIODevice. But it does not states the license in any file within the source code. The original project page at SourceForge says it's in public domain. And the newer project page at Google code says it's under the new BSD license. I have asked in the mailing list for a clarification. So far nothing has changed (although in further threads the authors showed some willing to change this). And then I got to the point of finding a bug, but I don't want to spend time to track it down and make a patch without a clear license.

QSerialPort it's another lib with more or less the same features as QExtSerialPort. It's main LICENSE file says it's under the LGPL2, but licensecheck will say that the present files are LGPL3. Also, on reviewing the code, I found some minor stuff that could be improved. Well, I could contact the author and see if [s]he would receive the patches... but his site seems down. And I could not find a real-person's name in the code so far :-/

So I made a last attempt to try to get QExtSerialPort in a suitable license. If it doesn't suceed, I think I'll have to start writing one myself. The downside: I only use Linux, so there will be no multiplatform features unless someone else contributes it. Of course, if you have another option or any idea to share, I'll be happy to know it :-)

By the way, this should be my first post on Planet Debian in english, so hello planet!

miércoles, 18 de enero de 2012

¿Que pasa si instalo todos los discos de Debian?

Hay algunos que quizás abran las ojos "como dos de oro" por ésta pregunta, pero no es la primera vez que la leo ni que me la hacen, así que vá la respuesta:

Si instalás todos los DVDs/CDs de Debian, vas a tener mucho espacio en disco rígido ocupado. Muy posiblemente, de gusto.

Tener todos los discos a mano sirve si no tenés una buena conexión a internet. Con eso sabés que la gran mayoría de las cosas las tenés disponibles en cualquier momento. Pero no instales todo, solo lo que vos necesites, aunque solo sea del primer medio. Dejá que apt se haga cargo del resto :-)

Si tenés un contraejemplo... sabés lo que estás haciendo y no necesitás que te lo explique =)