Category Archives: Técnico

mlabel: Renombrar memoria USB

2
Filed under Articulo, General, Software Libre, Técnico

Desde GNU/Linux es posible cambiar la etiqueta de las memorias USB (”pendrive”), la herramienta se llama mlabel, que viene en el paquete mtools.

mtools contiene varias herramientas para manejar unidades de tipo MSDOS/Windows desde sistemas tipo unix.

en archlinux lo instalamos así: pacman -S mtools

ahora, guiándose por el manual de mlabel, no parece funcionar, simplemente debería ser: mlabel /dev/sdb1:jhuss
donde /dev/sdb1 es la memoria USB, luego de “:” va la etiqueta que se quiere colocar

buscando me conseguí con esto, parece ser algún bug, pero se puede hacer funcionar: http://bugs.archlinux.org/task/6106.

y que esto fue lo que hice:

echo 'mtools_skip_check=1' > ~/.mtoolsrc

echo 'drive c: file="/dev/sdb1"' > /tmp/mtools.conf

MTOOLSRC=/tmp/mtools.conf mlabel c:JHUSS

listo, desmontan y desconectan la memoria, y la vuelven a conectar y verán que tiene la etiqueta nueva.

ejemplo:


MTOOLSRC=/tmp/mtools.conf mlabel c:usando_mlabel


MTOOLSRC=/tmp/mtools.conf mlabel c:JHUSS

Errores de caracteres

0
Filed under General, Software Libre, Técnico

hace unos días mi blog, por alguna razón que desconozco mostraba los caracteres de forma incorrecta.

Estuve revisando las opciones de wordpress y todo estaba bien, desde el navegador coloque otra codificación de caracteres distinta a la que esta por defecto, pero seguí viéndose mal. Cuando fui a revisar la Base de datos me di cuenta que, cambiara lo que cambiara se mostraría igual, ya que en la BD el texto estaba guardado de la misma manera como se mostraba.

Exporté la BD a un archivo de texto, intente cambiar la codificación del archivo, pero daba el mismo resultado.

el problema era que, donde debería verse una "á" estaba esto "á" así que me puse a revisar el texto y vi que era un patrón de caracteres dañados.

así que hice una lista, donde debería estar el carácter correcto, lo que en verdad mostraba y el equivalente en HTML, como resultado dio:

  • á = á = á

  • é = é = é

  • í = í = í

  • ó = ó = ó

  • ú = ú = ú

  • ñ = ñ = ñ

  • … = … = …

  • ‘ = ’ = ’

había otro caracter extraño que solo sobraba, "Â" y al reemplazarlo dejando el campo vacío se borraba.

no había mas caracteres afectados, así que no fue necesario buscar mas, después de eso, con mi editor favorito geany lo que hice fue un "buscar y reemplazar".

Pero nótese que "í" era solo "Ã" así que lo deje de ultimo para no reemplazar los demás que contenían ese mismo carácter pero acompañado por otro, si no daría algo así como: ú => íº

aproveché y busque en las tablas CHARSET=latin1 y lo cambie por CHARSET=utf8

guarde los cambios y reemplacé las tablas, y todo ahora se ve de manera correcta.

xcursor por defecto

0
Filed under Articulo, General, Software Libre, Técnico

para cambiar el cursor por defecto en el sistema X, solo hay que hacer unos pocos pasos.

primero que todo, tener el tema de cursor que se quiere usar, por ejemplo se puede buscar alguno acá: http://www.gnome-look.org/index.php?xcontentmode=36 descargarlo y colocarlo en: /usr/share/icons

si usa arch, con una búsqueda así: pacman -Ss xcursor consiguen varios, yo instale xcursor-jimmac

ahora, que ya tenemos el tema del cursor, solo hace falta crear un enlace simbólico de la carpeta del tema a una de nombre: defaults

así: ln -s /usr/share/icons/Jimmac /usr/share/icons/defaults

ahora, no solo es eso, la carpeta del tema debe contener un archivo de de texto de nombre: index.theme

que contiene la información del tema, un ejemplo es el que ya trae jimmac, que es:

[Icon Theme]
Name=Jimmac
Comment=Jimmac (Jimmac0) cursor theme
Example=left_ptr_watch

si quieren crear su propio tema para el cursor, pueden revisar http://www.freedesktop.org/wiki/Software/icon-slicer

por ultimo, para los arch fan xD http://www.gnome-look.org/content/show.php/ArchCursorBlue?content=78506

espero que les sea útil, hasta la próxima.

Vida del disco duro de los portátiles

3
Filed under Articulo, General, Software Libre, Técnico

Saludos

Pues en titulo ya dice mucho, así que explico.

Parece ser que muchos discos duros para portátiles viene ya con “una duración de vida predeterminada”. El problema esta en que el cabezal del disco se estaciona cuando no esta siendo usado, esto causa que al llegar a un X numero de veces puede dañarse.

La escusa de los fabricantes para eso, el ahorro de energía, protección contra golpes y no se que mas. Pero para que hacer eso si igual a un X numero de ciclos de estacionar el cabezal, el disco duro puede dejar de funcionar.

Parece mas bien una idea de “tienes que comprar un disco duro cada tanto tiempo”.

Este problema tiene tiempo y no se que tan difundió esta, pero a mi me toco. Un buen articulo que conseguí, bien detallado fue este: linux-no-mata-discos-duros-se-mueren-solos/

para seguir resumiendo:

¿como saber si el disco duro sufre de ese mal? existe una herramienta llamada smart, en archlinux el paquete se llama: smartmontools, uno de los comados es smartctl, en mi caso fue así:

smartctl -a /dev/sda | egrep 'ID|Load_Cycle'

que da la siguiente salida:

ID# ATTRIBUTE_NAME ... RAW_VALUE
193 Load_Cycle_Count ... 138425

la parte de: RAW_VALUE es el que indica cuantos ciclos ya lleva el disco.

ahora ese ciclo va en aumento usando o no la computadora, pero eso se puede disminuir o detener. Usando hdparm, con el parametro -B para modificar la gestión de energía.

en mi caso use: hdparm -B 254 /dev/sda

el valor de -B puede ir de 1 a 255 mientras mas cerca de 255 menos ciclos de estacionar el cabezal tiene el disco, y un numero mas bajo es lo contrario.

según la documentación el valor de 255 desactiva la gestión de energía, a mi no me funciono pero colocando 254 si.

si realizan esto, deberían aplicar sus propias pruebas para determinar cual es el valor correcto para sus discos.

al tener todo listo, deberían crear un script que ejecute ese comando al inicio del sistema, para no tener que hacerlo de forma manual.

yo lo que hice fue; crear un archivo en /usr/bin/ de nombre nocycle con permisos de ejecución.

que contiene:

#!/bin/bash
hdparm -B 254 /dev/sda

una idea seria crear un demonio que ejecute el programa al inicio, pero si en su distribución existen otras formas, también es valido, en archlinux existe un archivo: /etc/rc.local en el que agrego la siguiente linea: /usr/bin/nocycle y es todo, el programa se ejecuta al inicio del sistema.

ese archivo me permite agregar comando personales al iniciar el sistema, aparte de los demonios en /etc/rc.d o el archivo /etc/rc.sysinit

eso creo que es todo, hasta la próxima.

Lanzamiento Vertical

1
Filed under Articulo, General, Software Libre, Técnico

Publico un pequeño programa escrito en python usando las librerías pygtk y matplotlib.

Lo que hace es el calculo y la gráfica de un lanzamiento vertical, donde se desprecia el rozamiento y el movimiento horizontal. Inicialmente hice el programa en el que la altura inicial es 0, cuando tenga tiempo lo modifico para que tome la variable, y poder colocar una altura inicial distinta de 0, en la interfaz esta listo el campo, y en el programa la variable es self.a_inicial solo es cosa de revisar las formulas y acomodar la gráfica, si alguien tiene tiempo y lo acomoda, pues genial, pueden escribirme y lo actualizo.

pueden ver unas capturas de pantalla:

el siguiente enlace es para descargar el programa, y esta bajo la GPL ;) :
lanzamiento_vertical.tar.gz

Programación orientada a objetos en Python

0
Filed under Articulo, General, Software Libre, Técnico

Preguntándole al “señor que casi lo sabe todo”, buscaba documentación sobre el uso de self en python, y encontré un buen articulo de POO (Programación orientada a objetos) usando ese lenguaje de programación.

El contenido del articulo es el siguiente:

  • Formas de pensar: paradigmas de programación
  • Algunos paradigmas habituales
  • Programación multiparadigma
  • Tipos de datos
  • Clases y objetos
  • Fisonomía de una clase
  • Un paseo entre objetos
  • Acceso individualizado a objetos: self
  • El método de inicialización __init__
  • Propiedades y Atributos
  • Herencia y derivación de clases
  • Jerarquías de clases
  • Encapsulación y grados de privacidad
  • Resumen final

si alguno de esos temas parece interesante, pues visite el siguiente articulo del blog de RVBurke, Programación orientada a objetos en Python

el articulo es bueno para quien ya tenga noción de programación y desee aplicar POO con python, también es bueno para el que quiera aprender a programar, da pie a investigar mas :P

saludos, hasta la próxima.

Pie de pagina al final con CSS

0
Filed under General, Software Libre, Técnico

Les ha ocurrido que tiene una pagina y el contenido no llena toda la ventana, y el pie de pagina esta a continuación del contenido quedando el resto de espacio libre.

o simplemente quieren que el pie de pagina este siempre al final se cual sea el caso, pues buscando en Internet encontré una forma de hacerlo con solo css.

primero un ejemplo de la idea expuesta con las siguientes imágenes.

de tener una pagina con una estructura similar:
pie inicial

a esta otra:
pie final

para poder entender como se hace esto, es necesario tener algo de conocimiento de HTML y CSS, en google pueden busca mucha documentación ;)

con CSS debemos hacer que la etiqueta <body> el alto mínimo sea de 100%, creamos una etiqueta <div> principal que va a contener todo, menos el pie de pagina, que seria otra etiqueta <div>.

la etiqueta <div> principal también va a ser de alto mínimo de 100% pero con la diferencia que va a tener el margen inferior negativo :D ya por acá esta el truco, ese margen negativo debe ser en numero igual al lo alto de la etiqueta del pie de pagina.

pero ahora se necesita otra etiqueta <div> vacía, que también debe ser del mismo tamaño del pie de pagina, esto por que?
bueno la etiqueta <div> principal tiene margen negativo, y al colocar el pie de pagina, estaría a la misma altura, así que hay que crear una etiqueta vacía del mismo tamaño del pie de pagina pero esta vez va dentro de la etiqueta principal para separarla de pie de pagina real.

ya explicado como es que funciona, un ejemplo en código HTML y CSS, yo uso clases (class) en el CSS, también es valido usar ID:

el HTML:

<body>
<div class="body">
    <span>jhuss.org</span>
    <div class="nopie"></div>
</div>
<div class="pie">
    <div>2008 - [jhuss~]#</div>
</div>
</body>

el CSS:

body {
    height: 100%;
    margin: 0px 0px 0px 0px ;
}
div.body {
    min-height: 100%;
    height: 100%;
    margin-bottom: -60px;
    position: relative;
}
div.nopie {
    height: 60px;
    clear: both;
}
div.pie {
    height: 60px;
    position: relative;
}

la solución es gracias a este post en ingles: http://fortysevenmedia.com/

saludos.

101 cosas sobre mi (como no xD)

4
Filed under General, Humor, Técnico

bueno para fastidiar un rato, me tome la molestia de escribir algo, y va así:

# -*- coding: utf-8 -*-

import random

var101 = ["me gusta la música estilo post-rock",
    "me gusta programar",
    "me gustaría aprender a tocar guitarra",
    "me gusta la música electrónica",
    "me gusta Linux",
    "me gusta el dibujo por computadora",
    "me gusta la oscuridad",
    "no me agrada mucho la gente chepa de profesión",
    "no me agrada la mentalidad 3er mundista",
    "no puedo vivir sin Internet xD",
    "no me gusta dar información personal",
    "<dejado sin información intencionalmente>"]

var101len = len(var101)

for i in range(1, 102):
    randomvar = random.randrange(0, var101len)
    print i, “-”, var101[randomvar]

JA! esta en python y funciona jejeje

bueno yo no voy a andar escribiendo 101 cosas sobre mi a extraños :|

saludos xD

actualización: explicación, el script toma las 12 lineas que escribí y aleatoriamente las va repitiendo hasta las 101 lineas.

Openmoko

0
Filed under General, Software Libre, Técnico

saludos! y feliz navidad a todos :)

esta vez vengo con algo interesante, creo yo.

se trata del teléfono de código abierto llamado openmoko (en español debería tener otro nombre XD) y es mas que un teléfono. Bueno, revisando la pagina oficial openmoko.org me encuentro con el wiki y veo que es posible emularlo sin tener el aparato, me refiero a usar la pc y con virtualización poder correr el sistema que corre el celular.

específicamente con qemu, pueden ver acá: wiki.openmoko.org/wiki/Qemu

seguí los pasos, solo lo básico para correr el sistema, en arch linux funciona, primero descargo los archivos desde el svn:

svn checkout https://svn.openmoko.org/trunk/src/host/qemu-neo1973

cuando termina de descargar, me voy a la carpeta creada y ejecuto: ./configure –target-list=arm-softmmu y despues make , pero. Compilando da un error, que no consigue 2 archivos de librería, lo arregle de manera sucia haciendo unos enlaces simbólicos y funciono, pero seguro hay mejores formas.

lo que hice fue:

ln -s /usr/lib/libdl.so /usr/lib/libdl.so.2
ln -s /usr/lib/libnsl.so /usr/lib/libnsl.so.1

después de compilar se ejecuta: openmoko/download.sh que descarga el sistema en si.
cuando se tiene todo, queda: openmoko/flash.sh que crea lo necesario para poder ejecutar el celular virtual.

cuando finaliza se puede leer un mensaje con alguna explicaciones y el comando para correr openmoko, yo utilicé:

arm-softmmu/qemu-system-arm -M gta01 -m 130 -mtdblock openmoko/openmoko-flash.image -kernel openmoko/openmoko-kernel.bin -usb -show-cursor

y como extra algunas capturas:

openmoko

hasta la próxima

PD: para compilar qemu-neo1973 es necesario tener la versión de gcc-3.x, en arch linux basta con pacman -S gcc34, cualquier otra cosa lean los requerimientos en el wiki

RoundCube Webmail

3
Filed under General, Software Libre, Técnico

Bueno en estos días me dio por averiguar si existía algún cliente de correo en web estilo gmail.

y me refiero a que usara ajax, que la interfaz sea dinámica, ya que en mi sitio tenia squirrelmail y es mas simple y usa frames :S, Mi interés fue cuando Richzendy en el IRC pasa el link de zimbra, es un webmail pero es mas de lo que yo quería.

a la final me encuentro con RoundCube tiene lo que buscaba, cliente web de correo, muy liviano y con las funciones necesarias.

la instalación es muy fácil, crear una base de datos en msql, mysql o postgres, y subir la tablas bases que están en la carpeta SQL, en la carpeta config renombrar los archivos quitando .dist y que queden: db.inc.php y main.inc.php, luego editarlos agregando la información necesaria, una guía: Instalación de RoundCube (Ingles)

les dejo una captura de pantalla de la instalación que hice, la vista es desde firefox:

RoundCube

hasta la próxima