Posts

Posting to myself

Here I am, I always wanted to write a "journal" about my life, my findings, my travels, and my research. Yet, I always fail to spend few minutes to do it. I sort of had a revelation today, when I realized that I have always failed to regularly post because I always try to write high quality entries, which even now I do not what it means. So, my change of attitude is to focus on me rather than potential audience, to talk about things I want rather what can be interesting to someone else.  Think about it. Who use Blogger these days?  Just me! VB

Rename refactor in VIM

Image
Rename refactor using VIM O ne of the most useful features when it comes to refactor is the ability to change a variable/class/namespace name through all or a subset of the files in your project.  VIM does not have any direct way of doing this, which is really very upsetting if you want to use VIM as your main IDE . But there are solutions… TL;DR :set hidden :argadd “Your files” :argdo silent! %s/old_variable_name/new_variable_name/ge :argdo update Argument list in VIM The argument list feature is the way that VIM gives you to manipulate and group multiples files at once. You can visualize it as the next set of files that you will work with. Using this argument list for renaming words start to make sense since you want to apply an action (renaming) among multiple files (Argument list). In this article I will expose how to achieve rename refactor using the commands  argdo, argadd, and args. Lets first see what each of those command does argadd [file]  : Adds the file to

Sorting Algorithms

Let's sort! Let's sort! 42, 15, 8, 23, 16, 4 Reset Populate ( items, less than ) Descending: Start!

Como hacer un pequeño "debug" a un programa en C

Hace unos dias aprendi a usar el  GNU debugger "gdb". Ya hace un tiempo que sabia usar otros debuggers empotrados en IDES como en netbeans, etc... (Editado) En primer lugar a gusto los colores, pero bajo mi punto de vista "gdb" no es una buena eleccion para proyectos grandes. Despues de unos meses utilizando este debugger, puedo decir que es muy eficiente y recomiendo para todo tipos de proyectos su uso. A continuacion algunas nociones sobre gdb. En primer lugar es necesario compilar el ejecutable con el flag para gdb, siendo -g o -ggdb. Compilando con esta sintaxis: g cc -g fuente.c -o ejecutable . Una vez con el ejecutable, lanzamos el debugger: gdb ejecutable Como puntualizacion decir que de esta manera: gdb -tui  "exec", se lanzara una sesion interactiva en la cual veras como avanza el codigo Si ya sabes donde para saltate este paso, si no con el comando list o 'l' podras ver el codigo, digamos que quieres ver la funcion fun1, el co

ADDI (GNU/OCTAVE para Android)

Desde luego que ya era necesario una herramienta de programacion rapida y de calculo matematico para android tan potente como octave. Pues bien un tal Corbin Champion, sugerente nombre, por fin ha portado dicha preciada herramienta al SO del robot. Despues de unas pruebas con mi movil (motorola FlipOut) puedo decir que es una buena herramienta, pero tiene algunas fallas, entre las que le encontre: La lentura, en hacer 10 iteraciones puede tardar 1s, y las dificultades a la hora de hacer funciones recursivas, debido a los errores de ejecucion. Por otra parte es interesante ver que han desarrollado un plot , que acompaña a ADDI para la representacion de funciones. Pagina del market. Pagina de desarrollo, por si quereis ayudar.

Ambiguedad en la expresión y/o

La mezcla "y/o" no es mas que una manera de escribir "o", y asi lo demostrare: ( p \/ q ) \/ ( p /\ q ) p \/ ( q \/ ( p /\ q )) Asociativad de la conjuncion p \/ ( ( q \/ p ) /\ ( q \/ q ) ) Distributividad de la conjuncion ( p \/ q \/ p )  /\ ( p \/ q \/ q ) Distributividad de la conjuncion ( p \/ q )  /\ ( p \/ q ) Idempotencias p \/ ( q /\ q)  Distributividad de la conjuncion p \/ q dominacion Por lo tanto ya teneis una razon para no escribir "y/o" :p

Qué hacer despues de instalar ubuntu, para ingenieros.

Este post va dedicado a aquellos que quieren instalar todo el software academicos, codecs y algun que otro juego, de manera rápida. Es una selección de software que todo ingeniero podría necesitar. Te actualiza los repositorio, despues el sistema y despues te instala mi seleccion de software. Pulsar CTRL+ALT+T Escribrir en la terminal o copia y pega:  sudo apt-get update; sudo apt-get upgrade; sudo apt-get install ubuntu-restricted-extras gimp texmaker wxmaxima octave3.2 build-essential virtualbox-ose xmoto wine tuxguitar chromium-browser tucan fortunes-es qcad swi-prolog guake netbeans sun-java6-jdk Tomate un café o algo por que tardara lo suyo. Pero no te vallas muy lejos porque quizas tienes que confirmar algunas cosas.