Started the day off with giveaways of an iPhone and iTouch. My luck was so bad I didn’t even get called in the subsequent giveaway of about 10 different books.

Another Stuart Halloway class, he’s really enjoyable to listen to.

Time block of four hours. The amount of work needed in any project is really endless, you can always add more cool features, fix more bugs, write better documentation, so isolating the amount of effort you plan to contribute for this particular effort to four hours keeps your eye on the prize. Though I’m sure Stuart would encourage you to block off 8, 1o, 12 hours anytime you feel like.

Choose an open source project, make sure it will hold your attention for four hours. It will teach you something so choose one you want to get better in.

Get the latest code, probably with subversion.

“The great is the enemy of the good.”
– Wise man say

Getting metrics on the project, run the tests, observe it with code coverage. Your task can be as simple as upping the code coverage by adding a unit test.

Contribute your change, and submit it to the maintainer.

“If this is your first night at refactotum, you have to refactor.” – Tyler Durden
In the next few months you must go contribute to open source, go blog that you did it.

TiddlyWiki, single page wiki.

Two JSUnit, YUI and Dojo are available testing frameworks. 

Crosscheck, Multi-browser unit tests. Uses a stubbed model of the browser. I’ve seen more and more of this product, with a big push from TheFrontSide guys, they could become the tool for unit testing. (And of course start a nasty little religious war on JS Unit testing).

Able to find an un-needed bit of code in the control that was already in the YUI library. Able to refactor that out.

“If there is more then one line of comments in one hundred lines of code, I’m irritated.”
Convert the comments to code, instead of
if(age >  60) //— Is user a senior citizen?
use
if(isSeniorCitizen(age))

Nobody uses Composed Methods anymore.
Code with Composed Methods looks easy, the developer doesn’t even look that intelligent, but you are very wrong. This type of programming takes discipline and lots of smarts. So far I have Aspect Oriented programming and Composed Methods as areas I must delve into more.

Eliminate the namespaces. Namespaces makes the code ugly and hard to read, and its obscure. Stuart obviously hates namespaces, yet I like them. I dislike the need to look up the namespace basically because we have no intellisense. At eProject I make the fully qualified namespace not required but I do think I should focus on this becoming the norm and trying to name items better. EventManager.Attach is still long for something that will be referenced quite frequently.

As developers we don’t internalize cost.

The tragedy of The Commons. Conflict of personal interest against the common good. I don’t want to stop driving my car because of global warming, let everyone else stop. 

We only spend about 15-20% writing new code. The worse state the code is in, the less we write.

Anything that makes writing bad things more painful, we are less likely to write bad things. TDD and Pair programming are very helpful in this.

Life cycle cost. What is the cost of your product? All that code in the product has a life cycle cost.

The politics of getting your changes accepted.
– Don’t be condescending.
– Do something and offer a test.
– Play the politics. Use the right channels, submit it to the people that you are supposed to, but if you need, go straight to the source and talk to the people who matter.
– Rails was the hardest project to contribute to, they are just smart and strict.

Getting your employer to be enticed to releasing IP as open source.
– Get bits little by little released.
– Relevant spends all Friday’s working on open source.

No comments

Leave a Reply