A Graphviz primer

One of the tools I've always wanted in my tool belt was a graphing tool for text files. Since I handle a lot of text that goes into repositories it is always a bit of a pain to somehow to version control diagrams. Today we will dive a bit into the world of Graphviz. A tool that turns scripts written into the dot language into images. Those scripts describe directed graphs. We can anyway emulate non directed graphs if we need it.

Read More

Taking notes and coding

I am not such a big fan of paper. I don't know. Maybe it is just me but I found it extremely inconvenient for taking notes on how code should work. It is too far away for my development environment. They are difficult to share, specially in a remote environment, easy to lose and difficult to transform. Also on paper everything looks easy and good 😉

Read More

Playing with text to speech in emacs

Amazon has just announced Polly and I wanted to give it a try. Of course the first thing that came to my mind was: elfeed! Polly is not free but 4$ per 24 hours seems reasonable in order to read a post from time to time. Anyway let's start there, get the ball rolling, and if it works well maybe we can think in adding more backends.

So, let's go to work!

Read More

Pairing over Tmux

Tmux is an awesome tool. One of its greatest uses is that is allows us to pair if you share the session. Anyway the setup is always a little bit complicated if you want to do it really right. Let’s see what we can do.

Read More

My toolbelt in August 2014

I have a decided to publish from time to time my current toolset. I'm
trying to honor my tools and spend some time polishing the tools I use
more often and I'll keel this blog posts as a place to keep some
random thoughts about this.

Read More

Ack, searching in source code

Ack is a command line tool specialized in searching into source code. I've giving it a look this days since I'm switching to emacs and I need to polish some of the tools I'm using. Since I'm pretty happy with this, I wanted to share a small post to show how the tool works.

For basic usage you can just type from your shell:

and it will browse all clojure code starting your current folder looking for the text core. It supports a lot of languages also such as Ruby or Python.

The first thing I'm surprised with is how awesomely fast it is. It is blazingly fast, to be honest.

There are of course plugins for vim and emacs. I'm using this plugin for emacs.

If you do clojurescript you'll see that by default only .clj files are traversed while
searching. You can edit your ~/.ackrc and add the following line to support cljs

You can also exclude programming languages when searching

Another common problem you might face is that often we have folders where we don't want to search. In my case, leiningen generates some clojurescript files in target folder.

To avoid this we can again use ~/.ackrc

Lastly, I dare you to run

Have fun!

My week at Ironhack

I had the immense luck of being a teacher this week on Ironhack. It was the first time I was going to teach a group of people so I was scared to death. My job was to teach some Ruby basics to a group of people with some experience on programming that had no knowledge of Ruby at all. In just four days they managed to write their own unit tests, do some TDD, apply SOLID principles and pair program a lot.

I was thinking on writing a blog post before the course ended but I couldn't. Each day was more intense that the previous one. Each day we wanted more than the day before. It was exhausting. Anyway each day was more rewarding than the previous one.

The people there are A-WE-SOME. There are 12 amazing guys/girl in the class that pour each drop of blood they have in order to learn as much as they can to reach the goal of building amazing software. They were truly inspiring to me. They are smart, proactive and passionate. I'll be back to work on Monday and I'll tell to the team I work with about the bunch of amazing people I met.

I'm sure that these guys will make something remarkable and I'll be there to say: "I was there while they were still starting".

Memories of mendicant university

This week I'll be teaching an introduction to Ruby at Ironhack. This brought some memories back to me...

For me it is being really hard even though this has not started yet. This is the first time I act as an "official" teacher to a group of people so I want to make an impact in the 4 days I'll be with them.

This makes me remember the times when I started learning Ruby. I had the luck of joining Ruby mendicant university while it was still open. I can't express how grateful I am to Tobias Pfeiffer for all the time he spent reviewing my code and telling me that I had to stop writing Ruby code the same way I wrote Java.

Now, one year after the shut down of Mendicant University, I still feel identified with their values and still try to honor the status of alumni of what once was an awesome place to learn how to write awesome code.

I want to bring some of the values I acquired there to the Ironhack students. Passion, honesty, humility... When I think of Gregory Brown, Andrea Singh or Jordan Byron I see the living examples of what I want to be to the guys at the course. If I can change their lives half as these guys changed mine my mission will be accomplished.

Just wish me good luck. I'll try to honor the memories of the mendicant university.