Listas anidadas en HTML – 2 de 2

En la primera parte de este artículo combinamos los conocimientos que ya habíamos adquirido sobre las listas para ilustrar el modo de anidarlas.

Lo primero que te propongo es que realices un ejercicio práctico. Observa la siguiente página cuidadósamente y trata de reproducir el código necesario para generarla.

No te dejes intimidar por la profundidad de la lista (hasta cuatro niveles). Recuerda que debes aproximarte de fuera a dentro, comenzando por la más exterior.

Te recomiendo que cada vez que abras una etiqueta la cierres para crearte un contenedor y asegurarte de que no se te olvida por accidente su cierre. Luego prosigue rellenando los espacios entre etiquetas.

Si tienes algún problema, haz clic sobre el enlace con el botón derecho y descárgate el fichero con el código fuente para consultar la solución.

Quiero que te fijes ahora en las listas del ejemplo. Observa que las listas ordenadas anidadas muestran una numeración ascendente con números normales (arábigos) independientemente del nivel en que se encuentren. En cambio, las listas no ordenadas presentan un bolo que dependerá precisamente del nivel de profundidad.

Observa ahora el siguiente ejemplo, en el que he alterado precisamente estos indicadores por defecto, tanto en las listas ordenadas como en las que no lo están.

Fíjate cómo, en las listas ordenadas, además de usar números arábigos para expresar el orden, podemos hacerlo de los siguientes modos:

– Letras mayúsculas
– Letras minúsculas
– Números romanos en mayúsculas
– Números romanos en minúsculas.

Además, disponemos de distintos símbolos para las listas no ordenadas.

Voy a enseñarte cómo hacer esto, pero antes tengo que contarte algo importante relacionado con el modo en que fue evolucionando el lenguaje HTML desde su creación.

En un principio el HTML era caótico. No sé si recordáis la guerra cruenta entre navegadores (sobre todo entre Netscape Navigator y Microsoft Internet Explorer) en la que cada uno añadía nuevas funcionalidades al lenguaje que dificultaban los esfuerzos de estandarización y compatibilidad.

El W3C intentó poner un poco de orden en esta situación y apostó por una versión más estricta del lenguaje inspirada en los rigores de XML, que denominó XHTML.

Además de unas normas sintácticas más severas (como la escritura de las etiquetas en mayúsculas y la necesidad de cerrarlas), introdujo un concepto decisivo: la separación entre contenido y diseño.

Tras la guerra entre navegadores nos encontramos con un buen número de etiquetas y atributos que indicaban cómo se diseñaba el texto: qué tipo de letra, tamaño, color, márgenes, etc…

Con XHTML se desligó la función semántica del lenguaje (dime qué quieres hacer) de los detalles de presentación (cómo quieres verlo). Para eso recurrió a un artilugio denominado hojas de estilo, las cuales se ocupaban de todos los aspectos concretos de visualización.

Como consecuencia XHTML realizó una purga y nombró como obsoletas aquellas etiquetas o atributos que se ocupaban de cuestiones de diseño, pues entendía que todo eso era función de las hojas de estilo. Un ejemplo, entre muchos, es la etiqueta <font>, que se ocupaba de definir el tipo de letra a utilizar.

¿Qué tiene que ver todo esto con las listas anidadas, preguntarás?

Pues bien, antes de que llegase el XHTML escricto, existía un atributo en las etiquetas <ol> y <ul> que permitía definir el tipo de numeración o bolo si no queríamos utilizar los que el navegador proponía por defecto.

XHTML estricto considera que esos atributos están obsoletos, pues insiste en que todos los aspectos de diseño deben realizarse a través de las hojas de estilo.

Pero, a pesar de que estén obsoletos, aún siguen estando activos y te explicaré cómo hacerlo a la antigua usanza hasta que empecemos los artículos de CSS (Cascading Style Sheets), las hojas de estilo con las que resolveremos todas las consideraciones de presentación y diseño de HTML.

¿Recuerdas qué era la famosa etiqueta DOCTYPE que aparece al comienzo de cada página? Compara la del primer ejemplo con la del segundo. Se trata de una DTD (definición de tipo de documento) que indica al navegador, último responsable de la presentación de la página, a qué conjunto de normas se adhiere la página.

El primer ejemplo está usando XHTML estricto con todo lo que eso implica, entre lo que está no usar ni etiquetas ni atributos obsoletos (deprecated).

El segundo usa una versión más relajada denominada Transitional, que en su día se empleó para dar tiempo a los navegadores a que poco a poco fueran migrando a XHTML puro. El XHTML transicional tiene el rigor sintáctico del XHTML, como el cierre de todas las etiquetas y su escritura en minúsculas, pero permite el uso de estas etiquetas obsoletas.

Como he querido usar atributos obsoletos para especificar cómo numeraré las listas ordenadas y qué bolos emplearé en las no ordenadas, en vez de emplear hojas de estilo CSS, he cambiado la DTD del segundo ejemplo a XHTML transicional. Fíjate bien en la primera línea.

Si no lo hubiese puesto podría obtener resultados imprevisibles según el navegador empleado.

Por lo general trabajaremos con XHTML estricto o con HTML5 (la nueva gran revolución) en esta serie, pero resulta interesante también conocer el modo clásico de proceder.

Observa el código fuente del segundo ejemplo y se desvelará el misterio. Con el atributo type dentro de las etiquetas <ol> y <ul> indicamos cómo será la numeración o el bolo:

– orden con letras mayúsculas: type=»A»
– con letras minúsculas: type=»a»
– con números romanos en mayúsculas: type=»I»
– con números romanos en minúsculas: type=»i»
– y, naturalmente, con números arábigos, type=»1″, que no es necesario indicar, pues es el valor por defecto.

Por ejemplo, para una numeración por letras minúsculas, la etiqueta sería:

<ol type="a"> ... </ol>

Con las listas no ordenadas tenemos las siguientes opciones:

– bolo cuadrado: type=»square»
– bolo con punto negro: type=»disc»
– bolo con punto en blanco: type=»circle»

Por ejemplo:

<ul type="disc"> ... </ul>

Es interesante que aprendas esto. Pero pronto te haré desaprenderlo cuando nos metamos en profundidad en el apasionante mundo de las CSS.

Javier Montero


Listas anidadas en HTML – 2 de 2


El texto de este artículo se encuentra sometido a una licencia Creative Commons del tipo CC-BY-NC-ND (reconocimiento, no comercial, sin obra derivada, 3.0 unported)


El Club del Autodidacta

mIRC – Capítulo 15: Mensaje en una botella

En el capítulo 10 de esta serie expliqué cómo utilizar el comando /query para mantener conversaciones privadas. Voy a presentar en este artículo el comando /msg, más general que el anterior y que, entre otras cosas, también puede utilizarse para lo mismo.

Supongamos que el usuario plutonio quiere iniciar una conversación privada con sostenuto. Puede realizar esto de varias maneras empleando comandos:

/query sostenuto ¿Qué tal estás?

/msg sostenuto ¿Qué tal estás?

En ambos casos, sostenuto se da cuenta de que alguien le ha enviado un mensaje, pues lo puede ver tanto en la Switchbar como en la Treebar.

La Switchbar está en la parte superior, justo debajo de la barra de herramientas. Con ella podemos conmutar fácilmente entre todas las ventanas que tengamos abiertas. La Treebar es la barra de navegación que aparece a la izquierda. Ambas pueden ser activadas o desactivadas a través del menú View.

La diferencia entre /query y /msg es que el primero hace que a plutonio, que es quien inicia la conversación, se le abra ya directamente la ventana de chat y se le muestre en primer plano. Es decir, se supone que va a seguir hablando a través de ella. Con /msg esto no sucede: el mensaje se envía a su destino, pero todo lo que plutonio ve es, en la ventana de Status:

*sostenuto* ¿Qué tal estás?

indicando que ese texto ha sido enviado con éxito a sostenuto.

Sólo después de que sostenuto le conteste (si quiere) le aparecerían las señales en la Switchbar y en la Treebar que le permitirían abrir la ventana de la conversación.

El comando /msg tiene otro uso importante, y es que, además de enviar mensajes a usuarios puede enviarlos también a un canal.

Observa a sostenuto mosqueado porque está hablando plutonio en el canal sin ser miembro de él:

Fíjate en la lista de miembros del canal: plutonio no está en ella y, sin embargo, está escribiendo allí.

Para hacer esto, plutonio recurre nuevamente al comando /msg, pero esta vez dirigido contra el canal en vez de contra el usuario:

/msg #probilandia Muy buenas...
/msg #probilandia Soy el fantasma del IRC

El no ve lo que sucede en el canal, obviamente, pues no está en él. Todo lo que tiene son las trazas en la ventana de Status indicando que el comando ha sido realizado con éxito:

*#probilandia* Muy buenas...
*#probilandia* Soy el fantasma del IRC

Que alguien pueda a enviar mensajes desde el exterior a un canal puede llegar a ser un auténtico engorro, pues esa persona no está participando en la conversación. Imagínate, por ejemplo, que se dedica a lanzar mensajes de spam.

¿No hay nada que pueda hacer el operator para evitar que esto suceda en su canal?

Afortunadamente, sostenuto se ha leido este artículo y ejecuta el siguiente comando:

/mode #probilandia +n

¡Otro de los modos del canal! Recuerda la entrega anterior, allí expliqué cómo usar el modificador +t para que sólo los operators de un canal pudieran modificar el topic.

El modificador +n evita la recepción de mensajes externos al canal. Si quisiéramos desactivar esta protección utilizaríamos el mismo comando, pero con el modificador -n.

Si quieres, puedes entrar en Channel Central haciendo doble clic sobre un punto del área de chat y ver cómo el nuevo modo ha sido activado:

En un mismo comando se pueden activar varios modos al mismo tiempo. Así pues, si queremos evitar la recepción de mensajes externos y, a su vez, impedir la modificación del topic, podemos lanzar el siguiente comando:

/mode #probilandia +nt

Una vez hemos activado el modificador +n, el chasco que se lleva plutonio es tremendo. Si ahora hace

/msg #probilandia Voy a seguir incordiando un rato

se queda frustrado, pues recibe, en su ventana de Status, la siguiente traza:

#probilandia Cannot send to channel - No se puede enviar texto al canal

Su gozo en un pozo.

/msg #lectores_del_blog Hasta la próxima amigos...

Javier Montero


mIRC – Capítulo 15: Mensaje en una botella


El texto de este artículo se encuentra sometido a una licencia Creative Commons del tipo CC-BY-NC-ND (reconocimiento, no comercial, sin obra derivada, 3.0 unported)


El Club del Autodidacta

Python – Capítulo 24: Introducción a las funciones

Ha llegado el momento de dar una primera capa a las funciones, concepto clave sobre el que se asienta la modularidad de cualquier lenguaje de programación.

Las funciones nos permiten reutilizar código. Por ejemplo, suponte que tienes que calcular la media aritmética de un conjunto de números. Ya sabes que la media es igual a lo que suman estos números dividido entre el total de estos.

Podrías escribir una expresión numérica que realizase este cálculo. Es posible, incluso, que tuvieras que gestionar un bucle si no conoces de antemano el número de elementos.

En cualquier caso, es un problema sencillo. Pero, ¿y si tuvieras que realizar la operación más veces con diversos conjuntos de números? ¿Volverías a copiar y pegar todo el código cada vez que necesitaras repetir el cálculo?

Gracias a las funciones es suficiente con que escribas el código una única vez. Cada vez que necesites calcular tu media aritmética bastará con que invoques a la función facilitándole, en cada ocasión, como argumentos, el conjunto de números sobre el que efectuarás la operación.

Python trae consigo una biblioteca repleta de funciones predefinidas que ya están inmediatamente a tu disposición. Ya conoces algunas de ellas.

Por ejemplo, la función print() toma como argumento una cadena de texto y realiza una tarea muy concreta: mostrarla en pantalla.

>>> print('Esta es la función print')
Esta es la función print

¿Y qué me dices de la función len(), que nos devolvía la longitud de una cadena de texto?

Fíjate en que he empleado el verbo devolver. La función len() es un ejemplo de función que nos devuelve un valor numérico. Como devuelve un valor, la función puede formar parte de una expresión numérica:

>>> longitud = len('Devuelve la longitud de esta cadena')
>>> longitud
35

A lo largo de esta serie de artículos te mostraré muchas funciones de la biblioteca de Python con las que irás aumentando tu repertorio de recursos, pero ahora de lo que se trata es que aprendas a crear las tuyas propias.

Y vamos a empezar por lo más básico: una simple función que realice una acción determinada. No admitirá parámetros ni devolverá valor alguno; simplemente realizará una acción concreta.

Veamos su definición en el siguiente fragmento de código:

def praderazo():
    print('+'*42)
    print('+ La casa de la pradera, pedazo serie... +')
    print('+'*42)

Lo primero que debes observar es que para definir una función empleamos la palabra reservada def. No podría ser otra, claro…

A continuación de def figura el nombre que le damos a la función. Los distintos argumentos que aceptaría se incluirían entre los paréntesis. En el ejemplo, la función praderazo() no acepta argumentos, por lo que los paréntesis están vaciós (pero deben figurar, aunque no contengan nada).

Tras los paréntesis tenemos los dos puntos que ya hemos visto en las estructuras de control if, while y for. Nos indican que lo que viene a continuación es el cuerpo de la función, su contenido propiamente dicho.

Todo el bloque de instrucciones que la función ejecuta aparece indentado. Como ya sabes, esta es la forma en la que Python reconoce que es un bloque y sabe dónde termina.

La función praderazo() ejecuta tres sentencias. La primera la he puesto para ilustrar una técnica curiosa de Python:

print('+'*42) provoca que se imprima en pantalla 42 veces el símbolo +. Observa qué uso tan interesante.

Es importante entender que el código de la función aún no produciría ninguna salida. Para que esto suceda, hay que invocarla, como si del genio de la lámpara se tratara.

La invoco con su nombre (y los argumentos si los hubiera, pero aquí no es el caso):

praderazo()

Esto provocaría la siguiente salida en pantalla:

++++++++++++++++++++++++++++++++++++++++++
+ La casa de la pradera, pedazo serie... +
++++++++++++++++++++++++++++++++++++++++++

Una regla importante de Python es que el código de definición de la función debe preceder al de la invocación. Es decir, nunca llames a una función que no haya sido definida previamente.

Ahora, en el programa, podrás invocar a la función cuantas veces desees. Cada vez que lo hagas se producirá la misma salida.

Quédate con esto por hoy. Ya sabes lo que es una función y este ejemplo te ha permitido conocer su sintaxis básica. En las próximas entregas seguiremos abundando en esto y empezaremos a jugar con argumentos.

praderazo()

++++++++++++++++++++++++++++++++++++++++++
+ La casa de la pradera, pedazo serie... +
++++++++++++++++++++++++++++++++++++++++++

Javier Montero


http://elclubdelautodidacta.es/wp/2011/11/python-capitulo-24-introduccion-a-las-funciones/


El texto de este artículo se encuentra sometido a una licencia Creative Commons del tipo CC-BY-NC-ND (reconocimiento, no comercial, sin obra derivada, 3.0 unported)


El Club del Autodidacta

Meta-artículos

Intercalaré, de cuando en cuando, meta-artículos explicando qué se trama entre bastidores. No son artículos propiamente dichos, en comparación a los demas textos del blog, sino artículos sobre los artículos, es decir, una serie de noticias breves centradas en el propio blog en sí más que en ninguna temática en concreto.

Están confeccionados utilizando una plantilla diferente al resto. En la página de inicio aparecen sin título y con un tamaño de fuente más pequeño.

En la barra lateral se puede acceder a un historial de los más recientes a través de la sección «Noticias breves».

Javier Montero

MuseScore #13: Tresillos para el salón

No, no hablaremos aquí de mobiliario, descuida.

Continuando con los conceptos básicos de introducción de notas, ha llegado el momento de aprender a escribir tresillos.

Me viene a la cabeza, por ejemplo, esta melodía:

Se trata del comienzo de The fool on the hill (el tonto de la colina), el famoso tema de The Beatles, en Do mayor.

El tresillo de corcheas del primer compás es muy fácil de escribir, como verás a continuación.

Lo primero que debes preguntarte es cuál es la duración del tresillo completo. Puesto que, en el ejemplo, estamos ante un tresillo de corcheas, su duración real es dos veces este valor, es decir una negra.

A continuación, selecciona en la barra de introducción de notas esta figura, la negra (o bien, como ya sabes, pulsa la tecla 5). Asegúrate de que está activado el modo de introducción y no el de selección (la letra N de la barra debe aparecer «pulsada»).

Una vez seleccionada la figura correspondiente a la duración total del tresillo, desplegamos el menú Notas | Grupos irregulares y elegimos el Tresillo. Fíjate que aparece también el atajo de teclado para realizar esto mismo, que es Control – 3.

Esto provoca que nos aparezca ya el esqueleto del tresillo, pero en silencios. Tan sólo falta que lo sobreescribamos con las notas adecuadas. Observa que en la barra se ha seleccionado ya automáticamente la figura de corchea. Si fuera necesario, podríamos cambiar ese valor (por ejemplo, para escribir un tresillo que agrupase una negra con una corchea).

En modo selección el funcionamiento es algo diferente. En este caso, al pulsar Ctrl – 3 se creará el tresillo, pero fragmentando la nota sobre la que está la selección. Por ejemplo, si tenemos seleccionada una nota blanca, se nos creará un tresillo de negras en su lugar. La primera nota del tresillo mantendrá la misma altura; las dos restantes serán silencios que podremos sobreescribir.

Sencillo el tresillo, ¿no?

Day after day, como diría el tresillo de la canción, vamos desentrañando MuseScore. Hasta la próxima.

Javier Montero


MuseScore #13: Tresillos para el salón


El texto de este artículo se encuentra sometido a una licencia Creative Commons del tipo CC-BY-NC-ND (reconocimiento, no comercial, sin obra derivada, 3.0 unported)


El Club del Autodidacta

Listas anidadas en HTML – 1 de 2

En los últimos artículos de esta serie mostramos los tres tipos básicos de listas en HTML: ordenadas, no ordenadas y de defición. Comprendidos estos conceptos, anidar listas será una tarea realmente sencilla.

Comencemos observando el aspecto de una lista anidada.

Date cuenta de que, en un primer nivel, nos encontramos con una lista ordenada. En un segundo aparecen distintas listas no ordenadas.

Veamos cómo diseñar el conjunto.

La forma de atacar una anidación de listas es partiendo desde fuera hacia dentro. Comenzamos esquematizando el primer nivel y a él le añadimos las listas de segundo nivel.

Antes de la lista ordenada de primer nivel nos encontramos con un simple encabezado que sirve de título:

<h2>Menú</h2>

Y comienza la fiesta:

Vamos a crear la estructura de la lista ordenada exterior, pero sin rellenar los campos con los distintos elementos. Esto ayudará a que no nos perdamos en las marañas.

<ol>
    <li>...</li>
    <li>...</li>
    <li>...</li>
</ol>

Se trata de una lista con tres elementos.

Como si de un vídeo de cocina se tratase, vamos preparando las listas no ordenadas de segundo nivel para cuando llegue el momento de agregarlas al sofrito:

Esta vez la detallaremos completas, pues no hay ningún nivel inferior:

La primera:

<ul>
    <li>Macarrones</li>
    <li>Gazpacho</li>
    <li>Judías pintas</li>
</ul

Esto no tiene ningún misterio: una simple lista sin ordenar con tres elementos.

La segunda:

<ul>
    <li>Pollo al ajillo</li>
    <li>Merluza frita</li>
</ul>

Y, finalmente, la última:

<ul>
    <li>Fruta</li>
    <li>Yogur</li>
    <li>Café</li>
</ul>

Hasta aquí todo es muy sencillo. Presta atención ahora, pues llega el momento crítico.

Vamos a analizar ahora los distintos elementos que componen la lista numerada de primer nivel.

Fíjate en el primer elemento (échale un vistazo nuevamente al fichero de ejemplo) y trata de responder a la siguiente pregunta:

¿De qué está compuesto el primer elemento?

La respuesta debe llegarte de un modo inmediato si comprendes que el primer elemento se compone de todo lo que hay entre el número 1 y el número 2.

Es decir, nos encontramos, en primer lugar, con un encabezado:

<h3>Primer plato</h3>

Puesto que para el título empleamos un h2, parece lógico utilizar aquí otro de menor jerarquía como un h3.

Después del encabezado, nos aparece la primera de las listas no ordenadas de segundo nivel que ya cocinamos hace un rato:

<ul>
    <li>Macarrones</li>
    <li>Gazpacho</li>
    <li>Judías pintas</li>
</ul

Por lo tanto, el primer elemento de la lista de primer nivel es, completo:

<h3>Primer plato</h3>
<ul>
    <li>Macarrones</li>
    <li>Gazpacho</li>
    <li>Judías pintas</li>
</ul>

Razonando del mismo modo, el segundo elemento de la lista de primer nivel se compone de todo lo que hay entre el 2 y el 3. Es decir:

<h3>Segundo plato</h3>
<ul>
    <li>Pollo al ajillo</li>
    <li>Merluza frita</li>
</ul>

Finalmente, el tercer elemento es:

<h3>Postre</h3>
<ul>
    <li>Fruta</li>
    <li>Yogur</li>
    <li>Café</li>
</ul>

Ya sólo falta el toque final. Volvemos al esqueleto de la lista de primer nivel y entre cada <li>…</li> insertamos cada una de las piezas.

He aquí nuestro resultado final:

<h2>Menú</h2>
<ol>
    <li>
        <h3>Primer plato</h3>
        <ul>
            <li>Macarrones</li>
            <li>Gazpacho</li>
            <li>Judías pintas</li>
       </ul>
    </li>
    <li>
        <h3>Segundo plato</h3>
        <ul>
        <li>Pollo al ajillo</li>
        <li>Merluza frita</li>
        </ul>
    </li>
    <li>
        <h3>Postre</h3>
        <ul>
            <li>Fruta</li>
            <li>Yogur</li>
            <li>Café</li>
        </ul>
    </li>
</ol>

Ya sabes que la indentación no es necesaria, pero ayuda a esclarecer la estructura del código.

Descárgate el código fuente haciendo clic con el botón derecho sobre el enlace del comienzo del artículo si quieres ver fichero el fichero completo.

Cuando hayas practicado esto un par de veces podrás escribir directamente el código con agilidad. Tómate, entre tanto, el tiempo que haga falta desglosando cada lista de fuera a dentro, tal como hemos hecho aquí.

En el próximo artículo presentaré un nuevo ejemplo, esta vez anidando listas ordenadas entre sí. Veremos las particularidades que tienen este tipo de estructuras.

Javier Montero


Artículos relacionados:

Creación de listas ordenadas en HTML
Listas no ordenadas en HTML
Listas de definición en HTML


Listas anidadas en HTML – 1 de 2


El texto de este artículo se encuentra sometido a una licencia Creative Commons del tipo CC-BY-NC-ND (reconocimiento, no comercial, sin obra derivada, 3.0 unported)


El Club del Autodidacta

BitBite English #27: as like as two peas

It’s been two months since our last BitBite. I hope it’s here to stay with us again.

La palabra inglesa like es, sin duda, gran conocida de todos. La usamos típicamente como verbo:

I don’t like mondays

o como preposición:

Fly like a bird

Su uso como adjetivo es algo más avanzado y es nuestro tema de hoy.

like; similar, parecido

El contrario es unlike; distinto, diferente

La frase del título ilustra este uso:

They are as like as two peas; son como dos gotas de agua

La traducción literal es son tan PARECIDOS como dos guisantes.

También dice as like as two peas in a pod. Pod es la vaina que recubre los guisantes.

Remember the good old school days when you studied Physics:

Like charges repel each other; unlike charges attract each other.

Las cargas del mismo signo se repelen, las de distinto se atraen.

¿Cómo no?

Javier Montero


http://elclubdelautodidacta.es/wp/2011/11/bitbite-english-27-as-like-as-two-peas/


El texto de este artículo se encuentra sometido a una licencia Creative Commons del tipo CC-BY-NC-ND (reconocimiento, no comercial, sin obra derivada, 3.0 unported)


El Club del Autodidacta

Maximiza tu productividad: tareas repetitivas y CheckPrad

Atendiendo a la recurrencia, podemos clasificar las tareas en dos tipos: ordinarias y repetitivas.

Las tareas ordinarias son aquellas de una sola aparición. Una vez las marcamos como completadas desaparecen de nuestro sistema de productividad. En cambio, las repetitivas renacen una y otra vez y están siempre presentes.

Las tareas recurrentes son extremadamente importantes. Son las que nos permiten acometer grandes proyectos, las que hacen que hablemos idiomas, toquemos un instrumento musical o nos mantengamos en forma física.

Simbolizan la constancia: un viaje largo comienza por un primer paso, seguido de otro y después otro.

Pese a su gran importancia, suelen ser el punto débil de la mayoría de los sistemas de gestión de tareas automatizados.

Voy a compartir contigo un método sencillo y manual que diseñé hace algunos años: CheckPrad (me gusta tanto estructurar que pongo nombre a casi todo).

Estoy seguro de que, si lo llevas a la práctica, lograrás avances importantes en cualquier campo en el que se requiera constancia y disciplina.

Comienza observando una hoja de tareas repetitivas de ejemplo.

CheckPrad se basa en ciclos de trabajo de 4 semanas exactamente. No es un mes. La unidad elemental de gestión es la semana y cada documento gestiona bloques de 4 semanas.

Esto no sólo facilita la reusabilidad de la plantilla, al no tener que volver a diseñarla cada ciclo, sino que, ante todo, está demostrada la eficacia de una gestión organizada en bloques semanales.

Observa como el rango de fechas muestra cuatro semanas exactas de lunes a domingo.

La columna de la izquierda registra las tareas periódicas en todos nuestros campos de actividad. La columna de la derecha muestra cuatro bloques de siete cuadros simbolizando los siete días de la semana.

Junto al nombre de la tarea aparece una información adicional referente a la periodicidad deseada. Su significado habla casi por sí solo. Algunos ejemplos:

1-semana: realizar la actividad exactamente un día a la semana (sin especificar cuál)
3-semana min: tres días a la semana como mínimo
diaria: todos los días
ALT: días alternos, uno sí y otro no
1-FS: un día cualquiera del fin de semana
3-LXV: lunes, miércoles y viernes (es decir, 3 días)
2-LXV: 2 días a elegir entre el lunes, miércoles y viernes
5-LaV: los cinco días de lunes a viernes
2-LaV: 3 días a elegir de lunes a viernes
3-LaV min: mínimo tres días, de lunes a viernes

Cada vez que realizamos una tarea, marcamos la casilla correspondiente del día y semana en el que estemos. Nuestro objetivo es cumplir con la periodicidad prevista.

Es crítico que nos comprometamos con todo lo que escribamos en la lista. Si no tenemos claro si somos capaces de realizar el planning previsto, es mejor plantear una periodicidad menor o, incluso, ni siquiera registrar la tarea en la lista.

Todo lo que aparezca en la lista debe ser sagrado. Es preferible comenzar con muy pocas tareas y sólo después de estar seguros y comprometidos para asumir otras, añadamos más a nuestro planning.

Las tareas nuevas pueden agregarse en cualquier punto del ciclo, no necesariamente al comienzo de cada bloque de 4 semanas. Eso sí, su contabilización rigurosa comenzará la semana siguiente si la hemos añadido en mitad de una ya empezada.

Adjunto una plantilla en blanco para que comiences a agregar tus tareas repetitivas y marques con orgullo cada casilla que cumplas lo previsto. Imprime todas las hojas necesarias si necesitas más de una. Para toda la gestión de añadir y marcar tareas realizadas no te hará falta más que un lapicero.

Puedes destacar con un rotulador fluorescente cada semana que hayas completado con éxito. Permítete el placer de disfrutar de tu triunfo paso a paso.

Cada ciclo de cuatro meses actualiza tus tareas en un documento nuevo, eliminando las obsoletas y redefiniendo su periodicidad, en caso de que sea necesario.

El método es absolutamente poderoso. Haz un balance de tu nueva situación y de todos tus logros cada cuatro semanas. Te resultará increíble lo lejos que se puede llegar cuando se es constante dando un paso tras otro.

Pero vuelvo a repetírtelo para que se te quede grabado en fuego: ve de menos a más, conforme mejore tu capacidad de compromiso. Porque todo lo que escribas en esa lista debe ir a misa y debes comprometer lo mejor de ti mismo para que todo lo que figure en ella se cumpla.

Para los gurús de la productividad las listas de tareas son una forma de vida. Siembra, cuida de tu cosecha día a día. Te garantizo que los resultados serán sorprendentes.

Javier Montero


Maximiza tu productividad: tareas repetitivas y CheckPrad


El texto de este artículo se encuentra sometido a una licencia Creative Commons del tipo CC-BY-NC-ND (reconocimiento, no comercial, sin obra derivada, 3.0 unported)


El Club del Autodidacta

Nuevo índice por fechas

Conforme va creciendo el número de artículos, se hace más necesaria la creación de índices que faciliten la localización rápida de la información.

Tengo varias ideas en mente, incluyendo mapas temáticos especializados que sirvan de guía a la hora de estudiar una determinada sección, ofreciendo una secuencia de lectura sugerida.

Por el momento, he incluido un índice que no podía faltar: todos los artículos, ordenados por fechas y agrupados por meses. Es como el que ya aparece en la barra lateral, en la sección Archivos, pero con la gran diferencia de que se muestra el nombre completo de cada artículo.

Podéis echarle un vistazo accediendo al menú que hay en la parte superior de la página.

Javier Montero

mIRC – Capítulo 14: No me toques el topic, por favor

Has creado tu canal en el IRC y eres operator de él. ¿Eres consciente de la enorme responsabilidad que eso conlleva? Eres el anfitrion y debes asegurarte de que tus visitantes se sientan a gusto y deseen volver otra vez.

Dependiendo de la razón por la que creaste el canal tus labores seran de una índole u otra. Quizás desees moderar un debate y controlar el orden en el que los participantes reciben el turno para hablar. O puede que tu canal sea privado y quieres que sólo determinadas personas puedan acceder a él. O tal vez sea simplemente un canal de diversión al que todo el mundo puede entrar pero, aún así, debes cuidar de que ningún usuario malintencionado sabotee el canal y estropee la experiencia al resto de la comunidad.

En cualquier caso, eres el operator y debes comportarte como tal. Es lo que los demás esperan de ti.

Hoy ya no eres un simple usuario del chat. Prepárate a ejercer tu poder…

Conéctate al IRC y crea tu propio canal. Por ejemplo:

/join #estratosfera

Como el canal no existía, eres su primer miembro y, por lo tanto, el operator. Observa la @ delante de tu nick. Es la señal que reconoce quién parte la pana en el canal.

Tu casa está vacía y tienes que empezar a decorarla un poco. Lo primero es dar una pista a los usuarios sobre lo que versa el canal, por si no queda lo suficientemente claro simplemente con su nombre. O quizás deseas facilitar algún tipo de información complementaria.

Ese texto informativo es lo que se conoce como el topic. Aparece como título en la ventana del canal.

Ya sabes cómo establecer un topic. Lo explicamos hace algunos capítulos:

/topic #estratosfera Canal para los que vuelan muy alto

Observa como ese texto se instala en la parte superior de la ventana.

Una frase profunda, ¿verdad?

Pero, ¿sabes que cualquier usuario puede modificarla a su antojo, sea operator o no? No te haría gracia, ¿verdad?

Tu siguiente misión como administrator del canal va a ser evitar que nadie que no esté autorizado pueda modificar el topic.

El comando básico de administración de un canal es /mode, con el que se establecen los distintos modos de operación.

Para hacer que sólo tú u otros operadores del canal puedan cambiar el topic, dispones del comando

/mode #estratosfera +t

Si ahora otro usuario intentara cambiar el topic recibiría un desagradable mensaje indicando que no es channel operator y que no tiene los privilegios suficientes para hacerlo.

Quizás te preguntes: «¿pero cómo, puede haber más operators en mi canal, además de mí?

Desde luego que sí. Tú, como rey del canal, puedes nombrar a otros operators de confianza para que te asistan en la administración. Además, así, si por algún motivo tienes que abandonar el canal, siempre quedará otro operator que vele para que no se convierta en una ciudad sin ley.

En el capítulo anterior te presenté Channel Central. Con una interfaz gráfica puedes realizar muchas de las labores de administración sin necesidad de saber comandos.

Entra en Channel Central haciendo doble clic en cualquier parte de la zona de chat del canal. Observa el efecto del comando que acabas de lanzar: hay una marca en la casilla Only ops set topic, sólo los operadores pueden cambiar el topic.

Si puedo hacerlo desde Channel Central, ¿por qué molestarme en aprender los comandos?, te preguntarás. Porque quieres ser más que un normal operator de canal. Quieres hacer magia en él y para ello necesitas los comandos, las piezas con las que se programan los scripts.

El comando para desactivar el modo recién configurado es evidente:

/mode #estratosfera -t

Vuelve a entrar en Channel Central y verifica su efecto. La marca ha desaparecido y, sin ella, cualquier usuario puede modificar el topic de tu canal.

Por ejemplo, ahora llego yo y hago:

/topic #estratosfera Colorín, colorado, este cuento se ha acabado

Javier Montero


http://elclubdelautodidacta.es/wp/2011/11/mirc-capitulo-14-no-me-toques-el-topic-por-favor/


El texto de este artículo se encuentra sometido a una licencia Creative Commons del tipo CC-BY-NC-ND (reconocimiento, no comercial, sin obra derivada, 3.0 unported)


El Club del Autodidacta

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies