Posted by: Camilo Torres | September 10, 2014

II Foro de Mujeres y Tecnologías de Información Libres

II Foro de Mujeres y Tecnologías de Información Libres

12 y 13 de septiembre en las instalaciones del INCES en la Av. Nueva Granada, Caracas.

http://foromujerestil.org.ve/index.html

 

Posted by: Camilo Torres | September 6, 2013

KDE PIM, processor overheating, What’s wrong with you, KDE?

I has been a long time KDE user. As you can see from past entries in this blog I have been also trying some other desktops. But that search really started shortly after KDE 4 entered into Debian Testing. I used Gnome2 for a while in a machine from the office. The nice thing is that it was a bank and I was one of the really first to use a Linux box full time and Gnome as my primary desktop. I don’t know if as today someone in this bank uses something similar, but at that time someone was trying Debian with Gnome on a testing machine.

Then I tried XFCE wich I really didn’t liked very much. I think it is not as lightweight as they say it is. Then I went on to LXDE, wich is really lightweight. It had some limitations at that time: configuring a second monitor as an extended desktop was not easy, there is no integrated PIM as the KDE’s Kontact PIM suite. It had more other limitations, but this two were the ones that made me move away. Then I tried Gnome 3, but I can’t really get used to it. And again I returned back to KDE.

KDE has really improved since those horrible days of KDE 4.0 to 4.2. And I mean they improved the errors on the code base, and the completeness of the desktop environment. But now the way I use my computer has changed. I use it mainly through the command line; yes it sounds weird, but really, I’m using my computer mainly through a remote connection via SSH with no option to have X forwarding (the conexion is too slow for that to work, I know because I tried), and the client is a Windows machine, so, no X server. Now, having two environments to work on: home and office, I have turn to Google mail, calendar, and address book. Having the KDE 4.8 distribution, a more mature one, I started to try many of the applications I used to work many years ago. One of the first was the Amarok music player. I remember the time when I loved to use it, and considered it one of the best music players; how dissapointed I am with the state of this piece of code; I can’t even arrange a particular part of my music collection in a simple form of having many songs into one particular album. I started to use JuK and really been missing the old Amarok. At some point the Nepomuk service started to put my CPU to 100% at login time. I deactivated it and also deactivated Strigi (an file indexer). Missing the functionlity of KDE PIM, I decided to try it again, to see how it was doing; I think all of the Nepomuk malfunctioning was solved by then.

So I launched Kontact from the first time in months, and when the KMain started to pull my POP email from Google Gmail, it showed me a message asking me to accept an upgrade to Akonadi. Ummm, at this point I started to worry a little, but I decided to give it a try, so I accepted the Akonadi stuff. It did the upgrade pretty quick, so I was reading my email from KMail again. Ohh, what a pleasure… until… the CPU of this poor cheap notebook computer overheated and the whole system shutted down by itself. I turned the computer on again, and tried to read my main from KMail again, and again, but after 3 CPU overheats I decided to stop with all this and to stay with the GMail web interface as I has been doing for the last months. But the Akonadi thing will not dissapear so easy, I was forced to go to the Akonadi configuration and manualy delete my GMail account because Akonadi continued to fetch my email in the background.

Well, no Amarok, no PIM. But this is not the end of the story (neither the end of the overheating). At next day I left the notebook computer switched on and left to the office. Later in the day I tried to SSH into the notebook and there was no reponse. When I came back to home at night, the notebook was still on, but completely unresponsive. Because it happened to me before, I know it overheated and then hanged up before the OS was able to propertly shutdown the computer. So, it overheated again without I being doing anything on the computer, so I decided to blame KDE of all of this. I really get tired of this KDE stuff that overheat my notebook, all of this Nepomuk, Strigi, Akonadi, and the like, all those things I really don’t use and which I can’t really get rid of in KDE. You can’t get rid of those components on Debian and at the same time keep with the rest of the KDE desktop, because they are very tightly integrated into KDE.

So, the solution is to switch to another desktop environment, again. That same night I installed and configured LXDE. The result was that my CPU is at a reasonable level of activity for a computer when it is not being used (near 0%). No overheating, I am writing this via SSH on my console with VIM without worrying if the computer CPU could overheat, nor running top to see wich processes I should be killing. But this is not the end of this history, in the times to come I will be testing and trying one newcommer to the Linux desktop environments: Cinnamon.

P.S.: My work office is two hours apart from home in the best case, I connect to my SSH server on my computer only on my free time.

Posted by: Camilo Torres | September 4, 2013

La comunidad de Python Venezuela y la página python.org.ve

¿Por qué existe una comunidad python en Venezuela?

La comunidad Python en Venezuela pasó por tres etapas claves de construcción.

Al inicio se creó una comunidad a través de la plataforma de actvismo Coactivate.org que se llamó pyve, fue creada el 4 de Junio de 2008 por un grupo de pythonistas venezolanos con el propósito de promocionar, hacer difusión y generar prosperidad en el desarrollo con Python en Venezuela. El link de la comunidad es http://www.coactivate.org/projects/pyve/ el cual no ha sido borrado para quede para la posteridad.

Luego en el año 2009 se crea el grupo Python Caracas el Google Groups: https://groups.google.com/forum/#!forum/python-caracas. Este grupo se crea por una iniciativa originada en la UCV. Con el tiempo este grupo irá generando bastante momento, irá acumulando energía y comenzará a realizar actividades que iniciaron con reuniones periódicas a las que se fue sumando gente de Caracas y sus alrededores. Tuvimos una mesa en el Flisol de Caracas del año 2011, se hizo un primer día Python en Caracas y otro en Mérida también en 2011. En 2012 se realizó un PyCon en la ciudad de Caracas donde se reunió un gran número de personas de todas las comunidades de Python de Venezuela y tuvimos dos invitados internacionales en las ponencias. Ese día se decidió que debíamos unificar las comunidades en una sola y así nació Python Venezuela.

Actualmente Python Venezuela es la principal comunidad de Python en el país, ya que las dos comunidades anteriores fueron desactivadas por mutuo acuerdo. Nuestro propósito sigue siendo el propósito original de la comunidad pyve: Promocionar el lenguaje Python, pero además nos damos apoyo y tenemos una comunidad de apoyo técnico mutuo como en cualquier comunidad abierta de código libre. Nuestra comunidad actual está en Google Groups: https://groups.google.com/forum/#!forum/python-venezuela

La mayoría de las personas que trabajan con software libre o con lenguajes abiertos, como Python, les gusta compartir con personas que tienen los mismos o similares intereses o valores. Es natural que estas personas comiencen a buscar a otros similares para compartir lo que saben, para aprender y para enseñar. Estas comunidades se van creando de forma casi espontánea, de forma des-centralizada, movidas por el interés y por la energía que le impriman los miembros o colaboradores de esa comunidad.

Actualmente el lugar para iniciar con Python en Venezuela es en nuestra página oficial: http://python.org.ve/. Les recomiendo se acerquen por allí.

Posted by: Camilo Torres | August 23, 2013

java code

java code with a meaningless condition

Encontré esta pieza de código Java, sólo es un condicional:

if (banda.getField55().containsKey(“5F34″)
&& (!(banda.getElementValue(“5F34″).equals(“4E50″) && BcdLib
.hexStr_ascii(banda.getElementValue(“5F34″))
.equalsIgnoreCase(“NP”)))) {

En la primera parte de la condición se evalúa si algún campo contiene un valor (una clave). Creo que está bien, porque esta primera parte impide que el acceso a la “clave” en la segunda parte de la condición genere una excepción de null pointer típica de Java, esto es para evitar que el acceso a un campo inexistente genere un error.

Vamos a deshacernos de la primera parte y quedarnos sólo con la segunda parte de la condicion:

(!(banda.getElementValue(“5F34″).equals(“4E50″) &&
BcdLib.hexStr_ascii(banda.getElementValue(“5F34″)).equalsIgnoreCase(“NP”)))

Creo que siempre devuelve true por lo que esta parte de la condición es inútil. Lo peor es que introduce confusion al código porque el lector cree que este código hace algo realmente útil. Esta parte de la condición es una negación, por lo que si siempre devuelve true, la parte interior siempre debe devolver false, vamos a ver si eso ocurre:

banda.getElementValue(“5F34″).equals(“4E50″) &&
BcdLib.hexStr_ascii(banda.getElementValue(“5F34″)).equalsIgnoreCase(“NP”)

Para que esta parte de dos condiciones sea verdad, ambas condiciones deben ser verdaderas (es una “y” condicional). Pero aquí están evaluando si un solo valor es igual a dos valores diferentes al mismo tiempo, tal condición no puede suceder nunca, por lo que esta parte de la frase siempre devuelve false. Esto demuestra el punto de que esta parte de la condición carece de sentido.

Esto me lleva a pensar que el desarrollador original no tenía mucha idea de las reglas que él estaba tratando de escribir en su código. O puede ser que esto es un error en la condición que debe ser un “o” en lugar de una “y”? No hay manera de saber la respuesta al día de hoy.

Hay otros problemas sutiles en el código: ¿Por qué un acceso a la clave a través de getField55, en primer lugar, a continuación, acceder a la misma clave a través del objeto banda directamente? Además, están utilizando estos valores mágicas hexadecimales como 5F34, 4E50 y ese string NP, ¿Cuál es el significado de esos valores? Bueno, esto es sólo una pequeña parte de un sistema hecho de código espagueti, así que no me sorprendió encontrar este tipo de cosas, puede ser que empiece a escribir sobre esos trozos de malos códigos o errores …

Posted by: Camilo Torres | August 22, 2013

Meaningless code every now an then…

java code

java code with a meaningless condition

I found this piece of Java code, it is only a conditional:

if (banda.getField55().containsKey(“5F34″)
&& (!(banda.getElementValue(“5F34″).equals(“4E50″) && BcdLib
.hexStr_ascii(banda.getElementValue(“5F34″))
.equalsIgnoreCase(“NP”)))) {

In the first part of the condition evaluates if some field contains a value (a key). I think it is OK because this first part prevents that the access to that ‘key’ in the second part of the conditional raises a null pointer exception tipical to Java, this is to prevent that the access to an inexistent field throws an error.

Let’s get rid of the first part and stay only with the second part of the conditional:

(!(banda.getElementValue(“5F34″).equals(“4E50″) &&
BcdLib.hexStr_ascii(banda.getElementValue(“5F34″)).equalsIgnoreCase(“NP”)))

I think this always returns true and makes this part of the condition useless. Worst it introduces confussion to the code because the reader believes this code really does something usefull. This part of the condition is a negation, so if it always returns true, the inner part must always return false, let’s see if that happens:

banda.getElementValue(“5F34″).equals(“4E50″) &&
BcdLib.hexStr_ascii(banda.getElementValue(“5F34″)).equalsIgnoreCase(“NP”)

Then for this two part condition to be true, both conditions must be true (it’s an ‘and’ conditional). But here they are evaluating if one single value is equal to two different values at the same time, such condition can’t even happen, so this part of the sentence always return false. This proves the point that this part of the condition is meaningless.

This lead me to think that the original developer has no much idea of the rules he was trying to write into his code. O may be this is an error in the condition which must be an ‘or’ instead of an ‘and’? There is no way of knowing the answer right now.

There are other subtle issues in this code: Why one access the key through a getField55 in the first place, then access the same key through the banda object directly? Also, they are using this magic strings with hex values like 5F34, 4E50 and this NP string, What is the meaning of those values? Well, this is just a small part of a medium system made of spagetti code, so no surprise to me finding this kind of things, may be I start to write about those bits of bad codes or mistakes…

Posted by: Camilo Torres | August 12, 2013

De vuelta al KDE

Comencé con el KDE hace años atrás con Kubuntu. Aunque también probé Gnome, el KDE me gustó más y decidí aprenderlo primero. Luego de todo el rollo de la salida de KDE 4 comencé a utilizar Gnome y LXDE. También probé algunos otros, pero dejé KDE de un lado temporalmente porque ciertamente no estaba listo para se utilizado. Pero luego salió Gnome 3, y bueno, tuve que volver a probar otros escritorios, retornando nuevamente al KDE.

Creo que el sacar apresuradamente el KDE 4 fue un grave error para la comunidad KDE. Lo mismo le puede pasar a Gnome 3, por otras razones, en el caso de KDE 4 el problema fueron las fallas, lo incompleto que estaba y la falta de compatibilidad hacia atrás. En el caso de Gnome 3, probablemente el hecho de que sea una interfaz más como para tablets. Pero eso es otra discusión que no importa, cada quien puede tener su opinión sobre cada escritorio, pero el caso es que no me gustó, prefiero el KDE ahora.

Posted by: Camilo Torres | July 3, 2012

LXDE en imagen

Imagen

Te acuerda de el juego ‘encuentra a javier’ que salía en el periódico?

Posted by: Camilo Torres | July 3, 2012

LXDE por meses

Pues desde que salió gnome 3 me cambié a LXDE y debo decir que no me ha ido nada mal. También tengo gnome 3, pero casi no lo uso, aún no me acostumbro a trabajar con él, no me parece cómodo para saltar de una a otra aplicación o para saltar de uno a otro escritorio.

LXDE resulta sencillo y ligero. Se entra más rápido a la sesión de escritorio, pero lo mejor es que me resulta cómodo y me acostumbré fácilmente a él. Creo que soy muy productivo con LXDE y me parece más sencillo que gnome 3. Bueno, usaré gnome 3 de vez en cuando.

Posted by: Camilo Torres | December 24, 2011

No me gustó Gnome 3, ahora voy con LXDE

Es muy claro que Gnome 3 no me gustó. Intenté usarlo durante una semana, pero a los dos días ya estaba usando LXDE porque lo tenía instalado en la computadora. Esto ocurrió porque necesitaba trabajar y Gnome 3 no me pareció ‘cómodo’. Luego intenté seguir con Gnome 3 pero luego de más de una semana comencé con LXDE y no lo dejé.

Por ahora estoy con LXDE y creo que me quedaré con este escritorio mientras tanto. Usé KDE durante varios años, pero al final las mejoras de KDE 4 eran pocas desde el punto de vista de mi productividad en comparación con las fallas y carencias.

LXDE no se mete en mi camino, es solo un simple escritorio y puedo usar las aplicaciones que yo quiero, de forma independiente. Eso es una ventaja si quiero mover los datos de las aplicaciones de un lado a otro de forma simple. Además que lo ‘siento’ más productivo que Gnome3.

Es extraño el cambio que dio Gnome. No creo que sea agradable de usar en un netbook.

Posted by: Camilo Torres | December 1, 2011

Los comentarios sobre Gnome 3 me causaron un poco de ‘inquietud’.

Gnome 3 ha llegado a Debian Testing. Ya había leído comentarios llenos de emociones a favor o en contra de este nuevo entorno de escritorio, desde que salieron los previews. Lo primero que leí me hizo pensar que no gustaba. Luego busqué información positiva para ver a quienes si les gustaba y noté que hay quienes lo aman.

Esto me causó un poco de inquietud en el sentido de que me puso alerta sobre si este nuevo Gnome 3 me haría más o menos productivo. Recuerdo que cuando salió KDE 4 mucha gente escribió que no les gustaba, pero yo lo probé desde las versiones de desarrollo y debo decir que siempre me gustó. Supongo que este cambio es igual que aquel de KDE 4, algunos no lo quisieron, otros lo amaron.

El Gnome lo probé con un live CD que salió hace un tiempo como preview, y también me gustó. Me pareció que la interfaz mejoró: la metáfora es más simple. Ahora lo estoy usando en producción desde hace dos días y voy a darle unas semanas antes de decidir si me quedo con él, si vuelvo con KDE 4.x o me voy por el super fabuloso y simple LXDE (que lo tengo instalado desde que dejé KDE 4.x). Por ahora lo veo bien.

Dos recomendaciones por ahora:

1. Para pasar a la vista de actividades, sirve pulsar la tecla que tiene el logo de Windows en el teclado.
2. Para poder apagar la computadora, pulsar sobre el nombre de usuario en la esquina superior derecha y luego pulsar la tecla Alt del teclado, mira bien que ahora si apareció la opción de apagar.
3. En la esquina inferior derecha se ocultan los iconos que antes se ponían en el Tray, como el de wi-cd.

Me gusta Epiphany, es suficientemente rápido, bonito y muestra todo (menos flash, por ahora). Voy a dejar, en principio, toda la configuración básica que trajo Gnome 3 en Debian Testing, menos el network-manager que ya lo quité y prefiero wi-cd. Luego de unas semanas escribo a ver que tal siento que me ha ido y si he puesto algún complemento que me haya ayudado.

Older Posts »

Categories

Follow

Get every new post delivered to your Inbox.

Join 27 other followers