Quotes in 2003

Wednesday, December 31, 2003
Constantly asking for confirmation where the answer is almost always “yes” conditions the user to press “yes” without thinking about it, a habit that can have very unfortunate consequences. Programs should request confirmation only when there is good reason to suspect that the answer might be “no no no!” A confirmation request that is not a surprise is a strong hint of bad design. Any confirmation prompts at all may be a sign that what your interface really needs is an undo command.

--Eric S. Raymond
Read the rest in Silence Is Golden

Tuesday, December 30, 2003

Companies like Cisco and Websense are exporting censorship technologies to China that make them money, but create a democratic deficit behind the Great Firewall. These same companies argue that they have no control over how their products are used, and regardless, Chinese economic development will lead to political development.

This rationale is naive at best and self-serving at worst. Censorship not only stifles the free flow of information, it also creates international instability. And while Western companies continue to focus on short-term profit, the long-term results are clearly to our disadvantage.

There is not a single technology that doesn't go to the People's Liberation Army for testing and reverse engineering. And while we continue to reward China for bad behavior, they're laughing at us and looking for the next group of suckers eager to make a nickel. Move over Enron, you've just been eclipsed in the greed and gutless department.

--Oxblood Ruffin, executive director and founder of Hacktivismo
Read the rest in Wired News: The Fantasy and Reality of 2004

Monday, December 29, 2003
Of course, the "Java" Desktop has absolutely nothing to do with Java. It's really an admission by Sun that the Sun brand is dead. Nobody wants to buy Sun hardware or software anymore. But, the Java brand still has some value. My biggest fear in all of this is that instead of letting Java pull Sun up, Sun has insured that the Java brand is going down with the Sun ship. Let's all hope that Sun's fortunes turn.

--Norman Richards
Read the rest in :My impressions of the "Java" Desktop System demo

Sunday, December 28, 2003
C# has a disadvantage of letting programmers write error-prone code, with the potential to wreak havoc with a program's address space. You have to tag the code as "unsafe." One might consider such tags like a restaurant sign that says, "We failed a health inspection last month."

--Tom Adelstein
Read the rest in How to Misunderstand Sun's Linux Desktop Strategy

Tuesday, December 23, 2003
We will agree to match any offer Microsoft puts on the table for desktop software — at 50 per cent of Microsoft's quoted offer. No matter what their offer, we'll agree to provide the software for half their price. If they offer Windows and Office for $200 per desktop, we'll offer them for $100. If they offer $50, our offer will be $25

--Jonathan Schwartz, Sun vice-president
Read the rest in The Telegraph - Calcutta : Business

Monday, December 22, 2003

How prisoners at Guantánamo Bay have been treated we do not know. But what we do know is not reassuring. At Camp Delta the minute cells measure 1.8 meters by 2.4 meters (6 feet by 8 feet). Detainees are held in these cells for up to 24 hours a day. Photographs of prisoners being returned to their cells on stretchers after interrogation have been published. The Red Cross described the camp as principally a center of interrogation rather than detention.

The purpose of holding the prisoners at Guantánamo Bay was and is to put them beyond the rule of law, beyond the protection of any courts, and at the mercy of the victors. The procedural rules do not prohibit the use of force to coerce prisoners to confess. On the contrary, the rules expressly provide that statements made by a prisoner under physical and mental duress are admissible "if the evidence would have value to a reasonable person," i.e. military officers trying enemy soldiers.

--Johan Steyn
Read the rest in IHT: Search

Sunday, December 21, 2003

Now maybe, just maybe, Saddam's capture will start a virtuous circle in Iraq. Maybe the insurgency will evaporate; maybe the cost to America, in blood, dollars and national security, will start to decline.

But even if all that happens, we should be deeply disturbed by the history of this war. For its message seems to be that as long as you wave the flag convincingly enough, it doesn't matter whether you tell the truth.

By now, we've become accustomed to the fact that the absence of Iraqi weapons of mass destruction — the principal public rationale for the war — hasn't become a big political liability for the administration. That's bad enough. Even more startling is the news from one of this week's polls: despite the complete absence of evidence, 53 percent of Americans believe that Saddam had something to do with 9/11, up from 43 percent before his capture. The administration's long campaign of guilt by innuendo, it seems, is still working.

--Paul Krugman
Read the rest in Op-Ed Columnist: Telling It Right

Saturday, December 20, 2003

Without actual numbers, work on performance is basically just blind guessing. There is also a large danger of placebo effects... if you tell someone that something is faster now, they'll see it as faster.

But if we can document that the time between pressing the mouse button on a menu item and the time for the submenu to pop up and fully paint is 20ms, then we can start looking at exactly what is being done in the 20ms, and when we make changes, we can verify that they actually improved the situation.

--Owen Taylor
Read the rest in Interview: Red Hat's Owen Taylor on GTK+ - OSNews.com

Friday, December 19, 2003

Take, for example, AIDS drugs that are patented. Patent laws are national; there aren't really international patent laws. There are international treaty obligations and different countries agree to respect each other's patents, but it's always up to the individual country to decide the public policy of what level of patent protection to provide. Some countries like Brazil and India don't permit patents on pharmaceuticals. There's a lot of pressure in terms of trade sanctions for these countries to adopt U.S.-style patent laws that would raise the cost of AIDS drugs and other drugs in those countries.

So you kind of have to take a step back and say, wait a minute, is this in this country's best interest to be granting monopolies to U.S. drug companies when their own citizens are dying from lack of access to affordable drugs? What is actually in the best interest of that particular country is not even part of the debate. The debate is simply, "Well you're going to be sanctioned by the U.S. or the WTO if you don't adopt these intellectual property rules," so these countries often have very little choice, very little bargaining power, very little leverage against the Western view of intellectual property and its imposition on these countries.

--Robin Gross
Read the rest in O'Reilly Network: Robin Gross Seeks International IP Justice [Feb. 20, 2003]

Thursday, December 18, 2003
Disks will replace tapes, and disks will have infinite capacity. Period. This will dramatically change the way we architect our file systems. There are many more questions opened by this than resolved. Will we start using an empty part of the disk for our tape storage, our archive storage, or versions? Just exactly how does that work? And how do I get things back? I don't think there is much controversy about that, especially if you set the time limit far enough out: I would say three years; others would say 10 years.

--Jim Gray
Read the rest in ACM Queue - Content

Wednesday, December 17, 2003

'Free trade', like the 'free market', is a myth. Adam Smith's 'invisible hand' is shackled and always has been. Tariffs are only ever part of the story. Subsidies (such as in agriculture), tax breaks, immigration restrictions, labor laws, consumer protection laws, 'blue laws' restricting the business hours of certain industries (car dealers in IL for example) etc. in the U.S. and every other country distort pretty much any market you care to name.

That's why it drives me nuts hearing all the libertarian fairy tales about market capitalism every time there's a discussion regarding business in the U.S. News flash: business is already heavily regulated. The question isn't 'whether', but 'what', 'why' and 'how.'

--Chris Kaminski on the WWWAC mailing list, Wednesday, 26 Nov 2003

Tuesday, December 16, 2003
If you provide fifty different ways to do the same thing, then you've provided convenience for code writers. People can write things in their favorite way. The tradeoff is for code readers. When I read your code, you might have written it one way. When I read the next person's code, they may have written it another way. So as a reader I end up needing to be familiar with all ways to accomplish the task, not just my favorite way of writing it. That's the design tradeoff.

--Bill Venners
Read the rest in The Philosophy of Ruby

Monday, December 15, 2003
If I were to be God at this point, and many people are probably glad I am not, I would say deprecate Cloneable and have a Copyable, because Cloneable has problems. Besides the fact that it's misspelled, Cloneable doesn't contain the clone method. That means you can't test if something is an instance of Cloneable, cast it to Cloneable, and invoke clone. You have to use reflection again, which is awful.

--Ken Arnold
Read the rest in Java Design Issues

Sunday, December 14, 2003
The losers are the cities that don't let these people organize and be themselves and express their energy. A city that allowed a gay community to emerge 10 or 20 years ago, set up its own retail stores and clubs, a city that allowed a music scene to happen, a city that allowed an arts community to emerge — there's something in the ecosystem of that community that allows individuals to get there, to be themselves and to mobilize resources. That of course is the same thing that high-tech entrepreneurs do.

--Richard Florida
Read the rest in On a Hunt for Ways to Put Sex in the City

Saturday, December 13, 2003
Who will design the languages of the future? One of the most exciting trends in the last ten years has been the rise of open-source languages like Perl, Python, and Ruby. Language design is being taken over by hackers. The results so far are messy, but encouraging. There are some stunningly novel ideas in Perl, for example. Many are stunningly bad, but that's always true of ambitious efforts. At its current rate of mutation, God knows what Perl might evolve into in a hundred years.

--Paul Graham
Read the rest in The Hundred-Year Language

Friday, December 12, 2003
Ultimately, good language design boils down to assembling a team of people who have good taste. It boils down to programming aesthetics, as you are saying. Good taste is extremely subjective and hard to define, but you can sort of recognize it when you see it. And I don't think any number of usability studies can give you what taste gives you, because usability studies tend to be very vertical. A study might ask, "What do you think of this particular feature?" But it's not easy to ask, "What do you think of this language?" Where would you begin? How can you possibly attack that in a two hour usability study? It's just impossible.

--Anders Hejlsberg
Read the rest in The C# Design Process

Thursday, December 11, 2003
when you're building a library, it's not enough to just accumulate good components. Take a data structure library as an example. You might have excellent classes for lists, stacks, files, and btrees, but taken together they don't make an excellent library if they are inconsistent. If they use different conventions, they aren't part of a single design. For example, when you're putting an element into an array, you might have an insert operation that takes x and i, where x is the element and i is the index. For the hash table class you might have an insert operation that takes key and x, where key is the key and x is the element. The order of arguments is reversed. The order of arguments might make perfect sense within each class, but when you start approaching the library as a whole, you're in new territory each time you look at a new class. You don't get a feeling of consistency. Instead you get a feeling of a mess—something that is a collection of pieces rather than a real engineering design. What we found many years ago when we started focusing seriously on libraries is that just as much attention has to be devoted to the construction of the library as a whole as to the construction of the individual elements.

--Bertrand Meyer
Read the rest in Design by Contract

Wednesday, December 10, 2003

Expressing basic methods like algorithms for sorting and searching in machine language makes it possible to carry out meaningful studies of the effects of cache and RAM size and other hardware characteristics (memory speed, pipelining, multiple issue, lookaside buffers, the size of cache blocks, etc.) when comparing different schemes.

Moreover, if I did use a high-level language, what language should it be? In the 1960s I would probably have chosen Algol W; in the 1970s, I would then have had to rewrite my books using Pascal; in the 1980s, I would surely have changed everything to C; in the 1990s, I would have had to switch to C++ and then probably to Java. In the 2000s, yet another language will no doubt be de rigueur. I cannot afford the time to rewrite my books as languages go in and out of fashion; languages aren't the point of my books, the point is rather what you can do in your favorite language. My books focus on timeless truths.

Therefore I will continue to use English as the high-level language in TAOCP, and I will continue to use a low-level language to indicate how machines actually compute. Readers who only want to see algorithms that are already packaged in a plug-in way, using a trendy language, should buy other people's books.

--Donald Knuth
Read the rest in Amazon.com: Books: The Art of Computer Programming, Volumes 1-3 Boxed Set

Tuesday, December 9, 2003
You can't get 100% Mac-like behavior using Swing; there are too many places where the Mac interface is the square peg to Swing's Windows-based round hole.

--Glen Fisher on the java-dev mailing list, Friday, 05 Dec 2003

Monday, December 8, 2003

binary compatibility is much more market- and economically relevant than source compatibility independent of the technology. Java's power stems in part from being partitioned into two pieces: 1) the Java virtual machine (JVM), the basis for an instruction set architecture that is universal, and 2) the means used to target the JVM, which is largely, but not exclusively, Java. I wouldn't be surprised to see additional things targeting the JVM, and some of what we know of as "the Java language" to see some diversity in coming years as we consider more areas of computing.

There are very few models of the industry that are both simple and accurate. One which seems to pass that test says that the industry can be modeled by looking at the positive feedback loop among developers: Developers write applications. That produces volume, which then attracts more developers, and so on. And that model is fundamentally a model that applies to binaries. It explains much that source level compatibility doesn't explain.

For instance, Solaris has essentially 100% coverage of the Unix applications market. Every Unix application that exists has a Solaris/SPARC instance for it. You could not, therefore, imagine a more trivial recompilation exercise than to make the same application available for Solaris/IA32 [Solaris, Intel x86 Edition]. So how come it didn't happen? According to the source code theory of the world, that should have happened instantly.

Or, consider Alpha. How come Digital had to essentially buy off people to make Alpha versions of applications? Aren't they all Unix applications? Isn't it just a recompile, or maybe a recompile with a little work? How come they had to be paid to do it?

Then, when Linux came around, which is really a Unix/IA32 system, how come all the applications showed up?

The answer in all those cases relates to anticipated volume of binaries. Having a shared space of binaries is much more vital and powerful than having a shared space of source. That's not to say that shared spaces of source are not valuable in their own right. It's just that the properties that attend to them are not the ones that have historically explained economic behavior in the industry.

--Rob Gingell, Sun Microsystems fellow and chief engineer
Read the rest in Standards and Innovation

Sunday, December 7, 2003

Forgetting for a moment Diebold's voting machines, let's look at the other equipment they make. Diebold makes a lot of ATM machines. They make machines that sell tickets for trains and subways. They make store checkout scanners, including self-service scanners. They make machines that allow access to buildings for people with magnetic cards. They make machines that use magnetic cards for payment in closed systems like university dining rooms. All of these are machines that involve data input that results in a transaction, just like a voting machine. But unlike a voting machine, every one of these other kinds of Diebold machines -- EVERY ONE -- creates a paper trail and can be audited. Would Citibank have it any other way? Would Home Depot? Would the CIA? Of course not. These machines affect the livelihood of their owners. If they can't be audited they can't be trusted. If they can't be trusted they won't be used.

Now back to those voting machines. If EVERY OTHER kind of machine you make includes an auditable paper trail, wouldn't it seem logical to include such a capability in the voting machines, too? Given that what you are doing is adapting existing technology to a new purpose, wouldn't it be logical to carry over to voting machines this capability that is so important in every other kind of transaction device?

--Robert X. Cringely
Read the rest in PBS | I, Cringely . Archived Column

Saturday, December 6, 2003

The last straw seems to have been the working lunch session on Wednesday. I presented about J2EE and web services during the first slot (about 20 minutes), explaining about the way web services has been adopted by the non-Microsoft world and how this now provides an intergation bridge. In the second slot I spoke for 15 minutes or so to explain the Linux desktop world that's rapidly evolving, epitomised by Sun's 'Mad Hatter' project. The Java session was scrupulously non-partisan (at least in intent & in my opinion), the second was more Sun-oriented as the case-in-point was Mad Hatter & there was no way to generalise it.

During the afternoon, Neil came over to me and said that some of the other speakers (no names) had been incensed that I covered Java in my talk and said they had asked that I not participate in the evening Q & A. We reached an accommodation. End of history.

Now, what's interesting here is the dimension it illuminates for me of the outlook of Microsoft insiders. This is the first time I have ever had other speakers approach the event organiser and ask for me to be removed from the agenda, and naturally my first reaction was to feel hurt, shamed and insulted (in roughly that order). I have gone out of my way, being aware this is billed as '.Net Nirvana', to be non-partisan and inclusive and to avoid at all costs criticising either .Net or Microsoft - only one slide out of everything I have presented has even attempted a comparison.

But the more I think about it, the more it resonates with what I have read in books like 'Hard Drive' about Microsoft's ethos being one of 'Win at all costs, and they are all out to get us'. It seems the automatic assumption of some of the other speakers was that I was in some way 'out to get' Microsoft, that my agenda was attack, so despite that being absent from my intent it was read in as a sub-text to what I said. Considering that the people involved represent the attitudes of the largest, most aggressive company in my industry, immune from almost every attack and even able to shrug off conviction under the Sherman Act like a speeding ticket from a small-town cop, they showed a vulnerablity and insecurity which speaks volumes of the way Microsoft likes its people to feel and act.

--Simon Phipps
Read the rest in Webmink: the blog

Friday, December 5, 2003
Radio is controlled through payola (known in its modern form as "consultants"), the print media is controlled through quid-pro-quo agreements (advertisements bought in exchange for coverage and vice-versa), retail is controlled by co-op dollars (which also includes in-store play for videos), and they even buy their artists way on to opening slots on tours. In large part, the major labels (as well as indie labels that aspire to be just like the majors) have even co-opted the traditionally "DIY" network and infrastructure that is the backbone of punk rock and independent music as we know it. So, with very few exceptions, the five major labels control the fans' access to new music. No one can control what people download, though! All they can try to do is control the fans' access to downloadable music, or scare them outright.

--Greg Ross, Go-Kart Records
Read the rest in Downhill Battle - Go-Kart Records Interview

Thursday, December 4, 2003

When you go through college and you're doing assignments, they just ask you to code up the one true path. I certainly never experienced a college course where error handling was at all discussed. You come out of college and the only stuff you've had to deal with is the one true path. You get a job working in some IT department's data center, and they're using the software in production runs. If it doesn't work, it's a real problem. All of a sudden there's all this painful stuff that you don't like to do, and you're feeling grumpy about it because this isn't as much fun as just writing clean code.

There's really nothing a hacker likes more than having an empty editor buffer. You can just start to write code. That's the way university assignments are: here's a problem, just write the code. The real world is much cruftier.

--James Gosling
Read the rest in Failure and Exceptions

Wednesday, December 3, 2003

One of the prosecutors told me that they think 30% of the people in Guantanamo Bay were nothing to do with anything. They were just in the wrong place at the wrong time. When the prosecutor tells you 30%, I tend to think it's more like 70%. But the bottom line is we're not talking about 600 of the worst people in the world. We're talking about at least a couple of hundred who didn't do anything.

You kidnap people who may be totally innocent, you take them all the way around the world in hoods and shackles, you hold them incommunicado for two years, you don't give them a lawyer and you don't tell them what they're charged with. It's not a matter of what's wrong with it, it's a question of what's right with it. And it achieves nothing.

--Clive Stafford-Smith
Read the rest in Guardian Unlimited | Special reports | People the law forgot (part two)

Tuesday, December 2, 2003
Ooh, I'm an expert! I just realized it. What fun. I guess that means it's time to start a new skill. After all this is I.T. If you do something long enough to become an expert, you can be sure that your skillset is going down the tubes. Next year I'll probably be listed along with PDP macro programmers and thinking machine technicians, in the group suitable only for work in computing museums. Hmm let's see what's hot? Broadband, security, web services, mobile computing, ... Okay, so I need to start learning about high-security web services running on mobile phones connecting over big fat data links. See that? One minute ago I was an expert and a dinosaur, the next I'm a visionary.

--Javva the Hutt
Read the rest in Javva The Hutt November 2003

Monday, December 1, 2003
  public static void main(String[] args) {
    int I=0;int S=0;int N[] = null;
    while(jump != -1) {
      try {
        switch(jump) {
          case 10: N = DIM(10);
          case 20: I = 0;
          case 30: N[I] = INT(1000 * RND());
          case 40: I = I + 1; if (I < 10) GOTO (30);
          case 50: S = 1; I = 0;
          case 60: if( N[I] < N[I + 1]) GOTO (80);
          case 70: int T = N[I] ; N[I] = N[I + 1] ; N[I + 1] = T ; S = 0;
          case 80: I = I + 1 ; if (I < 9) GOTO (60);
          case 90: if (S == 0) GOTO (50);
          case 100: I = 0;
          case 110: PRINT (N[I]);
          case 120: I = I + 1; if (I < 10) GOTO (110);  
          case 130: STOP();        
        }
        // if there was no GOTO then we want to end the program

        STOP();
      } catch(GotoException ex) {
        // GOTO was called, and a GotoException has caused the
        // control to pass outside of the switch statement
      }
    }      
  }
}

--Dr. Heinz M. Kabutz
Read the rest in 2003-03-31 The Java Specialists' Newsletter [Issue 067] - BASIC Java

Sunday, November 30, 2003

Calling all cars: be advised of an all-points bulletin for individuals wanted for questioning in connection with crimes against consumerism perpetrated in the New York region yesterday.

The authorities could not say whether the incidents documented in reports around the city were connected, but it was clear that the wanted individuals could be considered derelict in the duties inherent to living in one of the most privileged societies in history. It was the day after Thanksgiving, and they were not shopping.

--Michael Brick
Read the rest in Some People Didn’t Spend the Day Shopping. Maybe Even on Purpose.

Saturday, November 29, 2003

I’ve given this problem a whole lot of thought. I think that the way that we deal with performance is pretty much fundamentally flawed. Right now, we do one of two things: we try to make everything super-fast the first time, or we wait until someone screams in production. Both are dangerous and expensive. The first problem is flaWednesday, because developer intuition sucks. We simply guess wrong more than we guess right. Smart people have not been immune, either: the initial models for CORBA and EJB entity beans were fundamentally flaWednesday, because they injected too much communication costs for typical usage models. If you’re guessing, then you’re either building in too much performance (which is incredibly expensive), or you’re missing on your performance goals. And we all know what waiting until production does to our future schedules and well-intentioned designs.

Ideally, we should measure our fundamental performance requirements using JUnit test cases (JUnitPerf, from clarkware.com, is a fantastic start.) But we simply don’t have enough tools to do so today. The ideal tool would be ant-integrated, automated, and require as few code changes as possible.

--Bruce Tate
Read the rest in The Interview: Bruce Tate, Bitter Java

Friday, November 28, 2003

The international aid policy should apply the medical principle, "first do no harm" and cancel Iraq's debts. In addition, Iraq should not have to endure an IMF structural adjustment programme. We must not require Iraq to privatise its society and allow its natural resources to be asset stripped. In the second world war, allied soldiers used the term "liberate" as a euphemism for looting and the same is proving to be true today on a grand scale.

More generally, foreign aid is not a high priority. Iraq is a country with rich agricultural land, huge oil resources and a highly skilled population that kept the country functioning through three wars and the UN blockade. In too many cases, aid to developing countries means rich countries subsidising their own businesses and third-rate consultants. Iraqis should not be prevented from owning and controlling the reconstruction effort.

--Dan Plesch
Read the rest in New York Times: NYT HomePage

Thursday, November 27, 2003
Ahem. In this time of war against Osama bin Laden and the oppressive Taliban regime, we are thankful that OUR leader isn't the spoiled son of a powerful politician from a wealthy oil family who is supported by religious fundamentalists, operates through clandestine organizations, has no respect for the democratic electoral process, bombs innocents, and uses war to deny people their civil liberties. Amen.

--Huey Freeman, Thanksgiving Prayer
Read the rest in Huey Freeman: American Hero

Wednesday, November 26, 2003

The constitutional scholar Raul Berger once told me that the main purpose of one party is to keep the other party honest. We didn't have that. And the burden on journalism was overwhelming to what too few are equipped to do -- go to original material, provide plenty of airtime to dissenting opinions. We wound up with far more airtime going to official spokesmen than to skeptics. I've gone back and reviewed transcripts of many of the interview programs conducted in the build-up to the invasion. Hawks like Richard Perle were thrown softball after softball, and their assertions for invasion basically went unchallenged. Our mandate at NOW is to provide alternative voices and views and when we started fulfilling that mandate, the hawks wouldn't come on. They didn't want to be challenged. Colin Powell's now largely-discredited speech to the U.N. was hailed at the time as if it were an oration by Pericles; there was no one with the evidence to challenge him until some time had passed.

I guess I was most astonished at the imbalance of the Washington Post -- something like three-to-one pro-war columns on the op-ed page. The press seemed to throw to the wind Ben Bradlee's Watergate requirement of two sources for every allegation. Or some sense that people other than the establishment should have been heard on war and peace.

--Bill Moyers
Read the rest in Bill Moyers is Insightful, Erudite, Impassioned, Brilliant and the Host of PBS' "NOW" - A BuzzFlash Interview

Tuesday, November 25, 2003
computers don't mind if I must make effort to communicate with them or if it is easy to communicate with them. They don't care if I put the numbers of instruction byte sequences in a file and feed it to them to run, or if a very high level language generated the instructions. The computers don't care. We humans care about the effort we pay. Often people, especially computer engineers, focus on the machines. They think, "By doing this, the machine will run faster. By doing this, the machine will run more effectively. By doing this, the machine will something something something." They are focusing on machines. But in fact we need to focus on humans, on how humans care about doing programming or operating the application of the machines. We are the masters. They are the slaves.

--Yukihiro Matsumoto
Read the rest in The Philosophy of Ruby

Monday, November 24, 2003
the designer's job is not only to create something that will work correctly and efficiently, but something that is also easy for the client to understand and use.

--Bill Venners
Read the rest in Analyze this!

Sunday, November 23, 2003
The F.B.I. is dangerously targeting Americans who are engaged in nothing more than lawful protest and dissent. The line between terrorism and legitimate civil disobedience is blurred, and I have a serious concern about whether we're going back to the days of Hoover."

-- Anthony Romero, executive director of the American Civil Liberties Union
Read the rest in F.B.I. Scrutinizes Antiwar Rallies

Saturday, November 22, 2003
Finally, surely there's value in using an operating system that, well, isn't Windows. Mac OS X isn't just free of viruses; it's also free from copy protection, "activation" (a Windows XP feature that transmits information about your PC back to Microsoft), and pop-up messages that nag you to sign up for some Microsoft database or clean up your icons. When you use Mac OS X, you feel like it's yours; when you use Windows, you feel as though you're using someone else's toys, and Mrs. Microsoft keeps peeking in on you.

--David Pogue
Read the rest in Apple's Latest 0.1 Adds a Lot

Friday, November 21, 2003

Every five to 10 years, Silicon Valley goes broke. This began in the 1950s and maybe long before, but the 1950s is as early as I care to write about. The Valley then was filled with apricot and cherry orchards only to see agriculture driven out first by the military and aerospace, and then by semiconductor companies. It is fitting that Shockley Semiconductor -- the first of many transistor companies -- was started in a shed previously used for drying apricots. Transistors begat Integrated Circuits, which begat memory chips, which begat microprocessors, which begat personal computers, which begat consumer software, which begat networks, which begat the Internet, which begat the day before yesterday and the day after tomorrow. And each of those transitions was accompanied by a seismic shudder going through the Valley as companies went under and home prices sloWednesday, for just a moment, their inexorable rise before continuing to climb again. A few familiar names survived from each era, but most of the companies went out of business because that's the way it is. We burn our fields in Silicon Valley, then plow the ashes under and start anew. It is perfectly natural, then, for companies to die here, but that doesn't mean there is no room for regret and nostalgia. So today I look with nostalgia on Sun Microsystems and hope -- probably in vain -- that the company doesn't die.

Sun did not invent the engineering workstation, but they certainly perfected it. But where are workstations today? Gone, for the most part. Sun's workstation business is about the same size as SGI's, which is to say small. Sun is now a server company, but that won't last long either under the onslaught of Linux. Cheap Intel and AMD hardware running Linux is going to kill Sun unless the company does something so stop it, which they aren't.

--Robert X. Cringely
Read the rest in I, Cringely | The Pulpit

Thursday, November 20, 2003

Most people take DRY to mean you shouldn't duplicate code. That's not its intention. The idea behind DRY is far grander than that.

DRY says that every piece of system knowledge should have one authoritative, unambiguous representation. Every piece of knowledge in the development of something should have a single representation. A system's knowledge is far broader than just its code. It refers to database schemas, test plans, the build system, even documentation.

Given all this knowledge, why should you find one way to represent each feature? The obvious answer is, if you have more than one way to express the same thing, at some point the two or three different representations will most likely fall out of step with each other. Even if they don't, you're guaranteeing yourself the headache of maintaining them in parallel whenever a change occurs. And change will occur. DRY is important if you want flexible and maintainable software.

The problem is: how do you represent all these different pieces of knowledge only once? If it's just code, then you can obviously organize your code so you don't repeat things, with the help of methods and subroutines. But how do you handle things like database schemas? This is where you get into other techniques in the book, like using code generation tools, automatic build systems, and scripting languages. These let you have single, authoritative representations that then generate non-authoritative work products, like code or DDLs (data description languages).

--Dave Thomas
Read the rest in Orthogonality and the DRY Principle

Wednesday, November 19, 2003
Java doesn't run everywhere. Sun kaboshed that by keeping it closed to ownership but open to ideas, then suing Microsoft and forcing it off the distribution. Java's problems are still development tools and performance.

-- Claude L (Len) Bullard on the xml-dev mailing list, Tuesday, 18 Nov 2003

Tuesday, November 18, 2003
If you can come up with more than say 25 or 30 member functions, that strongly suggests you have probably merged more than one concept into a single class. You should probably think about splitting that class into pieces.

--Scott Meyers
Read the rest in Designing Contracts and Interfaces

Monday, November 17, 2003

despite what the users say, it's very hard to judge what's actually important to them, because they themselves may not know. You may collect requirements and interview users. You may be certain that a particular feature is the most important. You put all your work into that important feature and ignore another minor feature that the user didn't seem to care much about. But later, you find out that in practice the users use this important feature only once every six months. The minor feature that you kind of ignored, they use six times a day. Now that's a huge problem.

What features are most important is not always clear up front. It's not even always clear to users. You need to be prepared to rock and roll and be flexible a bit. There's a kind of Heisenberg effect as you put a system into production and real users start using it. The act of introducing the system changes how the users work. It's almost impossible up front to be sure you know what the user wants, and then implement that perfectly. The very act of introducing your software into the user's world changes the game.

--Andy Hunt
Read the rest in Good Enough Software

Sunday, November 16, 2003

And however grim the Cuban crackdown, it beggars belief that the denunciations have been led by the US and its closest European allies in the "war on terror". Not only has the US sentenced five Cubans to between 15 years and life for trying to track anti-Cuban, Miami-based terrorist groups and carried out over 70 executions of its own in the past year, but (along with Britain) supports other states, in the Middle East and Central Asia for example, which have thousands of political prisoners and carry out routine torture and executions. And, of course, the worst human rights abuses on the island of Cuba are not carried under Castro's aegis at all, but in the Guantanamo base occupied against Cuba's will, where the US has interned 600 prisoners without charge for 18 months, who it now plans to try in secret and possibly execute - without even the legal rights afforded to Cuba's jailed oppositionists.

Which only goes to reinforce what has long been obvious: that US hostility to Cuba does not stem from the regime's human rights failings, but its social and political successes and the challenge its unyielding independence offers to other US and western satellite states. Saddled with a siege economy and a wartime political culture for more than 40 years, Cuba has achieved first world health and education standards in a third world country, its infant mortality and literacy rates now rivalling or outstripping those of the US, its class sizes a third smaller than in Britain - while next door, in the US-backed "democracy" of Haiti, half the population is unable to read and infant mortality is over 10 times higher. Those, too, are human rights, recognised by the UN declaration and European convention. Despite the catastrophic withdrawal of Soviet support more than a decade ago and the social damage wrought by dollarisation and mass tourism, Cuba has developed biotechnology and pharmaceutical industries acknowledged by the US to be the most advanced in Latin America. Meanwhile, it has sent 50,000 doctors to work for free in 93 third world countries (currently there are 1,000 working in Venezuela's slums) and given a free university education to 1,000 third world students a year. How much of that would survive a takeover by the Miami-backed opposition?

--Seumas Milne
Read the rest in Guardian Unlimited | Special reports | Seumas Milne: Why the US fears Cuba

Saturday, November 15, 2003

Swing apps are slow to build. Building a Swing GUI takes time because you have to do it programmatically. No GUI builder can do it reliably. While the extra day you spend writing layout code may not be much in the life of a six month project, it still matters. The GUI needs to go through many iterations, preferably as early in the project as possible. If it takes hours to make changes then the project probably will not slip behind due to the extra development time. Instead the extra iterations just won't be made, resulting in an inferior product.

Swing layout managers suck. GridBagLayout is particularly bad, though it's better than all the others. Layout is an inherently visual task that needs visual tools. I wouldn't layout a magazine with a text file, I'd use Quark. Why shouldn't I have a quality visual builder for my Swing app?

--Joshua Marinacci
Read the rest in Swing has failed. What can we do?

Friday, November 14, 2003

Microsoft is a large corporation that has fallen prey to the sort of dysfunctional world view that other large companies, like IBM, GM, LockheedMartin and others fall prey to as well; and this dysfunctional world view almost ensures that Microsoft will find an open standards approach to technology development threatening and abhorrent.

As Microsoft has come to dominate the market, their view of their business has changed from seeing themselves as meeting customers needs to viewing the marketplace as a consumer of their products. The corresponding change in corporate strategy is to stop changing the products to give the customers what they want but instead to start manipulating the market to be sure it consumes what they sell and only what they sell.

--Rod Davison on the xml-dev mailing list, Wednesday, 12 Nov 2003

Thursday, November 13, 2003
In terms of raw MFLOPS, the 2GHz G5 is about 32% faster than the 2GHz P4, 97% faster than the 1.25GHz G4, 142% faster than the 1GHz G4, and within 1 MFLOP of the 2.66GHz P4. A more useful comparison is obtained by looking at normalized benchmarks. Here, the G5 benchmarks at 0.127 MFLOPS/MHz, the two G4 machines benchmark at 0.103-0.105 MFLOPS/MHz, and the two P4 machines come in at 0.096 MFLOPS/MHz.

--Craig A. Hunter
Read the rest in NASA G5 Study: Part 1

Wednesday, November 12, 2003
Some development cultures use Singleton all over the place, but it's just a global variable. We used to know that global variables are bad, but that's somehow been lost. So, we could do this with a Singleton or we can rearrange things so we needn't use a Singleton -- and the code will be more valuable as a result.

--Kent Beck
Read the rest in Working smarter, not harder: An interview with Kent Beck

Tuesday, November 11, 2003

C# is nothing to sneeze at (precisely what I did when I first saw it, primarily based on Microsoft's past performance implementing the C++ standard, which was nothing short of abominable). C# is the best thing Microsoft has done in the language arena -- very well thought-out and architected. I'd have to say, strictly from a business standpoint, if I were creating a product that I was basing the company on, I would seriously consider writing it in C# (at least, when the next MS Windows looks more imminent, since in theory it will have the .NET runtime built in).

There's no question that C# is the first real competition Java has seen, and already Sun has started to respond to this. JDK 1.5 will have features that are clearly inspired directly from C#. At Java One they announce some kind of new desktop development system where they want to make the creation of GUI desktop apps easier than VB. Based on this response, I can say that C# will do nothing but good for Java.

--Bruce Eckel
Read the rest in Bruce Eckel's MindView, Inc: 7-02-03 Java vs. .NET

Monday, November 10, 2003

I'm interested in figuring out how we can build a Net that is a lot less prone to viruses and spam, and not just by putting in filters and setting up caches to test things before they get into your computer. That doesn't really solve anything. We need an evolutionary step of some sort, or we need to look at the problem in a different way.

I'm not convinced there's not something modest we can do that would make a big difference. You have to find a way to structure your systems in a safer way. Writing everything in Java will help, because stuff written in antique programming languages like C is full of holes. Those languages weren't designed for writing distributed programs to be used over a network. Yet that's what Microsoft still uses. But even Java doesn't prevent people from making stupid mistakes.

My own biggest mistake in the last 20 years was that sometimes I designed solutions for problems that people didn't yet know they had. That's why some of the things that could've made a difference couldn't find a market. When people get hit between the eyes with a two-by-four by these viruses, they know they have a problem. Still, the right time to address it would have been a while ago. The hardest part isn't inventing the solution but figuring out how to get people to adopt it.

--Bill Joy
Read the rest in Fortune.com - Technology - Joy After Sun

Sunday, November 9, 2003

If the ideas behind it are so familiar and simple, why has open source only now become such a powerful force? Two reasons: the rise of the Internet and the excesses of intellectual property. The Internet is open source's great enabler, the communications tool that makes massive decentralized projects possible. Intellectual property, on the other hand, is open source's nemesis: a legal regime that has become so stifling and restrictive that thousands of free-thinking programmers, scientists, designers, engineers, and scholars are desperate to find new ways to create.

We are at a convergent moment, when a philosophy, a strategy, and a technology have aligned to unleash great innovation. Open source is powerful because it's an alternative to the status quo, another way to produce things or solve problems. And in many cases, it's a better way. Better because current methods are not fast enough, not ambitious enough, or don't take advantage of our collective creative potential.

--Thomas Goetz
Read the rest in Wired 11.11: Open Source Everywhere

Saturday, November 8, 2003

These "data-mining" programs are not very effective. Identifiable future terrorists are rare, and innocents are common. No matter what patterns you're looking for, far more innocents will match the patterns than terrorists because innocents vastly outnumber terrorists. So many that you might as well not bother. And that assumes that you even can predict terrorist patterns. Sure, it's easy to create a pattern after the fact; if something identical to the 9/11 plot ever happens again, you can be sure we're ready. But tomorrow's attacks? That's much harder.

Even those who say that terrorists are likely to be Arab males have it wrong. Richard Reid, the shoe bomber, was British. Jose Padilla, arrested in Chicago in 2002 as a "dirty bomb" suspect, was a Hispanic-American. The Unabomber had once taught mathematics at Berkeley. Terrorists can be male or female, European, Asian, African or Middle Eastern. Even grandmothers can be tricked into carrying bombs on board. One problem with profiling is that, by singling out one group, it ignores the other groups. Terrorists are a surprisingly diverse group of people.

--Bruce Schneier
Read the rest in Newsday.com - Terror Profiles By Computers Are Ineffective

Friday, November 7, 2003
From the time I woke up in that hospital, no one beat me, no one slapped me, no one, nothing. I'm so thankful for those people, because that's why I'm alive today.

--Jessica Lynch
Read the rest in Jessica Lynch Criticizes U.S. Accounts of Her Ordeal

Thursday, November 6, 2003
So much of what we want to do is all tied up in somebody's intellectual property. It's a complete sclerotic mess, where nobody has any freedom of movement. Everything that open source has been fighting in software is exactly where we find ourselves now with biotechnology.

--Richard Jefferson
Read the rest in Wired 11.11: Open Source Everywhere

Wednesday, November 5, 2003
We've had the same good experience with Dell, but the trick seems to be to always buy through the small business division, not the consumer division. As editor of the WinXPNews, I get complaints from readers all the time about Dell's consumer tech support, which has been outsourced to India. However, the tech support we get, purchasing as a business, is always excellent.

--Deb Shinder on the cbp mailing list, Friday, 31 Oct 2003

Saturday, November 1, 2003
File sharing is a reality, and it would seem that the labels would do well to learn how to incorporate it into their business models somehow. Record companies suing 12-year-old girls for file sharing is kind of like horse-and-buggy operators suing Henry Ford.

--Moby
Read the rest in Artists blast record companies over lawsuits against downloaders

Friday, October 31, 2003

Here's the great disconnect between most technical users and the people who just want to use computers as a tool. Most people look at a PC the same way they look at a piece of stereo equipment or the TV - they plug it in, and they want it to just work. If there's any user interaction at all, they want it on - at most - the level of interaction they have with a ReplayTV or VCR. You simply cannot expect average users to deal with firewalls, security updates, etc. I know I've posted before that having Windows Update on by default would drive me nuts - but I think it's probably the right answer (so long as it could be disabled manually - most people wouldn't bother).

It's worse than that though. For way too many years now, Windows has been shipping with the defaults set to wide open. Maybe that was excusable through Windows 95 - but by Win 98, ME, and 2000? And XP? This is why there are so many zombies out there sending spam and viruses - because these systems have been shipped in what amounts to a broken state, and the unsurprising has happened - they've been compromised. In most cases, the infections won't clear until those systems are junked and replaced with new systems (presuming that the security defaults for those new systems are reasonable).

Next time one of your non-tech friends asks for system advice, suggest a Mac. You'll be doing the entire world a favor.

--James A. Robertson
Read the rest in Cincom Smalltalk Blog - Smalltalk with Rants: View

Thursday, October 30, 2003
Our society and our democracy is better served by open voting systems. The way to create a more secure system is to open the source code and to have as many people as possible try to break into the system and figure out all the holes. The clearest way to have an insecure system is to lock it up and show it to only a few people.

--Cindy Cohn, Electronic Frontier Foundation
Read the rest in Wired News: E-Vote Software Leaked Online

Wednesday, October 29, 2003

There's a price for this, and democracy pays it. Somewhere around here I've got a copy of a study The Project for Excellence in Journalism that examined the front pages of The New York Times and The Los Angeles Times, looked at the nightly news programs of ABC, CBS and NBC, read Time and Newsweek, and found that between 1977 and 1997 the number of stories about government dropped from one in three to one in five, while the number of stories about celebrities rose from one in every 50 stories to one in every 14. More recently the nightly newscasts gave four times the coverage to Arnold Schwarzenegger's campaign in California than to all gubernatorial campaigns in the country throughout 2002.

Does it matter? Well, governments can send us to war, pick our pockets, slap us in jail, run a highway through our back yard, look the other way as polluters do their dirty work, slip tax breaks and subsidies to the privileged at the expense of those who can't afford lawyers, lobbyists, or time to be vigilant. Right now, as we speak, House Republicans are trying to sneak into the energy bill a plan that would prohibit water pollution lawsuits against oil and chemical companies. Millions of consumers and their water utilities in 25 states will be forced to pay billions of dollars to remove the toxic gasoline additive MTBE from drinking water if the House gives the polluters what they want. I can't find this story in the mainstream press, only on niche websites. You see, it matters who's pulling the strings, and I don't know how we hold governments accountable if journalism doesn't tell us who that is.

On the other hand, remember during the invasion of Iraq a big radio-consulting firm sent out a memo to its client stations advising them on how to use the war to their best advantage -- they actually called it "a war manual." Stations were advised to "go for the emotion" -- broadcast patriotic music "that makes you cry, salute, get cold chills…." I'm not making this up. All of this mixture of propaganda and entertainment adds up to what? You get what James Squires, the long-time editor of the Chicago Tribune, calls "the death of journalism." We're getting so little coverage of the stories that matter to our lives and our democracy: government secrecy, the environment, health care, the state of working America, the hollowing out of the middle class, what it means to be poor in America. It's not that the censorship is overt. It's more that the national agenda is being hijacked. They're deciding what we know and talk about, and it's not often the truth behind the news.

--Bill Moyers
Read the rest in Bill Moyers is Insightful, Erudite, Impassioned, Brilliant and the Host of PBS' "NOW" - A BuzzFlash Interview

Tuesday, October 28, 2003
Amazing what folks will do for a t-shirt. We must have all witnessed the violence at trade shows... ( JavaOne tickets: $1400 Travel expenses: $2200 JavaOne James Gosling Edition T-Shirt three sizes too large: priceless).

--Kathy Sierra on the cbp mailing list, Saturday, 25 Oct 2003

Monday, October 27, 2003
It's very simple. Because the software is free, there is no pressure to release it before it is really ready just to achieve some sales target. Every version of Linux is declared to be finished only when it is actually finished, which explains why it is so solid. The other reason why free software is better is because the personal reputation of the developer is attached to every release. If you are making something to give away to the world, something that represents to millions of users your philosophy of computing, you will always make it the very best product you can make. That's the reason why Linux is a success.

--Linus Torvalds
Read the rest in PBS | I, Cringely . Archived Column

Sunday, October 26, 2003

I have an idea. Timothy McVeigh and John Allen Muhammad - one of the accused D.C. snipers - both served in the military. I think we need to put all U.S. ex-servicemen on a special watch list, because they obviously could be terrorists. I think we should flag them for "special screening" when they fly and think twice before allowing them to take scuba-diving lessons.

What do you think of my idea? I hope you're appalled, incensed and angry that I question the honesty and integrity of our military personnel based on the actions of just two people. That's exactly the right reaction. It's no different whether I suspect people based on military service, race, ethnicity, reading choices, scuba-diving ability or whether they're flying one way or round trip. It's profiling. It doesn't catch the few bad guys, and it causes undue hardship on the many good guys who are erroneously and repeatedly singled out. Security is always a trade-off, and in this case of "data mining" the trade-off is a lousy one.

--Bruce Schneier
Read the rest in Newsday.com - Terror Profiles By Computers Are Ineffective

Saturday, October 25, 2003

What's most annoying, though, is the Apple Attitude: Any problems with your Mac are Your Fault. Any perceived shortcomings are Your Bad Attitude that Needs Changing.

  • Flimsy power adapter? You bent it, so warranty won't cover it. (Apple Store staff person)
  • Tiny keys? If you must have larger keys, plug in an external keyboard! (Another Apple Store staff person)
  • No keyboard shortcuts? Install Emacs! (An Apple trade show rep). I actually did that. OS X renders its window decorations so beautifully!
  • Slow VM startup times compared to Linux? You must be wrong. (Another Apple trade show rep)
  • Swing flakiness? Maybe the early betas, but now OS X is the best platform for the Mac.(Yet another Apple trade show rep)

It looks as if Steve Jobs' reality distortion field is really working, at least inside Apple stores and show booths.

What do you get from the Mac that you can't get better on Linux? Java runs very nicely on Linux. It is fast and reliable. Just like with OS X, you can get a command shell, Eclipse and Emacs. And, most importantly, if you need to tweak something on Linux, there is a community of users that are generally helpful, instead of corporate drones telling you to change your attitude. There is just one thing that you give up: A piece of hardware that instantly tells everyone that you don't run Windows. Oh well...just get one of those tacky Penguin stickers at your next trade show and slap it on your laptop.

--Cay Horstmann
Read the rest in Is Apple's OS X The Best (or even A Good) Platform for Java Development?

Friday, October 24, 2003

Microsoft used to dismiss Linux as 1980s technology, which pretty much describes both Linux and Windows, it seems to me. Now they talk about "total cost of ownership" and find some way to make it look like using free software is more expensive in the long run than using software from Microsoft. Linux is certainly not free, but it is Microsoft's tech support that has been compared to the Psychic Friends Network, not Red Hat's or SuSE's. Just because Microsoft has a big support operation doesn't mean you'll actually get a solution to your problem.

--Robert X. Cringley
Read the rest in PBS | I, Cringely . Archived Column

Thursday, October 23, 2003

The reputation of the personal computer has taken a horrible hit this year. Viruses have made headlines week after week. Spam now exceeds 50 percent of all e-mail. Hackers and academics have uncovered one Windows security hole after another, turning Microsoft into a frantic little Dutch boy at the dike without enough fingers. If the computer industry were a celebrity, it would hire an image consultant.

Correction: The Windows computer industry would hire one. Macintosh fans, on the other hand, have watched the tribulations of the much larger Windows population with mixed feelings - sympathy, relief, even amusement - because their operating system, Mac OS X, is so far 100 percent virus-free. And because Mac OS X comes with less of its plumbing exposed to the Internet than Windows, hackers are a far more distant worry.

--David Pogue
Read the rest in Apple's Latest 0.1 Adds a Lot

Wednesday, October 22, 2003
Lawsuits on 12-year-old kids for downloading music, duping a mother into paying a $2,000 settlement for her kid?. Those scare tactics are pure Gestapo.

--Chuck D, Public Enemy
Read the rest in Artists blast record companies over lawsuits against downloaders

Tuesday, October 21, 2003

“Exceptions change the default behaviour on an error from being unpredictable, to being fail-fast”. If an exception occurs that you were not expecting or that your code was not set up to handle, the exception will cause the operation to fail immediately. It will fail without causing any further damage, and without moving the observed error any further from its root cause.

This is valuable. Failing fast is the only valid response to an unexpected error. There’s no way forward, because the system is no longer in a predictable state. There’s no way back, because without having anticipated the problem, you don’t have any way to fix it. So you just have to stop.

This is one reason that returning null from a method is generally a bad idea. null is usually a disguised error code. It means “you expected something to be here, but it really isn’t”. Worse, in Java a null is a time bomb, waiting to be dereferenced and blow up the code far from the original problem. If there being nothing to return is unexpected, consider throwing an exception. If it is expected, consider a null object refactoring, or changing the method to return an array or collection that can be empty.

--Charles Miller
Read the rest in The Fishbowl: Return to the Planet of the Exceptions

Monday, October 20, 2003
Silicon Valley is not America. It is not a mirror of the country. It is a very international place.

--Alex Vieux
Read the rest in An Optimist Aims to Revive Red Herring

Sunday, October 19, 2003

In a wider context, the debate is not so much about homosexuality as such, but authority within the church and about the Bible's place in Christian belief. Increasingly at present it is being used as a symbol of orthodoxy, wielded as a clinching argument about who is right and so deserves control of worship. With all this going on, it is perhaps not surprising therefore that there is much less engagement and debate about what the Bible actually says.

There are essentially six main passages, three in the Old Testament, three in the New, which deal with the issue - in itself possibly a sign that it was not a central preoccupation of the original authors, whose writings spanned several hundred years and accordingly different cultural norms. It has been rightly pointed out in the current argument that homosexuality is not the only human practice which is condemned and that others the Biblical writers thought were wicked have now been accepted. This leaves a question mark over what it is about homosexuality that is unchangeably bad when practices such as divorce, lending money, eating shellfish, wearing a mixture of fabrics, cross-breeding livestock and sowing mixed seed in fields have long since become acceptable and tolerated.

--Stephen Bates
Read the rest in Guardian Unlimited | Special reports | Mixed messages

Saturday, October 18, 2003
Java has been a technology success, a so-so branding effort, and a financial failure.

-- Steven Milunovich. Merrill Lynch
Read the rest in Merrill to Sun: 'Cut and Focus' or Be Acquired

Friday, October 17, 2003

As far as R&D in the company, one of the things that has kept our stock price down and has depressed our earnings is that we refuse to cut our R&D spending because we think there is a lot of innovation that has to take place to make this new model happen. We feel like at this point we are so far out in having pushed people into having to try to digest things that are disruptive from a software model point of view, that we have deliberately slowed down to let people catch up a little bit. We have a lot of other stuff coming up, and people just want to get their stuff to work. So there has been a deliberate pragmatism about that.

There's so much going on in the industry right now. I think the biggest piece of crap going around right now is that this is a mature industry and innovation doesn't matter.

--Greg Papadopoulos, Chief Technology Officer, Sun Microsystems
Read the rest in On the hot seat at Sun |CNET.com

Thursday, October 16, 2003

Open source embodies an ethos as fruitful and resilient as the closed capitalism Bill Gates represents: the spirit of democratic solutions to daunting problems. It's the creed of Emerson, who preached independent initiative and advocated a "creative economy." It's the philosophy of William James, whose pragmatism dictated that "ideals ought to aim at the transformation of reality." It's the science of Frederick Taylor, who proved that distributing work could exponentially boost productivity and replace "suspicious watchfulness" with "mutual confidence." It's the logic of Adam Smith, whose notion of "enlightened self-interest" among workers neatly presages the primary motivation for many open source collaborators.

Finding the roots of open source in Taylor and Smith is especially significant because the approach isn't, as some insist, anticommercial or anticorporate. Rather, it is a return to basic free-market principles. The open source process fosters competition, creativity, and enterprise. And just as Taylor and Smith provided the intellectual grounding for the revolution in mass production, open source offers the mechanism to mass innovation.

While the assembly line accelerated the pace of production, it also embedded workers more deeply into the corporate manufacturing machine. Indeed, that was the big innovation of the 20th-century factory: The machines, rather than the workers, drove production. With open source, the people are back in charge. Through distributed collaboration, a multitude of workers can tackle a problem, all at once. The speed is even greater - but so is the freedom. It's a cottage industry on Internet time.

Just as the assembly line served the manufacturing economy, open source serves a knowledge-based economy. Facilitating intellectual collaboration is open source's great advantage, but it also makes the method a threat. It's a direct challenge to old-school R&D: a closed system, where innovations are quickly patented and tightly guarded. And it's an explicit reaction to the intellectual property industry, that machine of proprietary creation and idea appropriation that grew up during the past century and out of control in the past 30 years - now often impeding the same efforts it was designed to protect.

--Thomas Goetz
Read the rest in Wired 11.11: Open Source Everywhere

Wednesday, October 15, 2003
Java has more implementations of specs you don't need, Perl has more implementations of things you need that aren't specs

--Robin Berjon on xml-dev mailing list, Wednesday, 15 Oct 2003

Tuesday, October 14, 2003
More interesting and less organized is the bootleg or pirated software scene. In much of Kuala Lumpur, everything you'd ever want is available for $1 a disc. Some elaborate discs cost around $3. The products you can get include Windows, Office XP, all the Adobe products, and more. The locals will tell you flat out that they cannot afford expensive software, and then they tend to go off on anti-Microsoft rants. I've thought about this and am totally convinced that the piracy is tolerated because it keeps users on the Microsoft teat even though the illegal copies generate no income for legitimate publishers. The approach is like fighting a forest fire with a backfire. In this case, the forest fire is Linux. As long as Southeast Asia and China can get Microsoft Office XP for $1, they are not about to switch to Linux anytime soon. Stop the bootlegging, and then economics alone will turn the whole area over to Linux in the blink of an eye.

--John Dvorak
Read the rest in New York Times: NYT HomePage

Monday, October 13, 2003
There are serious charges laid out in the case against Senior Airman Ahmad I. al-Halabi, the Air Force translator at the Guantanamo prison camp -- among them espionage, punishable by death. But the charge that stands out is unlawfully delivering baklava to detainees. Apparently, al-Halabi was being nice to these people. Apparently, he liked some of them. And this, in the eyes of military prosecutors, stands as damning evidence. Al-Halabi showed sympathy for the Devil.

--Ted Conover
Read the rest in Ministering to the Enemy

Sunday, October 12, 2003
I'm certainly more and more to the conclusion that Iraq has, as they maintained, destroyed all, almost, of what they had in the summer of 1991. The more time that has passed, the more I think it's unlikely that anything will be found.

--Hans Blix
Read the rest in Guardian Unlimited | Special reports | Iraq dumped WMDs years ago, says Blix

Saturday, October 11, 2003

Bottom line, thanks to the powerful tools (or should I say weapons) that Microsoft has built into their products, criminals now dominate the Internet. Common citizens don't feel safe anymore. They fear that their thousand dollar computer investment will be destroyed by these criminals, and due to the increasing unusability of the Internet, in many respects they already have been. I hate to say it, but maybe these terrorists have won.

In their full page ad, Microsoft provides three "simple" steps to protect your PC. I'd like to propose a different solution - a single step solution:

Either buy a Mac, or switch to Linux.

--Russ McGuire
Read the rest in WorldNetDaily: How Microsoft fuels Internet terrorism

Friday, October 10, 2003

One of the traditional things to screw up in C code is opening a data file to read. It's semi-traditional in the C world to not check the return code, because you just know the file is there, right? So you just open the file and you read it. But someday months from now when your program is in deployment, some system administrator reconfigures files, and the file ends up in the wrong place. Your program goes to open the file. It's not there, and the open call returns you an error code that you never check. You take this file descriptor and slap it into your file descriptor variable. The value happens to be -1, which isn't very useful as a file descriptor, but it's still an integer, right? So you're still happily calling reads. And as far as you can tell, the world is all rosy, except the data just isn't there.

Problems like that are really hard to test for. It is really hard to test the unlikely things, if only because the unlikely things never really occur to you. In this example, the programmer will think, "Well of course the file is there. Why would anybody not have the file there?"

A programming language can't solve all the problems. A language can't guarantee that no matter how screwed up the environment gets the program will survive. But anything the language can do to increase the probability that programs will be reasonably graceful under fire is a good thing. For example, just making people at least willfully ignore return codes helps. In Java you can ignore exceptions, but you have to willfully do it. You can't accidentally say, "I don't care." You have to explicitly say, "I don't care."

--James Gosling
Read the rest in Failure and Exceptions

Thursday, October 9, 2003

There are two schools of thought about virtual methods. The academic school of thought says, "Everything should be virtual, because I might want to override it someday." The pragmatic school of thought, which comes from building real applications that run in the real world, says, "We've got to be real careful about what we make virtual."

When we make something virtual in a platform, we're making an awful lot of promises about how it evolves in the future. For a non-virtual method, we promise that when you call this method, x and y will happen. When we publish a virtual method in an API, we not only promise that when you call this method, x and y will happen. We also promise that when you override this method, we will call it in this particular sequence with regard to these other ones and the state will be in this and that invariant.

Every time you say virtual in an API, you are creating a call back hook. As an OS or API framework designer, you've got to be real careful about that. You don't want users overriding and hooking at any arbitrary point in an API, because you cannot necessarily make those promises. And people may not fully understand the promises they are making when they make something virtual.

--Anders Hejlsberg
Read the rest in Versioning, Virtual, and Override

Wednesday, October 8, 2003

People still don't recognize the scope of what we have to do. You can't simply write a new, multimillion-line program in C and expect it to be reliable unless you're willing to work on it for 20 years. It takes such a long time because that language doesn't support the easy detection of the kinds of flaws most viruses exploit to bring down systems. Instead, you need to use a programming language with solid rules so that you can have the software equivalent of chemistry: the predictable interaction of code as it runs. But on the network, where part of the software works here and part of it works there, programs also behave in emergent ways that are more biological and difficult to predict. So until you have a science of doing distributed computing, software developers will continue to just throw stuff out there. That's why the Net is not going to be secure.

Also, distributed software systems have to be a lot simpler than they are now for us to have any hope of understanding even the mechanistic consequences, much less the nonlinear, biological consequences. You may not want to print this, but why have we been so fortunate that no one has done a Sobig virus that wipes your hard disk clean? It's just one more line of code. Just one line.

That said, I suspect some of these virus writers never expected their bugs to replicate quite the way they did. The fact that a virus goes hypercritical doesn't necessarily mean it was intended to. You could take a loop of code that is perfectly functional and add or delete a single character and unintentionally turn it into an exponential. Then again, perhaps they were just curious what would happen.

--Bill Joy
Read the rest in Fortune.com - Technology - Joy After Sun

Tuesday, October 7, 2003
I'm not sure how much I trust OptimizeIt (etc) anymore now that HotSpot has come along. It's great for finding possible problem areas but not very good at giving accurate timings - i.e. I take its findings with a large grain of salt. Doing further tests is the right way to go.

--Alex Rosen on the jdom-interest mailing list, Wednesday, 28 May 2003

Monday, October 6, 2003
Javalobby is the Java equivalent of the National Enquirer and should be taken as seriously as you would that fine publication.

--Rob Ross on the java-dev mailing list, Wednesday, 1 Oct 2003

Sunday, October 5, 2003
it's not realistic to say that we can just delete our spam. The volumes are way, way, too high for that. On my tiny network with only a few dozen users, I've gotten as much as 150,000 spams in a single day. I've been able to deal with it, but I have a lot more technical background than a typical system manager and the costs in my time and equipment upgrades are substantial. (I'm spending about $1000 to upgrade the server where the CBP list is hosted, entirely due to increases in spam.) I'm a little ahead of the spam curve, since I have a widely published address that hasn't changed in a decade, but as I've watched the spam increase since the mid 1990s everyone else has tracked up the curve behind us spam leaders, so if you're not getting 10 times as much spam as real mail this year, you will shortly.

--John R. Levine on the Computer Book Publishing mailing list, 30 Sep 2003

Saturday, October 4, 2003
Half the security problems in MS Windows are caused by MS Office attachments with MS VBA scripts that MS Outlook opens. When UNIX has 90% of the desktop market, it will all be different systems with different vulnerabilities, and the number of different mail agents is another order of magnitude higher. The worm that works on my FreeBSD on Intel can't get your Solaris on Sparc. There's value in diversity and multiculturalism, and it's the same for biological ecosystems, investment banking, human societies and computer software.

--K. Ari Krupnikov on the xml-dev mailing list, 01 Oct 2003

Friday, October 3, 2003

It seems the compromise in Java is marketing. They had to rush Java out to market. If they had taken a little more time and implemented design by contract, or even just assertions, or any number of other features, it would have been better for the programmer. If they had done design and code reviews, they would have found all sorts of silliness. And I suppose the way Java is marketed is probably what rubs me the wrong way about it. We can say, "Oh, but we don't like this feature," and the answer is, "Yes, but, marketing dictates that it be this way."

Maybe the compromises in C++ were for marketing reasons too. Although choosing to be efficient and backwards compatible with C was done to sell C++ to techies, it was still to sell it to somebody.

I feel Python was designed for the person who is actually doing the programming, to maximize their productivity. And that just makes me feel warm and fuzzy all over. I feel nobody is going to be telling me, "Oh yeah, you have to jump through all these hoops for one reason or another." When you have the experience of really being able to be as productive as possible, then you start to get pissed off at other languages. You think, "Gee, I've been wasting my time with these other languages."

--Bruce Eckel
Read the rest in Python and the Programmer

Thursday, October 2, 2003
President Bush and Tom DeLay put the interests of the energy companies before the interests of the American people by insisting we drill in A.N.W.R. and other environmentally sensitive areas rather than modernize our energy system.

--Nancy Pelosi
Read the rest in After 2 Years, Energy Bill Is Getting New Urgency in Congress

Wednesday, October 1, 2003
Jayson Blair plagiarized and fabricated, and that's awful. Nobody can deny that. But there are other stories in which other journalistic sins are more serious. Take the business media during the whole bubble. They subjected few of these analysts and spokesmen and CEOs to any sort of scrutiny and were more cheerleaders than investigative journalists -- or even impartial journalists. That journalistic sin, if you want to use that term, had a greater consequence than Blair's.

--John Allen Paulos
Read the rest in Mercury News | 06/08/2003 | Math professor learned lesson from losing on WorldCom

Tuesday, September 30, 2003

Moving technical groups to India is compelling for many reasons. There seems to be a limitless supply of good engineers in India, which will save lots of money in the short term. And those Indian workers will save lots of money in the long term, too, because they are generally younger to start with and their health and retirement benefits cost far less (if anything) compared to the benefits received by the U.S. workers being displaced.

If a U.S. employer said out loud, "Gosh, we have a lot of 50-something engineers who are going to kill us with their retirement benefits so we'd better get rid of a few thousand," they would be violating a long list of labor and civil rights laws. But if they say, "Our cost of doing business in the U.S. is too high, so we'll be moving a few thousand jobs to India," that's just fine -- even though it means exactly the same thing.

--Robert X. Cringely
Read the rest in I, Cringely | The Pulpit

Monday, September 29, 2003
You have to design it so that bad things don't happen when programmers make mistakes

--Bill Joy
Read the rest in To Fix Software Flaws, Microsoft Invites Attack

Sunday, September 28, 2003
Those who believe in the supernatural in any form should not be trusted to make life-and-death decisions about other people's lives. When I'm standing there as the accused, I want you -- an atheist -- in that jury box, not someone whose world is populated with capricious, vengeful, imaginary beings.

--Teller
Read the rest in Showtime - Penn & Teller: Bullshit! - community

Saturday, September 27, 2003

The drug for the industry has been this binary software lock. That's really the root of it. I attract someone to my particular binding of an operating system and microprocessor. It happened in the past because people write at the source code level but deliver applications out to customers as a binary, so all of the verification was in the binary. And once I've got your binary, I've gotcha.

If you look at the new expression in software, you write to an application server or a Web server or a database. There's no binary lock. If I deliver directory services or JavaBeans or server pages, it doesn't say SPARC or x86, and it doesn't say Solaris or Linux. None of those APIs are exposed either. It's just the set of contracts that say this is what a server page looks like, this is what a directory entry look like. And this is huge. I don't think the industry has caught up with the fact that this fundamentally means that vendors don't get to lock people into your binary cycle the way that you used to. I think Sun is ahead of the curve in realizing that.

--Greg Papadopoulos, Chief Technology Officer, Sun Microsystems
Read the rest in On the hot seat at Sun |CNET.com

Friday, September 26, 2003

In the software industry we're always saying things like, "scheduling software is inherently difficult because it has never been written before, so it's science. It's not like the building industry, where everyone involved has done the same thing 100 times before and it's possible to make good reliable schedules. The software industry needs to become more like the mature trades with predictable schedules and budgets."

Well, what I've learned from my first large construction project is that this is hogwash. The building industry doesn't know how to do anything on schedule or on budget, either.

--Joel Spolsky
Read the rest in Joel on Software

Thursday, September 25, 2003
I'm very happy to see this report, and I think it validates our work. But my concern remains that Maryland, instead of responding with a sense of urgency, seems to be looking for ways to move ahead with Diebold despite this report. The Maryland plan of action is seriously out of whack with the SAIC risk assessment. This is a system with serious problems. I would expect them to suspend plans to use the Diebold machines until SAIC releases a report that says the system is safe to use.

--Avi Rubin, Johns Hopkins University
Read the rest in Wired News: Maryland: E-Voting Passes Muster

Wednesday, September 24, 2003
Java is the SUV of programming tools. A project done in Java will cost 5 times as much, take twice as long, and be harder to maintain than a project done in a scripting language such as PHP or Perl. People who are serious about getting the job done on time and under budget will use tools such as Visual Basic (controlled all the machines that decoded the human genome). But the programmers and managers using Java will feel good about themselves because they are using a tool that, in theory, has a lot of power for handling problems of tremendous complexity. Just like the suburbanite who drives his SUV to the 7-11 on a paved road but feels good because in theory he could climb a 45-degree dirt slope. If a programmer is attacking a truly difficult problem he or she will generally have to use a language with systems programming and dynamic type extension capability, such as Lisp. This corresponds to the situation in which my friend, the proud owner of an original-style Hummer, got stuck in the sand on his first off-road excursion; an SUV can't handle a true off-road adventure for which a tracked vehicle is required.

--Philip Greenspun
Read the rest in Philip Greenspun's Weblog:

Tuesday, September 23, 2003
making it work is the first priority - efficiency can come later. ever experienced a project fail because everyone's worried about efficiency, speed, user interface, etc but forgotten about making it work?

--Rick Marshall on the xml-dev mailing list, Sunday, 21 Sep 2003

Monday, September 22, 2003
Official certification is just marketing BS. Passing the certification test doesn't mean the server actually supports the spec. The tests are simply too simplistic. JBoss routinely catches flaws in the other servers we use. Whether JBoss get certified is purely political. The BEAs and IBMs don't want to cheapen the certification by allowing a free offering to get certified without paying big bucks for the privilege. Jonas isn't certified either and won't be unless the Objectweb or someone else puts up $100K or more for the certification process. The JBoss Group has decided the certification is a marketing label they don't need. Since JBoss has 2 million download last year and 1.5+ million so far this year, I tend to agree.

--Victor Langelo on the java-dev mailing list, Thursday, 26 Jun 2003

Sunday, September 21, 2003
When I go into the field, I have a copy of the Koran and next to it a copy of the U.S. Constitution.

--Captain James. J. Yee
Read the rest in Military confirms Muslim chaplain had secret papers - The Washington Times: Nation/Politics

Saturday, September 20, 2003
For the most part, Snow Crash turned out to be a failed prediction. People have shown limited interest in immersive 3-D technology, so I think it worked better as a novel than as a prognostication. But it provided a reasonable, coherent picture of a particular kind of entertainment technology. That sort of vision is valuable to engineers. Because of the way institutions work, an engineer ends up working on one part of a system but doesn't get to stand back and see the big picture. When engineering types speak highly of some science fiction writer, usually it's not because that person predicted the future. Rather, it's because he or she put together disparate ideas into a coherent vision that could be used as a road map by the people who are actually deploying such a technology.

--Neal Stephenson
Read the rest in Wired 11.09: Neal Stephenson Rewrites History

Friday, September 19, 2003

My partner and I were looking at some generated code the other day trying to figure out what it did. A super class required knowledge of the subclass being used. I said that I bet they're using reflection to go down the call stack to figure out which class is calling this. Instead, in the generated code they could have just put the class name. Now it's very clever to use the Java Security Manager to do all this, but it cost us half an hour instead of doing something blindingly simple like putting the name of the class right there.

So, simplicity is about acknowledging the tricks exist but not using them. Wouldn't it be cool if we could use the Java Security Manager here? Yeah we could, but let's just put the name of the class. I used to feel proud of myself when I used something no one else knew about. Now I'm disappointed -- I apologize when I can't think of a simpler way.

--Kent Beck
Read the rest in Working smarter, not harder: An interview with Kent Beck

Thursday, September 18, 2003
JetBlue has assaulted the privacy of 5 million of its customers. Anyone who flew JetBlue before September 2002 should be aware and very scared that there is a dossier on them.

--Bill Scannell
Read the rest in Wired News: JetBlue Shared Passenger Data

Wednesday, September 17, 2003

The cost of flexibility is complexity. Every time you put extra stuff into your code to make it more flexible, you are usually adding more complexity. If your guess about the flexibility needs of your software is correct, then you are ahead of the game. You've gained. But if you get it wrong, you've only added complexity that makes it more difficult to change your software. You're obviously not getting the payback.

It's not hard to guess wrong about flexibility needs. You can guess wrong if requirements change. What you think is a requirement for flexibility now may go away or change in the future. You can also guess wrong if you put extra code into the program to improve flexibility but you don't get it quite right. You get more complexity without getting the flexibility you were after.

The alternative is to use the XP approach and not put the flexibility in at all. XP says, since most of the time we get it wrong, just don't put the flexibility in there. Now if you can't evolve your design safely, then that is a foolish route to take. But if you can evolve your design safely, it becomes quite a nice approach. In fact it becomes a self-reinforcing approach. If you strive to keep your design as simple as possible by avoiding speculative flexibility, then it's easier to change the code because you have less complication to deal with. The code is easier to understand and easier to change. As a result, you can make changes much more quickly.

--Martin Fowler
Read the rest in Flexibility and Complexity

Tuesday, September 16, 2003
One of the design principles behind Java is that I don't care much about how long it takes to slap together something that kinda works. The real measure is how long it takes to write something solid. Lots have studies have been done on developer productivity, and Java beats C and C++ by a factor of 2.

--James Gosling on the java-dev mailing list, Thursday, 31 Jul 2003

Monday, September 15, 2003

One of the problems with making security tradeoffs is that there are many overlapping security concerns. The Patriot Act has given the government and police unprecedented powers. Many of these powers are Draconian and fly directly in the face of a free society.

Of course, if you assume that the government and the police are 100% benevolent and good, there's no reason not to give them ultimate power. But history shows, in this country and abroad, both that power corrupts and that even an honest organization invariably includes a dishonest few.

It's the very freedom and openness and rule of law that has made the U.S. such a safe place to live, and it's a bad tradeoff to give some of that up for a tiny bit of increased security. If the Patriot Act made us considerably more secure, it might be a good tradeoff. But we're giving up a lot -- and not getting very much in return.

I spend a lot of time on this concept in my book: It's not only whether a security countermeasure is effective, it's whether it's worth it. It makes no sense to buy a $10 lock to protect a $1 rock, even if that $10 lock provides effective security.

--Bruce Schneier
Read the rest in BW Online | September 2, 2003 | "We've Made Bad Security Tradeoffs"

Sunday, September 14, 2003
Most people in the developing world live in the rural sector, which is why free and fair trade in agriculture matters. It's not just a question of providing access, but of eliminating the subsidies that encourage production in rich countries and harm farmers in poor countries. The numbers are alarming: subsidies in advanced countries exceed the total income of sub-Saharan Africa; the average European subsidy per cow matches the $2 per day poverty level on which billions of people barely subsist; America's $4bn cotton subsidies to 25,000 well-off farmers bring misery to 10 million African farmers and more than offset the US's miserly aid to some of the affected countries. Although both Europe and America accuse each other of unfair agricultural policies, neither side seems willing to make major concessions.

--Joseph Stiglitz
Read the rest in Guardian Unlimited | Special reports | Joseph Stiglitz: the Cancun WTO talks

Saturday, September 13, 2003
I'm just bewildered that Dell corporate policy is that users need to lie to use their new laptops, and to agree to legal agreements that it's completely impossible to have read. This is the next level above "click-through" licenses. Now, they figure no one reads the EULAs anyway, so why bother even providing a copy?

--Ian Goldberg
Read the rest in Dell's Software License Policy: Dude, you're getting screwed.

Friday, September 12, 2003
Diseases are not neglected for lack of patients, but for a lack of markets. Malaria has a thicket of patients but no market, because the victims are mostly poor. Thus 90 percent of the world's disease burden receives 10 percent of the research effort. Commercial incentives offer no way of redressing this; global funds from governments and charities are necessary to do so.

--John Sulston
Read the rest in Wired 11.06: View

Thursday, September 11, 2003
I'll put in a vote for jEdit (www.jedit.org). It's quite different from the other IDEs, because it *isn't* an IDE. It is, first and foremost, a really excellent text editor. It's fast. It's easy to use. It has lots of advanced features built in, like templates, word completion, and a tightly integrated macro language. It's amazingly configurable, so you can make it work exactly the way you want it to.

--Peter Eastman on the java-dev mailing list, Friday, 9 May 2003

Wednesday, September 10, 2003
The first really heavy geek I saw with a Mac was Rohit Khare. After I'd taken the leap, I discovered that Tim Berners-Lee, James Gosling, Roy Fielding, Tim O'Reilly, and a lot of RHGs from the Open Source and Web Technology worlds were already in OS X-land. I'm not sure this means that Macs Are The Future, or that I Will Score With Hot Babes, but still it's nice to be in good company.

--Tim Bray
Read the rest in ongoing - iYear

Sunday, September 7, 2003

Long ago, before Java, there was C. I developed a really nice application based on Informix (when it was barely a relational database) for a customer. When running the application (under DOS :<), it would randomly crash!!! My customer was not happy.

The problem, a memory allocation bug, took weeks to track down and was in the Informix code itself. Well, I turned the assembly code into nice C code -- it was a very short module that had the bug, fixed the bug, compiled it, removed the offending module from the library and added in my fixed module. Everything worked great after that!!

My next step as a good member of society was to send all the details to Informix, Inc. I expected, perhaps, a thank you. I had found and documented and fixed a very significant bug that was very difficult to track down. Instead, I got a notice that I was in violation of their license, which prohibited decompiling. If asked, I recommended against using Informix after that.

--Harry Keller on the java-dev mailing list, Tuesday, 2 Sep 2003

Friday, September 5, 2003
This is another buffer overflow bug. (Somebody remind me. Didn't Microsoft perform a month-long security lockdown and code review, specifically aimed at buffer overflows and other common security holes, about a year ago? Hundreds of millions of dollars, if memory serves. Hmmmmm...)

--Woody Leonhard on the Woody's OFFICE Watch mailing list, Thursday, 04 Sep 2003

Thursday, September 4, 2003
If you haven't used regular expressions before, they do look a bit cryptic, but they're amazingly powerful. This is one new API that's definitely worth learning. StringTokenizer is pretty much obsolete at this point.

--Joshua Bloch
Read the rest in Java Puzzlers

Wednesday, September 3, 2003

Technology companies often have weak or nonexistent warranties for their products. As a consumer or even a large business entity, we have little recourse (except to vote with our wallets next time around). I'd like to see an insurance service developed in which businesses and consumers could buy defect insurance as an optional part of the technology purchase price.

When a product is discovered to be defective (including software), the insurance would pay for somebody to fix the problem or replace the defective product. It wouldn't take long for the insurance companies to figure out which companies make good products and which ones don't. In turn, this would drive the price of insurance either higher or lower, based on real data.

Right now, almost 100 percent of the economic loss that occurs because of bad software products is borne by the purchaser, not the technology company. A change in this situation would drive some real metrics into the process and finally force the technology industry to come to grips with an important issue--quality.

--Tony Scott
Read the rest in Laments of an IT buyer | CNET News.com

Tuesday, September 2, 2003
There's a reason this kind of thing doesn't happen with automobiles. When Firestone produces a tire with a systemic flaw, they're liable. When Microsoft produces an operating system with two systemic flaws per week, they're not liable

--Bruce Schneier, chief technical officer at Counterpane Internet Security
Read the rest in Digital Vandalism Spurs a Call for Oversight

Monday, September 1, 2003

This country still allows open discourse--though less everyday--and we who disagree should push the discussion and expose those who drive our policies. It is getting more difficult to get fair and balanced discussion on the issues, because it has become routine for the hegemons to label those who object to preemptive war and domestic surveillance as traitors, unpatriotic and un-American. The uniformity of support for our current foreign policy by major and cable-news networks should concern every American. We should all be thankful for CSPAN and the internet.

--U.S. Representative Ron Paul, Republican, Texas
Read the rest in Neo-CONNED!

Sunday, August 31, 2003

When you install a linux distribution, the kernel and associated libraries are a couple of percentage points of the code. The FSF utilities ditto. No one contributing team or organization is more than about 5%.

This is why I find Richard Stallman's insistence on calling it Gnu/Linux--to the point of harassing speakers at conferences who won't use his term--to be so offensive. If it's not Linux (a convenience term with historical meaning), it ought to be ATT-Berkeley-GNU-MIT-Digital-SGI-HP-Sun-Apache-...-Linux or some such other idiocy. If you had to shorten it to only two names, like law or accounting firms do after many mergers, I'd say it ought to be called BSD-Linux, since BSD has pride of place over GNU in its proximate origins.

--Tim O'Reilly on the cpb mailing list, Monday, 25 Aug 2003

Saturday, August 30, 2003
If we walk down the path of 100 percent computerized, paperless voting, we surrender the "keys to the kingdom" to a handful of private companies who use proprietary software to run elections.

--Kim Alexander, president of the California Voter Foundation
Read the rest in Wired News: No Consensus on Voting Machines

Friday, August 29, 2003
This past week, everyday when I opened my Wall Street Journal, I was met with a full page ad from Microsoft. This ad was dominated by three simple words "Protect your PC." This strikes me as something akin to the Saudi government running ads in the New York Times in mid-September of 2001 saying "Protect your Tall Buildings."

--Russ McGuire
Read the rest in WorldNetDaily: How Microsoft fuels Internet terrorism

Thursday, August 28, 2003
It's the same damn thing. They didn't learn a thing. We had nine O-rings fail, and they flew. These guys had seven pieces of foam hit, and it still flew.

--General Donald Kutyna
Read the rest in Inertia and Indecision at NASA

Wednesday, August 27, 2003

If you ask beginning programmers to write a calendar control, they often think to themselves, "Oh, I'm going to write the world's best calendar control! It's going to be polymorphic with respect to the kind of calendar. It will have displayers, and mungers, and this, that, and the other." They need to ship a calendar application in two months. They put all this infrastructure into place in the control, and then spend two days writing a crappy calendar application on top of it. They'll think, "In the next version of the application, I'm going to do so much more."

Once they start thinking about how they're actually going to implement all of these other concretizations of their abstract design, however, it turns out that their design is completely wrong. And now they've painted themself into a corner, and they have to throw the whole thing out. I have seen that over and over. I'm a strong believer in being minimalistic. Unless you actually are going to solve the general problem, don't try and put in place a framework for solving a specific one, because you don't know what that framework should look like.

--Anders Hejlsberg
Read the rest in The Trouble with Checked Exceptions

Tuesday, August 26, 2003
Some of us olde fartes remember that for the first two decades of the computer era, open source software was the only kind there was. When ADR started selling Autoflow in the early 1960s, the idea of charging for packaged software was quite peculiar. Until John Banzhaf persuaded the copyright office to register a program of his in 1964, the presumption was that software was neither copyrightable nor patentable. Nonetheless, some rather impressive software got written.

--John R. Levine on the cbp mailing list, 18 Aug 2003

Monday, August 25, 2003

Between the Blaster worm and the Sobig virus, it's been a long two weeks for Windows users. But nobody with a Mac or a Linux PC has had to lose a moment of sleep over these outbreaks -- just like in earlier "malware" epidemics.

This is not a coincidence.

The usual theory has been that Windows gets all the attacks because almost everybody uses it. But millions of people