jueves, 4 de junio de 2015

ESTRUCTURAS básicas en un programa: VARIABLES (Introducción)

Estamos siguiendo nuestra andadura y por algún lado tendremos que comenzar. Cuando nos acercamos al mundo de la programación lo primero que hay que saber es que quiere uno hacer.


Una vez que sabes qué, el siguiente problema es el cómo, y este cómo implica  en primer lugar que herramientas vas a utilizar, ya que a lo mejor si nuestro objetivo (target) es una página web, tal vez es necesario usar un programa que nos facilite el trabajo.

Es posible que incluso sin saber nada de programación seas capaz de crear una página web que sea bonita y útil, por ejemplo usando jimdo.com:


Pero si nos vamos a meter en faena y vamos a ensuciarnos las manos con código, es posible que necesitamos algún lenguaje de programación.

En los primeros ordenadores, aquellos que se construían con válvulas de vacío, los programas se "programaban" ensamblando partes, es decir, uniendo con cables unas partes con otras, y os podéis imaginar el trabajo tan tedioso que llevaba primero construir el programa y luego buscar errores.

Aquí tenéis la explicación de porqué cuando se compila un programa se le llama "Build" construir, porque en origen se construía de verdad.

También viene de esta época el término bug, error en programa, pues estas máquinas generaban tanto calor que los insectos se metían entre los cables y hacían que el programa fallara...


Posteriormente al inventar el transistor, el tamaño de los ordenadores ser redujo de forma radical, pasando de ocupar naves enteras a habitaciones y luego a caber en la palma de la mano...


Primeros lenguajes:


Cuando se empieza a programar una de las cosas más importantes de entender es donde se guardan los programas. Ese lugar es la memoria, la memoria es el lugar donde almacenamos el programa pero también los datos que usará ese programa.

Cuando se programaba en código de máquina esto era fácil de entender, ya que el código máquina lo que hacía era verter contenidos en memoria, moverlos y compararlos... Con eso se hacen todos los programas del mundo.

4A 3F 33 33
23
22 33 03 05

Pero el código máquina era tan farragoso, y tan complicado que lo primero que se creó fue un lenguaje el Assembler o ensamblador, que permitía en lugar de usar solo números identificar cada código con un nombre:

Mov ax, bx



El siguiente paso fue crear lenguajes más amables, más fáciles de entender y de esta época surge el BASIC, el Cobol, el Fortran...

Todos estos lenguajes se podían compilar o interpretar, pero tenían algo en común el uso de variables.

Variables:


Ya es el momento, ¿qué es una variable?

Una variable es una posición de memoria, es un lugar dentro de la memoria del ordenador, al que se le ha asignado un nombre.


A ese lugar se puede acceder nombrándolo, es decir, llamándolo para que nos devuelva el valor que tienen o también se le puede llamar para cambiar el contenido.

Un ejemplo sera muy gráfico. Volvamos al Basic por un momento, que es antiguo pero era muy claro:

10 let a=5
20 print a
30 let a=10
40 print a

Let en inglés es dejar, en este caso "deja en a el valor 5", luego Print es imprimir, al imprimir a en la linea 20, se llama a la dirección de memoria de a y se pide que devuelva el valor de a y luego lo saque en pantalla, con lo cual aparecerá en pantalla "5".

En la linea 30 se cambia el valor que hay almacenado en la dirección de memoria de a por el valor "10", y por ello en la linea 40, al consultar el valor de a, saldrá en pantalla el valor "10".

Esto ocurría en Basic de los primeros ordenadores, en los que solo existían dos tipos de variables:

Las que aparecían solo con letras más números eran variables enteras, eran para operaciones numéricas.

Las que aparecían seguidas del símbolo del dolar, eran variables alfanuméricas, es decir, eran como las variables de texto actuales y permitían operaciones del tipo añadir o sustraer.

10 let a$="Jocarmartom"
20 print a$
30 let b$=" siempre intenta aprender cosas nuevas"
40 print b$
50 let c$=a$+b$
60 print c$

Al poner el símbolo del dolar "$" automáticamente el interprete de BASIC reconocía el tipo de variable que se usaba como alfanumérica. De esta manera las operaciones cambiaban a ser las específicas para ello.

En la linea 50 lo que hacemos es concatenar, unir las variables a$ y b$. De esta forma lo que obtenemos es la siguiente salida en pantalla.

Joscarmartom
siempre intenta aprender cosas
Joscamartom siempre intenta aprender cosas 

[Continuará]


miércoles, 3 de junio de 2015

OpenOffice Calc 4 y final

Reserva tu actualización a WINDOWS 10

Gran noticia.. Esta mañana al arrancar el ordenador me ha aparecido un icono en la parte inferior derecha con el logotipo de Microsoft Windows.

Al pulsar sobre él, se me ha dado la opción de reservar la actualización a Windows 10, programada para el 29 de julio.



Es gratis...

Y por lo que he visto en la página de Microsoft será muy sencillo de instalar.

Para todos aquellos que echáis de menos el menú de inicio, en la próxima entrega vuelve con más fuerza y windows volverá a ser windows pero más moderno, más estable y más tecnológico.

Y como se están haciendo grandes progresos en programación podrás usar tus apps de windows 10 en tu teléfono con windows phone.


Solo he tenido que ingresar mi correo electrónico como os muestro en el vídeo, y ya solo me queda esperar hasta la fecha...

Tiene una pinta genial...

Además muchos de los programas que utilizo ya tienen preparada la versión para Windows 10.

Espero que os sea de utilidad.







Si quieres más información vete a la página de Microsoft.

https://www.microsoft.com/es-es/windows/windows-10-upgrade

Cada día tengo más ganas de que llegue el momento del lanzamiento.

martes, 2 de junio de 2015

MI HISTORIA DESDE EL LENGUAJE C A C# : Un recorrido por el tiempo...

Si mal no recuerdo mi primer contacto con el lenguaje C fue en un curso que estaba dando sobre el basic del Zx Spectrum. El profesor que entonces tenía, Eduardo Gonzalez Granda, sacó un libro de su bolsa, y nos dijo: Este será del futuro de la programación.



Estamos hablando del momento en que los primeros PC estaban entrando en España, y en aquel momento apenas sabíamos nada más que lo que era el Basic y a lo sumo el códico máquina. De manera que aquello fue para mi una gran novedad.

La pena fue que esto fue a final de curso y nunca más supe de él. Por el contrario, mi camino como ya os he contado en otra parte del blog siguió por el camino del Basic, y solo cuando me compré el Amstrad Pc 1512 y fui de nuevo a una academia fue cuando aprendí lo que era un compilador de C...

Aquello era genial, primero hacías el programa, luego lo compilabas y obtenías un programa .obj, y posteriormente lo linkabas y te salia un programa ".exe", es decir, un programa ejecutable desde msdos.

En aquellos tiempos, uno se lo hacía todo, primero la idea, luego el algoritmo, más tarde el diseño para mostrar en pantalla, y si la cosa pintaba bien, le añadías un ".bat", para optimizar el arranque del programa, darle un toque profesional y añadirle unas opciones.

Por ejemplo, podías añadirle el lugar donde querías que se ejecutara en el ordenador, si ibas a usar un disco virtual, o si ibas a cambiar los colores... Si además disponías de alguna herramienta podías hacer con todo el programa un fichero de instalación que se ejecutara cuando tu cliente lo recibiera...


Turbo C:


En estos tiempos es cuando empieza a integrarse todo en programas, ya que era complicado saber todas las opciones de compilación y de linkado se creó un gran programa que permitía elegir las opciones sin tener que ponerlas todas en la linea de comandos.



Pero Turbo C permitía más cosas, igual que los programas de proceso de texto Turbo C te revisaba la ortografía mientras escribías los programas y te decía si habías cometido algún error mientras ponías :

printf("Hola mundo");

Esto permitía que se acortaran los tiempos de programación, compilación y linkado...

Pero aún estábamos en C, y este era ya el mundo de los punteros, y empezaba el lío de las memorias y C se empezó a convertir en el lenguaje de los atajos y del caos.

Borland C++:




Es entonces cuando me volví loco, haciendo un curso de IBM de programación, y me gasté mis ahorros en comprar el Borland  C++, con sus manuales... y todo en inglés. Aprendí entonces lo que era una clase, lo que era un objeto, aprendí lo que era un puntero realmente...


Y comencé mi andadura con el C++, e hice mis primero pinitos en programación orientada a objetos, que realmente era una vuelta a la programación funcional y asertiva que era la que venía usando antes.

Pero por azares del destino tuve que dejar la programación durante bastante tiempo, y cuando volví Borland había desaparecido, y el C++ ya casi no existía....



Microsoft Visual Studio y C#:




Pero las cosas van y vienen, y mientras Borland se perdía en el infinito del tiempo Microsoft iba creando una herramienta aún más visual y más fácil de usar, el Visual Studio, orientado a Windows, y muy sencillo de usar, y que permitía no solo programar en C++, sino Visual Basic, y otros lenguajes de la época...

Con el paso de los años Microsoft tomó el C y le puso una # almohadilla, y lo convirtió en C# una versión más sencilla de usar que el C++ pero con gran potencia en el desarrollo de aplicaciones para Windows.

Y la verdad es que es un lenguaje tan cautivador que si empiezas a usarlo al final te engancha y lo único que quieres es aprender más sobre él...


Actualmente puedes usarlo para hacer aplicaciones para Microsoft Windows 8.1, para Windows Phone... Pero al ser un lenguaje tan usado también puedes usarlo para programar en otros sistemas operativos.

Hace un año que empecé con él y aunque me llevará otros cuatro años tener un nivel aceptable, espero llegar a conocerlo bien...

Sobre todo ahora que viene el nuevo Windows 10....




domingo, 31 de mayo de 2015

GOOGLE 3: Aquí una WEB, ¿hay alguien ahí?

Este es el gran problema de todos los que sabíamos poco de Google, y pensábamos que hacer una página web era tan sencillo cómo diseñarla, publicarla y esperar a que vinieran a verte.

Pero es que en esta maraña de interconexiones mundial, en este enjambre de cuerdas y nudos, en esta red de redes, esperar a que te encuentre Google puede ser cómo esperar a que alguien encuentre una aguja en un pajar...

¡Hola! Aquí joscarmartom.jimdo.com, ¿Alguien me ve? ¿Me lee alguien?

Esto es tan importante que si no logramos que Google nos encuentre de alguna manera, jamás nuestras buenas noticias, nuestros cursos de informática, nuestros pensamientos tan hermosos, jamás serán conocidos por nadie, se quedarán allí en el infinito de la nada esperando a ser descubiertos algún día por algún personaje que le guste nuestro trabajo...



O hasta que una de esas arañas de las que hablábamos en el capítulo anterior se encuentre por casualidad con nuestro vídeo o nuestra web o nuestro blog...

Qué pena, nadie sabe que existes... Pero hay una manera de decirle a Google, ey Google estoy aquí!. Mira mi trabajo, mira mis lineas, mira mis vídeos...

Necesitas tener acceso al código html de tu página o si como yo, estás usando jimdo.com o algún lugar de la web que te permite poner tu página de manera gratuita, necesitas buscar en las opciones la que te deja conectar tu web con el robot de google.

En este caso lo que te recomiendo es que primero vayas a este enlace:

https://www.google.com/webmasters/

Allí es el propio Google al que le indicas la propiedad que tienes, es decir, el sitio web que tienes, y ellos te dan varias opciones para que te indexen, es decir, te unan a su base de datos.

Pero no olvides lo que te conté en la entrada anterior del blog, tu puntuación y el lugar que ocupes dependerá de la relevancia de lo que muestres así como de las páginas o empresas que vayan direcionadas hacia tu web.







De manera que si tienes facebook, twitter, linkedin, una lista de correos de gente... Haz circular tu web, haz que la gente te busque en todos los buscadores, no solo en google, no olvides ask, yahoo, bing... Cuantos más sitios te reconozcan más posibilidades tienes de que escales puestos en el ranking de goolge. Si por ejemplo buscas ahora Joscarmartom en Google, verás que aparezco cómo web, como facebook, como youtube... Es decir, mi nombre ya aparece cómo un ente que se puede encontrar en google:



https://www.google.es/?gfe_rd=cr&ei=RmNrVaWSMfOs8wf-
goCoDA&gws_rd=ssl#q=joscarmartom


Pero lo importante, con el paso de lo años es que el contenido sea interesante y sea útil, porque eso es lo que a la larga marca la diferencia entre volver a un sitio o no volver.




Como la vida misma:


Si tu vas a un sitio buscando una cosa determinada y te han dicho que allí no lo vas a encontrar, si al llegar no lo encuentras, la próxima vez que te digan que tal o cual cosa está allí no iras porque no lo creerás.

Con las páginas pasa lo mismo. Si tu pones en tus etiquetas cosas que no están en tus escritos o pones títulos a tus vídeos que no tienen que ver con el contenido, los usuarios irán una vez pero no más... Y aunque lo que no lo creas lo que importa es que repitan y compartan...

Te voy a poner un ejemplo, si vas a esta web:


Encontrarás las 10 palabras más buscadas en internet en 2014, y podrías pensar, si esas son las más buscadas y las añado en mi lista de etiquetas conseguiré más visitas:

¡Error! Lo único que conseguirás es que un montón de gente no quiera volver a ver tus vídeos o tu página nunca más...

Y esto lo tendrá google en cuenta... Haciendo que tu web pase a formar parte de los laterales que no se ven...

Es como si te metieran en un sitio oscuro o estuvieras castigado, solo aparecerás si alguien teclea exactamente tu url, y eso no es lo que quieres.

Por eso es mejor respetar las reglas e ir creciendo poco a poco y convertirse en un usuario activo de las redes sociales, buscar los lugares donde hay gente interesada en tu producto y publicitar ahí tu trabajo.

De otra forma tendrás grandes ideas pero sin lecturas o visitas.
[Continuará]


viernes, 29 de mayo de 2015

GOOGLE 2: Cómo localiza Google las páginas nuevas

Nos habíamos quedado con Google conociendo a cada usuario y recogiendo datos de cada usuario para darle mejores resultados, mejores publicidades, mejores cosas...

Pero hay otra parte importante que tenemos que conocer, y es, cómo funciona Google, es decir, que hace Google para tener todas las Webs a su disposición. Hay que tener en cuenta que internet funcionaba con las dns antiguas, es decir, cada web tenía una ip antigua, una dirección única:

xxx.xxx.xxx.xxx con cada grupo xxx es de 001 hasta 255, es decir, el máximo de ip era de 255*255*255*255, y sin embargo esto se quedó pequeño, por eso ahora hay todavía más direcciones posibles.

Pero es que además tened en cuenta que cada ip puede alojar varias web, como por ejemplo, las páginas como jimdo.com que te permiten crear una página dentro de su dominio...


Ahora imaginad a Google queriendo tener todos los datos del mundo, queriendo tener todas las web para poder ofrecer a sus usuarios toda la información del mundo...

Podían hacer uso de la fuerza bruta y empezar desde la a, luego aa, luego ab, luego ac... hasta la zzz...zz. Es decir, tener un motor que fuera recorriendo una a una todas las webs del mundo e irlas indexando, irlas ordenando. Peo esto requeriría una cantidad ingente de maquinas trabajando a tiempo completo, y luego una cantidad enorme de gente analizando esas páginas para discriminar si merece la pena o no la página o si la página tiene algo para que sirve o con que usarla.

Google ideó un atajo, usando la teoría de grafos se dedicó a una cosa que se llama crear caminos eulerianos, es decir, a hacer recorridos de nodo a nodo, ir desde una web hasta otra que sale de esta, y así nacieron lo que ellos llaman Spiders.



Esto parece un lío pero es muy sencillo: seguro que alguna vez habéis jugado a seguir los puntos, ese juego para niños que cuando terminas tienes un dibujo en el papel. Pues ahora imagina que tienes los puntos pero no tienes los números de orden. Lo más normal es que unieras todos los puntos y luego intentaras adivinar que es lo que hay dibujado borrando las uniones sobrantes.



Pués Google lo que hace es seguir un orden, en este caso el que te lleva de una página a la siguiente, hasta llegar a un punto en el que o hay un bucle o llega a un nodo muerto, una web que no enlaza con nadie o que enlaza solo con sitios conocidos.

Con esto tenemos un grafo conexo, es decir, tenemos una tela de araña de webs que se unen con webs, y a cada web encima le vamos a dar un peso, es decir, una importancia determinada, que va a venir de varias cosas: algunas subjetivas, cómo la fuerza de la empresa, y otras que van a venir solamente del número de enlaces que apuntan a esa web. Pero tampoco todos los enlaces valen lo mismo, ya que si por ejemplo Google apunta a tu página el peso es muy fuerte y tendrás un buen peso en el orden de la búsqueda, mientras que si la página de Joscarmartom apunta a tú pagina el peso, la importancia no será tan grande.

De esta forma, cuantos más enlaces buenos tenga tu vídeo, tu blog o tu página más arriba estarás en los rankins de búsqueda y más visitas tendrás.

Todo esto es importante a la hora de buscar contactos en internet y a no malgastar el dinero, mi consejo es si quieres publicidad para tu página lo mejor que puedes hacer es pagar a Google directamente ya que ellos con Ad Words.

Es sencillo de usar y no cuesta demasiado... y siempre tienen promociones:

Google AdWords

Haciendo una búsqueda:

Ahora ya tenemos las páginas indexadas, ordenadas y ahora hay que buscar en ellas, por ejemplo busco Joscarmartom:


Esto sube a los servidores de Google y empieza la magia, ya que esto si es más complicado, en primer lugar se busca la palabra o palabras, en la base de datos... Tened en cuenta que cada página web ha sido guardada en la base de datos a partir de varias cosas:
El título de la página, en encabezado principal, las etiquetas de búsqueda que el usuario ha introducido, información de adicional que google ha ido añadiendo...

Tu búsqueda se cruza con esos datos y se seleccionan los resultados que coinciden, los resultados que se asemejan y los que contienen alguna de las partes de tu búsqueda... Además te da un resultado aproximado del número de resultados posibles que se pueden localizar....

Pero esto además instantáneo, en el mismo momento en que lo pides lo tienes... 

Por eso es tan importante que selecciones un nombre bueno, un encabezado mejor y sobre todo unas etiquetas lo más ajustadas posibles...

Continuará...

sábado, 23 de mayo de 2015

PENSANDO EN GOOGLE: Historia y desarrollo...

"Voy a tener suerte"  ¿Os acordáis de aquella frase tan pegadiza que aparecía después del logo de Google y el sitio blanco para escribir lo que queríamos buscar... Ese voy a tener suerte era tan optimista que a la gente se la fue ganando poco a poco...

Que tiempos, cuando si querías ir a una página Web tenías que conocer perfectamente su URL (http://loquesea.com), y si te equivocabas te salía el mensaje de página no encontrada. En aquellos tiempos no había más que miles de páginas y en las revistas de informática salían listados de las más importantes.



Recuerdo que incluso algún periódico con el dominical regalaba una lista por temas de las páginas más completas, y supongo que antes de incluir ninguna en esa lista mas de uno pago dinero para estar en una buena posición.

Después empezaron los buscadores, Netscape tenía uno muy bueno que funcionaba muy bien, Lycos era otro, y en Estados Unidos empezó la gran carrera. Yahoo, Ask, pero ese voy a tener suerte cautivó a lo internautas.

Es Google la que se llevó la guinda del pastel, la que fue conquistando a todos los que buscaban cosas, ya que daba servicio en muy poco tiempo, de hecho dabas al "Buscar", y ya estabas con una lista de n mil sitios que contenían lo que buscabas.

"Comer arroz Alcalá", y Google te listaba diez sitios donde aparecían esas palabras y con suerte, encontrabas algún restaurante en Alcalá donde comer arroz. Estamos en el origen, todavía las búsquedas no son perfectas.

En este origen, estas palabras se iban almacenando en grandes bases  de datos,y los ingenieros del conocimiento de Google empezaron a pensar que probablemente se podría mejorar este servicio, y empezaron a dar mayor prioridad a algunas palabras. Pero para ir más allá tenían que comprender mejor, es decir, tenían que entender las palabras, saber lo que significaban.

Y hacer que el buscador entendiera lo que estabas pidiendo, de modo que desarrollaron algoritmos que intentaban entender lo que estabas pidiendo, pero imaginaros lo difícil que es esto solo con un lenguaje como el inglés, ahora multiplicar por todas las lenguas del mundo, y veréis lo grande que fue esta tarea.



De esta manera, los usuarios empezaron a usar más todavía Google, ya que parecía que les entendía y el número de aciertos aumentó exponencialmente... Y al aumentar la satisfacción aumentó el uso.

Wikipedia y Google:

Pero es que en Google fueron más listos todavía y lo que tenían muy claro es que era el contenido lo que era realmente importante y por eso para cosas que parecían complejas en las búsquedas ofrecían uno de los enlaces a la Wikipedia, que como la hacemos todos es gratuita.

Es decir, si quiero saber lo que es un "mono", pongo "qué es un mono" y me aparece lo primero un enlace a la Wikipedia, y una definición de lo que es un mono.




Pero fueron más allá, si por ejemplo alguna academia de la lengua de algún país tenía esta definición te aparecería también como enlace...

Google y la traducción:


Pero fueron más allá y lo siguiente fue dar un servicio de traducción inmediata, de manera que podías traducir una página del ruso al castellano, o del inglés al sueco... Aunque no era perfecto si era suficiente para que aprendieras o vieras lo que querías ver...

De esta forma poco a poco Google entraba más y más en nuestras vidas, mientras tanto, cómo se mantenía todo esto. porque todo esto para todos nosotros es gratis...

La publicidad:


Estas mentes preclaras de Google, y lo digo con toda la admiración del mundo empezaron a dar otro servicio, si su motor de búsqueda era muy efectivo y solía buscar los sitios más buscados podía ser que tu sitio Web no apareciera hasta la página 500 de la lista...

Por eso se crean los enlace patrocinados. Estos enlaces son pagados por los dueños de las páginas para aparecer en lugares preferentes de las búsquedas de la gente... De esta manera si quieres que la gente de 20 a 30 años que vive en Alcalá de Henares, y busca en Google un bar de copas, vea como sitio principal el "Carmela Copas", los dueños del Carmela Copas tendrán que pagar un anuncio en Google para darse más a conocer...


Pero fueron aún más inteligentes y a parte de estos enlaces patrocinados, pusieron anuncios a la derecha de la página para que si por ejemplo buscabas un bar de copas, te saliera a la derecha un anuncio de por ejemplo un ron, o una marca de cerveza...


De esta forma los ingresos de Google fueron exponenciales, pero fueron más allá todavía, se trataba de personalizar las búsquedas, los gustos y la publicidad... 

La personalización:

Si yo se que te gusta la música rock, y que has buscado en alguna ocasión "conciertos", pues esta claro que cuando vaya a haber un concierto en tu ciudad, te voy a ofrecer la posibilidad de comprar una entrada...



Pero todo esto fue a más, y como se dice en inglés esta "Big Data", se ha ido utilizando para que cada vez nos den la información más certera y publicidad más selectiva. Por eso cada vez esta uno más contento con Google, porque cada vez nos conoce más a cada uno de nosotros.

En cierta ocasión leyendo un libro sobre los negocios en Internet, alguien dijo que en los próximos años si no estas en Internet no existirás pero es que ahora mismo si no estas en Google y Facebook no existes...

[Continuará]