Programming satisfaction

The satisfaction quotient is very high with Go.  This post isn’t so much about Go, per se, except that I’ve been getting a high amount of satisfaction with my Go programs. I moved into management last year, and I don’t have much time for coding any more.  I work more managing than I did programming; most of my week is spent in meetings, which means that to get any of my tasks done, I have to put in more hours than the standard 40.

Read More

More on VCS, branching, merging, etc.

Martin Fowler has posted a good discussion about the various flavors of processes to manage branching and merging.  There’s a lot of good information in there.  His conclusion is that cherry picking with the VCS is undesirable, that cherry picking should be done in software, and that continuous integration is the preferred process. It’s a good read (with pretty diagrams), although I don’t agree with his conclusion. In particular, he ignores the fact that some categories of changes can not be continuously integrated.  For example, systemic architecture changes are one category which often can not be continuously integrated.  Also, the examples provided by Martin entirely ignore parallel branches (in the feature-set sense, rather than the VCS sense) of the software, and/or long-lived support for releases.  Of course, these are exceptions, and nothing in Martin’s suggestion prevents the use of cherry picking to solve these cases.

Read More