Cómo programar en C en el año 2016

Desde que se creó C mucho ha llovido bastante y se han creado varios estándares. El último: C11, creado en 2011. Aunque prácticamente los cimientos del lenguaje se mantienen, algunas cosas han cambiado. Por ejemplo la introducción de tipos nuevos y la desaparición de alguno como el char (todavía lo puedes usar referenciando las librería antiguas). También se han introducido nuevas directivas o incluso la forma de escribir código. Por ejemplo ahora puedes declarar variables en cualquier parte del código y no necesariamente al principio del programa o tu función, etc.
Leer más

Emulador visual para aprender ARM

ARM es quizás, gracias a los dispositivos móviles y el famoso IoT, la arquitectura de procesadores más usada. Incluso Linus Torvalds augura que 2016 será el año de los portátiles con ARM. Por ello para cualquiera que requiera o simplemente desee tener conocimiento a bajo nivel de los sistemas, es esencial conocer el funcionamiento de ARM. Para ayudarnos con esta tarea, toda herramienta o ayuda es siempre bienvenida. Aquí es dónde VisUAL viene de perlas.
Leer más

Hora de programación con Star Wars

Ya hemos hablado anteriormente del sitio Hour of Code. Un sitio web pensado para enseñar a programar a niños, aunque realmente para cualquiera que quiera introducirse en este mundillo. La nueva clase se basa en el que es el tema de actualidad en círculos geek: Star Wars. Tienes dos formas de poder hacer dicha clase: a través de bloques (al estilo scratch) o escribiendo código en Javascript, éste último para aquellos que se quieran acercar más a la programación real.
Leer más

Libro: http2 explicado

Como muchos ya sabéis la especificación de la segunda versión del protocolo HTTP, fue publicada en mayo de este mismo año, 2015. El documento oficial dónde se definen la misma, es el RFC 7540. Sin entrar más en detalles sobre esta nueva versión, ya que el objetivo de esta entrada no es ese, sino la de documentación adicional explicada de forma clara y sencilla para ayudarnos a entender mejor los conceptos técnicos de esta nueva versión.
Leer más

Llamadas al sistema

Las llamadas al sistema es la forma en la que el software interactúa generalmente con el núcleo del sistema operativo. Hoy pensando qué publicar, me acordé de un sitio web que tenía en mis favoritos con información sobre las llamadas al sistema de distintas arquitecturas del núcleo de Linux, OS X BSD y Windows. El sitio es este, y en el mismo podemos encontrar información sobre: Linux x86 Linux x86_64 Linux ARM Linux ARM (thumb mode) Linux IA64 (Itanium) Linux Mips o32 Linux Mips n32 Linux Mips n64 Linux Sparc (32 bits) Linux Sparc64 Linux PowerPC (32 bits) Linux PowerPC64 Windows x86 Windows x86_64 OS X BSD Cada enlace nos lleva a una página con la lista correspondiente a la llamadas del sistema de núcleo elegido, parámetros que la función espera y enlace tanto a la documentación, como al código fuente donde se define la misma, con excepción de Windows obviamente.
Leer más

Ejercicios de ingeniería inversa de arquitectura ARM

Ya hemos publicado alguna vez algún proyecto para la práctica de explotación de software compilado para arquitectura ARM. En esta caso, la entrada es motivo de otro pequeño proyecto sobre la ingeniería inversa de aplicaciones compiladas en dicha arquitectura. Son ejemplos de (código fuente en C, más decompilación en ensablador del mismo) patrones de uso común en cualquier aplicación, como por ejemplo son las arrays de cadenas o listas enlazadas.
Leer más

Flappy Bird escrito en 90 líneas de código python

Flappy Bird es un juego que no necesita presentación alguna, pero si te cojo con la guardia bajada, decirte que es un juego para móviles que se lanzó en mayo de 2013. A finales de enero del 2014 se convirtió en el juego más descargado de la iOS App Store. Según su autor el juego llegó a generar 50.000 dólares diarios en publicidad y ventas. El juego empezó a recibir críticas sobre su dificultad e incluso plagiarismo y su autor de forma sorprendente lo borró tanto de la App Store como de Google play.
Leer más

¿Y tú de qué vas?, Román Medina "Romansoft"

Roman Medina-Heigl Hernandez 1) ¿Quién eres y a qué te dedicas? Soy un apasionado de la informática desde muy pequeñín y una mente inquieta. Siempre me ha gustado saber cómo funcionan las cosas "por dentro", y desde 1993 (es decir, "ayer") me interesé por la seguridad informática (y en particular, por el hacking) así que llevo desde entonces aprendiendo y ampliando mis conocimientos en este vasto campo. Me considero un eterno aprendiz y mientras dure la pasión (espero que siempre) seguiré y seguiré y seguiré.
Leer más

Vídeos de LLVM Developers' Meeting 2015

Ya se encuentran disponibles los vídeos de la conferencia sobre programación LLVM Developers’ Meeting 2015. Es una conferencia que se celebra tradicionalmente dos veces al año, una vez en EEUU y otra en Europa y está enfocada alrededor de la infraestructura de LLVM. Jf Bastien & Dan Gohman "WebAssembly: Here Be Dragons" Quentin Colombet "A Proposal for Global Instruction Selection" Johannes Doerfert "€œInput Space Splitting for OpenCL" K. Serebryany & P.
Leer más

Hora de programación con Minecraft, por Microsoft

Microsoft ha creado un juego basado en Minecraft para enseñar a programar a niños. El juego está disponible en code.org y pertenece al apartado de The Hour of Code. Básicamente el juego tendría una duración de una hora. Como éste es para enseñar a programar a niños, la forma de interactuar con el mismo es escribiendo código, o más bien arrastrando bloques con las acciones que quieres que tu personaje lleve a cabo, algo como el famoso lenguaje de programación Scratch.
Leer más