Dead Ink Vinyl

Musings of David L Kinney

Posts Tagged ‘git

2009 Goals Progress

In January, I posted my goals for 2009. I haven’t looked at them much since then. Let’s see how I’m doing.

Finish reading Pragmatic Thinking and Learning I haven’t picked up the book yet this year.
On target? No

Learn Erlang and develop at least one non-trivial application with it I have read a few more chapters about Erlang, but I couldn’t read or write a serious Erlang application.
On target? No

Learn git and use it exclusive on at least one project I have read the PragProg book and I now have a personal project for which I’m using git exclusively and hosting as a private project on GitHub.
On target? Complete!

Learn Mercurial (hg) and use it exclusively on at least one project I haven’t looked at hg at all
On target? No

Learn OpenSolaris and adopt it as a part-time development platform I have “two”: books and VM instance of it, but I don’t think that I will make serious progress learning OpenSolaris until I install it as the primary OS on a workstation
On target? No

Learn dtrace and other application performance analysis tools, and use them to improve the performance of at least one solution I develop I have read about a third of Sun’s DTrace guide, but I haven’t been using the knowledge on anything so it’s slipping away from me.
On target? Yes

Learn enough about Nagios for basic system monitoring I haven’t started on this yet, but it has shuffled up a little on my priority list now that I have a VPS
On target? Yes

Play with CouchDB Haven’t touched it. Haven’t even read the book going up online.
On target? No

Spend serious time learning EC2, running instances, monitoring them, respawning them, and so on — get comfortable in the cloud I have already spent a lot more time spinning up and working in EC2 instances than I did in all of 2008, but only for experimenting and profiling — basically using EC2 to avoid buying another computer for my home. However, I have started using Slicehost for VPS. It’s not utility computing and it’s not really cloud computing, but it’s moving in that direction.
On target? No

Significantly contribute to at least one open source project I haven’t even picked an open source project to which I want to contribute. I had considered Adobe Alchemy, but it’s not OSS.
On target? No

Write 80 or more articles for this blog over the course of 2009 This is only my fourth post this year.
On target? No

So there I am. How are you doing on your new year’s resolutions?

Written by dlkinney

March 26, 2009 at 10:00 pm

Resolutions of 2009

In 2008, I posted about 40 articles; I got my feet wet with EC2, Ruby, Rails, Git, Objective-C, and Cocoa; and I committed myself to moving my career away from Java. I haven’t done more than dabble with EC2, Objective-C, and Cocoa, though. However, I have started to use Ruby and Rails extensively. Also in 2008, I joined the team at Flex Authority Magazine as a technical editor.

In 2009, I resolve to:

  • Finish reading Pragmatic Thinking and Learning
  • Learn Erlang and develop at least one non-trivial application with it
  • Learn git and use it exclusive on at least one project
  • Learn Mercurial (hg) and use it exclusively on at least one project
  • Learn OpenSolaris and adopt it as a part-time development platform
  • Learn dtrace and other application performance analysis tools, and use them to improve the performance of at least one solution I develop
  • Learn enough about Nagios for basic system monitoring
  • Play with CouchDB
  • Spend serious time learning EC2, running instances, monitoring them, respawning them, and so on — get comfortable in the cloud
  • Significantly contribute to at least one open source project
  • Write 80 or more articles for this blog over the course of 2009

Those are my resolutions for 2009. I’ll update this post as I fulfill each resolution.

Written by dlkinney

January 5, 2009 at 12:05 am

Git Isn’t Social

I enjoy using Git for my personal projects. I’ve always been a big fan of handling changes and exploring implementation ideas in branches rather than a project’s trunk, so Git fits my personal development workflow nicely. That said, for team projects I would choose Subversion over Git in a heartbeat. Every time.

I continue to be astounded that the community believes Git to be more social than centralized VCS like Subversion. I guess the notion is that Git makes the following scenario reasonable:

Persons A, B, and C are all working on a project. Person A is the project owner and controls the official source code repository. Persons B and C are working on changes that are of interest to each other. With Git, Persons B and C can exchange updates easily without Person A’s knowledge or permission.

This is valuable in OSS development where a central official project leads to multiple, “flavored” products. RedHat and Novel each provide their own product based on the Linux kernel. IONA provides its own product derived from Apache projects for EAI/SOA. Relating this to my example above, we would expect that Persons B and C may each be releasing their own products based on Person A’s project. There exists a many-to-one relationship between products and projects.

However, most projects do not follow this pattern. Most projects—especially outside of OSS—produce a single, official product. In this scenario, Persons A, B, and C are all on a team working on the same product. Now the communication between Persons B and C no longer looks like positive community collaboration—it looks like coding in isolation. Perhaps B and C work a different office (or different time zone) than A or maybe B and C simply don’t like working with A. In any case, they aren’t collaborating with a team member on a team project. Coding in isolation and the consequent big bang integration is a long-standing and obvious software development anti-pattern. And Git encourages it.

Ben Collins-Sussman discusses this aspect of DVCS in depth several times. I should note that I acknowledge the problem I highlight as fundamentally a social problem, not a technical one, but I agree with Ben’s assessment that “even though one shouldn’t depend on technical solutions to social problems, default tool behaviors matter a lot”.

Written by dlkinney

July 5, 2008 at 11:51 pm