backtotop

Categories: Opinión/ Tecnología

Principios de funcionamiento

Internet es la tecnología que mayor impacto ha tenido en la vida de la mayoría de los actuales adultos. Sin embargo, poca es la gente que en verdad entiende el principio de funcionamiento de esta red. Y es que una de las ventajas de Internet es que se pueda usar sin entender cómo funciona por dentro.

Mi experiencia es que la gente que lo entiende luego sabe cómo sacarle mayor provecho. Y eso es lo que pretendo que pase al escribir esto ahora.

Empecemos por lo más simple: Internet es una red de computadoras. Es la red más grande del mundo.Es una red diseñada para soportar sistemas distribuidos. Y hace falta ir explicando varias cosas de a pocos.

A nivel más básico una red permite que dos o más computadoras puedan intercambiar información.  Se podría simplificar un poco todo y pensar que cuando alguien hace uso de Internet su computador se está comunicando con otra computadora situada en alguna parte del mundo y que le está brindando algún tipo de servicio (Por ejemplo le está gestionando su correo electrónico o le está enviando una página web).

Como toda red, se compone de una serie de elementos:

  • Elementos físicos para conectarse: el hardware de la computadora del usuario y el de los elementos intermedios
  • Elementos lógicos para entenderse: los protocolos de software que permiten que las computadoras se puedan entender entre sí.

diag-red1

Una analogía sencilla para poder explicar la red de computadoras es pensar en el servicio de correo postal. Para poder enviar un paquete usando el correo hace falta que existan 3 elementos:

  • el paquete a enviar
  • la dirección del remitente (por si algo sale mal)
  • la dirección del destinatario (que tiene que ser única en el mundo)

Una red de datos de computadoras, como lo es Internet, funciona de esa manera. Cada computador se tiene que identificar de manera única (igual que una dirección postal) y existen elementos que transmiten los datos (el paquete a enviar) desde un origen hasta un destino. En el caso concreto de la red Internet, la manera de identificar un computador dentro de una red es por el número IP que usa su tarjeta de red. El valor de un número IP (algo como 192.168.1.1 por ejemplo) es único dentro de una red.

Si se piensa en una dirección postal se debe evaluar que toda dirección tiene una serie de jerarquías: país, departamento, provincia, distrito, calle, número. Por ejemplo: Av. Brasil 1500, Magdalena, Lima, Perú. Dentro del distrito de Magdalena no puede existir otra avenida que se llame Brasil, ni pueden existir dos casas en dicha avenida con el mismo número 1500. Pero podría ser que en otro distrito exista otra avenida que también se llame Brasil y que en dicha avenida exista otra casa con el número 1500. Sin embargo, no hay problema porque al estar en distritos diferentes no hay posibilidad de que se confundan las direcciones. De la misma manera el número IP de un computador tiene que ser único dentro de la red en la cual se encuentra. Pero existen muchas redes en el mundo (como si fueran distritos) y en cada red pueden existir computadores con el mismo número IP (como si fueran dos avenidas Brasil 1500 en diferentes distritos), sin embargo, existe la posibilidad de identificar de manera única a cada computador en cada red.

Se puede pensar que Internet es una colección de redes de computadoras, como el mundo entero es la colección de distritos que existen en cada país. Cada elemento que tiene acceso a Internet en un instante de tiempo, como un computador, una tablet o un teléfono moderno, posee una dirección única y es capaz de conectarse con cualquier otro computador o dispositivo que se encuentre en Internet al mismo tiempo.

Ahora, las personas no pensamos en direcciones cuando nos referimos a un lugar en particular. Decimos: “voy a la casa de la tía Cucha”, no decimos “voy a la Av. Brasil 1500, Magdalena, Lima, Perú”. De igual forma, por una cuestión de conveniencia, se inventó algo que se llama el servicio de nombres. Esto significa que se usa un nombre para un computador en lugar de estar usando su número IP. Es más fácil recordar www.yahoo.com que recordar 98.139.183.24. El servicio de nombres facilita a las personas que podamos recordar un nombre único de un computador de Internet, en lugar de estar recordando su número IP, lo que sería muy incómodo. Existe un reglamento acerca de como se usa el servicio de nombres y la idea es que cierto tipo de computadores que se encuentren conectados a Internet siempre usen el servicio de nombres. Estos computadores son los servidores de Internet.

Servicios de Internet

Existen computadores que se encuentran prendidos todo el tiempo brindando servicios en Internet. Lo que las personas usualmente usamos, como las páginas web, el correo electrónico, los juegos en línea, etc. es en el fondo un conjunto de comunicaciones entre nuestros computadores de usuario y esas otras computadoras que brindan esos servicios específicos. A esas computadoras se les denomina servidores.

Los servidores pertenecen a alguna empresa o persona que brinda dar servicios y que generan negocio de alguna manera: cobro por el uso del servicio, publicidad, etc. Los servicios más comunes son:

  • Web (world wide web)
  • Correo electrónico
  • Mensajería
  • Contenido multimedia (audio, videos,etc)
  • Juegos en línea
  • Gestión de archivos

Existen claro muchos más, de menor difusión por ahora.

Para volver al ejemplo del correo, el contenido del paquete que se manda podría ser cualquier cosa: documentos, productos, comida, etc. Los contenidos del tráfico en Internet son también variados: páginas web, correos electrónicos, mensajes, etc. Internet es solamente un medio para el transporte de los contenidos que los usuarios finales y los servidores intercambian para poder hacer algo.

Existe la posibilidad de que la dirección postal sea la de un edificio donde viven muchas personas. Es necesario entonces especificar el número del departamento. De la misma manera existe la posibilidad de que en un servidor se encuentren corriendo muchos servicios. Para saber hacia cuál servicio se debe entregar el mensaje que le ha llegado al servidor hace falta especificar el número del puerto. Este valor es un número que se asocia con un servicio específico. Por ejemplo, para el servidor web siempre se usa el puerto 80.

En resumen. Internet es una red de redes donde las computadoras se identifican por un número IP. El tráfico de Internet es una serie de mensajes para pedir servicios a servidores que están identificados por un nombre único. Esos mensajes tienen como destino un IP y un puerto específico, donde serán asociados a un servicio único del servidor.

Categories: Uncategorized

Hace un tiempo teníamos una broma. Si se puede explicar algo de tecnología para que lo entienda un abogado significaba que cualquiera lo podía entender. Creo que a los abogados no les hacía mucha gracia… pero la idea era buena.

Creo que hace falta explicar algunos fundamentos de tecnología de la información en términos sencillos para que cualquiera pueda entenderlo. En mi experiencia mucha gente le saca mucho provecho a los sistemas cuando tienen claro lo básico.

Voy a empezar a escribir sobre los siguientes temas, que son, a mi parecer, los que mayor impacto podrían tener en adultos profesionales que quieren entender mejor los principios de la tecnología de la información:

  1. Internet: Redes, servicios, aplicaciones web
  2. Código libre: Aplicaciones a usar para un profesional promedio
  3. Computación en la nube: Servicios empresariales
  4. Proyecto de sistema de información: Desarrollo de sistemas a medida

Si alguien cree que existan temas a ser agregados, por favor dejarlo en sus comentarios

Categories: Tecnología

Una de las tendencias de tecnologías más prometedoras de la actualidad es el Internet Industrial de las cosas (IIOT por sus siglas en inglés).

Una manera esquemática de entender todo el marco teórico de esta tendencia es comprender los siguientes elementos

Dispositivos

Los dispositivos inteligentes que usualmente están conectados a sensores y son la fuente de la información.

Deben tener la capacidad de implementar buenos niveles de seguridad y de usar los protocolos de comunicación necesarios.

Protocolos de comunicación

Protocolos existentes y nuevos para el envío de información desde los dispositivos a la plataforma central donde se procesan y almacenan los datos en la nube.

Plataforma central

Tecnología de nube donde los datos son recibidos, almacenados y procesados usando una variedad de tecnologías asociadas. Controla también la capa de seguridad de los dispositivos que pueden conectarse.

Controla la tecnología de almacenamiento.

Controla la agregación y filtrado de los datos y la entrega de datos a las tecnologías de procesamiento adicionales.

Plataforma analítica

Procesa la lógica del negocio de la solución específica. Utiliza procesamiento de grandes volúmenes de datos.

Procesamiento de flujos de datos y aprendizaje de máquina

Plataforma cognitiva

Nivel de interacciones

Aprendizaje instantáneo

Aplicación de soluciones

Aplicaciones de usuarios finales

Integración con otras soluciones existentes

 

Texto alternativo generado por el equipo:
Solutions 
Cognitive 
Platform 
Analytics 
Platform 
Core Platform 
Communication 
Protocols 
Devices 
CONSUMER APPS (Home, 
ufest•/e .Home, Moblity 
etc) 
iNOUSIRIALAPPS 
(Manufacturing. 
Bu ldrv IN' astrLXtLze. 
Er•ergy etc) 
IOT Security & 
Managernent 
Management 
Service 
Management 
Device Sec•zity 
Management 
Firmware/ 
CcBe t4xiates 
INTERACTIONS (SPOKft-LGESTURES) 
INSTANT LEARMNG 
COGMTIVE 
SERVICES (GEOSPATIAL etc) 
ACTIONABtE (EVENTS & REPORTING) 
MACHINE LEARNING 
STREAM PROCESSING 
DATA STORAGE. DATA AGRREGRATION,' VILTER 
IOT MESSAGING MIDDLEWARE 
PRO TOCOL GATEWAY 
MQTT. COA". XAMP.„ 
IPV6. QOWPAN 
BUJETOOTH. GSM. ZIGBEE. MODBUSBACNET 
DEVICES& COMPONENTS 
Devices 
/ Actuatcxs

 

 

Categories: Tecnología

He adquirido un SOC Drabonboard 410C, versión integrada con Amazon AWS IOT.

Es una pequeña tarjeta computadora con altas capacidades de procesamiento.

La diferencia entre la versión normal y lde Amazon es que la última viene con fuente de poder, sistema operativo Linaro instalado y un conjunto de librerías de Arrow para demostrar el uso del AWS IOT. Vale la pena aunque el precio es como $10 más caro.

El Dragonboard es una tarjeta que cumple con el estándar de 96boards, el cual es una especificación de hardware bastante avanzado. Ya hay un par de fabricantes que están ofreciendo productos que cumplen con el estándar.

A diferencia de otros productos, como el Raspberry Pi o el Arduino, el hardware es bastante mejor, pero tiene muy pocos accesorios oficiales, como cases, sensores, fuentes de poder, etc.

IMG_20160228_111220099

Linaro también es una distribución de Linux para dispositivos de procesador ARM que es muy ligera y potente al mismo tiempo. Toda la suite de amazon AWS se puede instalar y ejecutar en una máquina con Linaro.

El objetivo de comprar este tipo de computador es simple: usarlos para tener lecturas de sensores conectados a él como parte de una solución de IOT. En concreto, del Industrial Internet of Things o IIOT. Su capacidad de procesamiento le permite tener facilidad para hacer lecturas y enviar data de 4 o 5 sensores de manera concurrente. El AWS IOT tiene una solución muy confiable de transmisión de datos, con seguridad basada en TLS y protocolo de datos MQTT, que una implementación ligera del patrón publicador – suscriptor.

El producto cumple con las expectativas. Los demos de Amazon y de Arrow funcionan sin problema alguno. Estoy armando una serie de proyectos para probar sensores y ya publicaré los resultados.

Categories: Fotografía

Ya que nos encontramos a fin de año y hay muchas oportunidades de hacer fotografía de fuegos artificiales, voy a escribir algunas ideas que me han servido.

Primero, el equipo necesario:

  • Cámara con control manual de exposición
  • Trípode

Es deseable:

  • Cable disparador
  • Tapasol en el lente

Es importante conocer algo muy básico: no se debe confiar en el fotómetro integrado de la cámara. La razón es que va a leer la poca luz el cielo oscuro y va a tratar de compensar eso.

La exposición debe de ponerse en modo manual. Es una cuestión de prueba y error. Yo doy como recomendación usar un ISO bajo y un tiempo de exposición largo, por eso se necesita el tripode.

En las fotos que se ven a continuación la exposición ha sido: ISO 160, 2 segundos, F/ 8.0

IMG_3505

IMG_3551

Usar el cable disparador permite eliminar vibraciones que se pueden notar cuando el tiempo de exposición es tan largo. También se puede usar un timer de 2 segundos.

Evidentemente uno tiene que sacar las fotos adivinando un poco lo que se va a formar en el cielo. Se debe de examinar donde se forman las figuras para componer en esa dirección dejando la cámara puesta en el trípode.

Es un tema de prueba y error. Lo que más se necesita es un buen lugar donde se vean las luces con claridad y nadie pase frente a la cámara ni golpee el trípode. Lo segundo más necesario es una buena dosis de paciencia.

 

Categories: Opinión/ Tecnología

Acabo de terminar este libro, comprado por mi Kindle.

El autor es Dan Remenyi.

El libro es extenso y cubre muchos campos distintos del mundo de la consultoría en TI. El enfoque es organizado y me parece bastante correcto. Posee 12 capítulos y se intercala la teoría con la experiencia práctica del autor.

ITConsultant

Toca temas técnicos y lo que se suele denominar “habilidades blandas”. Me parece que toda persona que desea trabajar en este campo se puede ver beneficiada por la lectura del libro.

En el capítulo 4 del libro se mencionan los tipos de consultorías que son las más comunes en el mercado actual. Pongo el listado a continuación:

  • Control de calidad
  • Gestión de proyectos
  • Data warehouse y minería de datos
  • Inteligencia de mercado
  • Aplicaciones cliente servidor
  • Aplicaciones CRM
  • Administración de datos
  • Comercio electrónico móvil
  • Sistemas de bases de datos
  • Redes locales
  • Seguridad
  • Gobierno electrónico
  • Gestión de internet
  • Intranets
  • Gestión de conocimiento
  • Documentación
  • Aprendizaje electrónico
  • Especialistas de productos
  • Desarrollo web
  • Negocios electrónicos
  • Mesa de ayuda
  • Publicaciones electrónicas
  • Selección de proveedores de tecnología
  • Reclutamiento
  • Capacitación
  • Integración de telefonía
  • Reingeniería de negocios
  • Planeamiento estratégico
  • Planeamiento continuo del negocio

Es claro que esta lista obedece al instante de tiempo en que se escribió el libro y que va cambiando a cada rato, pero me pareció interesante colocarla porque no había encontrado antes un enfoque analítico sobre esta temática.

Categories: Tecnología

La ingeniería de software es una disciplina relativamente nueva, en comparación con otras ingenierías.

La gran mayoría de las metodologías desarrolladas están pensadas en sistemas de información convencionales, y no en otros tipos de sistemas, como los sistemas embebidos.

Sin embargo, son pocos los autores que han hecho estudios académicos buenos sobre la materia. La mayoría habla de sistemas embebidos desde el punto de vista de la ingeniería eléctrica o de automatización, pero no de la ingeniería de software.

Los modelos de desarrollo, los patrones de diseño, las herramientas de modelamiento, los editores y depuradores no están usualmente creados para soportar las particularidades de los sistemas embebidos. Lo que usualmente sucede es que el vendedor del sistema embebido ofrece un SDK para que los desarrolladores lo usen, pero suelen tener prestaciones muy básicas.

En los sistemas embebidos usualmente se encuentran diferencias importantes respecto a los tradicionales:

  • Pueden contar con restricciones de tiempo real, blandas o duras
  • Pueden contar con restricciones de recursos: procesamiento, potencia a consumir, memoria, almaceamiento, capacidad de red, etc.

Encontré el siguiente libro que busca abarcar sobre este problema concreto:

SWEmbedded

El libro es un desorden total. Abarca 25 capítulos que parecen ser escritos por 25 autores distintos que no han coordinado los contenidos. Algunos capítulos son muy buenos y relevantes a la ingeniería de software, pero algunos no tienen mucho que ver.

Cabe destacar la mención en un capítulo a la metodología Harmony, la cual es una versión de una metodología ágil aplicada a la creación de sistemas embebidos.

Categories: Tecnología

Tengo VirtualBox corriendo en mi Win10, con dos máquinas virtuales de Ubuntu, que uso por razones de trabajo.

Un problema que tuve es que me quedé corto de espacio con una máquina. La solución no es complicada, pero tampoco es obvia. Para poder aumentar el tamaño de la máquina virtual se necesitan 2 tareas:

  1. Aumentar el tamaño de la máquina virtual del VirtualBox
  2. Cambiar el tamaño de las particiones de Linux para aprovechar el espacio libre en el disco, sin perder los datos que se tienen.

El primer paso parece complicado, porque VirtualBox no ofrece forma desde su GUI de cambiar el tamaño de un disco virtual una vez que se ha creado. Solamente se puede hacer desde una ventana de comando, usando la siguiente sintaxis:

cd “C:\Program Files\Oracle\VirtualBox”
VBoxManage modifyhd “C:\Users\Chris\VirtualBox VMs\Windows 7\Windows 7.vdi” --resize 81920

Los argumentos importantes son la ruta del archivo .vdi que se va a modificar y el tamaño en MB que se coloca al final.

El segundo paso es modificar la instalación de Linux para que use el nuevo espacio disponible.

Esto se hace con la herramienta GParted, que se puede descargar desde aquí.

Se debe decirle al VirtualBox que se desea añadir el archivo .ISO del GParted para que se haga el boot desde allí y se pueda modificar las particiones:

VBOX1Luego hay que seguir unos pasos simples para usar el GParted y aumentar el tamaño de la partición de Linux

  1. Primero eliminar el SWAP
  2. Luego aumentar el tamaño de la partici{on extendida donde estaba el SWAP
  3. Luego volver a crear el SWAP y moverlo al final de la partición extendida (a la derecha de la gráfica)
  4. Luego reducir el tamaño de la partición extendida
  5. Aumentar el tamaño de la partcición primaria para usar todo el espacio disponible.
  6. Pedir al GParted que aplique todos los cambios
  7. Apagar la máquina virtual y quitar el GParted

image152Si se comete algún error se puede perder toda la instalación de Linux, con lo cual se sugiere tener mucho cuidado con el uso del GParted.

Al reiniciar la máquina virtual se debe empezar con el nuevo tamaño modificado.

Categories: Tecnología

Dentro de los métodos ágiles los que se actualmente tienen mayor popularidad son Scrum y Kanban. Ambos tienen muchas cosas en común, sobre todo lo que corresponde a un control visual del estado de un proyecto. La famosa pizarra o board.

En el caso de que los miembros de un proyecto se encuentren geográficamente distribuidos, se generan complicaciones para poder usar la pizarra. Lo que mucha gente sugiere es usar una herramienta web para el control del proyecto.

Muchas herramientas comerciales se han desarrollado y funcionan usualmente bajo el modelo del software como servicio (SAAS por sus siglas en inglés).  Permiten tener los tableros en forma electrónica y además hacer toda una serie de tareas propias de este tipo de proyectos.

Encontré una herramienta open source llamada Kados, que permite trabajar en una plicación web la gestión de un proyecto ágil. La estoy probando y me viene funcionando bien hasta el momento.

kados2

La herramienta funciona con PHP , MySQL. Lo más común en open source ahora. Si alguien está buscando algo para gestión de proyectos ágiles yo recomiendo que le den una mirada

Categories: Fotografía

Ok, he querido hacer pruebas con fotografía instantánea. Lo mejor que pude encontrar a un precio razonable fue una Polaroid Land 180.

Es una cámara construida en 1965 y 1969, es decir, hace casi 50 años. Totalmente mecánica, no usa pilas y puedo seleccionar la exposición. Debo medir con mi fotómetro de mano primero para poder elegir los valores que le doy de velocidad y apertura.

PolaroidLand180FlashComo se ve en la foto, puedo colocarle un flash que sincroniza con el puerto PC de la cámara. Uso un flash automático para eso.

Mi flash chocaba con el visor en la zapata fría de la cámara, con lo cual tuve que añadirle ese bracket para flash.

La cámara cuenta con agujero para trípode y timer mecánico, con lo cual puedo hacer unas buenas selfies.

PolaroidSentadosEse fue con el flash de noche

PolaroidBalcon_0002A media tarde.

La fábrica Polaroid ya no fabrica película para esta cámara, pero Fuji la fabrica desde hace años. Actualmente solo quedan 2 tipos: ASA 100 a color y ASA 3000 en blanco y negro.

Se pueden hacer algunos procesos alternativos, como recuperar los negativos, cosa que trataré de hacer en el futuro.

Mi primera impresión es que el proceso es un poco cuidadoso, pero los resultados valen la pena. En 120 segundos se tiene una foto impresa con una nitidez increíble si se sabe usar bien la cámara.