RSS

 Seguime por RSS

7 de jul. de 2012

Usar VBR bitrate calidad CD alta MP3 en "Soud Juicer Extractor de sonido de CD" y VBR para MP3 player portatiles con menor tamaño de archivo conservando la calidad

Para que el sound juicer, extraiga de un CD de audio, en formato MP3, con VBR variable, que es lo ideal, dado que da mas bitrate cuando se requiere y menos cuando no, asi no pierde calidad y tampoco abultamos espacio haciendolo todo en 320kbps.

6 de jul. de 2012

Instalar Skype 4 en RHEL6 - CentOS - SL || Install Skype 4 on RHEL6 - CentOS - SL

Skype 4 trajo algunas mejoras, sobre todo graficas y de experiencia de usuario, asi como poder llamar a telefonos fijos.
Pero, el rpm que esta en la web de skype, es para Fedora, y por un problema de glibc, no es posible correrlo.
Entonces, lo vamos a instalar desde Fedora Russian:

Repositorio de Opera para RHEL6 - CentOS - SL || Opera repo for RHEL6 - CentOS - SL

Nuevamente, buscando, como les dije que hagan, encontre que Fedora Russian empaqueta Opera para RHEL6, y que encontré?, Opera 12, si bien esta en la web de Opera, es mas comodo tenerlo con un simple yum update.
Entonces, agregamos el Fedora Russion non-free repo

Instalar remmina con todos los plugin incluso RDP en RHEL6 - CentOS - SL || Install remmina with all plugins, included RDP on RHEL6 - CentOS - SL

Remmina es un cliente grafico para conectarse a host remotos, usando diferentes protocolos, los mas comunes, como VNC, X11, RDP, SSH, etc.
En RHEL6 y clones, no existe en sus repos, si bien puede instalarse usando los rpm de fc12-13, falta el plugin RDP, por problemas de dependencias que no cumple EPEL.

1 de jul. de 2012

Video de un developer de Tizen mostrando Qt4 | Video from a Tizen developer showing Qt4

Hace unos post atrás hablé de Tizen, el que para mi será el sucesor de Android, no digo que sea reemplazado, pero si con mejor performance y 100% libre. Muchos usuarios ya estan esperando la salida del mismo al mercado.

30 de jun. de 2012

Abrir enlaces magnéticos - magnet links en Firefox, Chrome, y otros

Recientemente, the pirate bay, pagina que yo no visito (?), ha pasado el 98% de sus .torrent, a magnet link.
Muchos dirán, "En Windows se abre con solo instalar utorrent, en Linux no".
Bueno, esto no es asi, primero que nada, veamos, que es un magnet link?:

27 de jun. de 2012

Comparacion de navegadores web, uso de RAM y CPU | Tenemos un ganador?

Bueno, resulta que con la salida de Opera 12, que tiene muchas mejoras respecto a html5, me decidi probar las opciones que tenia en mi sistema, es decir:

Google Chrome 20
Firefox 10 ESR
Opera 12
Midori 0.2.8

25 de jun. de 2012

Aplicaciones no responden o inician cuando VirtualBox esta creando un disco, o cuando existen altas cargas de escritura a disco / System unresponsive under heavy disk I/O using VirtualBox or other software

A muchas personas les sucede, yo soy una de ellas, que al tener el disco una escritura "heavy", como al crear un disco de virtualbox de 1GB o 10GB, eso no importa, el sistema no responde hasta que termine de crearlo, o responde por momento, es decir, si dan click en una aplicacion, esta no abre, o si abre, no se cierra, etc.

24 de jun. de 2012

Mejorar el I/O de disco para escrituras pequeñas, mejorar performance y cuidar el disco

Para el que no entendio el titulo del post, en lenguaje común, como para que lo entienda mi "hermana", son unos seteos que reducen el uso de entrada y salida de datos del disco y por consiguiente el uso del mismo, en lectura y escritura de datos pequeños.

Usar RAM para la caché de disco de Firefox y Google Chrome

Habiendo visto como montar /tmp y /var/tmp en RAM, ahora, que ventaja si no podemos usarla mas que para chucherias?, no es asi!.

A muchos no les convendrá esto, por falta de RAM, dado que esto se cargará en ella, pero a muchos si, quienes tengan al menos 1gb de ram, les va a convenir, dado que la RAM es muchisimo mas rapida que un disco, a menos que sea un SSD de los ultimos, y aun asi, una ddr3 en dual channel 1600mhz, le gana.
Bueno, basicamente, le vamos a indicar a Firefox y a Chrome, que en vez del disco, el tradicional path, usen nuestro nuevo /tmp montado en RAM.

Nota: Es excluyente hacer lo de estos post, en el orden dado antes de proceder
1.- http://hackingthesystem4fun.blogspot.com.ar/2012/06/mejorar-el-rendimiento-usando-tmp-como.html
2.- http://hackingthesystem4fun.blogspot.com.ar/2012/06/usar-vartmp-en-memoria-ram.html

Cuando navegan, la caché se escribe en disco, sobre todo Firefox, si abren cosas muy pesadas, como un post de taringa con 500 fotos, van a ver como todo se pone lento, es por la cantidad de información que cachea al disco y no a la RAM, por el contrario, Chrome usa mas la RAM, aun asi, no es 100% RAM. Eso vamos a hacer, luego me cuentan como les fue.

Chrome

Si usan KDE o GNOME2 o GNOME3 o lo que sea, es lo mismo, la orden es la misma.
Por defecto, los lanzadores de Chrome vienen con esta orden:

/opt/google/chrome/google-chrome %U

Bueno, solo debemos cambiar eso, por esto otro:

/opt/google/chrome/google-chrome %U --disk-cache-dir="/tmp/google-chrome/"

Con eso, Chrome iniciará usando la caché de disco en /tmp, que vimos en post anteriores, como montar en RAM, mejorando asi, la velocidad, asi como fiabilidad, es decir, no mas "borras historial", reinician la PC, y no tienen mas cache de porno, por ejemplo, util no?.


Firefox

En Firefox no es mucho mas complicado, solo que mejor lo pongo por pasos, si?.

1.- Abren firefox
2.- Tipean en la barra de direccion donde suelen poner google.com, about:config y le dan enter
3.- Aceptan la advertencia de seguridad
4.- Click derecho sobre el cuerpo de Firefox, el contenido!.
5.- Nueva, cadena, o string si lo usan en inglés
6.- El valor será 'browser.cache.disk.parent_directory' sin las comillas
7.- Cuando le den enter, les pedirá un valor, colocan '/tmp' sin las comillas

Reinician Firefox y listo, la caché de navegacion se guardará en /tmp, que es un directorio montado en RAM.

Por ultimo, para que no se pisen entre Chrome y Firefox, en /tmp, debemos crear un directorio aparte para Chrome, o bien Firefox, yo lo hice con Chrome, como /tmp ahora es RAM, en cada reinicio se borrará lo que hagamos, asi que en /etc/rc.local, colocamos lo siguiente:

mkdir -p -m 700 /tmp/google-chrome/ && chown -R synflag:synflag /tmp/google-chrome/ && chmod -R 700 /tmp/google-chrome/


Reemplacen synflag por su usuario, si?.


Nota Final Importante

Firefox utiliza la cache para descargas de archivos, los guarda como .part y cuando estan listos los mueve al destino que le indicamos con la extension que le corresponde.

Si son de esos que bajan 10 archivos de mediafire al mismo tiempo, de unos 200mb cada uno, la size de /tmp, debería variar, sino van a pasarse, asi que pongan 1 o 2G, la sintaxis, en vez de ser 512m es:


size=1G


Eso es todo

Usar /var/tmp en memoria RAM al igual que /tmp

Ya habiamos visto en este post, como usar /tmp en RAM, para mejorar rendimiento y reducir al acceso a disco.
Ahora vamos a ver como usar /var/tmp como RAM.
La diferencia entre /var/tmp y /tmp en sistemas RHEL, es que /var/tmp contiene datos temporales que son almacenados por 30 días, luego el logrorate los elimina, por tanto, no son tan vitales para ser sinceros.
Esto es mas facil que lo anterior, asi que manos a la obra:

se loguean como root:

# cd /var/
# rm -rf tmp/
# ln -s /tmp /var/tmp
# nano /etc/fstab
y dejan la linea de fstab que habian editado en el otro post, asi:


tmpfs                   /tmp                    tmpfs   size=2G,noexec,nosuid,rw,auto,nouser,sync,relatime,mode=01777       0 0

Salvan y salen

Reinician, y si, /var/tmp no es mas que un symlink a /tmp, donde ahora usan como maximo, no esta reservado aun, 2GB de RAM.

21 de jun. de 2012

Whois IP | Saber la informacion de una IP

Hace algún tiempo habia colocado un script llamado geoip, para desde consola, ver la localizacion de una IP.
Ahora bien, hay otro servicio llamado whois IP, el cual nos da la informacion del bloque de la misma, ISP, etc.
Si bien podria poner todo en el mismo script, un geoip-who, me parece mas ordenado colocarlo de forma separada, ademas, geoip depende de un servicio distinto que whoip, por tanto, si cae uno de los dos, no afectará el script, sumando el hecho, de que por su sintaxis, el geoip es mas inmediato, ademas de lanzar menos informacion en pantalla, esto es conveniente si tenemos gente mirando, como ser, en un trabajo, un bar?, porque no, si miran podrian decir "y ese mirando la informacion tan completa de una IP", se entiende no?.

Bueno, para esto vamos a necesitar 2 cosas.

1.- Un editor de texto, nano, vim, vi, emacs
2.- elinks

Debí usar elinks, porque lynx tiene problemas con el formateo del texto de la web que usé, es la única que no me banea por uso constante, en cambio otras web, me dicen que si requiero muchas peticiones, que pague por mes.

Ahora, vamos al script, es muy sencillo.

1.- Ejecutan como root
nano /usr/local/bin/whoip

2.- Colocan ahi dentro

#!/bin/sh
#Name: whoip
#Author: SynFlag
#Description: Whois ip from terminal
#Licence GPLv3
elinks -dump http://tools.whois.net/whoisbyip/$1|tail -n 95|head -n 55

3.- Salvan  y salen

4.- Ejecutan
chmod +x /usr/local/bin/whoip

Listo, desde cualquier terminal, ponen whoip IP, donde IP es la IP, un ejemplo de una salida normal.


 [user@hostname ~]$ whoip 130.237.188.216
  %
 % The RIPE Database is subject to Terms and Conditions.
 % See http://www.ripe.net/db/support/db-terms-conditions.pdf


 % Note: this output has been filtered.
 %       To receive output for a database update, use the "-B" flag.


 % Information related to '130.237.184.0 - 130.237.191.255'


 inetnum:        130.237.184.0 - 130.237.191.255
 netname:        SUNT
 descr:          Stockholm University
 descr:          SE-106 91 Stockholm
 descr:          SWEDEN
 country:        SE
 admin-c:        SUI3-ripe
 tech-c:         SUI3-ripe
 status:         ASSIGNED PI
 mnt-by:         SUNET-MNT
 descr:          ======================================
 descr:          Abuse issues should be sent
 descr:          to abuse@su.se
 descr:          ======================================
 source:         RIPE # Filtered


 role:            Stockholm University IT
 address:         Stockholm University
 address:         IT services
 address:         SE-106 91 Stockholm
 address:         Sweden
 phone:           +46 8 16 1999
 fax-no:          +46 8 674 73 48
 admin-c:         DS8776-RIPE
 admin-c:         PE1861-RIPE
 tech-c:          DS8776-RIPE
 tech-c:          PE1861-RIPE
 nic-hdl:         SUI3-ripe
 remarks:         ======================================
 remarks:         Abuse issues should be sent
 remarks:         to abuse@su.se
 remarks:         ======================================
 abuse-mailbox:   abuse@su.se
 mnt-by:          sunet-mnt
 source:          RIPE # Filtered


 % Information related to '130.237.0.0/16AS1653'


 route:          130.237.0.0/16
 descr:          KTH-LAN
 origin:         AS1653
 mnt-by:         SUNET-MNT
 source:         RIPE # Filtered


 % This query was served by the RIPE Database Query Service version 1.12.4 (WHOIS2)





Espero que les sirva y les haya gustado


20 de jun. de 2012

bad /dev/cdrom symlink | /dev/cdrom2 | /dev/sr0 | 70-persistent-cd.rules | bad /dev/cdrom2 -> /dev/sr0

En SL6.2, supongo que en CentOS.62 pasará lo mismo, noté que al usar el comando "eject", que expulsa la lectora de CD o DVD, no funcionaba, me decia que no se habia encontrado /dev/cdrom.
Claro, mi dispositivo era /dev/sr0, y dentro de /dev/ habia un symlink llamado cdrom2 que apuntaba a /dev/sr0.

Es decir, cdrom, se llamaba cdrom2. Por mas que recrearamos el symlink con el valor cdrom, borrando el otro, al reiniciar, el mismo problema.

Porque?, porque esto lo controla udev, el cual lee /etc/udev/rules.d/70-persistent-cd.rules y en base a ello, añade el symlink.

El error o bug, es que el contenido del archivo original es este:


# This file was automatically generated by the /lib/udev/write_cd_rules
# program, run by the cd-aliases-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and set the $GENERATED variable.


# DVDRAM_GU10N (pci-0000:00:1f.2-scsi-1:0:0:0)
SUBSYSTEM=="block", ENV{ID_CDROM}=="?*", ENV{ID_PATH}=="pci-0000:00:1f.2-scsi-1:0:0:0", SYMLINK+="cdrom", ENV{GENERATED}="1"
SUBSYSTEM=="block", ENV{ID_CDROM}=="?*", ENV{ID_PATH}=="pci-0000:00:1f.2-scsi-1:0:0:0", SYMLINK+="cdrw", ENV{GENERATED}="1"
SUBSYSTEM=="block", ENV{ID_CDROM}=="?*", ENV{ID_PATH}=="pci-0000:00:1f.2-scsi-1:0:0:0", SYMLINK+="dvd", ENV{GENERATED}="1"
SUBSYSTEM=="block", ENV{ID_CDROM}=="?*", ENV{ID_PATH}=="pci-0000:00:1f.2-scsi-1:0:0:0", SYMLINK+="dvdrw", ENV{GENERATED}="1"


# DVDRAM_GSA-U10N (pci-0000:00:1f.1-scsi-0:0:0:0)
SUBSYSTEM=="block", ENV{ID_CDROM}=="?*", ENV{ID_PATH}=="pci-0000:00:1f.1-scsi-0:0:0:0", SYMLINK+="cdrom1", ENV{GENERATED}="1"
SUBSYSTEM=="block", ENV{ID_CDROM}=="?*", ENV{ID_PATH}=="pci-0000:00:1f.1-scsi-0:0:0:0", SYMLINK+="cdrw1", ENV{GENERATED}="1"
SUBSYSTEM=="block", ENV{ID_CDROM}=="?*", ENV{ID_PATH}=="pci-0000:00:1f.1-scsi-0:0:0:0", SYMLINK+="dvd1", ENV{GENERATED}="1"
SUBSYSTEM=="block", ENV{ID_CDROM}=="?*", ENV{ID_PATH}=="pci-0000:00:1f.1-scsi-0:0:0:0", SYMLINK+="dvdrw1", ENV{GENERATED}="1"


# DVDRAM_GU10N (pci-0000:00:1f.2-scsi-0:0:0:0)
SUBSYSTEM=="block", ENV{ID_CDROM}=="?*", ENV{ID_PATH}=="pci-0000:00:1f.2-scsi-0:0:0:0", SYMLINK+="cdrom2", ENV{GENERATED}="1"
SUBSYSTEM=="block", ENV{ID_CDROM}=="?*", ENV{ID_PATH}=="pci-0000:00:1f.2-scsi-0:0:0:0", SYMLINK+="cdrw2", ENV{GENERATED}="1"
SUBSYSTEM=="block", ENV{ID_CDROM}=="?*", ENV{ID_PATH}=="pci-0000:00:1f.2-scsi-0:0:0:0", SYMLINK+="dvd2", ENV{GENERATED}="1"
SUBSYSTEM=="block", ENV{ID_CDROM}=="?*", ENV{ID_PATH}=="pci-0000:00:1f.2-scsi-0:0:0:0", SYMLINK+="dvdrw2", ENV{GENERATED}="1"



Que sucede con esto, al leer udev, observa que el ultimo existente es cdrom2 y lo crea nuevamente con cada reinicio, por eso se llaman reglas persistentes.

Como es arregla?, facil, solo debemos comentar todas las lineas, es decir, añadir un # delante de cada linea, asi quedaria como "vacio", y crea cdrom como unica y primera unidad al detectarla en el inicio.
Seguro fue un bug de empaquetado, dado que al hacer esto, no sucede nunca mas, bueno, ahora tenemos un bug menos.

19 de jun. de 2012

Mejorar el rendimiento usando /tmp como tmpfs en RAM

Esto no es algo nuevo, pero lo recordé cuando un colega, me comentó que Fuduntu lo trae por defecto, para usar menos el disco, y asi gastar menos energia, dado que es una distro orientada a notebooks.

La idea, es montar el /tmp como tpmfs, es decir, un tipo de sistema de archivos que usa la memoria RAM, y no el disco.

Esto tiene una ventaja y desventaja, ustedes evaluen.

La ventaja, es que los datos temporales que se escriben en /tmp, serán mas rapidos de leer y escribir, dado que será la memoria RAM la que se use, y no el disco.
Asimismo, al reiniciar el sistema, si hubo un error y quedaba algo en /tmp, que puede ocasionar problemas, sera eliminado, porque la memoria RAM es volatil. Por defecto /tmp se limpia cada 7 dias, en este caso, será al reiniciar la PC.

La desventaja, es que si apagan la PC de forma brusca, como sacar el cable, por ej, los datos en /tmp se habrán perdido, aunque, nunca se recomienda usar /tmp como respaldo de nada, por algo es Temporal.

Ademas, para hacer test de cosas, y guardar los resultados, en vez de /tmp ahora deben usar /root u otra carpeta, para mi es una ventaja, aclaro, dado que muchas veces trabajo sobre /tmp para testear bajadas, scripts, etc, asi que si se borra solo su contenido, me hace un favor, sin contar el hecho de que /tmp tiene permisos 777 mientras que /root no.

tmpfs es un kernel page cache, algo de lo que hablamos hace poco, las cache RAM.... drop_caches, asi que de paso puede limpiarse con el mismo comando.

Los pasos son MUY sencillos, solo se loguean como root y editan /etc/fstab, y colocan a lo ultimo esta linea:


tmpfs         /tmp            tmpfs   size=2G,noexec,nosuid,rw,auto,nouser,sync,relatime,mode=01777       0 0

Salvan y salen. Al reiniciar el sistema, tendran acceso a /tmp, pero es la ram. Prueben de poner mount en consola, y veran algo asi:

tmpfs on /tmp type tmpfs (rw,noexec,nosuid,sync,relatime,size=2G,mode=01777)

Ahora, explico un poco esos parametros, de noexec, nosuid y 2G.

size=2G: indica el maximo de tamaño para ese punto de montaje, /tmp que ahora es un tmpfs, si van a probar isos, bajarlas o cosas mas pesadas, pueden poner 4gb, o lo que quieran. No se usarán a menos que sea necesario, asi que... no es que será usado.
Lo normal es poner 512mb, pero para el comun de los usuarios, 128mb esta mas que bien.

noexec: En /tmp no se ejecuta nada, de hecho muchos rootkit usan eso para poder instalarse, y hasta hace poco habia un bug en gnome-terminal donde parte de los datos de ssh iban a parar al /tmp, asi que, con esto le indican que NADA puede ejecutarse en /tmp, como debe ser.

nosuid: Evita que el bit setuid se aplique a algun archivo en /tmp

sync: Como es memoria RAM, aca todo dato que se escribe va a parar a RAM y no a disco directo, especificamos que sea sincronica la escritura/lectura de datos, a diferencia del resto de un sistema Linux, donde los datos son asincronicos, para mejorar la performance de disco. Además, con esto evitamos algunos problemas que se producen en Chrome y Firefox, al usar su caché en /tmp, e intentar refrescar o volcar datos muy rapidamente. Al usar 15 segundos de tiempo para volcado de disco (visitar este post: http://hackingthesystem4fun.blogspot.com.ar/2012/06/reducir-el-io-de-disco-para-escrituras.html), si bien mejoramos performance y usamos menos el disco, tambien debemos tener en cuenta las aplicaciones que requieren y hacen uso de cache, de forma externa al kernel y requieren una respuesta rapida, asi no veremos ningun "Chrome no puede acceder a la cache" o bien paginas mal cargadas, algo frecuente usando 15 segundos y a veces de forma nativa, recordemos que Firefox y Chrome fueron concebidos para Windows, un OS que usa NTFS, un FS sincronico.
Esto es algo que veremos mas adelante aca:

http://hackingthesystem4fun.blogspot.com.ar/2012/06/usar-ram-para-la-cache-de-disco-de.html


0 0: Significa que ni debe ser chequeado por fsck, ni tampoco backupeado.

Eso es todo, reinicien y verán un cambio de velocidad minimo, pero util al fin, unos 3 seg o 2, en GDM, audio, en general, y un incremento en mi caso, de 125 a 128 mb de ram, solo 3mb pero he ganado mucho mas.

El éxito de Linux, el sistema operativo detrás de Android

El creador de Linux, Linus Torvalds, ganó el premio de Tecnología del Milenio, junto a un cheque de US$756.000, de la Academia de Tecnología de Finlandia.


Fue nominado en reconocimiento a haber creado el original sistema operativo Linux y haber seguido decidiendo las modificaciones del kernel o núcleo Linux, el código que permite el trabajo conjunto de software yhardware.

Antes del anuncio del premio, Torvalds fue entrevistado por la BBC
Hoy en día, una variedad de sistemas basados en Linux hacen que funcionen la mayoría de los servidores, cajas de recepción y decodificación de televisores, teléfonos inteligentes, tabletas, routers, computadoras personales y supercomputadoras.
Antes del anuncio del premio, Torvalds fue entrevistado por la BBC.

Entrevista
Cuando anunció el kernel original en Usenet (un sistema de foros en línea) en 1991 ¿qué pensó que pasaría con él?

Mucho del ímpetu para lanzarlo fue simplemente para llamar la atención.
Definitivamente no esperaba que la gente me ayudara con el proyecto, pero sí algunas reacciones e ideas de la gente.

El éxito de Linux se debe en gran parte a su naturaleza de código abierto. ¿Por qué cree que la gente estuvo dispuesta a dar tanto tiempo sin una recompensa financiera?

Creo que la idea de código abierto es que permite a todos ser "egoístas", no tratar de que todos contribuyan a un bien común. No veo el código abierto como algo para mejorar al mundo, sino algo que realmente funciona si todos contribuyen por sus propias razones egoístas. Tampoco se trata de una "recompensa financiera".
Las primeras razones "egoístas" para hacer Linux tendían a centrarse en el placer de juguetear. Por eso lo hice -la programación era mi hobby, mi pasión- y mi propia meta egoísta era aprender a controlar el hardware.
No era el único. En grandes universidades con departamentos de ciencia de la computación había gente interesada en lo mismo.
La mayoría de esa gente no está tan loca como para empezar su propio sistema operativo desde cero, pero hubo quienes encontraron interesante este jugueteo y estaban suficientemente estimulados para comenzar a jugar con el sistema y hacer sugerencias para mejorarlo, o mejorarlo ellos mismos y buscarme.
Los derechos de autor protegían a esa gente. Si te interesan los sistemas operativos y ves este proyecto, no querrás involucrarte si sientes que se van a aprovechar de tus contribuciones, pero con la licencia GPLv2, eso nunca fue un problema.
Se trata de un modelo muy simple de "toma y daca": Te doy mis mejoras si prometes devolver las tuyas. Es una licencia fundamentalmente justa, y no tienes que preocuparte de que alguien saque ventaja de tu trabajo.
Es cierto que muchas compañías estaban recelosas de una licencia desconocida. Pero en verdad, el modelo "toma y daca" no sólo es justo a escala individual, sino de compañía y global.
La cosa es que si la competencia no se esfuerza como uno, no cosechará los mismos frutos: si no contribuyen, no controlarán la dirección del proyecto ni tendrán el mismo conocimiento.

7.800 programadores en 80 países contribuyeron a la más reciente versión del kernel Linux. ¿Si se hace más complejo hay peligro de que sea menos accesible?

El kernel definitivamente se ha hecho más complejo, y hay ciertas áreas en particular con las que un nuevo programador no debería meterse.
La gente se pone muy nerviosa cuando alguien en quien no perciben una sólida trayectoria comienza a enviar parches a un código central -y complejo- como el subsistema VM.
Es mucho más difícil ser programador ahora que hace 15 años. Al mismo tiempo, creo que es bastante fácil entrar a la programación dekernel si uno no busca primero las partes más complejas y centrales. El hecho de que yo estrene un kernel cada tres meses, y que en cada lanzamiento haya unas 1.000 personas involucradas, indica que no nos faltan colaboradores.

¿Qué tan importante es la confianza en un proyecto de código abierto como este?

La confianza es lo más importante. Y es mutua. Ellos también deben confiar en mi imparcialidad.
No siempre estamos de acuerdo, y a veces las discusiones son acaloradas, pero al final puede que ni siquiera simpaticen, siempre que por lo menos puedas confiar en quienes no están tratando de fastidiarte.
Simplemente deseo que la gente confíe en que soy imparcial no sólo porque me han visto mantener el kernel todos estos años, sino porque saben que no tengo ningún incentivo para apoyar a una compañía Linux contra otra.
Ahora trabajo a tiempo completo en Linux y me pagan, pero no fue así hasta que me sentí cómodo con que mi neutralidad fuera obvia, a través de una industria sin fines de lucro que realmente no vende Linux.
Incluso así, nos aseguramos de que mi contrato especifique que mi empleo no significa que la Fundación Linux me diga lo que tengo que hacer.

Linux es popular en muchas áreas de la computación, incluidos los teléfonos inteligentes y los servidores, pero ¿tendrá algún progreso en las computadoras de escritorio?

Para realizarte en un mercado de consumo, necesitas estar preinstalado. Y como ha mostrado Android, Linux realmente puede ser un producto de consumo.
El asunto del "navegador web ubicuo" ha hecho más realista ese juego de consumo, y creo que Chrome de Google va en esa dirección.
Tengo esperanzas. Para mí, Linux en el escritorio es donde empecé, y es literalmente lo que uso hoy en día, aunque obviamente tengo otros dispositivos Linux, incluido un teléfono Android, así que personalmente me gustaría que también se impusiera en ese mercado.
Pero no me quejo del éxito en otros mercados.

Steve Ballmer describió una vez a Linux como un "cáncer", pero últimamente hemos escuchado que Microsoft está sacando su división Skype de las cajas de Linux y ofreciendo una versión basada en Linux de su servicio de nube Azure. ¿Le complace?

Es un alivio que Microsoft hasta cierto punto haya dejado de ver a Linux como el enemigo. Eso del "cáncer" y "antiestadounidense" fue muy bochornoso.

Usted trabaja desde su casa. ¿Qué tan difícil es evitar las distracciones de la vida familiar y enfocarse en conceptos muy abstractos?

Estoy seguro que es muy duro para muchos, pero nunca ha sido un problema para mí.
Siempre me han fascinado las computadoras, al punto que puedo no ser muy social.
Tener una familia no parece haber hecho ninguna diferencia. Me puedo sentar feliz todo el día frente a la computadora, y si los niños me distraen cuando estoy en medio de algo, se escucharán algunas palabrotas.
Es decir, lo que pareciera ser socialmente una falta debilitante de carácter también puede darte ventaja.


Observacion personal

Se que esto no viene al tema, pero leyendo las palabras de Torvalds, me acordé de una calurosa charla acerca de la popularidad de BSD o no, frente a la de Linux. En esa charla se metio el tema de las licencias, sobre que BSD era mejor que GPL, por ser mas permisiva, lo cual permite, por ejemplo a FreeBSD tener ZFS y a Linux no.
Dentro de ese marco, comenté en su momento, que tenia desventajas la licencia BSD, dado que por ejemplo, Apple creo su OSX a partir de FreeBSD, ganando muchisimo dinero y sin retribuir las mejoras en el codigo, cerrandolo luego de Darwin y relicenciando, cosa que permite la licencia BSD.
En ese momento, un colega, comento eso en un foro de FreeBSD, donde le dijeron, que por el contrario, eso era una ventaja, dado que permitia a Apple, por ejemplo, tomar codigo y a su vez retribuir con algo, como ser x.org. Para mi eso son migajas, es decir, teniendo proximamente Wayland, comparar x.org con OSX... es realmente una tomada de pelo y una cargada.
Estoy totalmente de acuerdo con Torvalds sobre que la GPL asegura un toma y daca, y eso motiva a muchos developers, que fue uno de los temas tocados en esa charla calurosa, el tema de que FreeBSD no tenia tanto desarrollo por falta de apoyo de empresas, pero... yo me centré mas en los developer que no son de empresas, como sucede como Linux, los cuales aportan mas que todas las empresas juntas.
Viendolo de ese modo, es cierto, mayormente se programa para Linux, por egoismo, por mejorar el funcionamiento para _tu_ hardware o bien para contribuir, aparecer en los creditos y tener algo de reconocimiento. No digo que todos los developers contribuyan por ese motivo, pero si mas de los que se cree.
Si estuviera tan errado en lo que digo, FreeBSD tendria mejorada su parte de ACPI, por amabilidad de Apple, y no es asi, tampoco por amabilidad de freelancers o amateur, porque?, y a ver... es algo complicado y unico poder suspender, resumir, tener mejor eficiencia energetica en un OS, si alguien puede tomar ese codigo, relicenciarlo y luego cerrarlo, donde quedará mi aporte?, en manos de empresas como Apple, por dar un ejemplo, viendome yo (en caso de que fuera developer), totalmente frustrado, al aportar algo que luego se utiliza para hacer dinero y yo no tengo, ni el dinero, ni el reconocimiento. Recordemos que OSX dice que es UNIX, y tiene la certificacion, no menciona a FreeBSD en ningun lado, lo cual no parece molestarle al equipo de FreeBSD, pero a mi, me molestaria muchisimo.
Un claro ejemplo de ello, son los simples script que publique en este blog, no son cosas complejas y mucho menos se comparan a un kernel, pero supongamos que el dia de mañana, posteo un codigo en C que realiza una tarea excelente o bien que proporciona una mejora notable al kernel Linux, pero.. alguien lo toma, lo incorpora y no ponen el credito, o bien, ponen solo su nombre, rompiendo asi la GPLv2.... no seria agradable.
Creo que la licencia GPLv2, si bien tiene cosas negativas, como no poder usar ZFS, tiene de positivo, que todo el que colabora, estará en los creditos, de aqui a la eternidad que ese codigo se use, aunque se modifique, y que nadie podrá usarlo con fines lucrativos, sin reconocer quien lo creo.
Mas allá de esto que queria comentar, excelente la entrevista de BBC.





18 de jun. de 2012

Limpiar memoria RAM en Linux en solo unos comandos

A diferencia de Windows, donde se debe recurrir a programas para limpiar la RAM, es decir, luego de, 1 dia de un Windows iniciado, notamos que por mas que cerremos todo, la RAM no esta como iniciamos, sino un poco mas abultada.
Generalmente esos programas rompen cosas y provocan perdida de datos, o no funcionan, pero en Linux, si, y excelentemente. Además, no es un programa!, sino una funcion de kernel Linux.

Por defecto, la cache de RAM, la maneja el kernel, y no es necesario tocarla, pero si sos muy obsesivo y paranoico, como yo, te gustará ver la RAM, identica a como iniciaste el sistema, aun despues de haber tenido la PC prendida 1 dia o mas.

A partir del kernel 2.6.16 se introdujo esta caracteristica de la que hablaremos ahora.

La caché RAM, son "cosas" que quedan ahi, por si se necesitan luego, ejemplos de programas que generan que esto se "llene" son:

Chrome
Firefox
VirtualBox
Pidgin
Gimp
Apache

En el directorio /proc/sys/vm/ tenemos un fichero llamado drop_caches, que se encarga de decirle al kernel Linux que hacer con las caches RAM.

A veces, no solo es util en tu PC, sino en servidores, en ocasiones, el uso de java en Apache, consultas, etc, genera que la RAM se llene y no se vacie, si tenemos un pequeño server de 512 de RAM o menos, esto, nos va a salvar tener que reiniciar algun servicio o el server.

Primero que nada, voy a explicar los valores existentes y su definicion.

0: No libera nada, lo controla el kernel (asi viene por defecto al iniciar el sistema)
1: Libera la pagecache
2: Libera inodos y dentries
3: Libera inodos, pagecache y dentries (todo en uno)


Definicion:

pagecache: Memoria caché de la paginación.

dentries: (Directory Entries) Representa la relación de forma estructurada que existe entre directorios-archivos.

inodes: Son nodos índice de archivos y directorios que usa el Sistema de Archivos para administrar las actividades posibles de dichos archivos y directorios guardados en disco o memoria. Contiene la metadata de los archivos y directorios: permisos, tamaño, propietario, última fecha de acceso, creación, modificación, etc.

Ahora bien, hay dos formas de hacer esto, mediante sysctl o mediante un simple echo, la forma politicamente correcta, seria sysctl, la corta y facil, igual de efectiva y no dañina, es echo.

Antes de hacer esto, se recomienda usar el comando sync, para los que no saben, man sync, pero basicamente vuelca al disco todos los cambios que andan rondando en RAM, dado que Linux es un sistema asincrono, en lo que discos respecta, a menos que montemos las particiones de forma sincronica en /etc/fstab, cosa que reduce el rendimiento, sobre todo en Ext4.

Nos logueamos como root y hacemos:

#sync
#echo "0" > /proc/sys/vm/drop_caches
#sync
#echo "1" > /proc/sys/vm/drop_caches
#sync
#echo "2" > /proc/sys/vm/drop_caches
#sync
#echo "3" > /proc/sys/vm/drop_caches

Si leyeron bien, se habrán dado cuenta, que con la 3 hacemos todo, ok?.
La forma correcta, es con:

#sync
#sysctl vm.drop_caches=3

Ahora, si quieren, antes de seguir, hagan la prueba, inicien su PC, miren en htop la RAM consumida y anoten el valor, luego, abran Chrome, Firefox, miren un video en youtube, etc. Cierren todo y miren la RAM, veran un incremento. Ahora, abran un terminal, como root pongan:

#sync
#echo "3" > /proc/sys/vm/drop_caches

Vuelvan a mirar la RAM en htop, cambio no?.

Ahora, simplifiquemos esto, como?, un script, ponerlo en .bashrc me parece un exceso, ademas deberiamos abrir una terminal, lo mismo si lo ponemos en cron, es un exceso, asi que, creamos un script, de la siguiente forma.

Se loguean como root y:

nano /usr/local/bin/freeram (asi le pongo yo, ustedes le ponen como quieren, pepe, luis, liberaram)

y el contenido será:

#!/bin/sh
# Author: SynFLag
# Licence: GNU GPLv3
# Freeram is a script to clean the RAM caches
sync ; echo 3 > /proc/sys/vm/drop_caches ; echo "RAM Liberada"

exit 0

Salvan con ctrl+o y salen con crtl+x, luego, como root nuevamente:

chmod +x /usr/local/bin/freeram

Ahora, desde cualquier terminal, ponen:

$ sudo freeram (dado que necesita permisos de root), y listo, liberan la ram cuando desean o para los que no usan sudo, como yo
$ su -c "freeram"

Esto aplica a cualquier distro Linux con kernel 2.6.16 o superior.

16 de jun. de 2012

Skype 2.2 RPM para SL - RHEL - CentOS y otros

Hace 1 día, se actualizó Skype para Linux, a la version 4 en la web de Skype.
Si bien es un avance, tambien un retroceso, la guia de fedora o alguna otra, para el repo, asi como el RPM de la 2.2 no están mas disponibles.
Pero... que nos importa?, mucho, la version 4 necesita Fedora 16, GCC 4.6 junto a sus librerias, para los que usen una version anterior a F16 o bien algun clon de RHEL, necesitarán seguir usando la 2.2
La única mejora que noté en la version 4, es que se puede realizar llamadas a telefonos fijos y una interfaz mejorada, mas linda, no mucho mas.

Asi que para los que no lo instalaron, el 2.2 y no encuentran el RPM, lo subí para ponerlo a disponibilidad.

https://dl.dropbox.com/u/85827164/skype-2.2.0.35-fedora.i586.rpm

md5sum: c81f39c11c4fab11ff78c21f7c2ec3d5


Saludos

14 de jun. de 2012

Lenovo ThinkPad T400 / T60 backlight brightness CentOS 6.2 - RHEL6.2 - SL6.2 - Fedora

Los que poseen una Lenovo ThinkPad T400 como yo, habrán notado que la tecla de funcion para subir y bajar el brillo funciona, pero el paso es algo tosco, es decir, salta de una cantidad a otra sin un medio, mientras que en Windows, eso no sucede, el paso es suave.

Bien, el control de backlight de gnome 2.28 en RHEL6.2 y clones, tiene como valor maximo 15, y el inferior inmediato es 13, saltandose ese 14 que tanto queremos, al menos yo en mi caso.

La pregunta es, como puedo hacerlo?, facil, si bien pueden cambiarlo desde terminal en cualquier momento, es mejor establecer un valor que nos agrade al ojo y setearlo en /etc/rc.local

Para mi, ese valor fue 14, ni el maximo ni 13, entonces, editamos /etc/rc.local y ponemos

echo "14" > /sys/class/backlight/acpi_video0/brightness

Cada vez que inicie la notebook, tendrá un valor de 14 establecido, dicho valor no puede ser logrado mediante la tecla funcion + subir o bajar brillo.

Si durante la sesion quieren variarlo, abren una terminal, y como root, cambian de valor

# echo "13" > /sys/class/backlight/acpi_video0/brightness
# echo "10" > /sys/class/backlight/acpi_video0/brightness

Y cualquier valor que les se agradable al ojo.
Esto tambien es aplicable a Fedora, siendo /etc/rc.local, el archivo /etc/rc.d/rc.local y teniendo el mismo valor.

Bueno, espero que les sea de utilidad.