Monday, May 28, 2007

Mac OS-X Locking of Files

I recently upgraded my iMac w/ iLife 06, which caused my iPhoto to have trouble loading the photo library. The reason was that some files in one of the photo library folders had been locked.

You can individually unlock files using the "GetInfo" command in Finder. There's a little box that needs to be unchecked in the "GetInfo" dialog box.

The fastest way to unlock file contents of a folder was the following script from the command terminal:
 sudo chflags -R nouchg .
The "." refers to the current folder in which the above command is being executed.

The sudo command is similar to a command with which Ubuntu users are also familiar.

Tuesday, May 15, 2007

Maintenance vs. Development

For a colleague (Arun Gupta) who's looking into Ruby-on-Rails, I posted the following comment and question:

You might find APRESS' "Begining Ruby on Rails E-Commerce" useful. It covers quite a bit of ground while remaining focused on a full e-commerce application, containing all that is required in such applications, except perhaps, fancy user interfaces.

The question that arose in my mind as I read this book and played with the ideas contained in it was whether Ruby-on-Rails programs were any easier to maintain, and in general, what was the cost involved in maintaining them. Are we losing flexibility for maintenance as we gain speed of development?

I should have noted that the above book focus on using Ruby-on-Rails with MySQL. PostgreSQL also supports a relatively live and active Ruby-on-Rails community, particularly in Japan, I hear. Focusing on a particular DB supports that DB community. Note that the imposition of many relational constraints often require db-specific SQL. These DB specific SQL files can easily creep onto a Ruby-on-Rails project, defeating at least some aspect of its claim to DB independence.

Software & Economics

It is good to see someone who has a relatively good understanding of Transaction Cost Economics write about the topic of open source software or software in general:

There was a time when a single determined individual could write the core of a single operating system for a primitive computer. But given the demands of computer applications and the capabilities of hardware technology at present, that is no longer conceivable. The task needs to be divided somehow. This immediately raises a ... core political economy question, about coordination of a division of labor within a centralized, hierarchical structure--that is, a firm. Within the firm an authority can make decisions about the division of labor and set up systems that transfer needed information back and forth between the individuals or teams that are working on particular chunks of the project. The boundaries of the firm are determined by make-or-buy decisions that follow from the logic of transaction cost economics. The system manages complexity through formal organization and explicit authority to make decisions within the firm as well as price coordination within markets between firms.

That's from Steven Weber's The Success of Open Source.