Archive for October, 2006

37signals - Getting Real

I am slowly reading through “the book _Getting Real_”:https://gettingreal.37signals.com/toc.php by the guys at “37signals”:http://www.37signals.com. The more that I read, the more I find myself agreeing with them. I have to admit that I find the idea of working with, or for, a small, agile company that is able to respond quickly to changes in technology and produce high quality software that solves real problem is very enticing.

The format of the book is a series of small essays grouped together into chapters. The size of each essay is nice as they all break down into bite size pages that are easily read and understood. It is very easy to leasurely read your way through this book; It ain’t rocket science. In total, there are 16 chapters covering all areas of creating agile web applications. And the focus of this book is definitely on being Agile and getting things done.

So far I am very impressed with what I am reading. I wonder if they are accepting resumes ;-)?

Learning a new programming language

* “Here is a list of 15 programming tasks you can use to learn a new language.”:http://forums.programming-designs.com/viewtopic.php?pid=3482
* “A nice tutorial for learning Ruby”:http://rubylearning.com/

Article on Changing a Company from Chaos to Agile

A friend of mine told me about this article in which James Shore writes about his experience trying to “change a company over to Agile”:http://www.jamesshore.com/Change-Diary/. This trick for this series of articles is that he had no power to actually affect a change; he was a simple peon working as a developer.

The one statement that stands out the most to me from the entire series is:

The “technical solution” mindset basically takes the approach that problems are best solved by the introduction of some new technology. “We need a framework” is a common one I see in companies that do multiple projects. (This is particularly common. I haven’t seen it work yet.) “We need a project management tool” is a common refrain among people adopting a new process.

There’s nothing wrong with tools as tools. They’re good at making established processes more efficient. The problem is that the technical solution mindset focuses on making symptoms very efficient rather than solving underlying root causes, which are almost always people-oriented.

The reason that it stands out is this is very close to the attitude of people where I work now. Although they recognize that part of the problem exists with people, their solution is to create a “Data Management Framework” and hope that technology can solve their problems.

Instead of just writing about the author’s day to day struggles with change, the articles offer a “then-and-now” type analysis. The main part is in the style of a diary which was written while Shore was trying make the changes. The second part is an analysis done four years later. Most of the time, the later analysis is more interesting than the diary part as it provides a more objective view of what really happened.

New MacBook Pro - Core 2 Duo

!http://www.fuzzylizard.com/wp-content/macbookpro-core2duo.jpg!

I realize that everyone already knows that Apple has released a new MacBook Pro with an Intel Core 2 Duo processor inside. The reason for the post was that I was at the Apple store last Monday seriously looking at buying a MacBook Pro. I am now glad I didn’t cause I would have been real upset if I had bought one onyl to find Core 2 Duo versions released the very next day.

I was also thinking of buy the MacBook since as of last Monday, they was really not much difference between the two, now… The decision has been made, it is a MacBook Pro Core 2 Duo or bust.

Parallelism: The future of programming

“Darren Hobbs has written an interesting article”:http://www.darrenhobbs.com/archives/2006/10/the_paradigm_sh.html on what he sees as the future of programming.

bq. The future is about making things smaller and having more of them. We’re moving from a world where clock speed doubled every 18 months to one where cores will double every 18 months. Dual core CPUs are commonplace. Quad core is just around the corner. In 5 years time 16 or 32 core chips will be in your desktop.

This means that we as programmers are going to need to master concurrent programming and to do that we need new tools, new ideas, and a new way of expressing and understanding concurrent programming.

bq. [Make] it [parallelism] easy for application developers to leverage all those cores to win tomorrow’s market. Threads (ie. Java and C# threads) are old technology, and a dreadful way of expressing concurrency. Language constructs such as “CSP(Communicating Sequential Processes)”:http://doi.acm.org/10.1145/359576.359585 (see also: the “book”:http://www.usingcsp.com/cspbook.pdf and “wikipedia”:http://en.wikipedia.org/wiki/Communicating_sequential_processes) that allow developers to explicitly describe concurrency are far easier to understand and reason about.

Google powered Ruby search inside Firefox

!http://www.petercooper.co.uk/images/firefoxruby.png!

RubyInside has added a “Google powered Ruby search to their website”:http://www.rubyinside.com/search/. In addition, they have also added the ability to use the search from directly within Firefox. This allows you to “search 23 plus Ruby and Ruby on Rails websites”:http://www.rubyinside.com/new-ruby-inside-tool-google-powered-ruby-search-277.html all from the comfort of your trusty browser. Cool :-)

Why switch to Ubuntu.

I found this article, “The best reason yet to use Ubuntu”:http://www.hotubuntunews.com/blog_7.shtml, on digg.com the other day. It outlines Microsoft’s newest anti-piracy tactic:

bq. Basically, in layman’s terms, buyers of retail copies of Windows Vista will be able to transfer their software to a new machine only once. If they want to move their software a second time, they will have to buy a new copy of the operating system. If you buy your computer with the operating system pre-installed, you are not permitted to transfer it at all.

The author’s response to this tactic is to urge his readers to switch to “Ubuntu”:http://www.ubuntu.com/. I would definitely have to agree. I have been using Ubuntu, off and on, for the last several months and really like it. It is simple to use and simple to administer. In my opinion, it is the first version of Linux that stands a chance of becoming a proper desktop OS.

On the other hand, I wonder how this move by Microsoft will affect sales of Vista. After reading the article, my first response was to decide not to buy Vista. Actually, my first response to try and figure out how to buy a Mac, but a split second later I decided to never purchase Vista.

If I purchase a piece of software, I should have the right to a) install the software on as many computers as I own and b) the right to transfer that software from one computer to another. Although I say this with one caveat for non OS software and that is that although I feel that I should have the right to install purchased software on as many computers as I own, I do believe that I should only use the software on one computer at a time. My second point pertains to operating systems. If I buy a new computer, I should have the right to transfer that OS to the new computer (this assumes that the computer did not come preinstalled with an OS). I should not have to go out and buy a new license, or a new copy, of windows in order to use it on my new computer.

Next Page »