martes, 9 de agosto de 2016

El código máquina...

Eran tiempos revueltos en mi vida cuando alguien me contó como funcionaban realmente las máquinas, como era realmente la vida de un ordenador.

En aquel tiempo yo programaba ya bastante bien en el basic del Spectrum, de hecho hacía mis programas de contabilidad, mis horarios, las chuletas para estudiar en el colegio, los primeros juegos... Luego lo guardaba en cinta y andando.

Pero en las revistas que me llegaban a casa con programas aparecía siempre una palabra, la palabra "POKE", que significaba meter, y luego una cadena de caracteres o de pares de números alfanuméricos, que tenías que meter uno a uno y sin confundirte, ya que si no, el programa o el juego no funcionaba.

Todo eso llamó mi atención y leyendo aquí y allá entendí que lo que hacía el poke era meter una información en un dirección de memoria. 

En aquellos días me dieron un libro, que si mal no recuerdo era "El Zilog Z80", en el cual me explicaban que lo el ordenador lo que hacía era colocar información en memoria, y mandarla a los periféricos.

Pero el ordenador ni siquiera funcionaba con esos hexadecimales sino que funcionaba con 0 y 1, con largas series de 0 y 1 que eran mandatos de la forma pon esto aquí o llevaló allí, o cambia el estado de tal posición...

Eso era el código máquina, el código que usaba el ordenador para mover la información de un lado a otro, para "MOV" o "GO" o "ADD"... Ese código máquina era tan difícil de leer y tan farragoso que lo que se había hecho es crear un lenguaje algo más legible, el lenguaje ensamblador, que correspondía uno a uno a aquellos códigos que yo metía en el POKE.

Ese lenguaje ensamblador era muy complejo en aquellos tiempos y lo que habían hecho los creadores del Spectrum era crear un interprete, es decir, un traductor que se encargaba de hacer que lo que yo escribía en Basic fuera entendido por el ordenador en código máquina. De esta forma cuando ponías print el Basic lo traducía a un código más entendible al ordenador:

print "jose" era traducido a una cadena de comandos de ensamblador que hacían que la cadena jose apareciera en la pantalla, de modo que primero se seleccionaba la traducción del comando PRINT y luego se pasaba a código binario la cadena jose, y se iba imprimiendo punto a punto cada letra de la cadena "jose" en la pantalla.

En los ordenadores actuales, cuando tu enciendes un ordenador y lo haces funcionar, nada se hace en inglés o en español o chino, todo se actualiza a 0 y 1 y fluye de una zona a otra en forma de bits de un lado a otro de tu ordenador o tu movil o tu tablet.

Por eso es tan importante saber que existe y qué es el código máquina.

lunes, 1 de agosto de 2016

Los que hacen todo: Navegadores

Ya hace tiempo os he hablado de la guerra de Explorer y Netscape, y hemos hablado algo de Safari y Chrome... Pero no nos damos cuenta de la suerte que tenemos... Simplemente teniendo este traductor que se llama navegador.

El navegador, y la palabra fue muy bien buscada, nos sirve para "viajar" entre una url y otra url, entre una dirección de internet y otra, o siguiendo con la metáfora entre un puerto y otro, como si estuviéramos en un mar, navegamos de una dirección ip a otra ip.

Y es que lo primero que hubo que hacer al crear un navegador es que este fuera capaz de ir de un sitio a otro, y para ello necesitaba un mapa, este mapa eran las dns, un directorio que cambiara el nombre que yo pongo por un conjunto de números que llamaran a la dirección de un servidor, es decir, que pusieran en comunicación mi ordenador con el ordenador al que quiero acceder.

En tiempos, cuando lo único que teníamos eran lineas telefónicas, ya era algo increíble el conectar por modem con un ordenador a distancia, oyendo el ruido de inicio de conversación entre ambos.

Mi primera vez fue genial cuando entré en un ordenador de una revista de Amstrad y conseguí identificarme para bajar un pequeño programa... Todo eran comandos, palabras clave...

Después tuve acceso a máquinas Unix, que permitían el acceso a ordenadores de otras universidades donde otros locos por la informática como yo habían puesto sus programas y los compartían para poder descargarlos.

Aquello requería una conexión telnen y luego un ftp, es decir, usar un file transfer protocol, un protocolo de transferencia de ficheros, un acceso normalmente anonymous, y luego una descarga.

Ahora tu pones google en el buscador de google y estás en conectado al ordenador de Google, y si haces click en este supervínculo joscarmartom estarás en mi canal de youtube.

Pero es que cuando tu entras en una web, a parte de abrir un canal de comunicación directamente lo que haces es descargar partes del código que está en ese servidor.

Cuando entras en una web, descargas un fichero de texto, aunque no lo sepas descargas un programa que le dice a tu navegador como tiene que colocar las cosas, los textos, las imágenes y los vídeos, el orden en que tienen que aparecer, y la forma y los colores.

Si volvemos de nuevo en el tiempo, al principio las páginas web que se mostraban no eran más que textos, ya que la velocidad de trasmisión era muy pequeña, y si alguien ponía una imagen, eso podía ser una hora para poder verla.

Recuerdo aquellos días, queriendo bajar alguna foto, poniendo el hash para ver el proceso de descarga y llegar a tardar una hora para ver una imagen de una flor con 4 colores... Ahora arrancas el móvil y de pronto ya tienes la foto que tu madre hizo a sus nietos hace dos minutos, o incluso el vídeo de un resbalón en segundos.

Esos primeros navegadores funcionaban poniendo numeritos, y esos numeritos estaban en listados de las universidades, ucla, por ejemplo, y según el tráfico que hubiera así llegaba la información.

Ahora si te tarda en descargar una imagen te desesperas, porque ahora tu navegador descarga en paralelo, descarga a la vez el texto y las imágenes, y te lo va mostrando a toda velocidad, porque ahora todo está comprimido en origen y es decodificado en tu terminal al momento, porque ahora tienes una velocidad de transmisión increible y una de procesado fuera de lo normal.

Y ese navegador al que no prestas atención  es el que se encarga de ordenar todo para que tu lo disfrutes.

jueves, 26 de mayo de 2016

El fallo de Windows

La historia a posteriori nos da las fallas en las decisiones pasadas, y aquí vamos a hablar un poco de un gran fallo que cometió en su pasado.

En aquellos días Windows era el rey indiscutible y todos esperábamos con ansiedad las nuevas versiones de Msdos y Windows. Eran grandes tiempos cuando yo empezaba a hacer mis pinitos en programación de C++ y quería hacer las primeras aplicaciones para Windows.

Por otro lado interntet ya estaba en las universidades españoles aunque el acceso a los centros de cálculo era limitado ya podíamos navegar y descargar pequeños archivos, mediante ftp, o conectarse a otras universidades, a otros ordenadores por telnet.

Eran tiempos donde si te gustaba la informática vivías apasionadamente, ya que las cosas cambiaban a gran velocidad. En la universidad la máquina VAX funcionaba con el sistema operativo Unix, aunque ya sonaban las campanas para empezar a usar Windows NT...

Es en esa época cuando todo surge, cuando se desarrolla un sistema que sería de libre uso y libre modificación, un sistema que pronto llegaría a todos los hogares mediante revistas primero y luego por internet. El sistema Linux fue una gran aportación que descubrió al mundo la posibilidad del código abierto, de lo que mucha gente en diferentes países podían hacer si se ponían de acuerdo.

Con este Linux, en las revistas te enseñaban a hacerlo convivir con Windows, de forma que podías aprender lo mejor de los dos mundos, aprender a programar en los dos sistemas.

Toda esta revolución hizo que el mercado español se volviera a dividir entre los pro Windows y los pro Linux. Sin embargo, todo esto va a llevar a varias cosas pero a una de las más importantes es que Google va a fijarse en Linux para desarrollar su nuevo sistema operativo, y va a comprar un producto ya desarrollado por otros , el sistema Android.

El fallo de Microsoft, el fallo de Windows fue no ver el impacto y las posibilidades del código abierto, de no ver que tras los primeros ordenadores, tras todos aquellos Spectrum, Amstrad, Commodore o el mismo MSX, hubo un retén de gente que sabía de ordenadores bastante más que un usuario normal, que esos programadores sin título no tenían un amor especial a Windows, pero si que tenían ganas de programar...

Además tenían su trabajo, y dedicaban sus horas de ocio a probar nuevos programas. Esa gente además quería ayudar, y cuando les dieron la opción de programar  y publicar esos programas en una tienda, en Google Play, esa gente se movilizó y lo intentaron todo.

De ahí surgieron las grandes y pequeñas aplicaciones que hay hoy en en la tiendo de Google, y todo por no prestar atención a la gente que no debía ser más que un consumidor, sino que eran consumidores activos.

Y con Windows 8 lo intentaron pero no ha sido hasta el prelanzamiento de Windows 10 que Microsoft ha intentado por todos los medios seducir esos programadores, llevarles a C#, llevarles a Visual Studio, decirles aquí nos tenéis para ayudaros a crecer....


Y parece que la gente está empezando a reaccionar y la tienda Microsoft está repleta de nuevos programas. Lo único que le hace falta a Microsoft es llegar a los móviles, es atacar las tablets, y de ahí volver a ser populares....


Pero para eso tal vez debe bajar el precio por licencia... Pero eso ya es otra historia...

miércoles, 23 de marzo de 2016

2016: El final de las teclas

Si habéis visto todo lo que llevo escrito en este blog sabréis que llevo en esto de los ordenadores desde hace ya 30 años, y lo que pongo en el título es lo que parece que va a llegar a ser.

Igual que parece que el papel cada vez va a ser menos usado, las teclas tienen pinta de llevar el mismo camino, y este camino se lleva escribiendo desde el principio de la informática.

En principio, la entrada de datos en un ordenador se realizaba mediante cables, si cables que se colocaban de alguna determinada manera y eran el Input, los datos primero se pensaban en el papel y luego se introducían disponiendo de una determinada manera los cables.

La siguiente manera de introducir datos fue mediante señales eléctricas moduladas, y en esos momentos a alguien se le ocurrió usar un teclado de máquina de escribir para introducir datos en un ordenador.

Así nace el "KeyBoard", el tablero de llaves, ya que cada tecla key es una llave que genera un código en el ordenador, y luego este código nos vale para escribir, como yo hago ahora mismo. palabras y textos.

Este fue un avance fundamental ya que permitió a todos los que sabían escribir a máquina poder escribir en ordenadores, y de esta forma las máquinas de escribir empezaron a desaparecer, ya que en un ordenador se podían corregir los errores en el momento antes de escribir...

Con este avance además hubo una gran caída de las ventas de los correctores, tipo Typex, ya que ahora los textos se escribían primero y luego corregidos se imprimían.

Y todo iba divinamente para el teclado, pero al llegar la Apple y Windows, empieza a aparecer un nuevo competidor, el ratón, que iba a suponer el dejar de usar tanto las flechas, unas flechas que hasta ese momento eran indispensables para moverse por menúes y para seleccionar cosas en la pantalla.

Pero como ya os comenté en el artículo sobre el lápiz óptico, ya se intentaba ir un paso más allá... Alguien ya estaba pensando en lo táctil, en poder usar los dedos no para pulsar teclas sino para interactuar con el ordenador.

Al proliferar los móviles, se intenta en esas pantallas diminutas el poder usar los dedos para moverse por los menús y como resultado, las teclas desaparecen y solo quedan un par de botones... Ese par de botones al final solo nos valen para encender y apagar...


Con la aparición de las tablets, la cosa empieza a ir peor para las teclas, ya que en ella se simula un teclado y se pulsan teclas virtuales...


Nosotros venimos de las teclas y aún seguirán existiendo porque estamos acostumbrados a ellas, pero las nuevas generaciones están acostumbradas a escribir sobre pantallas...

Cuando el tiempo pase, poco a poco los teclados habrán desaparecido casi por completo, porque nos queda un último golpe para las teclas, el dictado por voz.

Desde hace muchos años se ha ido mejorando el software de reconocimiento de voz, con lo que ahora estamos ante programas que fallan muy poco cuando los hablas...