Importing an existing codebase into Git (a flowchart)

importing a codebase into Git flow
chart

A simple flow chart showing the steps you should take to add an existing codebase to Git. This assumes you don’t have revision history that you wish to migrate from another version control system. Some notes about the flow:

  • When adding file paths you can use wildcards like “git add /path/to/images/*.jpg”
  • This is one of the few times when you’d want to use “git rm –cached " to un-add a changes in the index. After the first commit the recommended way to un-add changes to the index (staging area) is to “git reset HEAD “.
  • Note that the only file that is edited during this process is .gitignore When you call “git add” you are adding the current content of a file to Git to the index. If you change a file after you add it Git won’t commit the additional changes (unless you add them too). So, it’s a good idea to run “git add .gitignore” just before you commit in order to make sure Git has the most recent version of it.
  • You’d only, obviously, “add” files you wanted. “git add .” (note the dot) tells Git to add everything in, and below, the current directory.

This image is copyright 2008 Very Useful Books, Inc. and distributed under the GPL v2. It was created With OmniGraffle 4. If anyone wants the original, just holler.


Review of Edward Tufte's Presenting Data and Information course

First, let me set the stage. I’ve been reading stumbling across interesting data information articles by Edward Tufte for years now, have been interested in getting his booksimage for a while now, and was excited when my manager offered to send me to his one day course, and am quite grateful to have had the opportunity to go. So, I definitely went into this with good expectations.

30 Second Summary:

The first two thirds were not bad. The second two thirds sucked. The type of people who would appreciate this course the most are ones akin to the woman in front of me who wore red velvet pants, a scarf that probably cost $60 and from the Museum of Fine arts, dangly earrings of semi-precious stones, and, were you to talk to her, would be sure to let you know that she’s “an artist.” She loved it. You, on the other hand, should buy his books and skip the course.


Xbox 360 Wireless Racing Wheel

The Logitech DriveFX had to go. Piece of crap. I plunked down an extra $50 ($100 total) when I returned it to get the Microsoft Xbox 360 Wireless Racing Wheelimage. The difference is incredible.

The Good:

This product is very well designed, and very well put together. It feels sturdy and solid. The rumble is very strong. The force feedback is also very strong. The buttons aren’t cheap. The pedals have an empty area that your heel goes in. At first it just looks like it’s there to save plastic, or to look cool, but it actually serves a purpose. Because it goes behind your foot it’s not possible for it to slide away from you because it would always catch on your heel. When you get slammed off in one direction you have to fight the wheel to turn back the other way.


Logitech DriveFX == teh suck

So, I really like Burnout Paradise. I love just driving around the city setting new speed records for others to try and beat. I enjoy it so much I decided to pony up the $100 to get the Microsoft Wireless Racing Wheel but when I got to GameStop there was another option: the Logitech DriveFX, and it was $50 cheaper. “What’s the difference?” I asked. “The Logitech one isn’t wireless.”


Zombies!!! Player Turn Flow chart

I decided to make a flow chart to help new players in an upcoming attack of Zombies!!!. I think I may have gone a little overboard with the details, but it’s done now. This represents standard rules plus the Zombies!!! 6 (Six Feet Under) expansion, but you can just skip the subway and sewer bits if you don’t have that.

For those of you who aren’t familiar with Zombies!!! there’s a good review / overview of Zombies!!! here. The biggest complaint people have about it is that it can run long. A nice atypical aspect of this game is that you absolutely will / must screw over your opponents repeatedly as opposed to most games where people tend to get annoyed with you if you do that. I liked it enough to go buy 2 expansions (3.5 and 6) and a bag of extra zombies (you’ll need ’em when you have lots of people or expansion sets with tiles). You probably have to enjoy poking fun at the shambling zombie movie genre to enjoy this game.


A rebuttal to "Use Mercurial You Git"

There’s a good deal of confusion about Git, Ian’s Use Mercurial You Git article is a good example of it which I’d like to address point by point. But first, I’d like to say that I’m giving Ian the benefit of the doubt. I don’t think he’s intentionally trying to mislead people I think he simply doesn’t understand Git very well, and that’s not his fault.

Git has two problems that face new users. It suffers from the Blub Paradox and the documentation tends to assume that you already “get” how radically different Git is. So people end up applying the assumptions of how other version control systems to how Git and end up becoming confused and frustrated like Ian, because while some of the commands look similar, what Git is doing and how it does it are dramatically different from other systems, but that’s a good thing. It’s what makes Git so much better than the competition. It’s kind of like how Struts (Java web framework) and Ruby On Rails (Ruby web framework) are both doing essentially the same thing and processing the same parameters from a web server, but if you try and program a Rails app like you program a Struts app you’re in for a world of hurt.


The rules of Presidential Bitching

The rules of Presidential Bitching are quite simple:

  • Everyone gets to bitch about all things presidential until the primaries.
  • After the primaries only the people who voted (or honestly intended to but were thwarted) can bitch about the candidates and party nominations. Everyone can bitch about general presidential issues.
  • After the election only the people who voted (or honestly intended to but were thwarted) can bitch about anything our president does or how much better off we’d be if someone else had of won.

Reserve your right to bitch. Vote!


Some thoughts about Git

Not too long ago I decided to start writing a book about distributed version control. I was originally going to focus on Mercurial (Hg) because it’s quite good and of the two leading systems it was the only one that ran on every OS (because it was written in Python). The fact that it could also run under Windows meant that I could help spread the word about distributed version control to more people, and it slightly increased the chance that I might actually make some money in the process.


Bullitt with Steve McQueen [Review]

I’m convinced that there must be two “Bullitt” movies with Steve McQueen. Because all the reviews seem to talk about one of the best action movies ever, the best car chase ever, a great story. They use words like “thriller”, “epic”, and “gritty”, but none of these things apply to the film I saw.

The director made sure that whenever the audience came within view of a potentially tense moment to quickly salve their nerves with at least ten minutes of sleep inducing banter, bored toothpick chewing, newspaper and frozen diner purchasing, car washing, clicky machine watching, plane embarkment and disembarkment, and, of course, coffee house music. Nothing is resolved in the end. And the plot is essentially: witness gets shot, cops slowly work their way from one clue to the next, as they learn more about why the man was killed. Eventually more people get shot, and no-one cares. I’m not kidding. No-one cares. The guy who was impatient to get the witness’s testimony starts reading his newspaper, Steve goes home and washes his hands in the bathroom sink, and the credits roll. The end.


What if I were to write my personal?

What if I were to write my personal?
What if it were true?
What if it spelled out in black and white the things I want in you?
What if it held nothing back: my faults, my hopes, my geek…

There are things I want
you’ll never be.
There are things you want
I’ll never have.
But maybe… just maybe…
that’s the way it’s meant to be.

Perfect little imperfections,
that together make up me.
Perfect little imperfections,
that define who we could be.