#RetoLMT2016 (8/36) Libro (6/12): Gestión de Proyectos Scrum Manager

Scrum, a veces catalogado como metodología de desarrollo ágil y en otra bibliografía como marco de trabajo es uno de los procesos que más auge está teniendo en la actualidad, para el desarrollo de software por su sencillez y por ser muy intuitivo.

Ceñirse a lo estrictamente teórico va en detrimento de su propio potencial, ya que, de no existir Scrum, como metodología de desarrollo (o como marco de trabajo), algún otro le hubiera dado nombre.

Este libro, que además es de acceso libre (descárgalo aquí), es perfecto para tener una primera aproximación a Scrum, consta de dos partes, en la primera aprenderás la teoría, las reglas y la implementación (Scrum técnico); en la segunda parte aprenderás cómo romper esas reglas con el fin de optimizar todo tu proceso productivo (Scrum pragmático).

Note estimado(a) lector(a) que en el título del libro destaca “Gestión de proyectos”, el título no menciona “desarrollo de software” ni nada referente a programación. Particularmente considero que Scrum se adapta realmente a cualquier proyecto o meta que tengas en la vida, no necesariamente el desarrollo de software ágil, sólo haciendo pequeñas adaptaciones.

 

cerdo-gallina-scrum

¿Qué te pasó Ubuntu? #Reflexión

robot-ubuntuNota previa: Las palabras marcadas con un asterisco (*), están en un mini glosario de términos al final del artículo.

Siempre que se habla de Software Libre uno tiene dos opciones, o documentarte muy bien de lo que vas a hablar (como favor a la humanidad siempre que intentes hablar de algo deberías saber muy bien de lo que estás hablando) o bien advertir del carácter subjetivo de lo que vas a hablar, así poder expresar opiniones, pensamientos o sentimientos acerca de ese algo.

La comunidad de software libre tiende a ser muy crítica al momento de leer artículos y comentarios, ya que, detrás de lo meramente tecnológico existen dimensiones ideológicas y filosóficas, por eso, lo que diré a continuación se trata de una opinión de un “usuario no-avanzado” y muy personal de la distribución* Ubuntu.

He sido usuario Ubuntu por muchos años por su rendimiento, facilidad de uso y su compatibilidad con el Hardware, cuando comencé con esta distro* esos aspectos eran insuperables por ningún sistema de aquel momento (hace 10 años aproximadamente). Recuerdo especialmente los efectos que se lograban con algo llamado Compiz Fusion*, algo nunca visto hasta el momento, también los inmensos niveles de personalización que se podían lograr, pero cuando llegó Unity* la fatalidad para mi fue máxima, me pareció pesado, poco amigable y poco configurable, así que me pasé a Ubuntu Netbook Remix con LXDE, que mantenía la eficiencia que me gustaba, pero al final me cansé un poco tanto de XFCE* como de LXDE*, livianos si, pero sin ningún sabor como lo tenía el antiguo Gnome*, además nunca fui amigo de KDE*.

Recuerdo que era muy emocionante esperar la nueva versión de Ubuntu, ya que, de una versión a otra las mejoras eran notables y sorprendentes, pero desde la llegada de Unity por defecto en 2011, unido con la muerte de Gnome versión 2, hasta la última versión de 2014, a mi personalmente me ha parecido poca la mejora en la experiencia de usuario que ha tenido Ubuntu, mientras que la experiencia en máquinas de gama baja es cada vez peor. Por eso, desde aquellos años mozos hasta hoy sólo he usado Ubuntu con propósitos de desarrollo de software.

Desde hace mucho tiempo el objetivo principal de Ubuntu es la convergencia, es decir, el uso del mismo sistema operativo independientemente del dispositivo o tamaño de pantalla,  la introducción de Unity es un factor fundamental para lograr ese objetivo. Sin embargo esta podría ser una apuesta arriesgada. Dicen por allí que, el que mucho abarca poco aprieta, como muestra tenemos Windows 8, un sistema que son los pininos del mismo propósito en la gente de Microsoft: La convergencia. Pero resulta que para los usuarios de computadoras personales (de escritorio o laptops conencionales), Windows 8 no es un sistema amigable, de hecho, no conozco a nadie que prefiera Windows 8 a Windows 7 y es precisamente porque los factores de una buena usabilidad en tablets y smartphones son muy distintos a los de computadoras de escritorio y portátiles e incluso a las netbooks*.

Considero que la convergencia siempre implica un sacrificio. Para desarrollar para todos debes tienes dos opciones:

  • Hacer tu sistema igual para todos los dispositivos y decidir para cual dispositivo eres óptimo. Caso particular que Win8 sea un fastidio en computadoras personales, dado que los gestos* usados en dispositivos táctiles no siempre pueden ser imitados o no son “cómodos” usando un mouse (como arrastrar desde la derecha de la pantalla para que aparezca un menú). En este particular tengo una anécdota: un día instalé un juego en el que decía: “Toca la pantalla para continuar”. ¿Se entiende el chiste? 😀 La pantalla de una PC no es táctil  😀 Incluso haciendo clic o tocando alguna tecla no funcionaba, así que nunca pude jugar, sencillamente el juego era completamente incompatible. Al menos en otros sistemas las apps* que no son compatibles simplemente no se pueden instalar (recordar que muchas representan un gasto de dinero).
  • La otra opción es que el sistema se adapte al dispositivo y su modo de uso, pero la desventaja es que el sistema será más pesado y probablemente 50% del código nos será completamente inútil. En ese caso sería apropiado generar versiones para cada tipo de dispositivo (cero convergencia).

>#FLISoLve CCS 2010: FLISoL en FotosPersonalmente como usuario de escritorio y de computadoras de bajo rendimiento, cada día Ubuntu se me hace una opción menos viable, para mi es lamentable por la cantidad de años de uso y por el cariño que le tengo a la comunidad y al propio sistema, pero lamentablemente ya no soy parte del público objetivo de Ubuntu. Tocará buscar, e instalar algún otro sistema que sea funcional y muy fácil de usar (lo que más me gustaba de Ubuntu porque soy muy “usuario final”).

Mini-glosario de términos

Distribución / Distro: Adaptaciones del sistema operativo GNU/Linux para crear nuevos sistemas operativos.

Gnome, KDE, XFCE, LXDE, Unity: Son sistemas que permiten cambiar completamente la apariencia de una distribución GNU/Linux. Les llaman “Entornos de Escritorio”. Algunos programas están optimizados para trabajar en alguno(s) de esos entornos.

Compiz Fusion: Era (no se si aun existe) un sistema administrador de efectos gráficos, desde los más rimbombantes y divertidos, hasta los más sutiles.

Netbook: Laptops muy pequeñas, también llamadas minilaptops.

Gestos: Es el modo que interactuas con una pantalla táctil, ejemplo: arrastrar, pellizcar, girar la pantalla, sacudir el dispositivo, tocar con uno o más dedos, etc.

Apps: Aplicaciones que puedes descargar y usar en tu sistema operativo.

Configuración de un dispositivo CISCO (Visión general)

Al igual que una computadora personal, un router o switch no puede funcionar sin un sistema operativo. Sin un sistema operativo, el hardware no puede realizar ninguna función. El sistema operativo Internetwork (IOS) de Cisco es el software del sistema en dispositivos Cisco. Es la tecnología principal de Cisco y está presente en casi todos sus productos. El Cisco IOS se utiliza en la mayoría de los dispositivos Cisco, independientemente del tamaño o tipo de dispositivo. Se usa en routers, switches LAN, pequeños puntos de acceso inalámbricos, grandes routers con decenas de interfaces y muchos otros dispositivos.

El Cisco IOS provee a los dispositivos los siguientes servicios de red:

  • Funciones básicas de enrutamiento y conmutación.
  • Acceso seguro a recursos en red.
  • Escalabilidad de la red.

Los detalles operativos de IOS varían de acuerdo con los diferentes dispositivos de internetworking, según el propósito y el conjunto de características del dispositivo.

Por lo general, se tiene acceso a los servicios que proporciona el IOS de Cisco mediante una Interfaz de línea de comandos (CLI). Las funciones accesibles a través de la CLI varían según la versión de IOS y el tipo de dispositivo.

Métodos de acceso

Existen varias formas de acceder al entorno de la CLI. Los métodos más comunes son:

  • Consola
  • Telnet o SSH
  • Puerto auxiliar

 Interfaces-Router-CISCO

Los dispositivos de red dependen de dos tipos de software para su funcionamiento: el sistema operativo y la configuración. Al igual que el sistema operativo en cualquier equipo, el sistema operativo facilita la operación básica de los componentes de hardware del dispositivo.

Los archivos de configuración contienen los comandos del software IOS de Cisco utilizados para personalizar la funcionalidad de un dispositivo Cisco. Los comandos son analizados (traducidos y ejecutados) por el software IOS de Cisco cuando inicia el sistema (desde el archivo startup-config) o cuando se ingresan los comandos en la CLI mientras está en modo configuración.

El administrador de red crea una configuración que define la funcionalidad deseada del dispositivo Cisco.

Un dispositivo de red Cisco contiene dos archivos de configuración:

  • El archivo de configuración en ejecución, utilizado durante la operación actual del dispositivo.
  • El archivo de configuración de inicio, utilizado como la configuración de respaldo, se carga al iniciar el dispositivo.

También puede almacenarse un archivo de configuración en forma remota en un servidor a modo de respaldo.

El Cisco IOS está diseñado como un sistema operativo modal. El término modal describe un sistema en el que hay distintos modos de operación, cada uno con su propio dominio de operación. La CLI utiliza una estructura jerárquica para los modos.

En orden descendente, los principales modos son:

  • Modo de ejecución usuario
  • Modo de ejecución privilegiado
  • Modo de configuración global
  • Otros modos de configuración específicos

Cada modo se utiliza para cumplir determinadas tareas y tiene un conjunto específico de comandos que se encuentran disponibles cuando el modo está habilitado. Por ejemplo, para configurar una interfaz del router, el usuario debe ingresar al modo de configuración de interfaces. Todas las configuraciones que se ingresan en el modo de configuración de interfaz se aplican sólo a esa interfaz.

Cuando se usa la CLI, el modo se identifica mediante la petición de entrada de línea de comandos que es exclusiva de ese modo (también llamado prompt).

prompt-indicador-router-cisco-ios

En un artículo posterior veremos un listado de los comandos básicos para configurar un dispositivo Cisco.

#Enlace: Windows 93

En Internet se consiguen cosas locas y Windows 93. Un “sistema operativo” ejecutable en el navegador, joya del desarrollo web, pero una demencia total. Juegos, gatos, navegador, emulador de gameboy y otras herramientas que explorar están disponible en esta suerte de parodia funcional.

Windows-93

Enlace: www.windows93.net
Fuente: www.microsiervos.com

¿Qué es una computadora?

La vemos a diario, probablemente la usamos todos los días. Hablamos de ella casi a diario. Pero, si viene un niño y te pregunta ¿Qué es una computadora?

es-una-pregunta-muy-dificil

Una computadora es una máquina electrónica cuya función es ejecutar instrucciones, tan sencillo como eso (la naturaleza de esas instrucciones las veremos más adelante). Ahora, te preguntarás. Si una computadora se encarga de ejecutar instrucciones ¿En que se diferencia entonces de una calculadora (que realiza cálculos), un microondas (que calienta la comida en base a unos parámetros que le damos) o un ascensor (al que le decimos hacia donde debe ir)? La diferencia radica en EL PROPÓSITO.

computadora_homero_simpsonLa computadora es una máquina de propósitos generales, es decir, puede ser usada para crear documentos, jugar, navegar ver vídeos, comunicar, calcular, interconectar, entre otros usos menos comunes (como trabajar) 😉

Sin embargo, los límites de lo que es y lo que no es una computadora se han diluido un poco en los tiempos modernos… Celulares, relojes, tarjetas de crédito, tabletas, vehículos, televisores, cámaras fotográficas, cónsolas de videojuegos y muchos otros dispositivos “inteligentes” son también una computadora, ya que tienen los mismos componentes y en ocasiones las instrucciones que llevan a cabo a bajo nivel son las mismas.

Usualmente, al momento de describir una computadora se suele dividir en dos partes Hardware y Software.

Hardware: es todo aquello a lo que puedes golpear cuando estés molesto o algo no funcione. En otras palabras es todo lo físico, lo que se puede tocar.

hardware

Software: Es todo aquello que deja de existir sin un suministro eléctrico. Por ejemplo, un celular apagado sería todo hardware, pero desde el momento que lo encendemos comenzamos a interactuar son su software, así todos los programas y lo que hacemos en esos programas son software. Se podría decir que el software es el conjunto de instrucciones y datos que le dan funcionalidad al hardware.

gordo_friki_software_hardware La pieza de software más importante es el Sistema Operativo. Este es un conjunto de instrucciones y datos que le da una funcionalidad básica a la computadora, además sirve de capa intermedia para que otros programas (software), puedan ser desarrollados y usados en un hardware de manera más sencilla.

Por ejemplo, en el caso de los teléfonos inteligentes un posible sistema operativo sería Android. Android permite usar las capacidades del teléfono de manera básica, brinda un conjunto de “aplicaciones” (programas), que complementan sus capacidades, además ofrece la posibilidad de que programadores (personas que hacen programas), desarrollen nuevo software. Un ejemplo en computadoras personales serían Windows, GNU/Linux, o OS X.

sistemas-operativos

 

 

 

Guía de tamaños de imágenes en las redes sociales

Fuente: http://www.puntogeek.com/2015/01/12/guia-de-tamanos-de-las-imagenes-para-los-perfiles-de-las-redes-sociales-2015/

Capa Física OSI

La capa física de OSI proporciona los medios de transporte para los bits que conforman la trama de la capa de Enlace de datos a través de los medios de red. Esta capa acepta una trama completa desde la capa de Enlace de datos y lo codifica como una secuencia de señales que se transmiten en los medios locales. Un dispositivo final o un dispositivo intermedio recibe los bits codificados que componen una trama.

El envío de tramas a través de medios de transmisión requiere los siguientes elementos de la capa física:

  • Medios físicos y conectores asociados.
  • Una representación de los bits en los medios.
  • Codificación de los datos y de la información de control.
  • Sistema de circuitos del receptor y transmisor en los dispositivos de red.

El objetivo de la capa física es crear la señal óptica, eléctrica o de microondas que representa a los bits en cada trama. Luego, estas señales se envían por los medios una a la vez.

Otra función de la capa física es la de recuperar estas señales individuales desde los medios, restaurarlas para sus representaciones de bit y enviar los bits hacia la capa de Enlace de datos como una trama completa.

Existen tres tipos básicos de medios de red en los cuales se representan los datos (La presentación de los bits depende del tipo de medio):

  • Cable de cobre
  • Fibra
  • Inalámbrico

Cuando la capa física codifica los bits en señales para un medio específico, también debe distinguir dónde termina una trama y dónde se inicia la próxima. De lo contrario, los dispositivos de los medios no reconocerían cuándo se ha recibido exitosamente una trama. En tal caso, el dispositivo de destino sólo recibiría una secuencia de señales y no sería capaz de reconstruir la trama correctamente. Como se describió en el capítulo anterior, indicar el comienzo de la trama es a menudo una función de la capa de Enlace de datos. Sin embargo, en muchas tecnologías, la capa física puede agregar sus propias señales para indicar el comienzo y el final de la trama.

las tecnologías de la capa física se definen por diferentes organizaciones, tales como:

  • La Organización Internacional para la Estandarización (ISO)
  • El Instituto de Ingenieros Eléctricos y Electrónicos (IEEE)
  • El Instituto Nacional Estadounidense de Estándares (ANSI)
  • La Unión Internacional de Telecomunicaciones (ITU)
  • La Asociación de Industrias Electrónicas/Asociación de la Industria de las Telecomunicaciones (EIA/TIA)
  • Autoridades de las telecomunicaciones nacionales, como la Comisión Federal de Comunicaciones (FCC) en EE.UU.

Las tecnologías definidas por estas organizaciones incluyen cuatro áreas de estándares de la capa física:

  • Propiedades físicas y eléctricas de los medios
  • Propiedades mecánicas (materiales, dimensiones, diagrama de pines) de los conectores
  • Representación de los bits por medio de las señales (codificación)
  • Definición de las señales de la información de control

Las tres funciones esenciales de la capa física son:

  • Los componentes físicos: son los dispositivos electrónicos de hardware, medios y conectores que transmiten y transportan las señales para representar los bits.
  • Codificación de datos: método utilizado para convertir un stream de bits de datos en un código predefinido. Los códigos son grupos de bits utilizados para ofrecer un patrón predecible que pueda reconocer tanto el emisor como el receptor.
  • Señalización: método de representación de bits.

Los bits se representan en el medio al cambiar una o más de las siguientes características de una señal:

  • Amplitud
  • Frecuencia
  • Fase

amplitud-frecuencia-fase

Señalización NRZ

En NRZ, el stream de bits se transmite como una secuencia de valores de voltaje.

Un valor de bajo voltaje representa un 0 lógico y un valor de alto voltaje representa un 1 lógico. El intervalo de voltaje depende del estándar específico de capa física utilizado.

Este método simple de señalización sólo es adecuado para enlaces de datos de velocidad lenta. La señalización NRZ no utiliza el ancho de banda de manera eficiente y es susceptible a la interferencia electromagnética. Además, los límites entre bits individuales pueden perderse al transmitir en forma consecutiva secuencias largas de 1 ó 0. En dicho caso, no se detectan transiciones de voltaje en los medios. Por lo tanto, los nodos receptores no tienen una transición para utilizar al resincronizar tiempos de bit con el nodo transmisor.

Codificación Manchester

En el esquema de codificación Manchester, los valores de bit se representan como transiciones de voltaje, una transición desde un voltaje bajo a un voltaje alto representa un valor de bit de 1. Una transición desde un voltaje alto a un voltaje bajo representa un valor de bit de 0.

manchester

Un grupo de códigos es una secuencia consecutiva de bits de código que se interpretan y asignan como patrones de bits de datos. Por ejemplo, los bits de código 10101 pueden representar los bits de datos 0011.

Entre las ventajas de utilizar grupos de códigos se incluyen:

  • Reducción del nivel de error en los bits
  • Limitación de la energía efectiva transmitida a los medios
  • Ayuda para distinguir los bits de datos de los bits de control
  • Mejoras en la detección de errores en los medios

Fuente: Exploration: Aspectos básicos de networking (CISCO).

Capa de Red OSI

Los protocolos de la capa de Red del modelo OSI especifican el direccionamiento y los procesos que permiten que los datos de la capa de Transporte sean empaquetados y transportados. La encapsulación de la capa de Red permite que su contenido pase al destino dentro de una red o sobre otra red con una carga mínima.

La Capa de red o Capa 3 de OSI provee servicios para intercambiar secciones de datos individuales a través de la red entre dispositivos finales identificados. Para realizar este transporte de extremo a extremo la Capa 3 utiliza cuatro procesos básicos:

  • Direccionamiento.
  • Encapsulamiento.
  • Enrutamiento.
  • Desencapsulamiento.

 Los servicios de capa de Red implementados por el conjunto de protocolos TCP/IP son el Protocolo de Internet (IP). La versión 4 de IP (IPv4) es la versión de IP más ampliamente utilizada. Es el único protocolo de Capa 3 que se utiliza para llevar datos de usuario a través de Internet.

La versión 6 de IP (IPv6) está desarrollada y se implementa en algunas áreas. IPv6 operará junto con el IPv4 y puede reemplazarlo en el futuro. Los servicios provistos por IP, así como también la estructura y el contenido del encabezado de los paquetes están especificados tanto por el protocolo IPv4 como por el IPv6. Estos servicios y estructura de paquetes se usan para encapsular datagramas UDP o segmentos TCP para su recorrido a través de una internetwork.

El Protocolo de Internet fue diseñado como un protocolo con bajo costo. Provee sólo las funciones necesarias para enviar un paquete desde un origen a un destino a través de un sistema interconectado de redes. El protocolo no fue diseñado para rastrear ni administrar el flujo de paquetes. Estas funciones son realizadas por otros protocolos en otras capas. Características básicas de IPv4:

  • Sin conexión: No establece conexión antes de enviar los paquetes de datos.
  • Máximo esfuerzo (no confiable): No se usan encabezados para garantizar la entrega de paquetes.
  • Medios independientes: Operan independientemente del medio que lleva los datos. 

Existe, no obstante, una característica principal de los medios que la capa de Red considera: el tamaño máximo de la PDU que cada medio puede transportar. A esta característica se la denomina Unidad máxima de transmisión (MTU). Parte de la comunicación de control entre la capa de Enlace de datos y la capa de Red es establecer un tamaño máximo para el paquete. La capa de Enlace de datos pasa la MTU hacia arriba hasta la capa de Red. La capa de Red entonces determina de qué tamaño crear sus paquetes.

En algunos casos, un dispositivo intermediario, generalmente un router, necesitará separar un paquete cuando se lo envía desde un medio a otro medio con una MTU más pequeña. A este proceso se lo llama fragmentación de paquetes o fragmentación.

Encabezado del Paquete IPv4

Como se muestra en la figura, un protocolo IPv4 define muchos campos diferentes en el encabezado del paquete. Estos campos contienen valores binarios que los servicios IPv4 toman como referencia a medida que envían paquetes a través de la red.

campos-del-encabezado-ipv4

Dirección IP destino

El campo de Dirección IP destino contiene un valor binario de 32 bits que representa la dirección de host de capa de red de destino del paquete.

Dirección IP origen

El campo de Dirección IP origen contiene un valor binario de 32 bits que representa la dirección de host de capa de red de origen  del paquete.

Tiempo de vida

El tiempo de vida (TTL) es un valor binario de 8 bits que indica el tiempo remanente de “vida” del paquete. El valor TTL disminuye al menos en uno cada vez que el paquete es procesado por un router (es decir, en cada salto). Cuando el valor se vuelve cero, el router descarta o elimina el paquete y es eliminado del flujo de datos de la red.

Protocolo

Este valor binario de 8 bits indica el tipo de relleno de carga que el paquete traslada. El campo de protocolo permite a la Capa de red pasar los datos al protocolo apropiado de la capa superior. Ej: 01 ICMP, 06 TCP, 17 UDP.

Tipo de servicio

El campo de tipo de servicio contiene un valor binario de 8 bits que se usa para determinar la prioridad de cada paquete. Este valor permite aplicar un mecanismo de Calidad del Servicio (QoS) a paquetes de alta prioridad, como aquellos que llevan datos de voz en telefonía.

Desplazamiento de fragmentos

Como se mencionó antes, un router puede tener que fragmentar un paquete cuando lo envía desde un medio a otro medio que tiene una MTU más pequeña. Cuando se produce una fragmentación, el paquete IPv4 utiliza el campo Desplazamiento de fragmento y el señalizador MF en el encabezado IP para reconstruir el paquete cuando llega al host destino. El campo de desplazamiento del fragmento identifica el orden en el cual ubicar el fragmento del paquete en la reconstrucción.

Señalizador de Más fragmentos

El señalizador de Más fragmentos (MF) es un único bit en el campo del señalizador usado con el Desplazamiento de fragmentos para la fragmentación y reconstrucción de paquetes. Cuando está configurado el señalizador Más fragmentos, significa que no es el último fragmento de un paquete. Cuando un host receptor ve un paquete que llega con MF = 1, analiza el Desplazamiento de fragmentos para ver dónde ha de colocar este fragmento en el paquete reconstruido. Cuando un host receptor recibe una trama con el MF = 0 y un valor diferente a cero en el desplazamiento de fragmentos, coloca ese fragmento como la última parte del paquete reconstruido. Un paquete no fragmentado tiene toda la información de fragmentación cero (MF = 0, desplazamiento de fragmentos = 0).

Señalizador de No Fragmentar

El señalizador de No Fragmentar (DF) es un solo bit en el campo del señalizador que indica que no se permite la fragmentación del paquete. Si se establece el bit del señalizador No Fragmentar, entonces la fragmentación de este paquete NO está permitida. Si un router necesita fragmentar un paquete para permitir el paso hacia abajo hasta la capa de Enlace de datos pero pero el bit DF se establece en 1, entonces el router descartará este paquete.

Versión

Contiene el número IP de la versión (4 o 6).

Longitud del encabezado (IHL).

Especifica el tamaño del encabezado del paquete.

Longitud del Paquete

Este campo muestra el tamaño completo del paquete, incluyendo el encabezado y los datos, en bytes.

Identificación

Este campo es principalmente utilizado para identificar fragmentos de un paquete IP original.

Checksum del encabezado

El campo de checksum se utiliza para controlar errores del encabezado del paquete.

Opciones

Existen medidas para campos adicionales en el encabezdo IPv4 para proveer otros servicios pero éstos son rara vez utilizados.

División de redes

En lugar de tener todos los hosts conectados en cualquier parte a una vasta red global, es más práctico y manejable agrupar los hosts en redes específicas. Históricamente, las redes basadas en IP tienen su raíz como una red grande. Como esta red creció, también lo hicieron los temas relacionados con su crecimiento. Para aliviar estos problemas, la red grande fue separada en redes más pequeñas que fueron interconectadas. Estas redes más pequeñas generalmente se llaman subredes.

Red y subred son términos utilizados indistintamente para referirse a cualquier sistema de red hecho posible por los protocolos de comunicación comunes compartidos del modelo TCP/IP.

Fuente: Exploration: Aspectos básicos de networking (CISCO).

 

Cifrador de Vigènere

El cifrador de Vigènere es un criptosistema en el que se utiliza una clave C y una tabla llamada “Tabla de Vigenère” para cifrar y descifrar.

Para cifrar un mensaje se requiere una clave que sea tan larga como el mensaje. Esto se puede lograr repitiendo la clave. Por ejemplo, si se usa la clave radio y el texto emergencia, la clave sería:

clave (repetida): radioradio
Texto en claro: emergencia

Para cifrar tenemos que hacer una relación 1 a 1 entre los caracteres del mensaje y los de la clave.

Mensaje e m e r g e n c i a
Clave r a d i o r a d i o

Ahora se busca cada relación del dígito mi del mensaje con el dígito ci de la clave a fin de obtener el dígito ri del mensaje cifrado.

tabla_de_vigenere

Por ejemplo:

tabla_de_vigenere_1

Texto cifrado:VMHZUVNFQO

Para descifrar se usa el procedimiento que se ilustra a continuación.

tabla_de_vigenere_2

Texto descifrado:EMERGENCIA


Fuente: Vicenzo Mendillo.

Convertir Rápidamente Decimales a Binarios

Si tienes exámenes de redes o de arquitectura del computador, convertir decimales a binarios de manera rápida es muy importante.

Para el siguiente ejemplo, se usarán números que puedan ser representados en 8 bits, en representación natural, es decir, del 0 (0000 0000) al 255 (1111 1111).

El truco de todo está en la siguiente tabla:

27 26 25 24 23 22 21 20
128 64 32 16 8 4 2 1
_ _ _ _ _ _ _ _

Ahora lo que tienes que hacer es lo siguiente. Colocas un uno (1) en las casillas, de tal modo que la suma sea exactamente el número que deseas, por ejemplo, si quieres convertir el 129 a binario, colocas un uno (1) en las casillas 128 y en la 1, eso suma el 129; así que el número queda: 1000 0001.

Esto funciona para números que requieran pocas sumas, por ejemplo, 67, el cual, sería colocar un 1 en 64 y otros en el 1 y en el 2, lo que sumado sería: 64 + 2 + 1 = 67.

Pero veamos el 127. Cuando tenemos que el número está muy cerquita de una potencia de 2 por debajo (en el caso de 127 está uno por debajo de 128 que es 27), entonces esto producirá un número con un montón de bits en uno. Por ejemplo, el 127 sería 0111 1111, ya que al sumarle 1 sería 1000 0000 que es el valor de 128.

Ahora, supongamos que tengo el 123, lo que podemos hacer es escribir un 127 (que lo conocemos), 0111 1111, y apagamos bits de tal modo que al restárselo a 127 me de el número que quiero, por ejemplo si apagáramos el bit correspondiente al 4 (22), eso le quitará 4 al valor de 127, por ende el número quedaría 0111 1011 127 – 4 = 123, que es el número que estábamos buscando representar.

Ahora, si el número no está cercano a estos trucos, tenemos que construirlo con sumas y restas.

Veamos el 188, pregunto por los dígitos que se ajusten de mayor a menos.
¿188 está por encima de 128? Sí, lo pongo en 1 y le resto 128, 188-128=60.
El número va quedando 1??? ????
¿60 está por encima de 64? No, lo pongo en 0 y pregunto por el siguiente.
El número va quedando 10?? ????
(Note que hasta este punto podemos usar el truco de números que están por debajo cercano a una potencia de 2, no desaproveche estás ocasiones cuando quiera ahorrar tiempo, sin embargo seguiremos para ejemplificar el proceso “largo”).
¿60 está por encima de 32? Sí, lo pongo en 1 y le resto 32, 60-32=28.
El número va quedando 101? ????
¿28 está por encima de 16? Sí, lo pongo en 1 y le resto 16, 28-16=12.
El número va quedando 1011 ????
¿12 está por encima de 8? Sí, lo pongo en 1 y le resto 8, 12-8=4.
El número va quedando 1011 1???
¿4 está por encima de 4? ¡ES IGUAL!, lo pongo en 1 y todo lo demás en cero, ya que, no hay nada más que buscar.
Así que el número quedó 1011 1100.

Otra manera de verlo:
Imagina que tienes una deuda menor de 255 simoleones (§) supongamos §188 y sólo tienes 8 monedas, las monedas que tienes son:
– §128
– §64
– §32
– §16
– §8
– §4
– §2
– §1

Seleccionas las monedas que al sumar su valor den §188 (te aseguro que hay una sola combinación posible. También te aseguro que para todo valor entre §0 y §255 existe una y solo una combinación que suma la cantidad exacta que buscas.

Otro truco es que todo número binario que termine en 1, es impar, por consecuencia toda representación binaria de un número termina en 1. Y es algo lógico, el único bit que suma un valor impar es el último.

Mientras más practiques esto verás las cosas mucho más fáciles, tienes que practicar mucho si quieres ser rápido con esto.

Por: Héctor Guzmán.