jueves, 31 de marzo de 2016

Hola Mundo multilingüe

¡Hola Mundo!

Aprovechando que he implementado SyntaxHighLighter en el blog, vamos a hacer un repaso por la mayoría de lenguajes de programación haciendo lo primero que debería hacer todo programador que empieza con un nuevo lenguaje de programación; el programa "Hola Mundo"

Espero que os guste el formato. A partir de ahora empezaré a incluir entradas con tips de programación en diferentes lenguaje y rutinas interesantes para que las tengamos todos a mano.

ColdFusion

<html>
<head>
<title>Test</title>
</head>
<body>

  <cfset message = "¡Hola Mundo!">
  <cfoutput>#message#</cfoutput>

</body>
</html>

C#

using System;
namespace HelloWorld
{
    class Hello 
    {
        static void Main() 
        {
            Console.WriteLine("¡Hola Mundo!");           
            Console.WriteLine("Press any key to exit.");
            Console.ReadKey();
        }
    }
}

C++

#include <iostream>
 
int main()
{
  std::cout << "¡Hola Mundo!" << std::endl;
  return 0;
}

Delphi/Pascal

program Hello;
begin
  writeln ('¡Hola Mundo!');
  readln
end.

JavaScript

<!DOCTYPE HTML>
<html>
<body>

  <p>Header...</p>

  <script>
    alert('¡Hola Mundo!')
  </script>

  <p>...Footer</p>

</body>
</html>

Java
public class HelloWorld {

    public static void main(String[] args) {
        System.out.println("¡Hola Mundo!");
    }

}

Perl

  #!/usr/bin/env perl

  use v5.10.0;
  use warnings;
  use strict;

  say "¡Hola Mundo!";

Php

<html>
<head>
<title>Test</title>
</head>
<body>

 <?php
  $message = "¡Hola Mundo!";
  echo $message;
 ?>

</body>
</html>

PowerShell

$strString = "¡Hola Mundo!"
write-host $strString

Python

print("¡Hola Mundo!")

Ruby

puts '¡Hola Mundo!'

Visual Basic

Module Hello
  Sub Main()
      MsgBox("¡Hola Mundo!")  
  End Sub
End Module

Compartir:

lunes, 28 de marzo de 2016

Juegos para programar: Lightbot: Code Hour

Hace ya varias semanas desde la última entrada y varias más desde el primer artículo sobre "Juegos para programar". Lo cierto es que he estado bastante ocupado con el Master de Java, Semana Santa, Vacaciones, etc... pero aquí estamos de nuevo para volver a bloguear más a menudo.


LightBot: Code Hour

Hoy os traemos un juego que hará las delicias de los pequeños y no tan pequeños. Se llama LightBot: Code Hour. Este pequeño juego es gratuito y nos ofrece una secuencia de puzzles que irán creciendo en dificultad y que nos acercarán a temas tan propios de la programación como los procedimientos y los bucles.


¿En que consiste?

El juego consiste en dirigir nuestro LightBot hacia una serie de cuadrículas azules, distribuidas por un tablero, y encendiendo una bombilla sobre ellos. La gracia del asunto es que tenemos un número máximo de acciones que podemos llevar a cabo para acabar cada una de las fases.



Tendréis la posibilidad de seleccionar el idioma que queráis (entre ellos el español) y el género de vuestro LightBot.

El juego puede resultar algo corto, pero si tenemos en cuenta que es gratuito y a quién va dirigido, no me cabe duda de que será muy interesante para los más pequeños.



Otras versiones

Si os quedáis con ganas de más, tenéis disponibles dos versiones adicionales de LightBot, una de 4 a 8 años y otra para edades de 9 en adelante. Desafortunadamente estas versiones ya son de pago y su precio oscila entre los 2,99€ y los 3,18€ dependiendo de la versión y la plataforma.

Además tenéis una versión de navegador a la que podéis acceder desde aquí y jugar gratuitamente


Espero que os haya gustado este post y que me dejéis en los comentarios si queréis que hable sobre algún juego concreto que consideréis interesante para esta temática y lo incluiré sin problemas.

Compartir:

miércoles, 2 de marzo de 2016

Retrospectiva. Febrero 2016



Ya estamos en Marzo y, de la misma manera que el mes pasado y como haremos todos los meses, toca hacer una retrospectiva sobre el mes que acaba de pasar.

A veces las cosas no salen como uno quiere, unas veces debido a imprevistos y otras (la mayoría) por errores de estimación o planificación. Este mes en el blog hemos tenido un poco de todo: Por un lado, como algunos ya sabéis, estoy viviendo en Mallorca, pero mi familia está en Almería. Esto implica que, aproximadamente, cada dos semana estoy yendo a ver a mi mujer y a mis hijas, y este mes no había tenido en cuenta estos viajes para la planificación del blog. En realidad esto no supone ningún problema ya que he decidido tomarme este blog como lo que es, mi hobbie, así que no pienso agobiarme por no publicar un post durante la semana ni nada por el estilo. Por otro lado muchos que me seguís en las redes sociales sabréis que he empezado un curso experto de Java, (J2SE, J2EE y Android) y el tiempo que me va a consumir su realización.

En la retrospectiva de Enero os comentaba que intentaría subir a 9 los post durante este Febrero; esto no ha podido ser así debido a lo que os comentaba un poco más arriba. También quería seguir añadiendo mejoras al blog que han tenido que posponerse para este mes. Lo que si ha podido empezar es el curso de Delphi sobre Lazarus cuyos dos primeros capítulos tenéis aquí:


Esta misma semana tendréis el siguiente capítulo disponible. Si no queréis perderos nada os recomiendo que os suscribáis al canal de youtube así como al feed de este blog, pero eso ya es cosa vuestra (aunque os lo agradecería enormemente).

Para este mes de Marzo voy a ser bastante conservador en cuanto objetivos. Voy a plantearme hacer entre 7-9 entradas de las cuales 4 serán capítulos del curso de Delphi, de manera que me quede tiempo suficiente para continuar mi curso de Delphi. Incluiré las mejoras que tenía pensadas para Febrero y añadiré una página destinada a los cursos y otra destinada a una recopilación de blogs que suelo leer y que me parecen interesantes.

Sin más, me despido hasta el próximo post.


Code Safe…
Compartir:

domingo, 28 de febrero de 2016

Juegos para programar: Bit by Bit

Siempre he dicho que la programación es un ejercicio mental, independiente del lenguaje utilizado. Programar es el medio para resolver problemas utilizando un lenguaje de programación apropiado, por eso en la carrera de ingeniería informática se enseñan matemáticas, lógica, algorítmia, etc.

Creo que es de vital importancia, si sois padres, que enseñéis a vuestros hijos/as a pensar por si mismos, a sacar conclusiones, deducir, planificar y ejecutar. Hay muchas maneras de hacerlo: juegos de estrategia como el ajedrez o juegos de construcción tipo Lego, Tente, Megablocks, son un buen ejemplo. Estos juegos ayudan a los más pequeños a desarrollar su inteligencia visio-espacial y deductiva.

Hoy en día con la tecnología disponible, son muchas las opciones que tenemos al alcance de la mano. Con esta serie de entradas semanales pretendo acercaros los juegos y aplicaciones, tanto para Android como para PC/navegador que considero interesantes para el desarrollo de los más pequeños. Recordad que siempre es recomendable estar con ellos mientras usan cualquier dispositivo conectado a internet, de forma que vosotros los controléis en todo momento y de esa manera, además, compartáis un buen rato jugando, aunque sea con una "maquinita".


Bit by Bit: Programming game:


El juego que os quiero presentar hoy es Bit by Bit: Programming game. Podréis encontrarlo en Play Store y la mecánica es tan simple que os sorprenderá. Se trata de una serie de puzzles predefinidos que tenemos que ir resolviendo para poder pasar de nivel. Para la resolución de estos puzzles tendremos que utilizar distintos objetos (serán diferentes para cada nivel) para llevar a los Bits de diferentes colores a su correspondiente destino. 



Parece fácil ¿no?. De hecho lo es. Aunque se irá complicando con el paso de los niveles, la curva es bastante aceptable, y niños a partir de 5-6 años no encontrarán demasiados problemas en resolver los primeros niveles una vez hayan aprendido la mecánica.


¿Por que es interesante este juego?


Este juego ha sido desarrollado con ayuda de niños, padres y especialistas en educación y, mientras juegan, los más peques aprenderán cosas como:
  • Planificación
  • Creatividad en la resolución de problemas
  • Pensamiento analítico y lógico
Os recomiendo que lo probéis, os va a gustar. Solamente tiene una pega que comprobaréis después de la primera partida, la publicidad. Después de cada nivel el juego nos mostrará un vídeo publicitario bastante molesto. La manera de evitar esto es activando el modo avión y dejando nuestro dispositivo completamente offline

Me sorprende las pocas descargas que tiene este juego y creo que es debido a una mala campaña de marqueting. Imagino que con el tiempo añadirán mas niveles y pondrán la opción de comprarlo para no tener esa molesta publicidad, siempre y cuando tengan descargas suficientes.



Si conocéis juegos de estas características y queréis compartirlos, podéis dejarme vuestros comentarios debajo del post o directamente mencionándome en mi cuenta de twitter y los tendré en cuenta para futuros posts.
Compartir:

viernes, 19 de febrero de 2016

Historia del ratón (Mouse)

Mucho ha llovido desde los tiempos en los que teníamos que limpiar los rodillos de nuestro ratón, lustrar la bola y limpiar la alfombrilla. Muchos pensaréis que la historia del ratón empieza con esos dispositivos toscos, con 2 botones (en el mejor de los casos) y cuya precisión dependía, en gran medida, de lo limpias que mantuvieras tu mesa y tus manos, pero hay mucho más.

Un poco de historia.



El X-Y Position Indicator for a Display System (nombre inicial del dispositivo) fue diseñado por Douglas Engelbart y Bill English en el Stanford Research Institute (universidad de Stanford) durante los años 60. 

Fue el 9 de diciembre de 1968 donde se presentó el primer modelo oficial al público en San Francisco. Esta presentación, que duró hora y media, mostraba entornos gráficos con sistemas de ventanas y como mover el cursor mediante el PIDS para interactuar con ellas.

A pesar de lo revolucionario del dispositivo, la informática del momento no estaba preparada para adoptar un dispositivo como ese. No fue hasta el 27 de abril de 1981 cuando se lanzó la Xerox Star 8010, una potente estación de trabajo que incluía una interfaz gráfica que dependía enteramente de este dispositivo. Aunque era un avance el dispositivo seguía siendo muy caro. Una versión 2 años después por parte de Microsoft, con un precio de 195 dolares, pasó totalmente desapercibida.

Si el ratón estaba destinado a ser un periférico disponible en cada hogar, debía costar entre los 10 y los 35 dólares. Eso fue lo que pensó Steve Jobs cuando pidió a un grupo de jóvenes el desarrollo de un periférico, fiable, barato y cuya producción pudiera realizarse en serie. En 1984 apareció la computadora Macintosh que sería la llamada a popularizar este periférico que nos recordaba a todos a un ratón.

Ratón Macintosh

El funcionamiento.


Aunque los ratones han evolucionado muchísimo desde sus primeras versiones de bola (mecánicos), la esencia sigue siendo la misma. El dispositivo debe capturar y transmitir los movimientos del usuario al ordenador para reflejar este movimiento en la pantalla. Una vez metidos en materia nos encontramos ratones de bola, opticos y laser en su versión wired (con cable) o wireless, gaming o de oficina, de gama alta o de gama baja. Los hay para todos los gustos y colores.

No voy a entrar en mucho detalle sobre como funciona un ratón internamente, pero para los más curiosos os dejo un vídeo que os explicará el funcionamiento de un ratón laser.




Los incomprendidos.


Lo cierto es que no sabía muy bien como titular a esta sección. La iba a llamar "Los grandes fiascos", pero eso sería ser demasiado cruel y quizás injusto; creo que incomprendidos define mucho mejor a los dispositivos o sistemas que voy a mencionar a continuación.

Hemos hablado de que hay dispositivos wired o wireless, pues bien, no se si sabéis (quizá alguno incluso lo haya tenido en sus tiempos de 386 o 486) que había ratones wireless por infrarrojos. Por suerte para nosotros en los años siguientes se desarrollo la conexión por radiofrecuencia y más adelante la bluetooth (aunque esta no es que esté demasiado extendida), pero a lo que vamos; imaginaros lo que era tener que estar constantemente pendiente de donde estaba la base receptora para que el ratón no perdiese la conexión... era un infierno.

Raton Cordless Infrarrojo JVC


Otro de los incomprendidos, aunque se utiliza bastante en la navegación marítima es el trackball. Este dispositivo, a diferencia del ratón convencional, tiene la bola en la parte superior de tal manera que el usuario puede moverla en lugar de tener que desplazar el dispositivo por una superficie. Es ideal si no disponemos de demasiado espacio pero es bastante incomodo de utilizar si ya te has acostumbrado a un ratón convencional.

TrackBall


El futuro.


Como se suele decir, el futuro ya está aquí. Lo vemos a diario con nuevos modelos con más funciones, con baterías que duran hasta 3 años como el caso del Dendro de Hiditec (el ratón detecta cuando el usuario posa la mano encima para activarse); ratones como el Magic Mouse de Apple, que carece de botones, o auténticas monstruosidades gaming como el Saitek.

Ratón MadCatz SayTek

Si me preguntáis a mi cual creo que será el futuro de estos dispositivos os lo diré claramente... desaparecer, no será hoy ni mañana, pero estamos viendo una tendencia muy fuerte hacia lo táctil y hacia lo virtual. Ya hay dispositivos como el TrackIR que detectan el movimiento de la cabeza y que permiten una inmersión total en videojuegos de simulación. Yo creo que el futuro pasa por un dispositivo que nos permita tener la mano libre, de forma que simplemente con el movimiento de la cabeza, ojos o, quien sabe, incluso pensamiento, permita interactuar con nuestros ordenadores de la misma manera, o mejor, que lo hacemos hoy en día.

Os dejo con un vídeo sobre que es y como funciona el TrackIR para que os hagáis una idea de lo que viene.



"La tecnología es sólo una herramienta. En términos de llevar a los niños a trabajar juntos y motivarlos, el profesor es el más importante."
Bill Gates


Compartir:

domingo, 14 de febrero de 2016

Curso de Delphi - Capítulo 1. Introducción


¡Muy buenas a todos! Ya tocaba ir empezando el curso de Delphi sobre el IDE Lazarus, así que aquí tenéis el primer vídeo con la presentación del curso y la introducción al IDE que utilizaremos para llevarlo a cabo.


No obstante os dejo aquí el contenido que desarrollaremos en este primer sprint del curso para que lo tengáis a la mano. 

  • Un vistazo al IDE de Lazarus.
  • Estructura de un proyecto Delphi/Lazarus
  • Nuestro primer programa
  • Tipos de datos. Variables y constantes
  • Estructuras de control
  • Procedimientos y funciones
  • Objetos. Una breve introducción
  • Formularios

También crearé una sección de páginas fuera de las entradas típicas de blogger para estructurar el contenido de una manera más eficiente y que, de esa manera, tengáis un mejor acceso al mismo.

No os olvidéis de compartir el post, darle like al vídeo y todas esas cosas que sirven para hacerme ric... digooo para que más gente lo vea :D

Capítulos:
Compartir:

miércoles, 10 de febrero de 2016

Usar tu Dominio en Blogger. ¿Que es un dominio?

¡Por fin tenemos dominio para el blog! A partir de ahora podréis acceder al mismo a través de la dirección www.invalidexpression.net, así que añadidlo a vuestra lista de favoritos para no perderos nada.

Era un paso lógico para seguir avanzando en el blog y seguir creciendo. Habrá más pequeños pasos como este en el futuro, ¿cuando exactamente? depende del crecimiento que vayamos teniendo.

Por cierto ¿sabéis lo que es un dominio?


¿Que es un dominio?

Las direcciones IP (internet protocol) en internet son como los números de teléfono, uno normalmente se acuerda de unos pocos y necesita asociar un nombre a dichos números para poder recordarlos. Es una comparación no demasiado exacta pero que nos sirve para explicar en que consiste un dominio en internet.

De la misma manera que guardamos en nuestra agenda los contactos con su nombre y número, existen en internet una serie de dispositivos llamados DNS (domain name server) que asocian un dominio (www.dominio.com/net/es/etc...) a una dirección ip, de forma que nosotros, navegantes, solo tengamos que recordar www.google.es en lugar de 173.194.40.151



Hay muchas formas de registrar un dominio, o mejor dicho, hay muchos registradores de dominio por todo el mundo. Los más importantes son:


Así mismo hay una gran cantidad de extensiones de dominio disponibles. La extensión se suele elegir en función del contenido que alberga el sitio en internet, los más comunes son .com, .net, .info, .gov, etc...

Cuando registramos un dominio, solamente reservamos el nombre. Tendremos que entrar en la configuración del dominio para indicarle a donde queremos que apunte. Lo más común es que contratemos espacio web para asociarlo a ese dominio, a no ser que quieras revenderlo después.

¿Como usar nuestro dominio en blogger?

Para utilizar nuestro dominio en Blogger, en mi caso, he tenido que contratar el dominio y reservar un espacio web (gratuito) en Hostinger para enlazar el dominio. Esto es así ya que hay que modificar una serie de parámetros que no están disponibles en la configuración del dominio, pero si en la configuración DNS del espacio web.

Sigue instrucciones de este enlace para asociar tu dominio en internet con tu blog en blogger.

Como ya he comentado, para poder hacer los pasos 6 y 7 yo necesité crear un espacio web asociado al dominio en hostinger, pero es posible que tu no tengas que realizar este paso, en cualquier caso si tienes alguna duda no dudes en utilizar los comentarios.

"Nunca confíes en un ordenador que no puedas lanzar por una ventana" 

Steve Wozniak
Compartir:
Con la tecnología de Blogger.

BoosterBlog

BoosterBlog
BoosterBlog

Timeline Twitter

Seguidores

Seguidores