jueves, 20 de agosto de 2009

Ocultar posts largos o el famoso "Leer más..."

Vamos a ver como hacer resumenes de entradas o también llamadas entradas expandibles, ocultar entradas o el famoso "Leer más..." en blogger.
Para hacer esto existen muchos métodos, obviamente todos con sus ventajas, desventajas y facilidades, en este post veremos dos que son los que más me gustaron, uno es el que plantea Google y es el más común y el otro es con Javscript.

1.- "Leer más" de Google.


Antes que otra cosa, esta es la referencia de donde lo hice:
http://www.google.com/support/blogger/bin/answer.py?hl=es&answer=42215

Ahora lo que pasará con este método es que todas las entradas tendrán un link que diga "Leer más..." (o lo que uno quiera) al final y que al darle clic se abrirá la página individual del post (post completo), el contenido que se puede recortar es el que nosotros queramos.

Hay que ir, dentro del panel de administración de Blogger y de ahí a Diseño > Edición HTML y activaremos la casilla de Expandir plantilla de artilugios, y antes de la etiqueta <data:post.body> copiar el siguiente código:

<b:if cond='data:blog.pageType == "item"'>
<style>span.fullpost {display:inline;}</style>
<b:else/>
<style>span.fullpost {display:none;}</style>
</b:if>


Y justo después de la misma etiqueta (<data:post.body>) copiar lo siguiente:

<b:if cond='data:blog.pageType != "item"'>
<a expr:href='data:post.url'>Leer mas...</a>
</b:if>


Guardamos la plantilla y ya están las configuraciones de la plantilla, hay que verificar que este código este en cada plantilla que usemos.

Cortar el texto en los posts.

Al momento de redactar una nueva entrada colocaremos entre las siguientes etiquetas el texto que queramos ocultar:
<span class="fullpost"></span>

Por ejemplo:

Este es el inicio del post, aqui hablaremos de muchas tonterias que pasan en el mundo <span class="fullpost"> Y esto estará oculta hasta dar clic en el link de Leer más...</span>



2.- Usando Javascript.

Lo que pasará con este método es que el texto que ocultemos se desplegará y ocultara por medio de CSS y la propiedad display, así que cuando demos click en el link de ocultar/mostrar la función de Javascript se encargará de activar el CSS correspondiente. El método pasado usa las mismas dos propiedades, así que es un método parecido.

Bueno pero para no hacer tantas bolas mejor, manos a la obra.

Tenemos que editar la plantilla y crearemos las dos clases de CSS que desplegarán y ocultarán el texto:

.hide {display:none}
.show {display:inline}

Eso lo pondremos donde se encuentren todas las definiciones de CSS de la plantilla, antes de la etiqueta "]]></b:skin>".

Ahora hay que crear la función de Javascript. Después de la etiqueta "]]></b:skin>" y antes de </head> escribir lo siguiente:

<script type='text/Javascript'>
function hideshow (postid) {
var post = document.getElementById(postid);
if (post.className=="show"){
post.className="hide";
} else {
post.className="show";
}
}
</script>


Guardamos la plantilla, y para usar el ocultamiento en la edición de los posts, habrá quehacer lo siguiente:

Crear el link para ver/ocultar:

<a href="javascript:hideshow('idx')">Ver/Ocultar</a>


Poner el texto a ocultar:

<div class="hide" id="idx">
Texto a ocultar
</div>


NOTA IMPORTANTE: La ventaja con este método es que se pueden ocultar desde pequeños fragmentos de posts hasta la mayoría de el, y se pueden crear varios segmentos ocultos. Lo único que hay que cambiar es el idx, que puede ser id1, id2, identificacion1, arg1 etc, es decir, idx lo podemos llamar como queramos, el único requisito es que sea un nombre único dentro del blog. ¡OJO!, dije dentro del blog, así que debe ser un id único (como se supone que deben ser todos los id ¬¬ jeje).
Y hay que recordar que por cada elemento oculto hay que crear un link y un uso de div que contendrá el texto oculto.

Este método lo saque de http://ayudaparatublog.com/como-puedo-mostrarocultar-mis-entradas-modo-peek-a-boo-classic-blogger/


martes, 18 de agosto de 2009

Bloquear configuraciones Firefox

Pues ya saben, andando de ocioso por internet me tope con una extensión para Firefox llamada Public Fox que nos da la opción de proteger con contraseña todas las configuraciones y paneles de administración del navegador. También puede bloquear el acceso a "about:config" así como las descargas o bookmarks.

Public Fox en Addons

viernes, 7 de agosto de 2009

Instalación Slackware 12.0

En esta guia veremos como instalar Slackware 12.0, pero antes unos cuantos links para ver que es esta distro:

http://es.wikipedia.org/wiki/Slackware
http://www.slackware.com/
http://www.slackbook.org/

DESCARGAR


El primero paso será descargar la distro de la página del proyecto (http://www.slackware.com/getslack/), para esto se puede descargar un DVD que contiene todos los paquetes necesarios o 6 discos que equivalen al DVD. Yo lo hare con el DVD.

El siguiente paso será bootear desde el CD o DVD de slackware dando un mensaje de bienvenida y el prompt para bootear, en este caso solo oprimiremos Enter e iniciará el instalador:





ELIGIENDO EL TECLADO Y LOGUEANDOSE


Ya que se cargaron algunos archivos, es momento de elegir el mapa del teclado que se usará, por defecto esta el us.map que es el de Estados Unidos, pero como esto es México elegiremos el la-latin1.map, para elegir algun mapa que no sea el que esta por defecto, en el prompt teclear el numero "1" y nos manda a la lista con los mapas disponibles, una vez elegido se mostrará una pantalla donde se pueden probar los caracteres del mapa instalado, cuando se este listo escribir "1" (sin las comillas) y dar Enter.



Es momento de loguearse, así que lo haremos como root.






A MOVER EL DISCO DURO


¡Comienza el particionado! y tal vez será la parte mas tediosa de la instalación y donde se encontrarán mas problemas de configuración, ya que a diferencia de otras distros como Debian o Fedora, en Slackware el particionado se hace como Chuck Norris manda, es decir, por medio de comandos en consola.

El primer paso del particionado será crear la tabla de particiones en el disco duro. Para conocer el nombre del disco duro en las convenciones de nombres de Linux (hda, sda, hdb, sdb, etc.) debemos escribir:

# fdisk -l



Y para iniciar fdisk:

# fdisk /dev/hdX

donde hdX o sdX sería lo que nos regresó el comando anterior.

En la salida de este comando se muestra información basica del disco:



y nos muestra el prompt de fdisk, si escribimos la tecla "m" en cualquier momento se mostrarán las opciones disponibles:



El objetivo en esta guia es crear una partición swap y dos ext3, una para montar la raíz ( /) y otra para el /home, todo esto dentro de un conjunto de particiones lógicas en una extendida:

Extendida
|
|--Lógicas
|------ swap 500MB
|------ ext3 / 4000MB
|------ ext3 /home Espacio restante


Primero crearemos la particion extendida:



Los pasos que se siguieron:
-Con "n" se crea una nueva partición.
-Con "e" se crea una partición extendida y "p" para primaria, en este caso usamos una extendida.
-Se debe elegir el numero de la partición, elegimos 1.
-Se indica desde donde comenzará el primer cilindro, al ser la primera partición se deja el valor por defecto "1".
-Se deja el valor por defecto para el fin de la partición, abarcando todo el espacio, ya que se pretende que esta partición contenga a swap y las dos ext3.

Para ver como está la tabla de particiones teclear "p":



Y crearemos la partición swap (500MB):



Los pasos que se siguieron:
-Con "n" se crea una nueva partición.
-Con "l" se crea una partición lógica.
-Se debe elegir el numero de la partición, elegimos 1.
-Se indica desde donde comenzará el primer cilindro, se deja el valor por defecto "1".
-Se indica donde terminará, es decir, el tamaño de la partición, tecleamos +500M.

Crearemos la partición para la raíz (4GB):



Crearemos la partición para el /home (espacio restante):



Ahora debemos dar formato a las particiones, pero antes veamos con "p" como quedaron las particiones:


Como se observa:

hda5 - 500MB - Será swap
hda6 - 4GB - Será ext3
hda7 - 2GB - Será ext3

Entonces tecleamos "t" para dar nuevo formato a las particiones y elegimos la partición (5), pero inmediatamente se nos pide que tecleemos "L" para ver la lista de formatos soportados:


una vez que tenemos el codigo listo lo tecleamos:


Y el procedimiento se repite para las demás particiones, solamente que en vez de elegir el codigo 82 se usará el 83.

Ya falta poco!!, no ha sido tan largo verdad?? (espero :S ).

Bueno, lo que resta para esto de las particiones es hacer booteable la partición donde se encuentre la carpeta /boot, que en este caso es /dev/hda6, que es la raíz. Así que tecleamos "a" y elegimos la partición "6" y listo.

Al final la tabla de particiones quedaría algo así:



¿Ya es todo?...mmmm aaahhh siii!!!, lo tipico y muy importante...guardar los cambios. Solo tecleamos "w".



UN POCO MAS DE PARTICIONES


Bueno, como lo mencioné anteriormente la parte mas laboriosa sería la de particionar el disco, pero ya quedó, ahora pasemos a otras configuraciones:

Ya que guardamos los cambios en eso del fdisk regresaremos al prompt original, hay que teclear "setup" y nos mostrará la lista de pasos para instalar Slackware, nosotros nos quedamos en el segundo, así que seleccionamos "ADDSWAP" y confirmamos que la partición mostrada es la que servirá de intercambio:


Y seleccionamos "NO" para la pregunta del chequeo de bloques dañados con mkswap.

Ahora aparece una lista de particiones para que se indique donde se montará la raíz, en este caso, y según el particionado lo haremos en /dev/hda6.


Aceptamos que se formatee e indicamos el tipo de formato:



Una vez formateada la partición regresa al menú anterior, y si hay más particiones Linux se da la opción de hacer otros montajes (/home, /etc, /usr/local etc.), lo haremos en /dev/hda7 para /home:




AL FIN!!!!! TERMINO EL ROLLO DE LAS PARTICIONES :D



INICIA LA INSTALACION (DE VERDAD)


Primero se nos muestran algunas opciones de como se puede instalar slackware, en este caso lo estamos haciendo de un CD o DVD.


A continuación usaremos la opción recomendada y se buscara el disco de Slackware en las diferentes unidades existentes.


Ahora tenemos que escoger las categorías de software que se instalaran, entre estas se encuentras el sistema base de Linux, librerias del kernel, librerías gtk o qt para entornos gráficos, utilidades tcp/ip etc. Sería recomendable dejar la lista tal y como está.



La siguiente pantalla muestra los modos de instalación. Si existe espacio en el disco lo mas recomendable es "full" y ocupa aproximadamente 4.5GB, de quere seleccionar de manera general que paquetes se instalarán "menu" es una buena opción.

En este caso suaremos "menu" pero si hay alguien flojo con espacio en disco duro es mejor "full".


Lo que siguen (en caso de escoger "menu") son pantallas que presentan los paquetes por series, por ejemplo, serie a, serie T, serie Y etc.



CONFIGURACIONES DE ARRANQUE


Nos pregunta si queremos hacer una imagen booteable en una USB, en este caso le darems que no.



La siguiente pregunta es que interfaz debe usarse para crear un modem, como en este caso no queremos un modem daremos que no cree el link, pero si se desea uno habrá que seleccionar una opción. Las opciones muestran interfaces COM y PCI, la elección depende de cada computadora.



Es momento de instalar LILO, el gestor de arranque. Seleccionaremos la opción "simple".


Nos pide elegir la resolución que usará LILO, si usamos la "standard" que es lo más óptimo se verán solamente texto en la presentacion de LILO, y si escogemos alguna resolución existe posibilidad de que aparezca un Tux, ahora usaremos la standrad.

Si no se tienen parámetros adicionales a las entradas de kernel continuamos.

Ahora nos pregunta donde instalar LILO, lo haremos en el MBR.


El siguiente paso es elegir el tipo de mouse que se usa, dejaremos el que está por defecto.

A continuación decimos que si a la inclusión de gpm.





CONFIGURACIONES DE RED Y SERVICIOS


Es tiempo de configurar la red.
Primero daremos un nombre al host, en este caso le pondré "Slackware".


Un nombre de dominio, si no queremos o no tenemos un dominio podemos dejar el "example.org".


Tenemos que elegir el tipo de asignación de IP, lo más sencillo, si así lo tenemos es dejar el DHCP.


Nombre del host DHCP, si no tenemos uno dejar en blanco.


Y se da un resumen, si esta todo bien continuar.





CONFIGURACIONES FINALES


Elegir servicios que se iniciarán durante el arranque de la máquina, esta lista la podemos dejar así.


Decimos que no deseamos probar más fuentes.

A la configuración del reloj le damos la opción que más convenga, por defecto podemos dejar NO y seleccionamos la zona del tiempo que mas nos convenga, en este caso es America/Mexico_City

Ahora debemos elegir que gestor gráfico será el que inicie por defecto, en este caso usaremos kde.

A continuación nos sugiere que pongamos un password a root, le decimos que si y tecleamos el password (NO OLVIDAR).

Al final nos manda un mensaje de finalización.


En el menú principal ponemos EXIT y tecleamos ctr+alt+delete para reiniciar la máquina.



INICIO DE SLACKWARE


Al iniciar la computadora vemos a LILO y la opción para iniciar el sistema, la seleccionamos y damso Enter.


Y ya tenemos instalado Slackware, si se uso la opción full en la selección de paquetes, pocas cosas tendremos que instalar, pero en posts siguientes veremos como instalar o compilar paquetes en esta distro pionera.

domingo, 2 de agosto de 2009

Agregar consolas tty

Par agregar una consola tty, las clásicas Ctrl+Alt+F# hay que crear un archivo llamado tty# en /etc/event.d/, donde # es el numero de consola que queramos , así que si queremos crear la tty9 debemos crear el archivo:

/etc/event.d/tty9


con el siguiente contenido:

start on runlevel 2
start on runlevel 3

stop on runlevel 0
stop on runlevel 1
stop on runlevel 4
stop on runlevel 5
stop on runlevel 6

respawn
exec /sbin/getty 38400 tty9
Y al reiniciar nuestra computadora con Ctrl+Alt+F9 podremos acceder a esta consola...por consiguiente si queremos desactivar alguna de estas consolas, basta con descomentar o eliminar el archivo correspondiente.

jueves, 23 de julio de 2009

Google y el alunizaje del Apolo 11

Esta bonita imagen la saqué de Google, del pasado 20 de julio, conmemorando 40 años del alunizaje del Apolo 11...¿Habrá sido verdad este evento?, ¿Habŕa sido solo pretexto para ganar la carrera espacial o si habrá pasado realmente?...¿En realidad vieron un ente de otro planeta allá en la Luna?....no se, pero la imagen esta chula jejeje...

Configurando alias de sudoers

Complementando este post que habla un poco de como editar el archivo sudoers (encargado de los permisos de sudo) hoy veremos un poco acerca de los alias de este archivo que facilitan bastante la administración de usuarios.

Como sabemos un alias es una manera corta de nombrar una o varias acciones, usuarios, comandos, etc. En sudoers existen tres tipos de alias que son de usuario, de comandos y de host.
La sintaxis de estos alias es la siguiente:

Id_Alias NombreAlias=elemento1,elemento2,elementoN


donde Id equivale a User, Cmnd o Host que son los tipos de Alias de sudoers.
NombreAlias es el nombre que nosotros le asignamos al nuevo alias (siempre debe ir en mayúsculas).
Y por último elemento1...elementoN son los usuarios, comandos o hosts del alias.

Agregar usuarios a un User_Alias.
Si por ejemplo queremos que el usuario1 y usuario2 tengan las mismas propiedades, es decir, que los dos tengan los mismos accesos, puedan ejecutar los mismos comandos etc. sería conveniente incluirlos en un Alias:

User_Alias USERS1=usuario1, usuario2


Agregar comandos a un Cmnd_Alias.
La sintaxis es basicamente la misma, solo que en vez de introducir el comando como normalmente se usa, se introducirá primero la ruta absoluta, por ejemplo, para hacer un alias con los comandos ifconfig y usermod la sintaxis sería la siguiente:

Cmnd_Alias COMMAND1=/sbin/ifconfig,/usr/sbin/usermod


Para Host_Alias la sintaxis es la misma, solamente que está orientado al uso a través de red, los valores de los elementos del alias típicamente son un nombre de host o una dirección IP que represente a un host en específico.

A poner los Alias en acción.
Supongamos que queremos que el usuario1 y usuario2 utilicen solamente los comandos ifconfig y usermod...mmm convenientemente ya creamos un Alias con esas características jejej.
La instrucción sería la siguiente:

USERS1 ALL=PASSWD:COMMAND1


Y con esto estamos diciendo que los usuarios de USER1 pueden ejecutar con sudo y su password todo lo que esté dentro de COMMAND1.
Si existieran más alias de comando o comandos sueltos que queramos usar para USERS1 solamente los separaremos por comas.

NOTAS:
- Es importante que los nombres de los alias sean mayúsculas.

Tuxguitar. Editor de tablaturas libre

Para quienes han usado Windows y usan algún software de edición de audio (midi), más en específico tablaturas para guitarra y otros instrumentos, se han topado con GuitarPro, un buen editor, pero tiene algunas desventajas. La primera, que no es libre, aunque es gratis, la segunda y la más importante es que no está disponible para sistemas Unix o Linux ( :S, mas que para Mac Os X ).

GuitarPro se puede emular con Wine, pero es muy lento y no se aprovechan bien muchas funciones, entonces...la solución más fiable y libre es Tuxguitar.

Instalación.

1) Como está hecho en Java, pues ya saben, se necesita la JVM, de perdida el jre. También, al ser editor de MIDI, necesitaremos timidity:

$ sudo aptitude install timidity


Y también necesitaremos descargar un paquete extra para el manejo de sonido en Java: Soundbank deluxe.

Para instalar el soundbank basta con descomprimirlo y copiarlo a la carpeta donde este instalado Java:

$sudo unzip soundbank-deluxe.gm.zip -d /usr/lib/jvm//jre/lib/audio/


Generalmente la ruta del comando anterior es donde está instalado Java y el soundbank deluxe debe ir en jre/lib/audio/, si Java está instalado en otra carpeta cambiar la ruta anterior.

2) Ya tenemos los requisitos, ahora es tiempo de instalar Tuxguitar. En Debian y derivadas basta con un:

$ sudo aptitude install tuxguitar


En Debian hay otros paquetes que pueden ser instalados como tuxguitar-alsa, tuxguitar-oss, etc.

En Fedora:

$ sudo yum install tuxguitar


La verdad recomiendo la version 1.0 en adelante, ya que incluye muchas mejores sobre sus predecesoras, así que si la distro usada instala la versión 0.9 o menor es mejor descargarse el paquete .deb o el instalador .run de la página de descargas de Tuxguitar.

Para correr el script de instalación:

$ chmod +x script.run
$ sudo ./script.run

Por defecto lo instala en /opt, para ejecutarlo comodamente podemos hacer un pequeño script para que ejecute tuxguitar:

$ sudo gedit /usr/bin/tuxguitar


y poner estas lineas:

#!/bin/bash
cd /opt/tuxguitar-1.1 #(o la versión que se haya instalado)
./tuxguitar

Lo guardamos y damos permisos de ejecutción:

$ sudo chmod +x /usr/bin/tuxguitar


Y listo, ya se puede lanzar por consola o con el lanzador de aplicaciones (alt+F2) escribiendo tuxguitar...también se podría añadir la aplicación al menú de GNOME.

Problemas.

En ocasiones me ha llegado a dar algunos problemas, el principal es que al iniciar la aplicación reproduce la tablatura pero no hay sonido, esto lo arreglo reiniciando timidity:

$ sudo /etc/init.d/timidity restart


Si con esto no se soluciona hay que ir a Herramientas > Preferencias > Sonido.
En Secuanciador MIDI: Real Time Sequencer y en Puerto MIDI habrá que jugar un poco con los puertos y la opción elegida.

Otro problema, que puede surgir tal vez la primera vez que se use Tuxguitar es que no encuentre el soundbank deluxe, así que hay que indicarle la ruta, para esto ir a Herramientas > Configurar plugins > Java Sound Api plugin y dar click en configurar, posteriormente indicarle la ruta del soundbank que instalamos en los primeros pasos del tutorial.

Cabe mencionar que Tuxguitar es compatible con formatos .gp3, .gp4, .gp5, .ptb (power tab) y el formato propio de Tuxguitar (.tg), también se pueden exportar las tablaturas a MIDI, ASCII y PDF, trae afinador para guitarra, diccionario de escalas, manejo de tiempos y compases y otras curiosidades más.

Todo esto esta incluido en la versión 1.0 en adelante, por eso es que digo que esta versión es la más recomendable. Desde que uso tuxguitar no he vuelto a necesitar GuitarPro...muy buena aplicación.