Este blog ya no está activo, sigue informándote aquí:

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

martes, 17 de abril de 2018

Write a Shell in C

Si hace tiempo os compartí mis ansias por crear un sistema operativo desde 0 y hasta os compartí un "tutorial" sobre como crear un editor de texto en C, pues hoy me he encontrado por la red de redes otro "tutorial" para crear una shell en C también, La verdad es que no es difícil pero me temo que a la larga va a ser muy enrevesado.


A ver si algún día puedo llegar ha hacer algo interesante para este blog pero tendremos que esperar hasta que caiga algo de retro tecnología en mis manos o la pueda reciclar de alguna manera. 

Sed Buenos ;) 

lunes, 14 de agosto de 2017

LOG2.- Ludismo y Pokemon

Aquí tenéis el segundo Log de mis vacaciones y de como está funcionando nuestros experimentos. Como parte de nuestro CyberPunk Summer nos pusimos como meta en la entrada de vacaciones trastear con emuladores, Python y la Pocket CHIP.


  • Siendo transparentes el script que os vamos ya estuvimos trabajando con el un poco antes de vacaciones. Como podréis ver en el siguiente tweet que compartí. 
    1. Pero ahora es cuando nos hemos parado a utilizarlo y a subirlo a nuestro GitHub para que todos los que tengáis una Pocket CHIP o un sistema de base Linux podáis utilizarlo. No es gran cosa y está en completo spagetti code pero es funcional y mola un rato. 
      1. Enlace al script: https://github.com/StateX/PokeMenu 
    2. Y hablando de Pokémon, una actualización de ultima hora que no he podido resistir a compartiros. Se trata de una ejecución arbitraria de código donde no solo se terminan el juego de Pokémon amarillo en 8 minutos si no que además les ha dado tiempo a incorporar cameos de otros videojuegos.
      1. Una pasada: http://tasvideos.org/5384S.html
  • Por otro lado el router que tenemos para trastear se nos ha quedado corto y lo único que nos queda por experimentar con es ver con que tipo de antena wifi "hecha en casa" conseguimos obtener mas potencia. 
    1. Aquí podréis ver parte de nuestras manualidades: https://www.instagram.com/p/BXvmXfdhsi0/?taken-by=realstatex
Como veis poco a poco vamos cumpliendo objetivos y también hemos grabado algún capitulo que otro de nuestra CyberPuk Summer el cual podréis ver en Setiembre. Así que de momento avanzamos mejor que la semana que viene y eso me gusta. 

Sed Buenos ;)

domingo, 6 de agosto de 2017

Mi hora de código 22 .- Java y Codeacademy

Ya sabéis que estamos de mudanzas de vacaciones y no tenemos mucho tiempo, pero eso no quiere decir que no tengamos tiempo para seguir aprendiendo y traeros el vídeo de cada domingo.

Hoy volvemos con una sección que teníamos tan olvidada como a Tonto pero que poco a poco la iremos retomando. Se trata de Mi hora de Código y ahora empezamos con Java. 


Sed Buenos ;)

martes, 1 de agosto de 2017

Python.- Entendiendo if __name__ == "__main__"

Hace mucho que juego con Python y si algo caracteriza este lenguaje de programación es la sencillez pero siempre me a parecido un poco absurdo que lo primero que no encontremos al leer cualquier programa bien escrito, sea lo siguiente:  if __name__ == "__main__"

La verdad es que cuando entiendes para que sirve es muy útil, pero contrasta muy fuerte con lo sencillo que es empezar a programar en este lenguaje. Así que hoy os voy a recomendar el vídeo práctico que explica muy bien para que sirve. 


Sed Buenos ;) 

miércoles, 26 de julio de 2017

GitHub.- Aprendiendo RegEX

La verdad es que aunque hago un montón de scripts relacionados con expresiones regulares poco tiempo he dedicado a "estudiar" o aprender sobre ellas. Por eso y ya que estoy recopilando información para el [Cyberpunk Summer 2017], hoy os voy a recomendar un repositorio mas.


Zeeshan Ahmed deja muy claro desde el primer momento que son las RegEx en su GitHub:
Una expresión regular es un patrón que se compara con una cadena de texto de izquierda a derecha. La palabra "expresión regular" se puede encontrar generalmente en su término abreviado como "regex" o "regexp". La expresión regular se utiliza para reemplazar un texto dentro de una cadena, validar la forma, extraer una subcadena de una cadena basada en una coincidencia de patrón y mucho más.

Enlace al repositorio:

lunes, 10 de julio de 2017

VimGameCodeBreak.- Borrando código con estilo.

Seguro que habéis programado algo y que os han entrado ese picorcillo al notar que vuestro código no funcionaba. La verdad es que si esto pasa con un editor de código "amigable" imaginaros si estáis usando vim por eso johngrib se lo ha tomado por el lado ZEN y ha creado una copia del videojuego de Arkanoid que se ejecuta como un plugin de vim y al impactar contra una linea de código, esta desaparece. 



Simplemente brutal y grande a la vez. Me ha encantado. Aquí tenéis el enlace a su repositorio: 
Muchas gracias, 

Un saludo 

martes, 13 de junio de 2017

CheatSheet.- Data Science in Python

Bueno, cada día que pasa parece que este blog se encamina a ser unicamente de Python pero es que cada vez me sorprende mas este lenguaje de programación. Hoy, aunque no os recomendaría Python para esto, os recomiendo esta "chuleta" sobre PANDAS (No, los osos no ...) una librería construida sobre Numpy para la  estructura y el análisis de datos. 


Inforgrafia en grande y mucha mas información: 

Sed Buenos ;)

martes, 30 de mayo de 2017

Proyecto.- Pray for tonto

Para los nuevos que leéis este blog Tonto es un asistente virtual que empecé a programar para aprender Python y que poco a poco ha ido tomando forma. Pero ya hace meses que no he escrito ni una linea de su código justo cuando cree el foro Pray for Tonto para que la gente que me enviaba recomendaciones y pedía consejo se pudieran responder los unos a los otros y de esta manera jugar con la tecnología, que es lo que nos gusta al fin y al cabo. 

Pero al ver que casi nadie aportaba, al final, me olvide de ella hasta que recibí en mi inbox, el siguiente mensaje: 


Además de tocarme muy fuerte la "patata", habían varias ideas chulas en los hilos, así que creo que la poca colaboración que ha habido se debe a que no he movido el tema ya que la gente quiere colaborar. 


De esta manera ahora tendremos el siguiente muñeco a la derecha del blog por si queréis colaborar y yo me comprometo a aportar mas valía a este foro. 

Enlaces para que los que no sepáis que es Tonto:

 Sed Buenos ;) 

martes, 16 de mayo de 2017

Vídeo.- Python. Más rápido que C

No, aun no me queméis por hereje, se que el titulo puede llegar un poco a engaño y digo un poco por que Facundo Batista a trasteado un monto para compararlo con C hasta el punto de descubrir que optimizándolo de la forma correcta Python no es mucho mas lento que C y ganamos velocidad en escribirlo. 

Super-entretenido y curioso. Se tenéis curiosidad por ver como funcionan los lenguajes de programación por debajo os recomiendo que lo veáis. 


Sed Buenos ;) 

miércoles, 19 de abril de 2017

Como crear tu propio sistema operativo en C/C++

Otra entrada o nota para mi yo de futuro cuando se digne a aprender, de verdad, C o C++ y aunque solo [es la segunda entrada] ya podéis ver por donde van los tiros solo con leer el titulo. No, no aspiro a programar el mejor sistema operativo del universo, solo quiero entender el trabajo que ha detrás de lo que diariamente menospreciamos. Vamos saciar un poco mas mi curiosidad ¿No os parece interesante saber que está corriendo por debajo de vuestra interfaz gráfica? Pues a mi si. 


Así que como nota, hoy quiero recomendaros el libro How to Make a Computer Operating System de Samy Pessé una guía casi paso a paso de como crear un sistema operativo basado en C++ con ejemplos fotos y todo tipo de explicaciones. 

Enlace al libro:


Enlace al GitHub de Samy Pessé:

jueves, 6 de abril de 2017

Como crear tu propio editor de texto en C

Esto mas que una entrada sobre seguridad informática es la catalogan de un recurso para un proyecto a muy largo plazo, en el cual mi yo del futuro querrá meterse y tendrá que estar preparado para ello. Ademas, encaja muy bien con el espíritu Hacker de querer aprender como funciona todo.


Todo indica que me va a tocar aprender mucho C para mi proyecto, pero valdrá la pena y si cuento con guías como la que os voy a recomendar hoy va ha ser un muy buen tutorial. 

Salvatore Sanfilippo creo un [editor de texto llamado Kilo] con solo 1000 lineas de código en C, muy chulo y minimista en mi opinión,  y en esta guía encontraremos como programarlo nosotros desde 0 con C y a "tunearlo" a nuestro gusto. Muy chula para todos aquellos que como yo no tenga ni idea de C y quieran aprender con un ejemplo practico, realista y que vais a poder usar cuando queráis. 

Enlace a la guía:



Sed Buenos ;)

viernes, 17 de febrero de 2017

Migrando a Tonto con 2to3

Hace un poco menos de tiempo hablamos de [como migrar código de Python 2.X a 3.X  gracias al script] que viene con la instalación por defecto de Python, 2to3.py. Es bastante fácil de utilizar y te ahorra mucho tiempo de quitar y poner caracteres. 


Pues como hoy es viernes y quiero trastear con la [CTF de  FWHIBBIT] me he dedicado a usar este sencillo script con Tonto mi asistente virtual que ya necesitaba una migración en condiciones.

Os dejo con el vídeo que ya os lo explica él. 


Sed Buenos ;)

lunes, 13 de febrero de 2017

Trump2cash.- Trump, Python y la Bolsa


Os acordáis que hace años jugamos a [extraer información de Google Finance] y [publicar los valores del IBEX] en Twitter al segundo. (Lo cual, provoco que me cerraran la cuenta de Twitter con la que trasteaba al superar el limite de tweets permitidos.) Pues Max Braun le ha dado la vuelta a esto y lo a juntado con los Tweets de Trump.


Trump2Cash está escrito en Python y utiliza la API de Twitter para recibir notificaciones cada vez que Trump publica  un Tweet. Le hace un análisis del tono en el que va dirigido utilizando la API de Google Cloud Natural Language y el Servicio de consulta de Wikidata para proporcionar los datos de la empresa que es mencionada. Ademas, con la API de TradeKing realiza el comercio (venta o compra) de las acciones.

Enlace a la herramienta:
Más información sobre la historia de como se gestó esta herramienta (La verdad es que es muy curiosa): 

viernes, 3 de febrero de 2017

Proyecto.- Programemos juntos a Tonto

Tonto es una PoC de asistente virtual que programe en una semana santa, en el blog de [Mi hora de código]. Bueno, la verdad es que subí un vídeo a youtube y la gente está respondiendo muy bien ayudándome un montón. Así que como había bastante gente que quería participar en la creación de este programa, hemos decidido abrir un foro típico para organizar los objetivos y hacer push a partes del código que nos parezcan mas chulas. 

Aquí tenéis un vídeo con una sorpresa: 


Y aquí tenéis el link del al foro por si queréis participar vosotros también: 
Sed Buenos ;) 

lunes, 30 de enero de 2017

[Podcast].- Talk Python to me

La verdad es que desde que Python en Español dejó de publicar sus podcast, me había quedado un poco huérfano en lo que novedades en Python se refiere. Así que buscando buscando encontré Talk Python to me, un podcast bastante técnico sobre novedades en este lenguaje de programación que tanto nos encanta y como no, en ingles, aunque un ingles asequible hasta para mi que no me viene nada mal oir y practicar este idioma. 


Aquí tenéis el enlace y suben uno nuevo cada semana. Muy recomendable: 

Como no, otro día de entrada corta pero estoy intentado adelantar otros proyectos que espero poderos anunciar en breve. 

Sed Buenos ;) 

martes, 6 de diciembre de 2016

Slides.- Creando código compatible con Python 2 y 3

Por mucho que adore a Python 2.X cada vez me estoy haciendo a la idea que migrar a Python 3.X es la opción mas lógica y que de aquí a nada va a ser el futuro de este lenguaje de programación tan chulo. Así que hoy, mientras me pongo un poco al día, os recomiendo estas slides Adrián Matellanes donde nos da unos tips para migrar nuestro código y la manera de hacerlo automáticamente con 2to3.

Documentación de 2to3:

Sed Buenos ;)

martes, 22 de noviembre de 2016

¿Problemas con la Wifi a mi? Se Python

El título es un poco raro pero hoy se lo merece. Hace un par de semanas que la conexión wifi me va a tirones y se interrumpe cada dos por tres. Seguro que alguien ha puesto un nuevo AP en el mismo canal en el que está este y me esta dando problemas por eso ... tendré que mirarlo, pero hasta que pueda, aprovechando que sabemos Python. Hoy me he montado un script para que al interrumpirse la conexión se vuelva a conectar por si solo. 

Para eso utilizaremos la librería wireless de Josh Villbrandt pero ojo que solo funciona con algunos adaptadores.


Una vez dicho esto que espero que comproveis, yo me he ayudado del siguiente ejemplo:
from wireless import Wireless  
wireless = Wireless() 
wireless.connect(ssid='Elnombredelared', password='password')
Lo mejor de todo es que la función wireless.connect(ssid='Elnombredelared', password='password') nos devuelve un True o un False dependiendo si ha conseguido conectarse o no. Así que ya lo tenemos ¿no? 

Ahora solo tenemos que saber como comprobar el estado de la red, por ejemplo y esto es una solución un poco spaghetti code, hacer un ping a google cada usando como ejemplo la siguiente entrada del blog Linuxito o como vimos con Bpyng en este blog:

Así que un While bien puesto y un if para que cuando no se llegue a Google se haga la conexión automáticamente y quede en activo comprobando el estado de la red, otra vez. 

Enlace de ayuda ya que no os puedo pasar el script: 
Enlace a la librería wireless: 
Cuando me sienta mas orgulloso del script y sienta menos vergüenza ajena al enseñarlo, lo subiré al GitHub y posiblemente hablemos de el en Youtube. 

Sed Buenos ;) 

domingo, 30 de octubre de 2016

Guia.- Hacking con Ruby

Antes de que yo me pusiera a aprender Python, en el sector sonaba muy fuerte el nombre de Ruby, el lenguaje de programación con el que está hecho Metasploit, y lo aprendí un poco. Lo justo para saber leerlo y para saber importar módulos/exploits a Metasploit.


Así que, al encontrarme esta guía ayer volví a tener ganas de programar en este lenguaje y puede que haya llegado el momento de aprender un poco mas. Esta guía me gusta porque, aunque no es profunda, empieza desde 0 y te ayuda a saber parsear la información que realmente estas buscando desde una base centrada en la seguridad informática y esto para mi es la verdadera magia de la programación. (No se si me he explicado bien xD)

Enlace a la guía:   

Sed Buenos ;) 

miércoles, 14 de septiembre de 2016

Repaso Bash Shell

En [vacaciones escribí un cutre-script] que me permitía cambiar la dirección MAC de mi máquina cada vez que ejecutaba la terminal. La verdad es que es un script muy sencillo y aunque era una buena idea creo que me falta un repaso a todo lo que me puede ofrecer Bash cuando se fusiona con una Shell. 


Para eso y para los que tengáis un poco de curiosidad os recomiendo con la siguiente página: 


La verdad es que hay un montón de cosas que no sabia y que pueden ser muy practica, como por ejemplo el uso de "tab" para que complete automáticamente el nombre de un directorio (simulando un golpe de tabulador). Es muy interesante. 

Sed buenos ;) 

lunes, 1 de agosto de 2016

Bash a la defensiva.

Si algo adoro casi con la misma intensidad que a Python es Bash. Hace años que este lenguaje de scripting se convirtió en mi herramienta para trastear con el antiguo PC de mi abuelo y con los de mi escuela cuando quería gastar alguna broma a alguien que me pidiera copiar mi trabajo. 


La verdad es que he pasado muy buenos ratos pero,  nunca me he parado a pensar en como programar bien con el o como programarlos debidamente para que no fueran vulnerables. Buenos, pues hoy os voy a recomendar unas "Katas" o buenas practicas para que las vayamos implementado en nuestros scripts.