image
[Tag Search]

Archive for July, 2009

Started using Git

Thursday, July 30th, 2009

Only days ago I start using Git. So, naturally I am far from an expert. Still I think someone could find this useful. Briefly, this is what you do on the “master” computer to get started:

  1. Download and install Git (eg. adding the necessary path to .bashrc).
  2. Download and install the GUI wrapper GitX for OS X 10.5+.
  3. Introduce yourself to Git.
  4. Create a folder for the project and from within that folder initialize Git.
  5. Create the .ignore file to avoid Git caring about the build folder (and others Git should disregard).
  6. Add all the project files, which includes the hidden .ignore file.
  7. Commit the added files to the log and write a good multi-line commit message (short title followed by listed details).

Now, from the “other” computer, repeat steps 1-3 above before continuing:

  1. Use git to pull down the entire repository. Do this in terminal from the folder that should contain the project folder.
  2. Open GitX to verify that the repository is in fact intact (simply open the project folder).
  3. Continue developing the project as normal.
  4. The changes needs to be staged (comitted) before they can be pulled by another computer.

Changes made on one computer is basically pulled to the other using the same steps as above. So every time you switch to your other computer, you go through those 4 steps. Easy. More details follow.

Installing Git

Download Git from the main site: http://code.google.com/p/git-osx-installer/downloads/list?can=3 If you are not sure, go for the installer and make sure it is targeted for your platform (Intel vs. PPC). After the normal installation you should be able to run Git. Open the Terminal and type in:

which git

This shows you where Git was installed, which also means it is ready for use. If nothing shows up, you might need to add the path to .bash_profile, in a similar fashion as below. However, when connecting using SSH, only the .bashrc file is actually loaded, so you should also make sure the path is there as well. This can easily be done by executing this in terminal:

echo export PATH=/usr/local/git/bin/:$PATH >> ~/.bashrc

This will create the file if needed, or append the path to the existing .bashrc file in your home directory. Now download and install GitX from http://gitx.frim.nl/ – a very nice GUI rapper for Git on OS X 10.5+.

You are now ready to actually start using Git.

Initial Cloning

To get a clean copy of a project on the LAN, you need the local IP address (eg. 10.0.1.4) or the alias (imac.local) of the computer hosting the project. You can connect using either SSH (enable remote login) or HTTP (enable web sharing). However, in this post I will only use SSH.

To get the initial project from another computer, you run the git clone command from within the folder that should contain the cloned project (you can move it later). Type the following at the command line:

git clone ssh://home@imac.local/~/Projects/TheOne

This copies the entire project folder (including the hidden .git repository) to the current destination. In the example above I used ssh to connect to the local computer imac.local. The home@ informs git to connect using home as the user name on the remote system. Following the server name are ~/Projects/TheOne which means to access Projects contained in the Home folder of the specified user which contains the project called TheOne.

Having cloned the project, you can now inspect the project history using GitX. Launch GitX (if needed click File > Open) and select the project folder (no need to expand or enter it). Nice.

Get the latest changes

To update your project with the latest changes, you simply pull the changes from the other computer:

git pull ssh://away@macbp.local/~/Projects/TheOne master

The added word master lets git know that you want everything, not just a single branch. When you have changed some files on your laptop, you could push the changes back to the other computer. However, this is not a good idea if the files are checked out on the other end as your changes could get lost.

“By the way, behind the scenes, a pull is simply a fetch followed by git merge; recall the latter merges a given commit into the working directory.” (from GitMagic)

Until I get more familiar with Git I will simply pull the changes from the most current computer as needed.

GitX Contributions and Further Reading

You can easily download the source for GitX and contribute to the project by running:

git clone git://github.com/pieter/gitx.git

Read more about contributions from the contribution section of their own web page.

Read more about using Git with remotes: http://progit.org/book/ch2-5.html

What resides in my menu bar

Sunday, July 19th, 2009

I think it is about time to once again share what resides in my menu bar. I am extremely happy with the current tools, obviously I recommend them all.

The Usual Suspects

The Usual Suspects: Great apps instantly available from the menu bar.

Jumpcut is free, open source and pretty cool. However it is limited to text only, so no image buffering with this one. I use it all the time, if only to simply strip the formatting.

Punakea and Pukka are the newest entries to the menu bar.

I tried Punakea when it was brand new, but didn’t like the way they tagged the files. However, not long ago Punakea switched to OpenMeta, the emerging meta tagging standard for OS X, which instantly prompted me to buy a license. The current version is great. The browser works perfectly and the tagging is close to perfect. The only thing missing is exclusion of tags, but the developers liked the idea – so maybe we will see it in a future release. I am surprised exclusion isn’t standard for all tagging apps.

Pukka was just updated with a menu bar delicious bookmark searh, across all your accounts. To access the bookmarks of each individual account, you have to access the context menu from the icon in the dock. In my experience Pukka is by far the best (and among the very few) multi-account Delicious clients out there. Please add your comment if I am wrong.

Last.fm is a very nice streaming service. I was a premium subscriber of Spotify, but the service makes it kinda hard to discover new music. Not so with Last.fm. They operate using tags added by the users, which is a fantastic way to discover new music. Last.fm also makes it easy to buy the music you are listening to. Subscribing is cheap, only about $3 per month.

Finally Tweetie, my favorite Twitter app - both on the Mac and iPhone. Not much to say about it really, except the very untraditional user interface. According the developer the interface is a result of mimicking the characteristics of view and menu navigation on the iPhone/iPod Touch. It may feel a little awkward in the beginning, but that will pass.

Airfoil Speaker, Alarm Clock, MenuBar Countdown, Voice Candy, Wallpaper Clock – are among the other menu bar based apps that I use from time to time as needed. However, for most timers I am now using Reminder – the great (free) widget from Gravity.

So there you have it, that are the apps currently residing in my menu bar. What do you have in your menu bar?

What data best describes your computer work?

Thursday, July 9th, 2009

Imagine being able to get an automatic summary of the work you have done on the computer. What data would be most useful to you? The number of applications used per day, the number of documents created for your projects or maybe the duration of a project in days combined with average workload per day? Or would it suffice to simply know how much time you have spent working in hours and minutes?

What about a scenario with a deadline. Would you care about idle time or the time spent on non-project related apps and documents (distractions)? Should the summary separate each session (uninterrupted work), each day, every week – or maybe you would only care about the bottom line (total time distracted, total workload)?

We would appreciate your comments.