Friday Oct 27, 2006
Monday Sep 04, 2006
By MortazaviBlog on Sep 04, 2006
Having been raised on FORTRAN and C, I find solace in brevity, constructs that do away with loops and object orientation. C can be very brief but I see nothing of object orientation in it. FORTRAN of my time had neither characteristics. C++ added the object orientation but only Smalltalk and then Java made it easy enough to use.
Recently, one of my office neighbor's asked me what I thought was distinguishing about Ruby. Without hesitation, I was surprised at my own quick response, given that I'm still learning about the language: "brevity." Of course, Ruby is not for everyone. One can enjoy it more with a combined understanding of object-oriented, functional, script and high-level programming, and an appreciation of how a compiler might have been written for it. A desire for brevity and a positive mental attitude towards it will also help.
What I like is when the code speaks for itself, and that can be done in almost all programming languages.
Friday Aug 25, 2006
Saturday Aug 19, 2006
Friday Aug 18, 2006
Friday Aug 11, 2006
By MortazaviBlog on Aug 11, 2006
-- Chris Pine
Wednesday Aug 09, 2006
Thursday Aug 03, 2006
Tuesday Jul 25, 2006
Sunday Jul 16, 2006
Sunday Jan 29, 2006
By MortazaviBlog on Jan 29, 2006
Frederick P. Brooks, Jr., in his essay The Mythical Man-Month, refers to Dorothy Sayers' The Mind of the Maker. Sayers divides creative activity into three stages: the idea, the implementation, the interaction.
The idea stage occurs outside of time and space. It represents an ideal of what is to be made. The implementation stage occurs in the confines of time and space and has to come to grips with the limitations of the medium used to realize an implementation. The interaction stage begins when that which is made arrives at the hands of its users.
Brooks notes that the medium of implementation for programming has proved relatively tractable compared to that for other creative work. This tractability, along with the positive, theoretical aspect of the idea stage, Brooks takes to be the sources of over-optimistic estimates in programming projects.
Brooks' other important insight has to do with the simple fact that not all "men" are equal and that not all tasks can be partitioned into perfectly parallel pieces whose accomplishment requires no communication among those who work in parallel. In fact, addition of resources to a project often pushes its delivery date farther back.
Tuesday Jan 24, 2006
By MortazaviBlog on Jan 24, 2006
Among other things, Gonzales is asking Google to turn over "a multi-stage random sample of one million URL's," and "the text of each search string entered onto Google’s search engine over a one-week period (absent any information identifying the person who entered such query)."
The Internet, is the greatest distribution, copy and search machine in the world.
Monday Dec 19, 2005
By MortazaviBlog on Dec 19, 2005
If you know German and want to read an European perspective on Open Source, you might consider turning to the Open Source Jahrbuch 2005. (This link comes courtesy of Craig Russell, a.k.a. the father of JDO, who also just recently led an Apache project of the same name out of incubation.)
The Jahrbuch, in its 498 page length (available for free in parts as well as in whole), touches on everything related to open source: case studies, technologies, economics, political and social aspects, open content and open innovation.
The chapter on economics, contains a paper on the use of open source as economic signal and a paper on standardization and open source.
Sunday Oct 09, 2005
By MortazaviBlog on Oct 09, 2005
Monday Oct 03, 2005
By MortazaviBlog on Oct 03, 2005
James Kanter of International Herald Tribune reviews the importance of patents to modern business. ("A new battlefield: Ownership of ideas," IHT, October 3, 2005)
The real problem is how to fashion a system that promotes innovation, not mere accumulation. If savvy entrepreneurs can manipulate the system by locking down valuable ideas, true pioneers will find it too tough to win rewards for their inventions.
"Our standards-setting process risks being corrupted by having people filing for, and getting, any patents they want. That poses a real danger to the effectiveness of innovation," said Josh Lerner of Harvard Business School.
Dietmar Harhoff, a professor at Ludwig-Maximilian University in Munich and an expert in innovation research, said, "I think it has made some independent inventors less aggressive for fear of lawsuits."
In the same issue of IHT, Brian Knowlton writes about how "U.S. plays it tough on copyright rules." My own personal view on all of this is that aggressive copyright protection and unduely long copyright extensions actually lead to an implicit form of censorship which can have severe consequences for cultural and technological innovation in the U.S. and other countries which adopt similar rules. Note that I'm not saying copyrights are bad or that there should be no ownership rights on intellectual property. I'm just concerned about the removal of all limits put on such rights.
[Kevin] Outterson suggested that neither governments nor corporations may be able to answer the key question dispassionately: "What is the limit to intellectual property rights?"
"No one in industry wants to ask, 'Where's the proper balance?"' he said. And yet economists acknowledge that "there must be a point at which intellectual property rights have gone too far."
Monday Sep 05, 2005
By MortazaviBlog on Sep 05, 2005
Reading about the Supreme Court changes to come, the death of Chief Justice William Rehnquist and the nomination of John Roberts to server as the next chief, I ran into a biography of John Paul Stevens, where a few brief but revealing paragraphs explore his style of interpreting the law. I found his analysis in the Federal Communications Commission v. Pacifica Foundation (1978) showed a good appreciation of the place of law in society. There he distinguishes among books, theater and the radio as modes of expression, to which, he argues, the First Amendment may or may not be applied to various extents, in balance against other rights.
I quote three paragraphs from this source:
An openness to experience and to the interplay of facts and values is evident throughout Stevens' opinions. A good example is his opinion for the majority in Federal Communications Commission v. Pacifica Foundation (1978), upholding an administrative decision to accept a father's complaint against a radio station for broadcasting a monologue entitled "Filthy Words," inadvertently tuned in while he was driving with his son. Rather than deal with freedom of speech as an abstraction, as some of his colleagues did, Stevens explored a series of facts in the case, each of which illuminates important personal or societal interests.
It was a radio broadcast, intruding upon "the privacy of the home, where the individual's right to be left alone plainly outweighs the First Amendment rights of an intruder," not a book or a theater production. "Outside the home, the balance between the offensive speaker and the unwilling audience may sometimes tip in favor of the speaker, requiring the offended listener to turn away." A radio broadcast, however, is also available to children, in whose well-being the government has a legitimate interest and over whom parents have a claim of authority. It was heard by a young child, and young children are more apt to be adversely affected than older children. The monologue was broadcast in the afternoon, when the very young are more likely to listen, rather than at night. Its plain language also affected its accessibility. For contrast, Stevens quoted a passage from the Canterbury Tales at least as lewd as anything in the monologue but relatively obscure and less likely to turn up uninvited in anyone's house. That it was spoken rather than written made it available even to children too young to read. This broadcast, he said, "could well have enlarged a child's vocabulary in a minute."
Further, the explicit language was spoken during regular programming, not in a telecast of an Elizabethan comedy, for example, to which a different kind of audience would be tuned. To support his view of the monologue as speech of relatively little importance, Stevens appended it in full to his opinion, (where it now sits, in law libraries across the country, safely inaccessible to all but callous adults). Last, he deliberately did not decide that this broadcast would justify a criminal prosecution (in which other basic rights would be invoked). Fact-gathering is Stevens's way of discovering how a case will affect people and their constitutional rights and responsibilities. It is an exercise in which, as he says, "one's initial impression of a novel issue is frequently different from his final evaluation," and balancing is his way of deciding which values shall prevail. In this case, had it been high comedy, for example, or a willing adult audience, Stevens's balance might have tipped the other way, protecting the performance and rejecting the complaint.
Monday Aug 01, 2005
By MortazaviBlog on Aug 01, 2005
The criteria that identify a great programmer vary—some times speed being the objective, other times clarity, reuse or extensibility.
One of my own most important criterion has to do with succinctness.
A programmer is great (in a given programming language) if s/he can write the shortest program (in that language) that is at least as effective as all other programs in achieving a certain task. S/he writes the program in such a way that little commentary is necessary. A programmer is great if a look at the program says what it does.
Doing with little commentary is actually possible in higher-level languages such as Java. Some length might be given up to make the program more "clear" but that juggle is what can destroy good programs if taken too far to any extreme.
Good, tight programs are self-explanatory because they do not have spurious material.
O.K. Just as I was writing this, a friend wrote back and said: "For me, a truly great progammer is the one who everyone but (her/his)self thinks they are one"—beauty in the eye of the beholder.
Thursday Jul 28, 2005
By MortazaviBlog on Jul 28, 2005
Is it a good idea for a software engineer to move on from their existing project to new ones?
With classical, mechanical workers, it is often the case that one becomes totally proficient when one uses an equipment on a repeated basis. One can become an expert car mechanic, for example, and still find interesting things to do but one cannot become an expert unless one has made great strides in proper use of the tools and equipment.
The reliance on and the importance of tools does not diminish in software engineering. What makes software engineering different is the exertion of mental energy at a very detailed level. There is certain amount of learning (beyond the use of tools) that is required when any piece of code is touched but only continuous learning makes software engineering fun for a large number of people. This continuous learning has to be in multiple dimensions, and without moving along some of these dimensions, one cannot learn. Different engineers have different tastes regarding which dimension is most important for them. Some take pride in their mastry of tools. Others like to be architects and designers. Some like writing volumes of code. Others like to write few but more complex pieces. It has been very rare when a person has gathered all of these qualities at a level that is superior to all others. Hence, the great need for collaboration among software engineers.
So, what about the question we started with?
Well, there are different types of moves, and it all depends. (Isn't that an easy way to dodge the question?) One thing is clear. Unless you choose some dimension to move on, there's very little learning that can happen.
Wednesday Mar 30, 2005
By MortazaviBlog on Mar 30, 2005
You may want to read this Washington Post report of the Court's deliberations on the Grokster case or the little WSJ primer on the same case as it unfolds before the Supreme Court. (Unfortunately, The Wall Street Journal requires paid registration. However, the Washington Post reports can be obtained with a free registration.)
Some useful links to court documents:
Briefs supporting the studios
Briefs supporting Grokster and Streamcast
Consumer Electronics Association
American Conservative Union
Sixty professors of intellectual property law
Sharman Networks (Kazaa)
Computing Industry Association
Recording artists: Chuck D, Heart, others
The case will determine the extent of support that the law is willing to give to a whole class of innovations in communications technologies that may revolutionize the way networks are used on a social level.
Tuesday Mar 22, 2005
By MortazaviBlog on Mar 22, 2005
Another example of the conflict between what technology has enabled and what current copyright laws demand, the Kazaa case, unfolds before the courts. (The Washington Post report of it requires a simple registration: "Closing Arguments Begin in Kazaa Trial".)
At issue is not whether current copy right laws make sense. At issue is whether Sharman Networks (makers of Kazaa) and its directors should be declared liable for "copyright breach and loss of earnings in the civil case".
- Oliver Williamson Wins the Nobel Prize in Economics
- LBL, Technology and Life
- At the Mount Whitney Summit
- More on Derby
- Advancing MySQL Open Development One Important Step Forward
- A Prize Well-Deserved
- ADO.Net Entity Framework on MySQL
- How a Differential Gear Works
- Clunkers and Financial Institutions
- Workbench 5.2 Alpha
- Adam Bosworth
- Bryan Cantrill
- David Edmondson
- Edward Felton
- Hinkmond Wong
- His Holiness, The Duke
- James C. Liu
- Lawrence Lessig
- Paul Rogers
- Philip Greenspun
- Richard Friedman
- Richard Sharples
- Roberto Chinnici
- Seyed Razavi
- Simple Signs
- Simson L. Garfinkel
- Tim Bray
- Yusuf Goolamabbas
- / Persian (فارسی)
- /Art (هنر)
- /Sun Microsystems Inc.