mIRC – Capítulo 1: Introducción

Objetivo: Presentación de la serie de artículos dedicada al programa clásico de chat mIRC.

El protocolo de chat por excelencia en la red y el más veterano es el IRC (Internet Relay Chat), que ya existía mucho antes del auge de los programas de mensajería instantánea. Hoy día, pese a ser un gran desconocido para las nuevas generaciones de internautas, absortas bajo el influjo del messenger y las redes sociales, continúa siendo el mecanismo de chat más potente, flexible y libre de internet.

El protocolo se estructura en redes. Una red no es más que un conjunto de servidores IRC interconectados entre sí. Cuando un cliente se conecta a uno de estos servidores, tiene la capacidad de interactuar con cualquier otro cliente de la red a la que pertenece el servidor.

Ejemplos de redes IRC son Undernet, DALnet o Freenode, entre muchas otras. En España, desde hace muchos años, se ha popularizado la red IRC-Hispano.

Un cliente puede conectarse a la red que desee (salvo que sea una red privada).

Existen clientes IRC para todos los sistemas operativos. IRC es un protocolo, y cualquier programa que cumpla con la especificación puede ser empleado para conectarse a los servidores y chatear.

Mi favorito, en el mundo Windows, siempre ha sido mIRC, objeto de esta serie, una delicia de programa creada por Khaled Mardam-Bey que ha cautivado a miles y miles de usuarios.

Lo que siempre me ha atraído de este programa es que es mucho más que un simple cliente IRC. Posee un elaborado lenguaje de programación de scripts que hace que la experiencia de chatear sea algo mágico, fascinante y tremendamente adictivo.

No voy a explicar ahora en qué consiste esa magia; si te interesa el tema deberás descubrirla a su debido momento.

En este curso comenzaremos tratando los aspectos básicos que nos permitirán manejarnos con soltura en el uso de los canales de chat y en la interacción con otros usuarios. Una vez dominados, comenzaremos a dar vida a nuestros chats con la programación de scripts mIRC.

Lo primero que hay que hacer es bajar el programa (que ya ha sido descargado más de 35 millones de veces) del sitio oficial.

mIRC es un programa shareware. Quiere decir que si, tras un determinado período de pruebas, decidimos seguir haciendo uso de él, deberíamos pensar en adquirirlo.

Disponemos de 30 días para evaluar mIRC. Transcurrido ese tiempo el programa seguirá funcionando completamente, con la única limitación de que nos recordará que nos registremos cada vez que lo arranquemos.

No obstante, pese a que el programa funcionará al cien por cien aunque no lo compremos, recomiendo su adquisición como agradecimiento al autor, que ha dedicado (y sigue dedicando) tantos años de su vida a su mantenimiento.

Si el programa termina resultándote útil, considera comprarlo. Cuesta 20 dólares que pueden ser pagados de muchas formas. La licencia es de por vida, valedera para cualquier versión futura y permite su instalación hasta en tres equipos.

Yo soy usuario legítimo desde hace ya más de quince años.

Javier Montero Gabarró


Fecha de la última revisión: 27 de octubre de 2012


mIRC – Capítulo 1: Introducció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


Índice completo de artículos de la categoría mIRC.

LaTeX – Capítulo 2: El primer documento

Objetivo: generar un primer documento en LaTeX y conocer el entorno.

Uno de los grandes momentos para un programador, cuando afronta el aprendizaje de un nuevo lenguaje, es la creación del obligado Hola, mundo, programa con el que comienza con paso firme su andadura en él.

Y es que realmente no es poca cosa: con ese sencillo Hola, mundo aprendemos a editar, compilar y ejecutar un programa.

Pero no sirve leerlo en un libro. Es un proceso que hay que «picarlo», experimentarlo, sentirlo, comprobar que lo que aparece escrito se corresponde con la realidad esperada. Eso es construir experiencia.

Cuando obtenemos el resultado, nos vemos ya, en cierta medida, como programadores. Por supuesto que aún nos faltarán algunas técnicas por aprender más, pero hemos programado, por lo que, legítimamente, ¡ya somos programadores!

Vamos a bautizarnos formalmente hoy en \LaTeX ejecutando nuestro Hola mundo particular.

Usa tu distribución favorita. En particular, la sesión de hoy la he generado utilizando MikTeX para Windows, a través del universal TeXworks. Con él he escrito el código, lo he compilado y he visualizado el resultado.

Estrictamente, un término más adecuado que compilación sería establecimiento de tipos (typesetting), pero me gusta el primero por su analogía con los lenguajes de programación.

Escribe, cuidadosamente, las cuatro siguientes líneas:

\documentclass{article}
\begin{document}
La casa de la pradera era una serie de TV la mar de entretenida...
\end{document}

Guarda el fichero y ponle nombre. Observa la extensión .tex que caracteriza a los archivos de código \LaTeX.

Para compilarlo en TeXworks basta con pulsar la flecha que aparece en la parte superior izquierda. Asegúrate de elegir el compilador adecuado, en este caso pdfLaTeX, para que nos genere un fichero PDF.

TeXworks se ocupa de todos los trámites que hay en el proceso de la compilación, invocando entre bastidores los procesos necesarios. Para nosotros es algo tan sencillo como pulsar ese botón, sin necesidad de preocuparnos de nada más.

Durante la compilación se nos abre un nuevo papel, el de salida, que nos muestra detalles de todo lo que está sucediendo. Si no han ocurrido errores, nos aparecerá a la derecha una visualización del documento generado.

Fijémonos en los comandos que han producido ese resultado final:

\documentclass{article}

Observa, en primer lugar, que los comandos \LaTeXcomienzan con la barra invertida, el backslash.

Entre llaves encontramos los argumentos que le pasamos al comando. En este caso, \documentclass, con el parámetro {article} nos indica que vamos a generar un documento que se va a tratar de un artículo.

El cuerpo del documento aparece construido entre los comandos \begin{document} y \end{document}

\begin{document}
La casa de la pradera era una serie de TV la mar de entretenida...
\end{document}

En la misma carpeta en la que hemos almacenado el fichero .tex encontraremos el resultado final tras la compilación o establecimiento de tipos.

Aquí puedes encontrar el fichero PDF generado, capitulo2.pdf, pero te recomiendo encarecidamente que vivas la experiencia por ti mismo si aún no te has bautizado en \LaTeX.

Puede parecer simple, pero me dan ganas hasta de encuadernarlo.

Sin duda te habrán surgido algunos interrogantes. Eso siempre es buena señal; poco a poco encontrarás las respuestas, pero lo verdaderamente importante de hoy es que has aprendido a generar un primer documento, y eso supone un gran paso.

Javier Montero Gabarró


Fecha de la última revisión: 17 de septiembre de 2012


LaTeX – Capítulo 2: El primer documento


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


Índice completo de artículos relacionados con \LaTeX.

Arrancando Knoppix en modo texto

Knoppix 6.4.4
Nivel: Intermedio

Los grandes gurús del Linux trabajan en modo texto.

Las aplicaciones más suculentas se lanzan en modo texto. Están programadas para cumplir exclusivamente con su función, sin la sobrecarga que implica su diseño para trabajar en un entorno gráfico.

Por mucho que la interfaz gráfica se esfuerce en facilitar las cosas al usuario, no se puede «entender» ningún sistema Linux si no se conocen sus entrañas a nivel de comandos y ficheros de configuración.

Knoppix, como cualquier otra distribución, está repleto de herramientas poderosas a nuestro alcance desde el modo texto.

Y, si vamos a hacer uso de ellas, ¿por qué molestarnos tan siquiera en lanzar el entorno gráfico?

¿Y si la máquina sobre la que queremos lanzar Knoppix está escasa de recursos y es incapaz de cargar el escritorio en condiciones?

Arrancar Knoppix en modo texto es muy sencillo, basta llevar la máquina a nivel de ejecución 2. Para ello, cuando nos aparece el prompt (boot:), durante el proceso de arranque, escribimos, antes de que continúe,

knoppix 2

o bien, si además deseamos que el teclado esté en español:

knoppix 2 lang=es

Así de simple.

Si cuando nos cansemos de trabajar con comanditos queremos lanzar desde ahí el entorno gráfico, nos basta con llevar la máquina al nivel de ejecución 5 con:

init 5

Y recuperaremos nuestro escritorio y sus ventanas.

¿Queremos desmontar el entorno gráfico y regresar al modo texto?

Abrimos una ventana con un terminal y escribimos:

init 2

para así devolver la máquina al runlevel 2.

Javier Montero

LaTeX – Capítulo 1: Introducción

Objetivo: presentar LaTeX, el siempre vivo programa de maquetación multiplataforma.

¿Cansado de dar formato a tus documentos con procesadores de texto WYSIWYG aburridos?

¿Harto de que la forma te distraiga durante el proceso de creación del fondo?

¿No dispones de grandes conocimientos de maquetación y aún así aspiras a crear documentos estructurados de un aspecto coherente y profesional?

¿Escribes habitualmente documentos técnicos y el editor de ecuaciones de Word te aburre soberanamente?

¿Quieres tener a tu alcance centenares y centenares de tipos que te permitan maquetar documentos casi de cualquier índole, incluidas tus partidas de ajedrez?

¿Te va la marcha como programador?

¿Apasionado de las herramientas de código abierto?

Si la respuesta a algunas de estas preguntas es sí, entonces necesitas \LaTeX y estás en el sitio adecuado para aprenderlo sin esfuerzo y en pequeños sorbos.

¿No has oído hablar de \LaTeX? Haz una búsqueda sencilla en Google y podrás ampliar la información.

Si capta tu atención lo suficiente necesitarás descargarte el compilador y las herramientas asociadas. Hay numerosas opciones gratuitas. Si trabajas en un entorno Windows te recomiendo, por ejemplo MiKTeX. En el mundo Linux, al cual está muy ligado \LaTeX, hay diversas posibilidades. Por ejemplo, el paquete Tex Live, de plataforma cruzada, que además tiene su versión para Windows, y es una excelente opción si trabajas a caballo entre los dos entornos habitualmente.

Elige el que más te guste, descárgalo e instálalo, que en breve empezaremos a crear documentos con elegancia.

Javier Montero Gabarró


Fecha de última modificación: 6 de septiembre de 2012


LaTeX – Capítulo 1: Introducció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


Índice completo de artículos relacionados con \LaTeX.

Corriendo mientras la ciudad despierta

Día histórico en mi trayectoria como corredor: a las 6:10 de la mañana ya estaba pateándome las calles de Sevilla.

La noche anterior dejé todo bien preparado. Creo que eso es importante: por un lado refuerza el compromiso para no echarme atrás a la mañana siguiente; por otro, es poco más que lavarme la cara, vestirme y salir a la calle, sin tener que perder tiempo buscando las cosas.

Rato antes de levantarme mi mente ya está esperando el momento. No en vano se trata de un acontecimiento nuevo e importante.

Pero el despertador no ha sonado aún, no tiene sentido esa inquietud, debería relajarme.

Me levanto, ha llegado el momento. Compruebo, atónito, que en la pared hay unas grietas y ronchones tremendos.

Me doy cuenta de que no es más que un sueño. Estoy soñando que me estoy levantando para irme a correr.

Algunos minutos antes de las seis, suena el despertador, el de verdad, y me incorporo. No hay grieta alguna en la pared.

A las 6:10 ya estoy corriendo. Temperatura anómala de 21 grados; siento hasta frío.

No hago más que comenzar y veo, justo delante de mí, a otro corredor que empieza su rutina de entrenamiento. Me decido a seguirlo, discretamente, a unos 30 metros por detrás. No tengo ninguna ruta prevista, así que por donde él tire estará bien.

Llegamos a la Barqueta y mi peculiar liebre sigue por Torneo bordeando el centro de la ciudad. Me pregunto si tiene en mente la vuelta completa a Sevilla.

No. Al rato veo que consulta el reloj e invierte el sentido de su marcha, para recorrer a la inversa el camino andado. Compruebo que estamos en el minuto quince. Está claro que tiene calculada su salida para correr un total de 30 minutos.

Yo bordearé todo el centro, algo que suele llevarme aproximadamente una hora.

En la calle Arjona, una avenida ancha, me he permitido el lujazo de correr directamente por mitad de la calzada. La calle completa para mí, no había un alma.

En algún momento, no recuerdo cuando, amaneció y las calles empezaron a cobrar vida.

Vuelta completa bordeando Sevilla, de puerta a puerta de mi casa. Le he dado bastante caña, relativamente hablando. No sé a qué velocidad habré rodado, pero he hecho en 50 minutos, con una FC media de 145 ppm, un trayecto que en un entrenamiento normal me habría llevado en torno a la hora.

Y una sensación de victoria muy peculiar, como en la mejor de mis populares.

Javier Montero

Python – Capítulo 9: Atrapado en el día de la marmota

Objetivo: presentar la sentencia break, que nos permite abandonar un bucle en cualquier momento.

En el capítulo anterior explicamos la estructura while, gracias a la cual podemos repetir en bucle un determinado conjunto de instrucciones.

El funcionamiento era sencillo: evaluábamos una determinada condición y, si era verdadera, ejecutábamos el bloque completo de instrucciones indentadas bajo la instrucción while. Una vez hecho esto, reevalúabamos la condición y, si esta volvía a ser cierta, repetíamos nuevamente el bloque. Así sucesivamente, finalizando el bucle en el momento en que la evaluación de la condición resultara falsa.

Es importante tener en cuenta que, si la condición es verdadera, el conjunto de instrucciones se ejecutará al completo. Todo, si se cumple; o nada, si no.

Pero, ¿y si deseamos abandonar bruscamente el bucle en cualquier momento, sin esperar a que se haya ejecutado el bloque completo o que la evaluación resulte falsa?

La sentencia break se ocupa de esto. Cuando se ejecuta, se sale completamente del bucle, sin esperar a su conclusión y sin repetir ninguna iteración más.

Observa el siguiente programa:

# coding=latin-1

mayor = 0

while True:
    numero = int(input('Introduce un número natural (0 para terminar): '))
    if numero == 0:
        break
    if numero > mayor:
        mayor = numero

print('El número más alto introducido es ', mayor)

Se nos pide que introduzcamos un conjunto de números naturales (es decir, enteros positivos) y se trata de determinar cuál es el mayor de todos ellos. Cuando no queramos introducir más números escribiremos el valor cero (ajeno al conjunto de los naturales), momento en el que el programa sabrá que ha llegado al final y deberá presentar el resultado.

Comencemos observando la sección con el bucle while:

while True:
    numero = int(input('Introduce un número natural (0 para terminar): '))
    if numero == 0:
        break
    if numero > mayor:
        mayor = numero

Lo primero que debe llamarnos la atención es la condición que hemos utilizado. No es una expresión lógica cualquiera.

Las expresiones lógicas dan como resultado dos posibles valores: True o False (la primera letra ha de escribirse con mayúsculas). Es decir, o son verdaderas o falsas.

La expresión True, tal como está en el bucle es siempre verdad. No hay verdad más verdadera que esa. Por lo tanto, su efecto va a ser provocar un bucle infinito, pues la condición siempre va a ser cierta en cada reevaluación. Estamos atrapados en un ciclo sin fin; ¿cómo podríamos escapar de él?

Analicemos con detalle lo que sucede dentro del bucle while:

numero = int(input('Introduce un número natural (0 para terminar): '))

Introducimos un número, lo convertimos a entero (recordemos que el resultado de input es un string, y no un número) y lo asignamos a la variable numero que, en la primera iteración, queda así inicializada (un término relacionado con la programación) con el valor que introduzcamos.

Prosigue el bucle con:

    if numero == 0:
        break
    if numero > mayor:
        mayor = numero

Si el número introducido, almacenado en numero, es cero, se ejecuta la sentencia break.

La sentencia break es drástica: abandona el bucle directamente, sin esperar a que se repita más veces y sin esperar tampoco a completar el resto de instrucciones pendientes del bloque.

Estamos ante un bucle controlado por centinela. A través de la variable numero, estamos atentos, vigilando cuándo se introduce un valor especial que nos hará salir del bucle. El centinela ha de ser un elemento ajeno al conjunto posible de valores susceptibles de ser procesados, por eso elegimos el cero. Habría servido también cualquier entero negativo.

Llegamos al corazón del algoritmo: si el número introducido (numero) es mayor que el que guarda la variable mayor, hacemos que ésta cambie de valor con ese otro número. De este modo nos aseguramos que mayor tenga siempre el mayor de los números que han ido entrando en escena.

Dijimos que todas las variables habían de ser inicializadas antes de poder utilizar su nombre. Por eso, justo antes de entrar en el bucle while nos encontramos la línea

mayor = 0

en la que inicializamos la variable mayor con el valor 0.

Si no hubiéramos hecho esto, el programa habría devuelto un error, al encontrar, dentro del bucle, una variable sin inicializar.

El bucle se repetirá una y otra vez hasta que introduzcamos un cero, valor que hemos elegido como centinela y que disparará la sentencia break.

Una vez hemos salido del bucle, se ejecuta la última instrucción del programa, que imprime el resultado buscado:

print('El número más alto introducido es ', mayor)

Almacena estas técnicas elementales en tu repertorio y no olvides la sentencia break, no sea que en tu radio un día suene la misma canción cada mañana a la misma hora.

Javier Montero Gabarró


Fecha de la última revisión: 29 de mayo de 2013


http://elclubdelautodidacta.es/wp/2011/07/python-capitulo-9-atrapado-en-el-dia-de-la-marmota/


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


Consulta el índice completo de artículos relacionados con Python.

Mejor Marca Personal (MMP)

Hoy he batido mi mejor marca personal. ¡Y con mucho!

¡He salido a correr a las 7:30 de la mañana! El record, lo tenía, creo recordar, alrededor de las nueve de la mañana, lo que significa que una mejoría de hora y media en mi MMP.

Con el añadido de que es sábado, un día que se supone que uno puede permitirse pasar más tiempo en la cama.

Y no es que acostumbre a salir de copas, pero los viernes suelo quedarme trabajando hasta bastante tarde. Y tampoco faltó el tiempo de lectura de «Vida y destino», el tocho que descansa en estos momentos sobre mi mesilla de noche.

Eso sí; antes de acostarme dejé preparada la ropa de correr, el GPS, la riñonera con las llaves y el DNI, la botella de agua, etc…

Algunas de las ventajas de salir a correr tan temprano son obvias: el termómetro marcaba, a las 7:30, tan solo 25 grados.

Me dirigí a la dársena, donde los pescadores más rezagados se afanaban en terminar de montar sus aparejos.

Las normas eran las mismas que perfilé en el último entreno: no sobrepasar las 149 ppm. Ocasionalmente, en alguna comprobación, me aparecían valores de 150 o algo superiores. En esos casos, disminuía sutilmente el ritmo de la marcha hasta que el valor volvía a asentarse en la 14ª decena.

Una hora exacta y algo más de nueve kilómetros recorridos. Entrenamiento suave, pero muy constructivo.

El termómetro, al finalizar, indicaba 26 grados.

Así, sí que se puede.

Javier Montero

Configuración de la red en Knoppix

Knoppix 6.4.4
Nivel: básico

Hemos localizado un ordenador «víctima» del que queremos «tomar prestados» sus recursos para lanzar Knoppix y tener a nuestro alcance su fabuloso kit de herramientas. Tal vez deseemos acceder a nuestro correo electrónico, transferir un fichero mediante ftp, analizar el tráfico en la red o, simplemente, leer un periódico en la web.

Para poder realizar cualquiera de estas tareas, nuestra máquina Knoppix ha de estar conectada a la red.

Configurar la red en Knoppix suele ser una tarea bastante sencilla. Mostraremos aquí cómo hacerlo en las situaciones más típicas:

a) estamos conectados a una red cableada en la que existe un servidor DHCP que nos facilitará automáticamente todos los datos de conexión.

b) tenemos al alcance una red Wi-Fi que está protegida por contraseña.

Insertamos el CD de Knoppix y arrancamos con él la máquina que generosamente nos presta su hardware. Cuando aparece el prompt, escribimos los parámetros adecuados para cargar el sistema en español, tal como explicamos en el anterior post. Esperamos a que el sistema esté disponible tras la carga del entorno gráfico.

La configuración de red de Knoppix se realiza a través de NetworkManager y su plugin para el entorno gráfico. NetworkManager se ha ganado su hueco en muchas distribuciones Linux por la facilidad con la que lleva a cabo la configuración de la red, con poca o incluso nula participación del usuario.

Esto último sucede, precisamente, si estamos conectados por cable a una red con DHCP. No necesitamos hacer nada. Observamos como el icono de conexión de red, el que muestra dos ordenadores, justo al lado del icono de volumen, abajo a la derecha, cambia para mostrarnos que está en la fase de «descubrimiento» de la red. A los pocos segundos nos indica que ya estamos conectados.

En el caso que deseemos conectarnos a una red inalámbrica próxima protegida por contraseña, el procedimiento es bastante simple:

Hacemos clic en el icono de conexión de red con el botón izquierdo. Se nos muestra una lista de las principales redes inalámbricas que han sido detectadas. Hacemos clic en aquella a la que queremos engancharnos.

Si la red está protegida por contraseña, se nos muestra una ventana que nos permite introducir la clave.

Una vez aceptada, nos aparece una última ventana referente a la creación de un depósito de claves para poder guardar encriptada esta contraseña para futuros usos.

Puesto que todo lo que hagamos dentro de Knoppix, cualquier fichero que modifiquemos (salvo que expresamente montemos como escritura el disco duro o dispositivo USB y accedamos a él) se va a perder en cuanto apaguemos la máquina, no tiene sentido normalmente usar el depósito de claves. Ignoramos el mensaje pulsando el botón Cancelar.

Ya tenemos nuestra máquina en la red. Probemos si somos capaces de navegar haciendo clic en el icono del navegador, localizado en el bloque de iconos de la izquierda.

Cuando nos cansemos de jugar, hacemos clic en el icono de Knoppix, el de la izquierda del todo, y abandonamos el sistema.

Retiramos el CD en cuanto nos lo pide.

Aquí no ha pasado nada.

Javier Monntero

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