# apt-get install anarchism

# echo -n 3 > /sys/power/state

  • Categorías

  • Follow me at identi.ca

  • No to corporate advertising

  • solar.org.ar

    La lista solar-general es un canal de comunicación de SoLAr por el libre intercambio de ideas de todos los interesados en el movimiento de software libre. Debido a su libre suscripción y publicación, y dado que no existe ningún tipo de moderación previa ni posterior, es un excelente lugar para compartir opiniones, elaborar políticas y prácticas por el Software Libre en Argentina y el mundo.
    Te invitamos a subscribirte enviando un mail a solar.general@librelist.com
  • Email Subscription

    Si quieres recibir notificaciones de este blog, escribe tu email

  • Subscribir

Archivo de Enero 2009

Buscar cadenas de texto (y remplazar) en GNU/Linux

Publicado por vando en Enero 28, 2009

Si bien no existe un comando directo en GNU/Linux para buscar cadenas, se puede hacer mediante la conjunción de tres comandos, poniendo en el intérprete de comandos la siguiente instrucción:
find "ruta" -type f | xargs grep "cadena a buscar"

Con find (y la opción usada) se buscan archivos en el directorio especificado (usar . para el directorio actual), el comando xargs combina cada elemento con el comando especificado y grep busca patrones en el archivo.

Tambień en varias ocasiones tendremos la necesidad de buscar una cadena de texto y suplirla por otra en n cantidad de archivos, para lograr esto de manera sencilla:

for arg in `find <ruta del directorio de los archivos> -type f`; do perl -pi -e 's/<texto a buscar>/<texto nuevo>/g' $arg; done;

un ejemplo:

for arg in `find /etc/apache2 -type f`; do perl -pi -e 's/90.0.0.20/192.168.1.60/g' $arg; done;

[Fuente: LinuxData y CómoCarajos.]

Publicado en Ayuda | Etiquetado: , , , , , , , , | 2 Comentarios »

Cómo cuidar la bateríaa de tu ordenador portátil

Publicado por vando en Enero 26, 2009

Hoy me ha llegado a casa la última compra que hice por internet: una nueva batería para mi lap-top. La razón es que me salió defectuosa la que venía de serie, o la cuidé mal (cosa que dudo). Y resistí lo que pude, hasta que la autonomía de mi ordenador portátil descendió hasta los 10 minutos. Por ello he investigado por la red, para encontrar algunas pautas y consejos y evitar que vuelva a sucederme lo mismo con mi nueva batería. Seguro que algunos de los items os sorprenden, por lo menos a mi me ocurrió. Espero que os venga bien esta pequeña lista.

Antes de nada advertir que estas pautas han de seguirse únicamente con baterías de tipo ion-litio (Li-ion) –las que traen todos los portátiles en la actualidad– puesto que otras baterías, como las de Niquel-Cadmio (Ni-Cd) o Niquel-Hidruro (Ni-MH), deben recibir un tratamiento diferente.

Sin más dilación, ahí van los consejillos:

  • Evitar los ciclos completos de carga-descarga frecuentes: Pese a lo que muchos pudieramos pensar, los ciclos de carga y descarga completa son dañinos para las baterías de nuestros portátiles (basadas en Li-ion). Antiguamente esto se aconsejaba porque se utilizaban baterías basadas en Niquel, que tenían un llamado efecto memoria al que le venían bien estos ciclos, pero en la actualidad ya no tiene sentido hacerlos de manera frecuente. Existe una excepción: aunque no es nada aconsejable abusar de los mencionados ciclos, si que viene bien descargar completamente la batería y volverla a cargar al 100% de vez en cuando (sobre todo si hace tiempo que no la usas), para que los medidores internos de carga se ajusten correctamente.
  • Si no vas a usarla durante algún tiempo, guardarla en un lugar fresco (nunca en lugares que puedan llegar a altas temperaturas o estar expuestos al Sol, como un coche). Además sería conveniente guardarla con cierta carga (entre el 40 y 60% es lo ideal). Es muy importante no mantener la batería descargada completamente durante un periodo largo de tiempo, pues podría dejar de funcionar.
  • No es perjudicial usar el portátil conectado a la red eléctrica al tiempo que tenemos la batería insertada en el mismo. Además así podremos contar con un pequeño equipo SAI que salvará nuestro trabajo de posibles cortes de luz. Sin embargo, del mismo modo que en el punto anterior se menciona lo malo que resulta guardar la batería descargada completamente, es totalmente desaconsejable (resulta muy perjudicial) mantener la carga de la batería al 100% siempre. Por lo tanto, aunque no sea malo utilizar el portátil enchufado y con la batería puesta, deberemos evitar hacerlo durante largos periodos de tiempo.

Estos tres consejos  os vendrán muy bien, estoy seguro.

Para aprender más sobre las baterías: BatteryUniversity.

[Fuente: YakiBoo.]

Publicado en Recomendaciones | Etiquetado: , , , , | Deja un Comentario »

Cómo crear un buscador para la barra de Iceweasel

Publicado por vando en Enero 24, 2009

Que Iceweasel tenga una barra de buscador al costado de la barra de url es genial. Nos ahorra muchísimo tiempo a la hora de buscar X elemento o contenido. Por desgracia, viene con algunos pocos buscadores y en el caso de Google es sólo .com y no .com.ar (como quisiera yo) o .com.mx o .es, etc., según lo quiera la persona.
Hay dos soluciones posibles: la primera es con un plugin y la segunda -en caso de fallar la primera- es tocando un poco algunos archivos.

En el primer caso, vamos a Firefox Add-ons e instalamos el plugin Add to search bar. Entramos al sitio donde queremos agregar el buscador y, una vez allí, hacemos click en el icono de los buscadores y al final se desplegará la opción para agregar dicho buscador.

Ahora, esto no funciona en la mayoría de los casos. Entonces la única opción es crear un buscador nuevo.
Pero primero, una aclarión: si nuestra computadora la usamos sólo nosotros, entonces da lo mismo donde crees el nuevo buscador; pero si es usada por varias personas -con diferentes usuarios, se entiende- entonces lo mejor será situar los buscadores en nuestro directorio personal. Por consiguiente, hay dos directorios a elegir dónde irán los archivos:

/usr/lib/iceweasel/searchplugins (todos los usuarios visualizan los buscadores creados)

o

/home/$(whoami)/.mozilla/firefox/is0s3gm3.default/searchplugins (para un solo usuario)

Personalmente, a la hora de crear nuevos buscadores, prefieros ponerlo en la segunda opción que, si bien es cierto que mi portatil la uso yo solamente, me es más cómo tener los archivos en el /home/$(whoami) que puedo editarlos sencillo y no por fuera donde tengo que entrar como root.
Así, lo mejor, es eliminar el viejo buscador de la barra y luego copiar el archivo -por ejemplo- google.xml en nuestro directorio:

cp  /usr/lib/iceweasel/searchplugins/google.xml /home/$(whoami)/.mozilla/firefox/is0s3gm3.default/searchplugins/

y cambiarle el nombre por alguno que querramos y nos sea útil.
(La guía fue hecha con el ejemplo del sitio Boardgame Geek.)

Abrimos el archivo con cualquier editor (personalmente, si va a ser en consola prefiero nano o si será usando las X11, entonces bluefish) y se verá esto:

<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/">
<ShortName>Google</ShortName>
<Description>Google Search</Description>
<InputEncoding>UTF-8</InputEncoding>
<Image width="16" height="16">data:image/x-icon;base64,[cadena de caracteres muy larga]</Image>
<Url type="application/x-suggestions+json" method="GET" template="http://suggestqueries.google.com/complete/search?output=firefox&client=firefox&qu={searchTerms}"/>
<Url type="text/html" method="GET" template="http://www.google.com/search">
<Param name="q" value="{searchTerms}"/>
<Param name="ie" value="utf-8"/>
<Param name="oe" value="utf-8"/>
<Param name="aq" value="t"/>
<!-- Dynamic parameters -->
<Param name="rls" value="{moz:distributionID}:{moz:locale}:{moz:official}"/>
<MozParam name="client" condition="defaultEngine" trueValue="firefox-a" falseValue="firefox"/>
</Url>
<SearchForm>http://www.google.com/firefox</SearchForm>
</SearchPlugin>

Empezamos editando lo que esta entre el tag <ShortName> que es el nombre que se muestra en el buscador y en <Description>.
Como la gran mayoría de los sitios no ofrecen sugerencias mientras escribes, borra esta línea:

<Url type="application/x-suggestions+json" method="GET" template="http://suggestqueries.google.com/complete/search?output=firefox&client=iceweasel&hl={moz:locale}&q={searchTerms}"/>

Y ahora viene el asunto difícil.

<Url type="text/html" method="GET" template="http://www.google.com/search">

Primero, hay dos métodos, “GET” y “POST”. Para averiguar cuál usa, hacemos una búsqueda de prueba. Si en la barra de direcciones del navegador aparece luego algo como http://dirección (sin ningún “?”) sería metódo POST, y si aparece algo como http://dirección?propiedad1=valor1&propiedad2=valor2… sería el método GET.
También podemos mirar el código fuente de la página que contiene la caja de búsqueday buscar algo como <form … method=”GET“… (asegúrate de que es el correcto mirando si el texto cercano a la caja de búsqueda aparece también cerca de aquí. En este caso es fácil, está justo después de “SEARCH”)
Ahora ponemos en method “GET” o “POST” y sustituimos template=”http://www.google.com/search” por template=”http://dirección” (si usa el método POST la dirección que sale al buscar, si usa el método GET la dirección que sale, pero sólo hasta la “?”, sin incluirla).
También puedes buscar en el código fuente si pone en <form… action=”http://dirección”. Si no pone http, pero sí algo como action=”/metasearch.php”, sustituye todo lo que esté tras la última barra “/” de la dirección por lo que aparezca en action, por ejemplo, si es action=”/metasearch.php” y estás en “http://www.boardgamegeek.com/profile.php?action=viewmine“, la dirección será http://www.boardgamegeek.com/ profile.php?action=viewminemetasearch.php = http://www.boardgamegeek.com/metasearch.php

<Param name="q" value="{searchTerms}"/>
<Param name="ie" value="utf-8"/>
<Param name="oe" value="utf-8"/>
<Param name="aq" value="t"/>

Hacer una búsqueda de prueba (sólo método GET):
Si usa el método GET, simplemente busca algo, y mira en la barra de direcciones los pares atributo=valor que necesitas (separados por &), por ejemplo:

http://www.boardgamegeek.com/metasearch.php ?searchtype=game&search=arkham&B1=Go

http://www.boardgamegeek.com/metasearch.php es la dirección que tenemos que poner en template en el paso anterior, y hay tres pares: searchtype=game, search=arkham y B1=Go. Uno de estos pares contiene lo que hemos buscado (en este caso he buscado “arkham”), y los otros tienen valor fijo. Sustituimos lo que hemos buscado por “{searchTerms}“, de forma que nos quedan los pares searchtype=game, search={searchTerms} y B1=Go. Ahora, tenemos que poner una linea por cada par, de este modo:

<Param name="(nombre atributo)" value="(valor del atributo)"/>

en nuestro caso:

<Param name="searchtype" value="game"/>
<Param name="search" value="{searchTerms} "/>
<Param name="B1" value="Go"/>

(da igual el orden) y borramos el resto de las líneas que empiecen por “<Param” en caso de que haya alguna de más.

Mirar el código fuente (sirve para método GET y POST):
Si usa el método POST, es lo mismo, pero los pares atributo=valor no aparecen en la barra de direcciones al hacer la búsqueda. No hay más remedio que ir al código de la página que contiene la barra de búsqueda y buscar entre las etiquetas “<form>” y “</form>” las etiquetas “<input” y <option, y anotar su nombre (name=…) y valor (value=…) recordando sustituir el valor de la que contiene los campos de búsqueda por “{searchTerms}” (normalmente será de tipo texto, y pondrá type=’text’). Solo para que no os asusteis, en nuestro caso:

<form method="GET" action="/metasearch.php" style='padding:0; margin:0;'>
...
<select name='searchtype' style='font-size:12px;'>
<option value='game' SELECTED>Games</option>

<option value='designer' >Designers</option>
<option value='publisher' >Publishers</option>
<option value='forum' >Forums</option>
<option value='geeklist' >GeekLists</option>
<option value='tag' >Tags</option>
<option value='wiki' >Wiki</option>
<option value='user' >Users</option>
</select>
</td>
<td valign='middle'><input size=25 type="text" name="search" style='border: 1px solid #B0B0B0; padding:2px; font-size:12px;'></td>

<td valign='middle'><input type='submit' name='B1' value='Go' style='font-size:12px;'></td>
...
</form>

Donde pone select es una lista desplegable. Name es el nombre del atributo, y para el valor, buscamos entre las opciones y anotamos el “value” que nos interesa. En este caso queremos buscar entre los juegos (games)

<option value='game' SELECTED>Games</option>

por lo que el par será searchtype (lo pone en name dentro de select) = game (lo pone en value dentro del option que nos interesa).

<input size=25 type="text" name="search"

Esta es la barra de busqueda. Como veis, se llama “search“, así que el par es search={searchTerms}.

input type='submit' name='B1' value='Go'

Este es el botón, creo que no es necesario, pero bueno, tiene value, así que el par es B1=Go.
Igual que en el sistema anterior, escribimos en el xml tantas líneas

<Param name="(nombre atributo)" value="(valor del atributo)"/>

como pares tengamos (el orden no importa) y borramos el resto de las líneas que comiencen por <Param.

Volviendo a nuestro xml, borramos la siguiente línea que funciona solamente en Google:

<!-- Dynamic parameters -->
<Param name="rls" value="{moz:distributionID}:{moz:locale}:{moz:official}"/>
<MozParam name="client" condition="defaultEngine" trueValue="iceweasel-a" falseValue="iceweasel"/>

Y por último, aquí se pone la página web de la búsqueda por si la prefieres en lugar de la barra. Yo he ido a la búsqueda avanzada en board game geek y he copiado la dirección que aparece en la barra de direcciones para sustituirla por esta:

<SearchForm>http://www.google.com.ar/</SearchForm>

Entonces así nos ha quedado el xml:

<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/">
<ShortName>BGG</ShortName>
<Description>BoardGame Geek</Description>
<InputEncoding>UTF-8</InputEncoding>
<Image width="16" height="16">data:image/x-icon,[cadena larga de caracteres]</Image>
<Url type="text/html" method="GET" template="http://www.boardgamegeek.com/metasearch.php">
<Param name="search" value="{searchTerms}"/>
<Param name="searchtype" value="game"/>
<Param name="B1" value="go"/>

</Url>
<SearchForm>http://www.boardgamegeek.com/searchform.php3</SearchForm>
</SearchPlugin>

Queda cambiar el icono que aparece en la barra. Para ello, ve a la línea que dice:

<Image width="16" height="16">data:image/x-icon;base64,[cadena de caracteres muy larga]</Image>

Si no la tienes, cópiala y pégala allí (después de <SearchPlugin> y antes de </SearchPlugin>, no se te ocurra pegarla al final). La cadena de caracteres es una imagen escrita en modo texto. Tenemos que sustituirla por la cadena que corresponde a nuestra imagen.
Obviamente, primero necesitamos una imagen. Para ello:

  • La página del buscador tiene un iconito:

    Buscamos entonces la dirección del icono. Abre el código fuente de una página que muestre el icono y busca algo como:

    <LINK rel="icon" href="/favicon.ico" type="image/ico" />

    Si href no tiene una dirección completa (no empieza por http), necesitamos crear una dirección completa. Para ello sustituye todo lo que esté tras la última barra “/” de la dirección de la página de la cual estás mirando el código fuente por lo que aparezca en href, por ejemplo, si es href=”/favicon.ico” y estás en “http://www.boardgamegeek.com/profile.php?action=viewmine”, la dirección será http://www.boardgamegeek.com/profile.php?action=viewminefavicon.ico = http://www.boardgamegeek.com/favicon.ico. Si la dirección no tiene una barra “/” (aparte de las que siguen a http) simplemente añade lo que pone en href al final. http://www.boardgamegeek.com se convertirá en http://www.boardgamegeek.com/favicon.ico.
    Ahora copia la dirección completa y ábrela en el navegador. Te debería aparecer un icono. Guárdalo en tu ordenador.

  • La página del buscador no tiene un iconito:

    Bueno, mala suerte. Necesitamos una imagen que represente a la página.
    Si tiene una imagen a propósito (algo representativo y no muy grande), dale a botón derecho y selecciona guardar imagen.
    Si no tiene una imagen a propósito, tendremos que crearnos una. Para ello, le damos al botón del teclado Impr Pant (Imprimir Pantalla) con la página abierta, abrimos el paint o similar, y le damos a pegar (si te pregunta que si quieres que crezca la imagen, dile que sí). Ahora selecciona una parte más o menos cuadrada (por ejemplo un logo o la inicial en el título) y copiala. Abre una imagen nueva y pega la selección que hemos hecho (si sobra fondo, en paint por lo menos puedes poner un tamaño de imagen muy pequeño, incluso de 1 pixel por 1 pixel y al pegar te crecerá lo justo, en otros programas te puede abrir incluso una nueva imagen con lo que tengas en el portapapeles y el tamaño adecuado). Guarda la imagen como jpg (si tiene muchos colores), gif o png.
    Una vez tengamos una imagen, tenemos que convertirla en un iconito. Hay páginas en internet como http://www.htmlkit.com/services/favicon/ que te permiten hacerlo. Dale a examinar, selecciona tu imagen y dale a generar.

Cuando ya tengamos el iconito, tenemos que generar la cadena de texto que le corresponda. Para ello vamos a  http://software.hixie.ch/utilities/cgi/data/data (la mencionaban en la ayuda de Firefox, si no funciona, busca algo como “image to base64“). En “upload a file” buscamos nuestra imagen y luego le damos a generar. Dará como resultado un enlace, cópialo (el texto y el contenido del enlace son idénticos). Si en lugar de eso sale una cadena de caracteres rara, copia la dirección de la barra de direcciones del navegador. Lo que necesitas empezará con algo como “data:text/plain” o “data:image/x-icon;base64” o algo similar…
Volvemos a nuestra linea en el fichero xml de descripción del buscador

<Image width="16" height="16">data:image/x-icon;base64,[cadena de caracteres muy larga]</Image>

Tenemos que sustituir todo lo que está entre <Image width=”16″ height=”16″> y </Image> por lo que hemos copiado ahora.

Queda guardar los cambios, reiniciar Iceweasel y ver los nuevos cambios. ;)

(La guía original fue publicadad en No pienso arreglar tu ordenador -creación del archivo xml, cambiar el icono en la barra- y tiene algunas modificaciones propias para este blog.)

Publicado en Tutorial | Etiquetado: , , , , , | Deja un Comentario »

Reducir tiempo de carga en OpenOffice3

Publicado por vando en Enero 22, 2009


OpenOffice es una de las suites ofimática más completa del ámbito Open Source. Pero muchas veces puede que tarde en iniciar. Para ello editamos algunos items y tendremos una carga mucho más rápida. (En mi caso, con una Intel Dual-Core con 1GB RAM, carga más rápido que Abiword.)

Abrimos alguna aplicación de OpenOffice y, en la bara de menú, vamos a:

Herramientas —> Opciones

y nos desplazamos a “Memoria de trabajo” para completar las siguientes datos: Cantidad de pasos: 50, en “Caché de la imagen” para Usar para OpenOffice.org: 100, Memoria por objeto: 2 (también puede ir 1), y en Cantidad de objetos: 20.
Por último, cerramos OpenOffice y, la próxima vez que lo ejecutemos, vamos a notar la diferencia.

Publicado en Tutorial | Etiquetado: , , , | Deja un Comentario »

Creación de banners con GIMP

Publicado por vando en Enero 18, 2009

En seis sencillos pasos se puede hacer un bonito banner de 80×15 pixeles.

  • Lo primero es ejecutar GIMP e ir a:

    Archivo —> Nuevo

    para crear un nuevo documento con las propiedades de Anchura en 78 y Altura en 13 pixeles. (Más adelante se explica por qué estas medidas.) Yo elijo trabajar con un zoom del 400% porque tengo mayor control del diseño.

  • Color de fondo: con la Herramienta de relleno pintar la imagen nueva.

  • Borde: desde el menú en la ventana de la imagen ir a:

    Filtros —> Decorador —> Añadir bordes

    y modificar las propiedades a Tamaño X del borde en 1px, Tamaño Y del borde en 1px y, por último, Valor delta en el color definirlo en 1. (Cuando añadimos el borde, se suman dos pixeles más al lienzo: uno que copia el color de fondo y otro que hace el borde, por eso al crear la imagen nueva se la definió en 78×13 para ahora quedar en 80×15 que es el tamaño por defecto de los banners en general.)

  • Caja que va a contener el texto: Arrastrando el puntero desde las reglas a la izquiera y arriba del dibujo, para posicionar las guías; en posición vertical: en los pixeles 26 y 78 y, en posición horizontal: en los pixeles 2 y 13.

Crear una capa nueva con el nombre “caja” y en Tipo de relleno de la capa elegir Transparencia. Usar la Herramienta de selección de rectángulos para hacer una caja dentro de las guías.

Por último, elegir un color de relleno e ir al menú superior:

Editar —> Rellenar con el color de frente

y eliminamos la selección con

Seleccionar —> Nada

(Para borrar las guías basta con arrastrarlas fuera del lienzo.)

  • Texto: ubicar en el lienzo las nuevas guías, en forma vertical una en el pixel 30 y en la posición horizontal una en el 5 y otra en el 10.

Con Herramienta de texto creamos el texto dentro del banner. Para ello debemos utilizar la fuente Silkscreen (http://www.dafont.com/silkscreen.font) y, una vez seleccionada la herramienta, definir dicha fuente en Tipografía, con un Tamaño de 9 px, marcar las opciones Higting, Forzar el “auto-hinting” y desmarcar Alisado. Centramos el texto en dentro de las guías.

  • Por último, agregamos una imagen para hacer más atractivo el banner.
Podemos apreciar el resultado final:

Publicado en Tutorial | Etiquetado: , , | 2 Comentarios »

Stickers Libres

Publicado por vando en Enero 18, 2009

¿No te basta con ser un orgulloso de tu GNU que además quieres que todos lo sepan? ¡Entonces estos adhesivos son para vos!
Desde el sitio de Free Software Sticker Book puedes descargar una enorme recopilación de los mismos. Y una vez que tengas los archivos, las instrucciones son faciles:

Primero, remueve los stickers de software privativo de tu máquina. Segundo, imprime una página del libro en papel fotogŕafico adhesivo. Tercero, con unas tijeras recorta el sticker. Cuarto, adhiere el sticker a tu ordenador.

Publicado en Recomendaciones | Etiquetado: , , , , , , , , | 1 comentario

ScribeFire: una extensión ideal para nuestros blogs

Publicado por vando en Enero 17, 2009

ScribeFire es una de esas fantásticas extensiones que hacen que queramos más a nuestro Iceweasel / IceCat / Firefox. ScribeFire sirve para todo aquel que tengo uno o varios blogs.
Para instalarla basta con ir aquí.

¿Y por qué usar ScribeFire en lugar de abrir una sesión en nuestro blog?
Lo primero que me gusto fue eso, sin necesidad de ir a mi blog puedo subir todo el contenido que quiero. Cuando iniciamos sesión por vez primera nos pide algunos datos de nuestra cuenta para agregar (y luego podemos ir sumando más cuentas). Lo interesante es que contamos con montón de opciones a la hora de editar un texto. (Muchas de las cuales no existe en los blogs y nos quedaba subirlas editando el código en cada nuevo post.)

Voy a nombrar las cosas que me gustaron:

  • Manejo múltiple de cuentas en diferentes blogs.
  • Visualización de los artículos en cada blog (con la posibilidad de volver a reeditar).
  • Miles de opciones para la edición del diseño del post.
  • Presionando un simple “F8″ abrimos el editor (yo configuré el mío para que sea en una nueva pestaña).
  • Se puede, una vez publicado el post, compartilo en distintas redes sociales.
  • Manejo de archivos por FTP.
  • Previsualización del post.

Y, como es de esperarse, este post fue elevorado con mi nueva herramienta llamada ScribeFire. :)

Publicado en Recomendaciones | Etiquetado: , , , , , , | Deja un Comentario »