Epiphany vs Firefox (1st Round)

Seguramente al ver el titulo de este post, ustedes se preguntarán: ¿Es que existe un navegador que se pueda comparar con Firefox? Si hay algunos de ustedes, mis intrepidos lectores, que pensó exactamente eso, dejenme arrojarle un poco de luz a su fantastica vida firefoxiana.

Una prueba sencilla: lo que hice fue abrir firefox y epiphany, en cada uno de ellos abri 2 pestañas con las mismas paginas, asi en igualdad de condiciones, fresquitos, recien levantados, veamos cuanta memoria consumen:

Las palabras sobran. Y esto es en un estado inicial, despues de unas horas y tras unas cuantas paginas FF ha llegado a adquirir mas de 200Mb de ram… too much.


Epiphany

Obviamente cuanta RAM consumen no define ni establece que uno sea mejor que el otro. Pero definitivamente es un punto a favor de Ephy. El punto fuerte de Firefox son las extensiones. Ephy tambien soporta extensiones, pero no tiene tantas (solo algunas) ni tan variadas como FF, la cuestion es que yo no utilizo ninguna extension en firefox, por lo general, cuando ejecuto un navegador, mi unica intencion es visitar paginas web. Pero si ustedes, mis intrepidos lectores, no pueden vivir sin sus extensiones firefox, entonces quedense donde estan, epiphany no es para ustedes. Sinceramente creo que FF esta engordando demasiado… pero no deja de ser una excelente aplicacion, emblema y abanderada del software libre.

Saludos.

Guia de Estilo Python: Los 12 Mandamientos

Leido en MundoGeek

  1. Los nombres de los módulos deben estar en minúsculas – hola.py
  2. Los nombres de las clases deben usar CamelCase
  3. Los métodos y funciones deben usar minusculas_con_guion_bajo
  4. Los métodos privados para uso interno comienzan con _guion_bajo
  5. Los atributos de clase con __doble_guion_bajo
  6. Las constantes en el primer nivel del código (las que no se encuentran dentro de una función o una clase) deben usar LETRASMAYUSCULAS. Usar demasiadas constantes puede hacer que tu código sea menos reutilizable.
  7. Si una variable en una función o método es tan temporal que no puedes darle un nombre, utiliza i para la primera, j para la segunda, y k para la tercera.
  8. Indenta con cuatro espacios por nivel. Sin tabuladores. Si rompes este mandamiento serás lapidado en la plaza del pueblo.
  9. Las líneas no deberían tener nunca más de 80 caracteres. Divide las líneas usando una barra invertida. No necesitas hacer esto si hay paréntesis, llaves o corchetes.
  10. Espacio después de una coma (huevos, verdes, con, jamon)
  11. Espacio antes y después de un operador i = i + 1
  12. Escribe cadenas de documentación para todos los módulos, funciones, clases y métodos públicos. Python es una comunidad internacional, así que utiliza el inglés para las cadenas de documentación, los nombres de los objetos y los comentarios.

Core Maintainers of GTK+

Un dato interesante, los principales desarrolladores de GTK+:

Name Affiliation
Tim Janik Imendio AB
Matthias Clasen Red Hat
Behdad Esfahbod Red Hat
Federico Mena Quintero Novell
Alexander Larsson Red Hat
Tor Lillqvist Novell
Richard Hult Imendio AB
Kristian Rietveld Imendio AB
Michael Natterer Imendio AB
Emmanuele Bassi Opened Hand

Muchos quizas no lo sepan, pero entre ellos se encuentra uno de los pilares y fundadores del proyecto y fundacion GNOME, estoy hablando del señor Federico Mena Quintero, me quito el sombrero ante su trabajo.
Es bueno saber que esta gente perciba un sueldo por mantener y desarrollar software libre. Yo tambien quiero que alguien me pague por hacer software libre! Como desarrollador freelance no tenemos el control del software que desarrollamos y eso hace que gran parte (todo) de nuestro trabajo nunca vea la luz como software libre u open source.

Saludos.

Linux Mint

En un post anterior les comentaba que despues de casi un mes de usar openSUSE decidi volver a cambiar mi distro, la distro que elegi fue LinuxMint, y tengo que decir que estoy perplejo, nunca me senti tan a gusto con una distribucion. Pero antes, para que no digan que me rendi sin argumentos, les dejo las razones que me obligaron a dejar opensuse:

  • Una de las cosas que me irritaron fue la instalacion de software por medio de Yast2. No creo que RPM resuelva correctamente las dependencias, en algunos casos, durante la instalacion de algunos paquetes descargaba otros que no estaban relacionados de ninguna manera con el software que estaba siendo instalado. Y cada vez que abris yast2 –install el programejo actualiza todos los repositorios, y este es un proceso condenadamente lento.
  • Banshee es un buen reproductor de musica y viene in-the-box con opensuse, pero algo que le falta a banshee es poder re-ordenar los items de la playlist, que clase de reproductor no te deja ordenar los temas de la lista de reproduccion. Mi reproductor favorito es BMPX, y no pude instalarlo en opensuse, ni desde los repositorios ni desde el codigo fuente, me baje como 700 librerias y aun asi no lograba compilarlo. Fue realmente frustrante, no tener bmpx es algo que me dolio, necesito estar comodo con mi reproductor de musica, la escucho mientras trabajo. Ademas banshee me consume demasiada capacidad de procesamiento, bmpx pasa desapercibido, hace lo suyo sin restarle poder de procesamiento (lo necesito para lo que estoy developeando) a mi host. Mas adelante quizas escriba un post mas detallado sobre banshee vs bmpx.
  • Skype no va ni para atras. Lo instala sin problemas eso si. Pero era insufrible, inentendible, cuando en los otros programas la captura de sonido era perfecta, en skype era como estar hablando dentro de un lavarropas con un mapache mientras te caias por una cascada. H O R R I B L E. Este es un punto fuerte, necesito skype para el trabajo, y no pienso levantar una VM con windows solo para usar el skype, eso es inconcebible.
  • Lo otro y lo peor, es que tenia constantes congelamientos y overloads en la carga de la cpu, se me freezaba todo, y el procesador al 100% all the time, la temperatura se me iva a valores altisimos (93°C). No se si fue culpa de la version de firefox, del flash player o de opensuse, solo puedo decir que esto no pasaba en ubuntu, y no me pasa ahora con LinuxMint.

Asi que aqui estamos, anoche a las 2:30 de la madrugada decidi migrar mi opensuse a Mint, en cosa menos de media hora lo tenia instalado, instale desde los repositorios bmpx (soy feliz de nuevo), instale el vmware-player sin ningun problema (otra cosa que se me habia complicado un poco en opensuse), intale el build-essential package y el skype, apenas inicie session el sistema me sugirio instalar el driver para la placa grafica nvidia que tengo, lo hizo todo automatico, reboot y excelent. Todo andando en menos de hora y media. Y lo mejor de todo, tengo el maldito cubo que da vueltas, y sin siquiera repercutir en la carga del procesador. En opensuse por mas que activabas las opciones de efectos de escritorio nunca me funcionaron. Aqui les dejo una screenshot de mi nuevo entorno de trabajo. Hasta la proxima.

Linux Mint Elyssa

Be Linux

Este es uno de los mejores videos que vi para promocionar Linux. Al mirarlo no pude evitar pensar que Linux es como la Matrix de los hackers y programadores (valga la redundancia), es el sistema operativo donde podes hacer lo que queres, es su patio de juegos.

21 dias de RPM

Cuando empece a utilizar Linux, no sabia por cual decidirme, probe cuanta distro pululaba en el ambiente en ese entonces (10 años atras aprox), me llevo casi 2 años tener una distro estable en mi PC, fue asi que use durante casi 5 años Slackware, escale desde la version 7 hasta la 11, cuando atraido por toda la pompa de Ubuntu, me cambie a la distro de Canonical y fue una experiencia buena, le debo todo lo aprendido a Slackware, y Ubuntu fue como abrir la puerta y dejar que entre el aire fresco, la “nueva onda”, ya no tenia que descargar los sources y compilar el software (aunque extraño esos dias), la deteccion del hardware era perfecta, ya no tenia que compilar kernels con modulos modificados para que mi placa de sonido puediera hacer “bips”.

Usar Ubuntu es como programar en Visual Studio ™, te oculta el trasfondo, no necesitas saber de compiladores, linkers, parsers para programar en visual studio, tampoco necesitas saber nada de linux para usar Ubuntu, esto es bueno para la gente a la que no le interesa lo que pasa debajo del capo. Use Ubuntu casi 2 años, ocupado con mi trabajo ya no tenia tiempo para jugar con mi sistema operativo, y esa sensacion de estar volviendome menos coder me empujo al cambio. Asi que hace 21 dias, deje Ubuntu.

Y no pude elegir peor, despues de 10 años de evitar los RPM a toda costa, me senti tentado, mas bien me senti benevolente y me instale openSUSE 11 RC. Mis amigos dejaron de hablarme, incluso miraban para otro lado cuando me veian… incluso algunos me recomendaban pasarme a Fedora… el sistema de la casa que creo los RPM…

21 dias. No gracias, vuelvo a .deb, pero no a ubuntu, necesito un cambio, algo completamente nuevo, fuera de la linea de esas distros que llevan 10 años en el mercado. Ya les voy a contar cual fue mi eleccion, por el momento estoy descargando el ISO, lo unico que les puedo decir es que esta basado en debian, gnome desktop y tiene sabor a menta. :)

Salutes.

Software Developer Salaries

DevTopics.com

A continuacion pueden ver los salarios anuales (desde junio 2008) para desarrolladores de software de los lenguajes de programacion mas populares y las tecnologias relacionadas como LAMP, Ajax y ASP.Net. Esta informacion fue extraida de cerca de 50 millones de busquedas laborales de los ultimos 12 meses.

Si son personas sensibles y se deprimen facilmente, no vean el siguiente cuadro.

Language Developer Salary Senior Developer Junior Developer
C++ $85K $90K $52K
Python $84K
C# $81K $91K $57K
C $80K $88K
UI $79K $91K
Java $79K $84K $54K
LAMP $75K $78K $44K
Ajax $78K
Cobol $77K $77K
SQL $76K $79K $66K
Perl $76K $75K
Ruby $75K
JavaScript $74K
Delphi $73K $80K
VB.NET $71K $83K $52K
ColdFusion $70K $81K $44K
ASP.NET $68K $82K $55K
PHP $64K $73K $44K

Bless Hex Editor

Bless es un editor hexadecimal escrito en C# que corre con Mono. Lamentablemente no encontre ningun paquete RPM para mi recien instalado openSuse 11 RC. Asi que para poder probarlo nos bajamos el codigo de la web de Bless.

El proceso de compilacion de Bless, es el clasico ./configure && make, en este caso el codigo del ultimo release estable de Bless (0.5.2) no va a compilar en nuestro sistema. Arroja un error de ambiguedad acerca de una clase llamada Action, el compilador no sabe si se refieren a System.Action o a Gtk.Action, este error esta en el codigo de todos los plugins de Bless, lo unico que vamos a tener que hacer es editar el codigo de los plugins y reemplazar Action por Gtk.Action. Despues de esa sencilla modificacion el codigo compila correctamente, no sin advertirnos sobre deprecated code. Una vez compilado, se crea una carpeta bin dentro de la carpeta de compilacion que contiene el mono assembly (bless.exe), lo ejecutamos con mono bless.exe para correrlo sin instalarlo en nuestro sistema.

Para instalarlo en el sistema, basta ejecutar con el usuario root el comando make install dentro del directorio donde compilamos bless.

Side Project: Lime

A couple of days ago I started a side project, a little project that helps me to get my mind out of the work stuff. Although I work as a programmer, these personal side projects don’t have the “scheduled in time” stressing thing, it’s all coding for fun. :) you get the idea.

I like to hear music when I work, as my linux desktop is gnome then the natural choice here is Banshee, an excellent media playback system. However, it consumes a significant percentage of my system resources. For that reason, and for the “coding for fun” one, I decided to do a simple mp3/ogg player. (the secret reason here, it’s that I always wanted to take a look at the gstreamer code).

I took the monodevelop tool, and make this prototype of the interface, strongly based on the Banshee mini-mode.

Ah! Almost forget, the name chosen for this side project is “lime” ==LIght MEdia player.

Beagle – gnome search tool

Beagle is a tool that search through your personal information space to find whatever you’re looking for. Technically is a service that indexes data in real-time, from your emails, IM conversations, web pages, and all kind of files. When you search using Beagle, you search all of the text and metadata contained inside your documents. Any information that can be extracted from your data is available to you.

Today Beagle is gaining momentum in Linux desktop applications,see here the full list of apps using Beagle.

Now that you know about Beagle, let me introduce this post from Debajyoti Bera that explains what needs to be done for making this tool really great!

I my opinion, what Beagle needs to do, is index also the file system, this way we can use the tool for doing the primary thing (search files for name) and also search file for content or types. So, i will put some code on my words, and will work on a Filter for indexing the files on the system. :)

Regards.

Newer entries » · « Older entries