Tag Archives: programación

La locura de ‘Pokémon GO’, un fenómeno de masas que ha sacado a los jugadores a la calle

Los Pokemon corren por las calles de Australia

Cuando se cumplen exactamente veinte años de su creación, los Pokémon, esas curiosas criaturas entre las que se encuentran personajes tan entrañables como Pikachu o Bulbasaur, han desatado un fenómeno sin precedentes en todo el planeta. La culpa es de Pokémon GO, una aplicación móvil que se ha convertido en un éxito tal que ha hecho que el valor de la nipona Nintendo en Bolsa haya aumentado un 57% en menos de una semana.

No es la primera vez que los Pokémon se convierten en una mina de oro para la compañía japonesa (creadora también de éxitos como Mario, Zelda o la Wii), pero nunca hasta ahora habían generado una locura parecida. Pokémon GO vio la luz el miércoles 6 de julio en Australia, Nueva Zelanda y Japón y el 7 de julio en Estados Unidos. Sin embargo, usuarios del resto del globo, incluida España, no tardaron en encontrar la forma de descargar el juego de forma no oficial.

A partir de ahí, los acontecimientos se dispararon. Solo medio día después de su lanzamiento oficial, el juego ya había acumulado 7,5 millones de descargas para iOS e Android y había generado unos beneficios de más de 14 millones de dólares. El lunes, Nintendo marcaba su mejor registro histórico en la bolsa japonesa desde el año 1983. Los servidores empezaron a caer ante tanta demanda y Niantic, la compañía que ha desarrollado Pokémon GO, se vio obligada a retrasar el lanzamiento oficial de la aplicación en otros territorios hasta que puedan asumir la carga técnica que conlleva este colosal e inesperado éxito.

Las cifras van aún más allá. Según datos de SimilarWeb, la primera consultora que se ha lanzado a analizar el fenomeno, en sólo un día Pokémon GO ya había superado a Tinder en número de usuarios, dos días después estaba instalado en el 5,18% de los dispositivos Android estadounidenses, ya ha igualado a Twitter en cantidad de usuarios activos y, con una media de tiempo de uso de 43 minutos y 23 segundos, ya ha doblado el tiempo que se le dedica a Snapchat, ha superado en 20 minutos a Instagram y en 13 a WhatsApp. Además, la reproducción de los temas musicales de Pokémon se ha triplicado en Spotify.

Pero, ¿cuál es el motivo de esta locura? La clave de Pokémon GO es que traslada a la vida real la ilusión de los videojuegos originales: llegar a ser un entrenador Pokémon y hacerse con todas estas peculiares criaturas. Mediante geolocalización, el juego convierte cualquier zona en un mapa en el que aparecen Pokémon que cualquiera puede intentar atrapar a base de lanzar Poké Ball. La distribución de los Pokémon depende en buena medida del área geográfica, por lo que hay que moverse mucho para obtener Pokémon diferentes: los de agua aparecen más habitualmente cerca de ríos, mares y lagos, los bichos y los tipo planta suelen esconderse en parques…

Gracias a la tecnología de realidad aumentada, los Pokémon pueden verse a través de la cámara del móvil, potenciando así la sensación de que los Pokémon están realmente ahí: es posible ver uno volador en plena calle, otro con forma de rata en el salón de casa, un insecto enorme en una zona arbolada…

De este modo, Pokémon Go ha generado una nueva forma mucho más activa de jugar con el móvil. Para progresar no basta con quedarse quieto mirando al móvil, hay que moverse, hay que caminar y explorar el entorno, no sólo para capturar animalillos virtuales sino para conseguir abrir los huevos Pokémon, que eclosionan cuando se ha recorrido una determinada distancia (2 o 5 km), y para visitar algunos puntos de interés que el juego marca en el mapa.

Los hay de dos tipos: las Poképaradas, que son puntos de cierta relevancia (una estatua en una plaza, un comercio, una fuente, una placa conmemorativa en un edificio..) en los que obtener suministros (Poké Ball, pociones curativas…) y los gimnasios Pokémon, lugares muy destacados (la Casa Blanca, la Ópera de Sidney, la Cibeles, la Sagrada Familia…) en los que los entrenadores Pokémon pueden luchar contra otros de equipos rivales (hay tres equipos: amarillo, azul y rojo).

Esta mecánica ha dado lugar a situaciones sorprendentes en la vida real, como las reuniones de decenas de personas desconocidas que se concentran en determinadas Poképaradas. El primer fin de semana de funcionamiento de Pokémon Go ha dejado impresionantes instantáneas e infinidad de anécdotas: una muchedumbre en la Ópera de Sidney, Central Park atestado de entrenadores Pokémon, la policía advirtiendo que no es necesario entrar en la comisaría para obtener Poké Ball, iglesias que aprovechan su condición de Poképarada para atraer a más fieles, tiendas que hacen lo propio para obtener clientes, chicos y chicas que alquilan un kayak para reclamar un gimnasio Pokémon situado en mitad de un lago…

Por otro lado, el juego visual que produce el uso de la realidad aumentada ha convertido además a Pokémon Go en el último fenómeno en las redes sociales, con multitud de memes e imágenes curiosas: un hombre capturando un Pokémon cuando su mujer está a punto de dar a luz, la aparición de uno musculado en un bar gay, otro con forma de serpiente en el retrete, un cangrejo gigante en un estadio, una oruga en una sartén…

Todo esto unido a la adicción que genera el coleccionismo y al factor nostalgia —que ha hecho que tanto niños como adultos se lancen a capturar los 142 primeros Pokémon que vieron la luz— ha contribuido a marcar un hito en la historia de las apps en general y de los videojuegos móviles en particular.

Pokemon GO is just insane right now. This is in Central Park. It’s basically been HQ for Pokemon GO. pic.twitter.com/3v2VfEHzNA

— Jonathan Perez (@IGIhosT) 11 de julio de 2016

There’s a Pikachu & everyone’s going crazy #PokeGoWalk pic.twitter.com/17tgX0DEt4

— Gabe P.B. (@mr_poohbear) 10 de julio de 2016

Los puntos negativos

A pesar del furor generado por Pokémon GO, no todo es positivo. Una de las principales preocupaciones de sus usuarios es que el juego consume muchísima batería. En pocas horas de juego intensivo, la aplicación deja el smartphone sin energía. También es necesaria conexión a internet así que, si no se dispone de acceso a Wi-Fi, es posible que también gaste bastantes datos móviles (aunque este consumo no es tan escandaloso como el de la batería).

Por otro lado, también se advierte de que, al aceptar las condiciones de uso de Pokémon GO, el usuario cede a la aplicación el acceso a todos sus datos de Google. Eso incluye todos los correos electrónicos, los archivos de Google Drive (incluso los eliminados), las fotos en Google Fotos y el acceso al historial de navegación, búsquedas, mapas y ubicaciones. Niantic ha asegurado de que se trata de un error de programación y que ya están trabajando para solucionarlo.

En cuanto a los inconvenientes del juego en sí, ya han comenzado a comunicarse algunos accidentes a causa de las distracciones causadas por jugar a Pokémon GO. También ha trascendido la historia de una grupo de jóvenes de Misuri que utilizaban una Poképarada como reclamo para robar a los incautos y otra de una joven de 19 años que halló un cadáver en un río de Wyoming mientras intentaba capturar un Pokémon acuático.

[email protected]_delbosque Tranquila,la agente Mara va para allá con #Growlithe y #Squirtle #PokemonGO
TODOSvs #maltratoanimal pic.twitter.com/apmZYtC09d

— Policía Nacional (@policia) 7 de julio de 2016

fuente: CienciaExplicada

Dash, la App definitiva para todo “multi-programador”

Logo de Dash para Mac

El arte de la programación, sobretodo cuando necesitamos recurrir a más de un lenguaje a la vez, ya sea por ocio o trabajo, a veces se torna aún más duro debido a la amplia amalgama de recursos que la web nos ofrece. Es en este amplio abanico de posibilidades que tenemos ante nosotros donde encontramos un “handicap” importante al filtrar qué es útil y qué podemos desechar al no sernos relevante. Para ayudarnos con ello aparece Dash en escena.

Dash es una aplicación que te permite tener de manera muy ordenada y al alcance de tu mano, todos los recursos necesarios a la hora de programar en más de 150 lenguajes diferentes, con lo que ya no tendrás que preocuparte por buscar más en la web.

Página de inicio de Dash

Inicio de Aplicación para Mac de Dash.

Atributos, funciones, variables, errores tipo con posibles soluciones,… En definitiva, todo lo necesario para sacar el máximo partido a la programación concentrado en una simple aplicación. Basta con descargarte la App en tu dispositivo (es gratuita para Mac, y tiene un coste de 9,99€ para dispositivos iOS), y elegir en qué lenguajes estás interesado. ¡Et voilá! Dash te organiza y además te mantiene actualizada toda la biblioteca y documentación necesaria para programar en aquello que te propongas. Con su motor de búsqueda, puedes consultar cualquier imprevisto que te surja en tu “aventura” como programador.

Ejemplo uso de Dash con Lenguaje SwiftEjemplo usando Dash con lenguaje de programación Swift. Muy intuitivo y práctico.

Es importante destacar que funciona en todos los dispositivos Apple, se mantienen sincronizados entre ellos y además, no necesitas tener conexión a internet; puedes consultar tus manuales de programación allí donde estés, tanto en un avión camino a tu próxima entrevista de trabajo, como a la sombra de un árbol o disfrutando del buen tiempo en la playa ahora que se aproximan los cálidos meses de verano.

Si alguna vez te has preguntado cómo tener contigo toda esa información y poder buscar a través de ella haciéndote tu trabajo más ágil, quizás esta aplicación está pensada para ti. Muy práctico, sobretodo si estás empezando a abrirte hueco en el complejo mundo de la programación.

 

Continue reading Dash, la App definitiva para todo “multi-programador”

Descubren “bombas con temporizador” en el código de uno de los juegos más originales de Steam

bombas en el código fuente de un juego

En las últimas horas han sido descubiertas varias bombas en el código fuente de un juego que lo hacen injugable cuando pasan determinadas fechas. ¿Qué está pasando?

Spintires fue una de las grandes sorpresas del 2014, porque partiendo de un planteamiento algo extraño consiguió atraer a una gran cantidad de jugadores que no se podían creer que quedarse atascado en el barro fuese tan divertido.

El juego nos pone al volante de diversos vehículos todoterreno, y nuestro objetivo es recorrer los complicados escenarios sin quedarnos atrapados; el juego destacaba por el realismo abrumador de sus físicas, que lo hace muy desafiante y divertido aunque la mecánica del juego sea muy simple.

Según declaraciones del programador Pavel Zagrebelnyy, el editor Oovee Game Studios le debe una gran cantidad de dinero, y no sabe qué hacer para que pague; Zagrebelnyy lamenta que sus conocimientos de leyes sean tan escasos para llevar a la compañía a juicio, mientras que esta asegura que son sólo unos problemas en las cuentas que se resolverán.

Esta polémica se quedaría ahí, sino fuera porque ya está afectando seriamente a los jugadores, que a día de hoy no pueden jugar a Spintires; en estos momentos aún hay mucha confusión sobre lo sucedido, pero todo apunta a que el desarrollador incluyó unas “bombas con temporizador” en el código fuente del juego para que no se pudiese ejecutar después de unas fechas determinadas.

spintires 1

Un estudio de la actual versión del ejecutable spintires.exe ha revelado que en total existen 14 bombas similares en el código, que están configuradas para activarse a lo largo del mes de marzo y el mes de abril. Un detalle importante es que estas bombas ya estaban en el código del juego como mínimo desde el 4 de enero de este año.

Aún no se sabe qué hace exactamente este código, si borra archivos básicos del programa o si simplemente bloquea su ejecución, pero parece claro que la persona que lo introdujo fue el propio desarrollador del juego, sin que el editor lo supiese.

 

Por el momento la reacción de Oovee Game Studios ha sido parar la venta del juego en Steam, donde se ha vendido por unos 30 € durante un tiempo pese a no funcionar en absoluto.

spintires 3

Swift 1.2 confirma que Apple apuesta muy fuerte por este lenguaje

Apple

Ayer mismo mi compañero Miguel Ángel os informaba del lanzamiento por parte de Apple de una nueva beta de Xcode acompañada de Swift 1.2, pero como programador creo que es muy interesante analizar a fondo lo nuevo en Swift 1.2 dejando un poco de lado las mejoras de Xcode. Así que vamos a ello.

Avanzando

Hay que reseñar que Swift 1.2 es una beta y por tanto algunas de los cambios pueden originar problemas o incluso ser eliminados de cara al futuro, pero la base ya es sólida. Estos son los cambios principales en Swift:

  • Builds incrementales: los tiempos de generación de nuevas builds mejoran notablemente al ser incrementales y no totales -similar al comportamiento de Time Machine con las copias de seguridad-.
  • Mejora global en los mensajes de diagnóstico y error.
  • Se han arreglado todos los problemas (conocidos) que presentaban inestabilidad en el compilador.
  • Los binarios producidos por el compilador ahora van mucho más rápido que antes, algo que también influye en los lanzamientos finales.
  • Compatibilidad total con los frameworks de Objective-C, de forma que se pueden usar sin problemas en Swift.
  • Mejoras generales en la implementación del código gracias a nuevas instrucciones como “as!” y un nuevo elemento nativo Set (hace de puente con NSSet).

Tiene pinta de que Apple está preparando el lanzamiento definitivo de Swift con mucha cautela para hacer las cosas bien, pero también con mucha decisión. Si todo va como se espera, 2015 será el año del impulso definitivo para este lenguaje, el cual debe venir de la mano de las nuevas versiones de iOS y OS X que conoceremos probablemente en Junio.

El artículo Swift 1.2 confirma que Apple apuesta muy fuerte por este lenguaje ha sido originalmente publicado en Soy de Mac.

Continue reading Swift 1.2 confirma que Apple apuesta muy fuerte por este lenguaje

Celebremos la llegada del hombre a la Luna con el código fuente del Apollo XI

Aunque en España y buena parte del mundo ya era día 21, como fueron los yankees los que lo consiguieron, podemos decir que ayer 20 de Julio se cumplían 45 años de la llegada del hombre a la Luna en el Apollo XI (no confundir con el Apollo XIII de la peli homónima esa del “Houston tenemos un problema”) y que mejor manera de celebrarlo que leyendo el código fuente del ordenador de a bordo del mítico transbordador espacial. Cientos no, miles de líneas de código que son oro puro, canela en rama para todos los amantes de la historia de la informática y el desarrollo… vamos, todos los que nos paseamos por aquí (o así debería ser).

El código, que fue escrito por gente del MIT ex profeso para este Apollo Guidance Computer (AGC), es desde 2009 de dominio público, está alojado en ibiblio.org (el archive.org del software, basicamente) y estos días de conmemoración está siendo compartido como la espuma por todas las redes sociales. No te preocupes si no sabes código ensamblador (no ya cosas más arcanas como código máquina o hexadecimal) o lo tienes más oxidado que las bisagras de Bender después de un día sin cerveza, que todo bien profusamente explicado para que podamos entender cada línea de todas y cada una de las subrutinas y ficheros. Simplemente gozoso, como adentrarse en un yacimiento abisal de conocimiento developer.

Pd: entre esto y lo enganchado que estoy a la nueva serie ‘Halt and Catch Fire’, donde la trama gira en torno a la ingeniería inversa a la BIOS del primer PC Computer de IBM, me están entrando unas ganas locas de volver a la programación de bajo nivel, de HLT y soldador. Espero que se me pase pronto, que o estoy yo ya para esos trotes.


via:ibiblio

Aparece un mod híbrido entre iMac y Apple II en un solo equipo

Apple-II-iMac-híbrido-0

Aunque ahora lo veamos extraño debido al tipo de equipos que vende Apple, había un tiempo en el que los equipos que vendían los de Cupertino no llevaban incluido un monitor incorporado en el propio equipo y no era algo extraño sino la norma general también entre otros fabricantes. En el caso que nos ocupa, el Apple II podía ‘encargarse’ con un monitor CRT de unos 10 kilos de peso y resolución de 320 x 200 pixels, el cual era algo más pesado de lo que es un iMac de 27 ” actual.

Lo más curioso del asunto es que no se trata de un ‘experimento’ sino que tiene una funcionalidad real, es decir, puedes utilizar tu iMac como un equipo normal en el más estricto sentido de la palabra solamente que cuando quieras rememorar viejos tiempos puedes hacerlo a través del Apple II que estará conectado al iMac aunque no sabemos en que forma, ya que el usuario en cuestión Francesco Zaia, no ha explicado como se ha llevado a cabo. Recordemos que el Apple II era un equipo que integraba un microprocesador 6502 de MOS Technology funcionando a 1 MHz, con 4 KiB de RAM, 12 KiB de ROM con el lenguaje de programación Integer BASIC.

En realidad el iMac no hace más que la función de un monitor mas actual cuando se usa con el Apple II y un iMac tal cual cuando se usa de forma nativa. Quizás la parte más llamativa es que posee según comenta, un sistema de dual-boot para arrancar desde un principio en cualquiera de los dos modos. De todas formas debido al hecho de no haber ampliado la información respecto a como ha sido capaz de realizar este mod, podemos llegar a pensar que se trata de un montaje sin base ninguna aunque en el fondo estaría bien que se tratase de una realidad pero que no creo que Apple vaya a patentar esta idea.

 

Cómo la simplicidad de JSON ha cambiado la forma de intercambiar datos

Hasta hace 5 o 6 años cuando se quería transmitir información desde un servidor a una aplicación (ya fuese una aplicación como tal o una web dinámica) se usaba XML, pero parece que esta tendencia ha cambiado totalmente apostando la mayoría de las empresas y servicios por JSON, una alternativa menos restrictiva, ligera, dinámica y probablemente más fácil de leer (para los humanos).

¿Y es la simplicidad la que hace nacer algunas tecnologías basadas en JSON?

 

Repaso a JSON

Aunque quería analizar la situación actual de JSON, no puedo evitar dedicarle unas pequeñas líneas a esta notación, que tiene el claro fin de intercambiar datos.

Esta notación basada en objetos (que utiliza el sistema nativo de objetos de JavaScript) hace uso de las llaves y los corchetes para agrupar los datos en listas relacionando clave y valor o listas simples, respectivamente.

Para los iniciados en la programación que no conozcan la notación les hará falta un simple ejemplo para entender su funcionamiento.

// Ejemplo para los datos de un smartphone { marca: "Sony", modelo: "Z", especificaciones: { ram: 1024, resolicion: [1920, 1080], camara: "13Mpx" }, colores: [ "rojo", "azul", "negro" ] }

¿JSON se ha impuesto como norma?

El gran contrincante de JSON es XML, que se puede definir como un lenguaje muchísimo más estricto (debido al uso de DTDs o definiciones del tipo de documento) y que tiene algunas peculiaridades como la de disponer de XPath para recorrer su estructura. Pero cuenta con la desventaja de ser muy basto, lo que lo hace poco manejable o incómodo de escribir, sin hablar de el volumen que puede tener si queremos intercambiar grandes volúmenes de datos.

En el caso concreto de pasar datos medianamente simples, como serían datos para generar gráficas, XML se convierte en un gran lastre, ya que la forma idónea de pasar estos datos es almacenándolos en diferentes etiquetas (212428), mientras que en JSON podemos almacenarlos todos seguidos como un simple array ([21,24,28]).

Esta ventaja en cuanto a simplicidad y la gran compatibilidad con multitudes de lenguajes ha logrado que sea prácticamente la norma en el desarrollo web, siendo algo trivial la recepción mediante AJAX de objetos JSON que son interpretados de forma nativa por cualquier navegador (con JSON.parse()). Continue reading Cómo la simplicidad de JSON ha cambiado la forma de intercambiar datos