Tim, the Enchanter, is a Ruby coder who also created a git installer for OS X. His blog has a great quote at the bottom: "What manner of man are you that can summon up code without C# or Java?"
As is obvious, I have not posted a lot on here lately. Part of the reason is not thinking about it, or putting something in
Twitter instead. However, another reason is I haven't done much coding lately. Well, that's about to change. I need to do v. 2.0 of a
Django app at work this summer, and I will be doing some coding at home in
Processing to get ready to teach it in the fall. Hopefully these projects will inspire some posting here.
This is a video of an interview with Bob Martin, Pete McBreen and Michael Feathers about software craftsmanship.
I was asked in a comment to my previous post about comparing Git to Mercurial. I have only used Mercurial in simple scenarios, and I'm an extreme newbie when it comes to Git, so I can't really say, except that repository synchronization in Git seemed harder to learn than in Mercurial.
Even so, I'm going to continue to try to learn Git because of posts like
this one. Here are his concluding remarks:
With git, we've invented a new world where revision history, checksums, and branches don't make your filesystem slower: they make it faster. They don't make your data bigger: they make it smaller. They don't risk your data integrity; they guarantee integrity. They don't centralize your data in a big database; they distribute it peer to peer.
Much like Unix itself, git's actual software doesn't matter; it's the file format, the concepts, that change everything.
Whether they're called git or not, some amazing things will come of this.
This article by Larry the Liquid describes a great idea of using the
Git version control system combined with the
Github hosting service to present a tutorial. Each commit is like a slide in the tutorial. They can be viewed through the Github web interface, or you can clone the repository yourself using Git, enabling experimentation.
Gregory Brown wrote a nice
little article on
Camping, a Ruby web framework that is much smaller and simpler than Rails. Here is a quote to whet your appetite:
I realized that this was the kind of tool I was looking for. Something simple, basic, and super extendable. I’m not afraid of rolling my sleeves up, and sparse documentation isn’t enough to keep me away from code that seems cool. If you’re in the same boat, be sure to check Camping out.
A coworker just pointed out
Firebug to me. It is a Firefox plugin which is a web development IDE. I played around with it for just a few minutes and was very impressed.
Again, Jeffrey Palermo has written a very instructive .NET
article. This time he describes the
FindAll method, which works on a array or similar collection, and returns an array containing the elements in the source array that fulfill a certain condition. He also shows how the
delegate keyword can be used to create an anonymous function to specify the search condition. Ruby, Python, Lisp, and other languages commonly use techniques like this, but it is not normally seen in more mainstream programming. Whatever you might think of Microsoft, one good thing about .NET is how it is picking up a lot of functional elements and bringing them to the mainstream.
I'm trying to learn the new
Windows Power Shell, and I wrote my first useful little script. I used the following to count the number of source files in a directory that begin with S through Z:
$count = 0
$re = [regex]"^[S-Zs-z]"
dir *.cs | foreach { if ($_.Name -match $re) { $count++ } }
$count
I found the following
O'Reilly article to be helpful in getting going with WPS.
Werner Vogels has an interesting
post about Amazon's process for defining requirements called "Working Backwards". They use small development teams, and start with customer-focused documents like a press release, FAQ, and user's manual in order to help them define what they're going to build.