February 2011 Archives

review: O'Reilly video "McCullough and Berglund on Mastering Git"

This is the first O'Reilly video I downloaded. Technically this course has been recorded in optimal conditions. You won't be disturbed by noise nor bad images. O'Reilly did a great job at mixing the video with full-screen laptop screen and the room.

By downloading the course you'll get more than 5 hours of interesting course. The course is divided in well-organized chunks. Each chunk handles a specific item of git, which makes it great for later review.

As it starts by explaining Git as a distributed RCS systems with very explicit diagrams, this course can be followed by a complete RCS newbie. I'm considering myself as an intermediate user and started learning new stuff very fast. i.e. I never use "git add ." since I was quite confused about what happens to the repo. Explanations of this command makes me more confident about using this command since I now understand what this command exactly does. Did you know that "git add . -A" will actually track renamed files? I used to issue "git mv" commands for every renamed file in a repo while I could as well have issued the previous command.

Branches are cheap so branch often! Well I already knew that, but some things are good to be repeated. I'm also using tags, but never thought about what tagging exactly did. I actually didn't care about knowing this. Well, I can tell you I was wrong. The instructor doesn't only explain git commands, but always goes back to explaining what exactly happens in the .git directory. Understanding how the .git directory keeps the history brings a new dimension to using git. I.e. what happens if you delete a tag that has already been pushed to origin ? Never thought about this, but the example clearly helps explaining the fundamentals of Git.

For the more advanced users, the video's about merge and rebase will probably be a memory fresh-up about what actually happens to the repo when issuing this commands. For the intermediate or beginner this will actually look like the reason behind the existence of Git. On of the main purposes of Git effectively being to make merges easy !

The course ends with less common used commands. The existence of commands as git revert, reset, stash, clean and their influence on the repo demonstrates how Git foundations are reflecting reality. The repo keeps clean after playing with commits while keeping in mind this is a distributed RCS.

Finance::QuoteDB 0.15 released

Please note that I have released Finance::QuoteDB 0.15 to CPAN.

Finance::QuoteDB is meant as a fullblown database application for
maintaining stock data. It allows anyone to easily create and update a
stock database. The information is gathered by using Finance::Quote
and the database is created and maintained by use of DBIx::Class.

The config-file for GeniusTrader use is generated automatically.
Interface to R is planned to be integrated.

Emacs frames are no more evil !

I'm an Emacs user for years now. I never used frames because "frames are evil".

Framemove is easy to install. Get it from the emacswiki site and add following lines in .emacs :

(require 'framemove)

Now you can switch frames with Meta+arrows. Works like a charm on macosx !

There's another kind of library like this called "windowmove", which does the same to windows as "framemove" does to frames. Both can be integrated (look inside the framemove.el file for configuration).

About Erik Colson

user-pic Financial use of Perl, Emacs and Objective-C