Vinfo, alternative to GNU Info documentation reader March 2, 2015

The traditional GNU Info program has a ‘vi mode’, but let’s face it, it is just not good enough; It’s very limited and ugly.

There are good alternatives though, as Pinfo but is still not comfortable enough and lacking most of the Vim power.

There is where Vinfo comes in to allow reading Info documentation in Vim so we have all the power we need to read and explore in such a comfortable way and with the beauty and power off Vim help-files.



VIM Jump to next/previous help file tags fast February 20, 2015


Every Vimmer, advanced or nodb, cannot live without Vim help mechanism and help-files, we all know that. But there is a useful functionality that vim does not offer to us while reading its documentation: Jump between tags!

Vim files are full of Tags that act as hyperlinks between different parts in one or multiple help-files, but moving trough tags/links should be faster and here is how:

When the cursor is on a tag one can follow it with ctrl-] but we need the cursor there in the first place. So lets use ]g and [g for jumping to next and previous tag respectively adding this to your vimrc:



Caps Lock la tecla más inútil, útil al fin! December 21, 2014


La tecla más inútil de nuestro teclado es irónicamente una de las teclas de más fácil acceso, ¿no es eso algo ridículo?

No solamente está su gran inutilidad, sino además puede llegar a ser molesta de forma pro-activa cuando la tocamos sin querer y nuestro texto termina siendo un GRITO MUY IRRITANTE.

Pero no podemos sentarnos y conformarnos, o mucho peor! Sentarnos y sufrir en silencio, algo habrá que hacer al respecto. Así que pasemos a convertir la tecla más inútil en una tecla realmente útil y aprovechemos su conveniente posición en el teclado a nuestro favor!



El teclado es tu amigo December 4, 2014


Cualquier persona que se dedique a actividades relacionadas con la informática (y hoy en día prácticamente cualquier persona independientemente de sus actividades) está plenamente consciente que su principal interfaz con una computadora es su teclado, y dada la cantidad de tiempo que lo usamos, más nos vale estas completamente cómodos con él.

Hay varias cosas que influyen en como lo usemos, y dependiendo de sus características podremos disfrutar más o menos al usarlo, veamos algunas cosas:



Juego en C y ncurses + robot físico July 10, 2014


Este es un ejemplo bastante completo de una interfaz basada en Ncurses que implementa un juego escrito en C.

El juego consiste en desplazar un robot a través de una cuadricula evadiendo los obstáculos para llegar a una salida y lograr hacerlo antes de que el robot se quede sin energía.

A esto, si se le puede llamar un juego, es bastante malo como tal, no es nada divertido ni disfrutarle, no será una aventura mágica ni te tendrá horas jugándolo, incluso sus reglas elementales hacen de él una actividad que no representa ningún reto ni entretenimiento, pero! Es un muy buen ejemplo del uso de la librería Ncurses con el lenguaje C y un no tan bueno, pero simple ejemplo del control de hardware.

Veámoslo en acción:



USB a Serial (UART), FT232 convertido de SSOP a DIP May 24, 2014


Ahora mismo estoy trabajando en un proyecto en el que necesito comunicación con el PC, la primera opción sería usar el puerto paralelo de mi vieja y querida Pentium IV, pero aquello de llevar conmigo esa maquina en su grande y pesado case… Es algo que ciertamente me desmotiva.

La alternativa sería usar una laptop y comunicar por USB, pero mientras no termine de implementar el estándar USB (en progreso, espero publicarlo pronto aquí) no sería posible.

La siguiente solución que se me ocurrió fue usar un FT232, un bonito chip que implementa un Comunication Device Class (CDC) de USB y nos entrega un serial UART a TTL, es ideal y fabuloso, pero por desgracia viene únicamente en una presentación poco cómoda SSOP de 28 pines.

Esto fue lo que hice para poder usar este genial chip en una protoboard:



Solve soldering iron black tip April 27, 2014


As an electronics hobbyist is very often necessary to make project permanent in a nice PCB.

Sometimes is necessary to replace or modify some components in a existent PCB or just recover components from an old one, for every case, what we need?

Yes! A solder iron!, useful tool for playing with electronics right?

If we’re talking of a hobby probably we’re using a cheap soldering iron (or a not so expensive one). So probably we don’t get any temperature trimming, stand by mode or rocket materials for the tip, so after an hour (or even just a few minutes) the tip of our soldering iron has become black and carbonized so it doesn’t melt solder any more, we need to turn it off and leave it to dissipate heat in order to use it again. Very annoying!



Convertir un libro PDF en formato de libro de mano (handbook) y ahorrar papel November 9, 2013


Por lo general solemos tener mucho más que varios libros en formato PDF, pero no hay nada mejor que leer sobre papel, además de que poder leer un libro impreso mientras vas en el transporte publico, mientras esperas que empiece la siguiente clase, o simplemente tenerlo a la mano siempre para leer en cada oportunidad es algo invaluable.

Pero usualmente hay más de un problema con esto:

El papel por ejemplo tiene su costo y si vamos a imprimir 20 libros de entre 500 y 2000+ páginas cada uno, tendremos que pagar una cantidad considerable (tanto si lo imprimimos en casa como si lo llevamos a un centro de impresión), esto además de que siempre es bueno usar la menor cantidad de recursos posibles, tanto por eficiencia, reducción de costos y por conciencia ecológica.



LiFi, la tecnología que NO reemplazará al WiFi October 21, 2013


Se ha estado escuchando mucho últimamente sobre la nueva y revolucionara tecnología LiFi, que sin duda aplastará y reemplazará a la “obsoleta” tecnología WiFi… O no lo hará?

Pero que es el LiFi, como funciona y por qué puede ser considerado un reemplazo al Wifi? (o no tanto?)

Me limitaré a hablar de los detalles oportunos para la explicación, pues esto del LiFi se ha extendido rápidamente y existe información por doquier.



Programando PIC's en GNU/Linux (hardware y software) August 10, 2013


Mi fuerte es la informática más no la electrónica, pero como se habrá podido apreciar en muchos de mis posts el objetivo de incursionar en un campo aún algo oscuro para mi es el de lograr conectar las capacidades de la informática para reflejar con ello algo en el mundo físico.

Así pues mientras nos metemos de cabeza en la ciencia de la electrónica tarde o temprano usaremos un micro controlador, el cual ya es un eslabón muy intermedio entre estas dos ciencias tan intimas.

La razón es que un micro controlador (uC) es un dispositivo que implementa electrónicamente una maquina de Turing completa, y nos permitirá con sus prestaciones interactuar con circuitos electrónicos mediante algoritmos y programas de software, y es justamente aquí donde viene el problema…



Ha Caído Lavabit, necesitamos alternativas August 8, 2013


Con la caída de Lavabit a manos de la intolerancia de los organismos gubernamentales hacia la privacidad se vuelve necesario encontrar alternativas mientras el servicio de Lavabit siga cerrado y con la esperanza de que pueda ser recuperado.

Así que aquí algunas alternativas:



Reparando y limpiando tablas GPT corruptas (Guardando MBR) [WARNING GPT (GUID Partition Table) detected on] April 29, 2013


Hace un par de semanas adquirí un nuevo equipo portátil en el cual he instalado GNU/Linux (Arch) como SO de cabecera, sin embargo mientras lo hacia he dejado un par de particiones lógicas no muy grandes destinadas a instalar algo como FreeBSD, OpenBSD, entre otros.

Pues bien, hoy mientras tenia algo de tiempo y luego de la larga espera para descargar el DVD de FreeBSD me he dispuesto a instalarlo sobre una de mis particiones, pero comenzado el trabajo unos cuantos golpes de la tecla Enter de sobra durante el gestor de particionado del instalador me han dado como resultado la creación de una tabla GPT indeseada y para colmo mal formada, y por supuesto con esto no podía leer mis particiones de la tabla MBR para instalar FreeBSD donde quería hacerlo.

Arranqué mi Arch nuevamente para examinar el problema:

Empecé por revisar como estaba el MBR de mi HDD y fdisk se quejaba de la presencia de una tabla GPT que no podía entender (fdisk no sabe leer GPT).



Cube Craft de Richard Stallman 2.0 March 8, 2013

Hoy he decidido tomarme un momento de ocio haciendo una segunda y mejorada versión del Cube craft de Richard Stallman.

Versión 1.0: http://www.sillybytes.net/2012/07/cube-craft-de-richard-stallman.html

Esta vez luce más cómico y su aspecto en general esta bastante mejorado con respecto al anterior.

Sin más que decir dejo por aquí el Cube Craft:



Código Fuente vs Código Objeto, Una falsa dicotomía January 14, 2013

Esta es mi traducción de una versión borrador del articulo “Source vs Object code: a false dichotomy”

Por:

David S. Touretzky Computer Science Departament Carnegie Mellon University

Julio,2000

La noción de código fuente y código objeto como clases opuestas de código de computador es una falsa dicotomía común entre no-programadores. El entendimiento publico general es que un programa de computadora es escrito como “Código Fuente” el cual es legible por humanos y no inmediatamente ejecutable por la maquina. El código fuente está supuesto a contener nombres de variables con significados claros y útiles comentarios únicamente para ser leídos por los humanos. Una pieza de software llamada “compilador” debe convertir el código fuente en código objeto para que el programa pueda ser ejecutado. El código objeto no puede ser leído por los humanos; es una secuencia de bytes que codifican una seria de instrucciones de maquina que serán ejecutadas por l microprocesador cuando este corre (ejecuta) el programa.



Haciendo pentesting con un... ¿Zapato? (un hack de zapatos) December 16, 2012


Hoy producto de el aburrimiento (entiéndase por aburrimiento al hecho de tener mucha tarea por hacer y muy pocas ganas de hacerla) y mientras observaba con detenimiento el cuerpo descubierto de una memoria USB (pendrive) cuyo recubrimiento plástico había sido profanado en un calamitoso accidente que involucra un camión, he tenido una idea.

Pensé que si encontrase la forma de llevar la memoria USB de forma tal que simplemente no pudiese olvidarla me ahorraría varios inconvenientes y además tendría siempre conmigo una liveusb con algo como backtrack por ejemplo, así que mientras sorteaba posibilidades y tras descartar un par de ideas bastante descabelladas (las cuales aún estoy reconsiderando pero que dejaremos para otro post) supuse que la mejor y más sencilla forma de hacerlo seria fusionando mi zapato con dicha memoria USB, para lo cual los pondremos juntos en un tazón y le echaremos radiación por supuesto, vamos a ello: