Mostrando entradas con la etiqueta Programación. Mostrar todas las entradas
Mostrando entradas con la etiqueta Programación. Mostrar todas las entradas

lunes, 1 de diciembre de 2014

La supervivencia en el ajedrez


ajedrez, supervivencia piezas ajedrez, fichas ajedrez, piezas ajedrez, chess

(Vía Know More)


Algunas preguntas son muy fáciles de responder, otras, no tanto. Pero qué dirías si te preguntan

¿cuál es la probabilidad de que cada pieza del ajedrez sobreviva a una partida?

Como aficionado, tengo que decir que no soy un gran jugador (veo mejor las jugadas del rival que las propias), me cuesta la vida jugar sin mi reina y nunca he resuelto un "las blancas juegan y ganan" del pasatiempos del periódico. Tampoco he entendido la solución... no hablo la jerga.

Pero internet es el lugar de las grandes preguntas y también, de algunas grandes respuestas. La pregunta se propuso en Quora (una especie de Yahoo Answer), y ojb500 se tomó la molestia de tomarse la respuesta en serio.

Lo primero es conseguir los datos: Million Base 2.2 es una base de datos de 2,2 millones de partidas de ajedrez disputadas en torneos, actualizada por última vez en enero de 2013. Lo segundo, programar el cálculo, algo un poco más complejo...

El resultado es esta imagen que viene a decirnos que:
  • más vale cambiar un alfil por un caballo... el primero tiene las horas contadas;
  • la reina no sobrevive ni a la mitad de las partidas y,
  • si por casualidades del destino, nos tocara jugar al ajedrez de Harry Potter, más vale ser el peón de la derecha. Casi tres de cada cuatro lo cuentan.

lunes, 10 de febrero de 2014

jueves, 24 de enero de 2013

Empezar a programar


Una vez diferenciados los tipos de lenguajes de programación, he encontrado algunas webs que nos pueden ayudar a aprender a manejar lenguajes de "alto nivel". Comparto con vosotros tres enlaces bastante interesantes y que aún tengo que conocer más a fondo y un webinar para programar aplicaciones en Android.

El primero es W3Schools. Está enfocado a aprender los lenguajes de programación más utilizados en el diseño de páginas web y bases de datos; HTML/CSS, JavaScript, PHP, Ajax, SQL, ASP.NET, Razor, XML, RSS... por citar los que más me suenan. Está en inglés y hay que leer, pero viene bastante claro. El problema principal es la publicidad, pero no se puede tener todo.

El segundo es Codeacademy, también en inglés. Todo comienza con un sencillo ejercicio en el que sin darnos cuenta, empezamos a programar en Java. Lo básico, mostrar un texto, crear variables, modificarlas y hacer cálculos con ellas. A partir de ahí, es cuestión de horas delante del teclado.

El tercero es la sección de Computer Science de Khan Academy. Ofrece unos cuantos tutoriales en vídeo para introducirnos en los conceptos básicos de la programación. No lo entiendo muy bien, pero también ofrece bastantes posibilidades. Por ahora está más enfocados a conceptos básicos comunes en todos los lenguajes de programación.

¿Complicado? Una de las razones por las que programar parece una cosa más imposible que complicada es porque no se sabe muy bien qué se quiere conseguir. Se aprenden comandos y se obtienen resultados obvios, pero ¿para qué? ¿dónde y cómo los aplico?

Solo hace falta una razón, la mía, la que me he propuesto y que tendré que dejar para más adelante, cuando tenga el "pack completo" de Acta Verbum y, si todo sale bien, empiece a dejar de preocuparme de cómo conseguir ingresos de esos con los que se compran las cosas en la vida real; es crear una aplicación para Android:



(Vía Guadalux)

Como veis no parece excesivamente complicado utilizando solo la interfaz gráfica, pero conociendo Java, o en definitiva, el lenguaje de programación en el que está desarrollado, las posibilidades son infinitas, tanto que dependen absolutamente de nuestra imaginación. Además, así es más fácil corregir errores y, aunque al principio de un poco de pánico "picar" código, es mucho más rápido programar. Yo empecé a aprender HTML con el bloc de notas... allá por las conexiones de 56k...

En el Webinar os dan las herramientas para empezar a trabajar. Hay más vídeos que os recomiendo que reviséis (en especial uno sobre HTML5 y CSS3) y, si queréis tomaros en serio esto de programar, empezar a usar software libre para poder ver el código. Ahora mismo no parece importante, pero además de que es más seguro, seguro que se aprenden diferentes formas de hacer lo mismo, en definitiva, programar de forma eficiente. Posteriormente, podréis mejorar el programa o el sistema operativo que utilicéis y adaptarlo a vuestras necesidades.

Aunque claro... lo primero sería aprender a escribir rápido en el teclado. Y unas nociones muy básicas de inglés. Y ya puestos, poder conectarnos a internet...

Suerte y paciencia. Va a hacer falta.

viernes, 28 de diciembre de 2012

Ouya



(Vía Android.es)

Ouya es la primera videoconsola "abierta". Tanto su hardware como su software pueden ser leídos, modificados o distribuidos por cualquier usuario sin necesidad de pedir permiso y totalmente gratis.

Su financiación ha venido a través de Kickstarter, una plataforma de crowdfounding, donde quien quisiera, podía contribuir con el proyecto. Se necesitaban 950.000 dólares. Al parecer, la idea convenció a más de uno. A las 8 horas, ya había recaudado 2 millones. Finalmente, ha obtenido 8.596.474 dólares de un total de 63.416 donantes.

Sus características son:
  • Procesador quad-core NVIDIA Tegra-3 (hasta 1,4 GHz)
  • 1 GB de RAM
  • 8 GB de almacenamiento interno
  • Conexión HDMI con soporte para vídeo en HD hasta 1080p
  • Conectividad WiFi 802.11b/g/n y Bluetooth LE 4.0
  • Ethernet (que permite conectar varias Ouya a nivel local)
  • 1 puerto USB 2.0
  • Un mando inalámbrico con controles estándar
  • Android 4.0 Ice Cream Sandwich

Por lo tanto, funciona con Android, la plataforma de software libre basado en Linux y auspiciado por Google.

¿Te gustaría programar nuevos juegos para esta videoconsola? A partir de hoy, puedes descargar los kits de desarrollador. Mucha suerte.

Si sólo eres un gamer de sofá, y quieres probarla, estará disponible a partir de abril por 99 dólares (30 más por cada mando extra). Bueno, bonito y barato (y libre).

domingo, 10 de junio de 2012

Lenguajes de programación


Tengo pendiente una entrada sobre hackers. Antes, hay que conocer de qué forma se comunica el ser humano con un ordenador, un animal con una máquina.

Como estudiante de teoría de la comunicación, lo compararé con el sistema más simple, el de Laswell.


----------- CANAL------------
/Emisor ---- Mensaje (código) ---- Receptor/
/ (Ruido) /


Hay un emisor que emite un mensaje a través de un canal (aire, agua, cable de fibra óptica...). Para que la comunicación sea efectiva, el emisor debe adaptar su mensaje al canal y evitar situaciones de ruido, que puedan interferir en la interpretación de su significado por parte del receptor, es decir, el mensaje también debe respetar un código común entre emisor y receptor (español, código Morse, código binario...).

lenguaje de programacion, programacion, lenguaje ordenador, codigo informatica, lenguaje ordenador, lenguajePara hablar con una máquina, el ser humano tiene que idear un lenguaje. A partir de ahí, se establece un código de relación en la máquina para establecer relaciones, por ejemplo, que al pulsar la letra A en el teclado, en lugar de mostrar una representación binaria (01000001), para ejemplificarlo de un modo sencillo. Estas relaciones se establecen en una base de datos, es decir, la memoria física del ordenador (disco duro).

A partir de aquí, la presentación muestra la evolución de los distintos lenguajes de programación, necesaria para comprender cómo funciona la maquinita que tenemos delante y por qué, con internet, son tan "vulnerables" en términos de seguridad en el acceso y la suplantación de identidad.



Empezar a programar.