Github trick - associate commits with your user account

On Github, in order to have your commits associated with your github user account, the email address you use when pushing code to the origin must match an email address associated with your github account. This is something I discovered after noticing that my commits were showing up as grey and not blue on the activity bar.

Setting your git email account is really easy. There are two different ways of doing it. First, you can directly edit your .git/config file and add a section like this:

[user]
	email = you@example.com
	name = Your Name

The second method is by using the following command from the root folder of your project:

git config user.name "Your Name"
git config user.email "you@example.com"

Starting open source github project - Studio Gallery

As part of a larger project, I am starting a new open source Github project - Studio Gallery. It is a Ruby on Rails application aimed at professional photographers.

The app will allow photographers to create galleries for clients, uploading photos from photo shoots. Once the gallery is created, clients can log on and select the photos they want to order. Other features include the ability to rate photos and filter by ratings as well as pick the size of print to be ordered.

The project is just beginning, so nothing exists for it yet except the Github repository. I will putting up a Trac site or Wiki for it soon.

Problems with CC.rb, OS X 10.5, and Subversion

I have been attempting to get CruiseControl.rb 1.3 running on my new Mac with little success and am wondering if other people have been having the same problems. I have two Macs that I am trying this on and neither is working. Both show the same error.

I am able to start CC.rb using ./cruise start and am able to add a project. The problem is when CC.rb goes to do the first build. I keep getting the following error:

BuilderError: svn: PROPFIND request failed on '/svn/trunk/project_name'

If I expand that, the actual problem is with the following:

svn --non-interactive log --limit 1 --revision HEAD:1 --verbose --xml

The important part is the --non-interactive switch. If I remove that and run the command directly from the directory where the project is checked out to, it works fine. I include --non-interactive and it fails.

Both machines use default versions of svn (i.e., whatever came with the computer).

My theory is that the problem lies with OS X’s Keychain program, which is where the credentials are stored for the svn repository. In interactive mode, when svn asks for the username and password, keychain steps in and supplies them. However, in non-interactive mode, these credentials are never supplied because they are not cached properly by Subversion.

My problem is that I am not sure how to test or resolve this. I am somewhat reluctant to install Subversion over top of the currently installed version because I am not sure what I may screw up. However, I am going to continue to investigate this and see if I can’t figure it out.

Has anyone else had this problem and, if so, how did you fix it?

It’s about time - iPhone coming to Canada

Rogers announced today that they had come to an agreement with Apple and will be bringing the iPhone to Canada later this year. I can’t wait. No details were released so we will have to wait to see what the plans are.

Shaving with Ockham - Jim Weirich’s brilliant presentation on simplicity

Jim Weirich gave a brilliant presentation called Shaving with Ockham this year at MountainWest RubyConf 2008. His premise was K.I.S.S - Keep it Simple Stupid. The presentation is both entertaining and educational. And at the very least, it servers as an excellent introduction to LISP.

Weirich takes the audience for a walk through the various programing languages that he has used over his career. These include LISP, FORTH, Erlang, and something resembling Java/JSP. He then extracts a few simple rules from each of the first three languages that make them simple and very powerful. These elements are a small core, simple rules, and powerful abstractions.

Along with showing simplicity, Weirich also analyzes why programmers make complicated, complex programs. He suggests that it because we like to solve complicated, complex problems with complex solutions. We get so intent on solving a problem that we do not look around to see if there is a simple solution.

The presentation ends with Ockham’s razor: “entia non sunt multiplicanda praeter necessitatem”, or “entities should not be multiplied beyond necessity”. Also known as, “all other things being equal, the simplest solution is the best”. This is definitely a video that every programmer should watch.

Insanity of registering .ca domain name with WebNames.ca

I just registered a domain name for my wife for her photography business. For any .com domain name, this is a fairly easy, almost trivial process. You find the name you want, click a button, usually labelled “Register” or “Proceed to Checkout”, and then pay some money. Viola, the domain name is yours.

For a .ca domain name, the process is a little more involved. Once you find the name you want, you have to prove why you want it. Apparently, .ca names must maintain a very direct connection to Canada. This means you have to be a Canadian company, part of the government, a Canadian non-profit organization or a Canadian citizen. The next step is to register with CIRA, the Canadian Internet Registration Authority. This involves going to a completely different website and agreeing to five (5) pages worth of agreement policies.

At the end of the five pages, they have a paragraph which basically says that even if you didn’t read the preceding five, very long pages, you are still agreeing to them, and therefore, legally bound to whatever the five pages said. As you can tell, I did not read any of what I as agreeing to.

Once you register with CIRA and complete that insanely long process, then you can complete your registration. Eventually you pay them some money and you are done. Well, almost. Nowhere during the registration process are you asked to enter DNS information (at least on the webnames.ca website). This you have to figure out for yourself after the fact.

This is the part that infuriated me the most. I think this is Webnames.ca’s attempt to trick you into hosting the website with them. If searched around and finally found the spot to enter my DNS info. This was less then obvious. This ensures that .ca names must be registered by knowledgeable web professionals.

Bottom line, find somewhere else to register .ca domain names with other then webnames.ca. Or better yet, just get a .com domain and keep life simpler (and cheaper).

Script for opening Ruby gems in Textmate

The Effectif Development website has posted a very neat trick for opening Ruby gems in Textmate. This is very handing and the cool part is that it includes tab completion for the gems.

« Previous PageNext Page »