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 do use Mac OS X and Linux, a sufficiently big market for plenty of legitimate software developers -- so why do the authors of viruses and worms rarely take aim at either system?

Even if that changed, Windows would still be an easier target. In its default setup, Windows XP on the Internet amounts to a car parked in a bad part of town, with the doors unlocked, the key in the ignition and a Post-It note on the dashboard saying, "Please don't steal this."

--Rob Pegoraro
Read the rest in Microsoft Windows: Insecure by Design (TechNews.com)

Sunday, August 24, 2003
I always wanted to buy a TiVo, but I thought it would be pretty cool to build my own. Trouble is, I definitely don't watch as much TV as I did before I started this project. It's more fun to work on it than it is to watch TV.

-- Isaac Richards, MythTV
Read the rest in Wired News: Building a TiVo, a Step at a Time

Saturday, August 23, 2003

I became an open-source guy because we're a privately owned company, a family business that's been around for 30 years, making products and being a good member of society. We've never been sued, never had any problems paying our bills. And one day I got a call that there were armed marshals at my door talking about software license compliance...I thought I was OK; I buy computers with licensed software. But my lawyer told me it could be pretty bad.

The BSA had a program back then called "Nail Your Boss," where they encouraged disgruntled employees to report on their company...and that's what happened to us. Anyways, they basically shut us down...We were out of compliance I figure by about 8 percent (out of 72 desktops).

--Sterling Ball
Read the rest in Tech News - CNET.com

Friday, August 22, 2003
They are smoking crack. Their slides said there are 800,000 lines of SMP code that are "infringing," and they are just off their rocker. The SMP code was written by a number of Linux people I know well (I did a lot of the SMP IRQ scalability myself, personally), so their claims are just ludicrous. And they claim they own JFS too. Whee. They're not shy about claiming ownership of other people's code—while at the same time beating their breasts about how they have been wronged. So the SCO people seem to have a few problems keeping the truth straight, but if there is something they know all about, it's hypocrisy.

--Linus Torvalds
Read the rest in Torvalds Slams SCO

Thursday, August 21, 2003
Most of the ISPs are good to their word and are fighting it very, very hard, but as you get into the larger ISPs, especially those that are in any form of financial difficulty, the engineers, abuse staff and technicians all want the spammers off the network, but you have the sales staff looking at the money. … The engineers will be fighting internally with the sales managers, but of course the sales managers always win.

--Steve Linford, Spamhaus
Read the rest in Who profits from spam? Surprise

Wednesday, August 20, 2003
Microsoft's sloppy code and arrogance is coming home to roost. Anyone that remembers Service Pack 6 will never let MS perform automatic updates on a system. SP6 was released and it promptly blew away thousands of servers, and there was not any recovery method other than a reinstall. Which is why Service Pack 6 now is SP6A.

--Mike Sweeney
Read the rest in Wired News: Geeks Grapple With Virus Invasion

Tuesday, August 19, 2003
Let's show the American people that we can solve the problem that they saw last Thursday.. They should break off the electricity issues from the other very controversial portions of the energy bill that could take months to resolve

--Representative Edward J. Markey, Democrat of Massachusetts
Read the rest in Passage Unlikely for Separate Bill on Electrical Grid

Monday, August 18, 2003

In the search for the source of Thursday's blackout, the underlying cause has been all but ignored: deregulation. In principle, deregulation of the power industry was supposed to use the discipline of free markets to generate just the right amount of electricity at the right price. But electric power, it turns out, is not like ordinary commodities.

Electricity can't be stored in large quantities, and the system needs a lot of spare generating and transmission capacity for periods of peak demand like hot days in August. The power system also requires a great deal of planning and coordination, and it needs incentives for somebody to maintain and upgrade transmission lines.

Deregulation has failed on all these grounds. Yet it has few critics. Evidently, even calamities like the Enron scandal and now the most serious blackout in American history are not enough to shake faith in the theory.

--Robert Kuttner
Read the rest in An Industry Trapped by a Theory

Sunday, August 17, 2003
This event underscores the need to reduce the overload on the system, and there are other ways to do it besides building new transmission capacity. There are elegant ways of doing it, such as electronic controls that allow the system to carry more power safely, or increasing standards for efficiency of air conditioners, which consume a third of the peak demand. The challenge is picking the best solution.

--Ralph Cavanagh, Natural Resources Defense Council
Read the rest in Warnings Long Ignored on Aging Electric System

Saturday, August 16, 2003
What's lacking in this deregulated world is someone to take responsibility. No one is responsible for beefing up the system or building power plants. We're talking about the lifeblood of our economy, and there has to be a sense of legal responsibility for keeping the lights on, and that's what we lost with deregulation.

--David Freeman, chairman of the California Power Authority
Read the rest in Which Party Gets the Blame? They Agree: It's the Other One

Friday, August 15, 2003
It's hard to decide what's more pathetic: scripting an electronic ballot stuffer for a trivial on-line poll of tech-CEO popularity, or creating a trivial on-line poll that begs to be abused.

--Thomas C Greene
Read the rest in The Register

Thursday, August 14, 2003
When a company says its web site "doesn't support the Mac", it means that the site uses JavaScript and the developers don't want to bother testing the scripts on a Mac. (JavaScript is notorious for having incompatibilities between browsers and even between multiple versions of the same browser.) Many web sites use far more JavaScript than is necessary which makes testing the site on multiple browsers unnecessarily difficult. So when a company says "our web site doesn't support the Mac", they mean "our company doesn't understand how to write software correctly". Unfortunately, nothing will change until the people paying for the web sites' development understand this.

--Erik Hanson
Read the rest in MacInTouch Home Page: Apple/Macintosh news, information and analysis

Wednesday, August 13, 2003
It seems the nation's election officials aren't open to input from anyone but the industries that are wining and dining them to buy their equipment.

--Rebecca Mercuri, Bryn Mawr College
Read the rest in DenverPost.com - Politics

Tuesday, August 12, 2003
C is perhaps the best balance of expressiveness and efficiency that has ever been seen in programming languages. At the time it was developed, efficiency mattered a great deal: machines were slow and had small memories, so one had to get close to the efficiency of assembler. C did this for system programming tasks--writing compilers, operating systems and tools. It was so close to the machine that you could see what the code would be (and it wasn't hard to write a good compiler), but it still was safely above the instruction level and a good enough match to all machines that one didn't think about specific tricks for specific machines. Once C came along, there no longer was any reason for any normal programmer to use assembly language. It's still my favorite language; if I were marooned on a desert island with only one compiler, it would have to be for C.

--Brian Kernighan
Read the rest in Interview with Brian Kernighan

Monday, August 11, 2003

The typical CALEA installation on a Siemens ESWD or a Lucent 5E or a Nortel DMS 500 runs on a Sun workstation sitting in the machine room down at the phone company. The workstation is password protected, but it typically doesn't run Secure Solaris. It often does not lie behind a firewall. Heck, it usually doesn't even lie behind a door. It has a direct connection to the Internet because, believe it or not, that is how the wiretap data is collected and transmitted. And by just about any measure, that workstation doesn't meet federal standards for evidence integrity.

And it can be hacked.

And it has been.

Israeli companies, spies, and gangsters have hacked CALEA for fun and profit, as have the Russians and probably others, too. They have used our own system of electronic wiretaps to wiretap US, because you see that's the problem: CALEA works for anyone who knows how to run it. Not all smart programmers are Americans or wear white hats. We should know that by now. CALEA has probably given up as much information as it has gathered. Part of this is attributable to poor design and execution, part to pure laziness, part to the impossibility of keeping such a complex yet accessible system totally secure, and part because hey, they're cops, they're good guys. Give 'em a break. Have a donut.

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

Sunday, August 10, 2003

I designed Java so I could write more code in less time and have it be way more reliable. In the past I've wasted huge numbers of hours chasing down memory smashes and all the other time wasters that are so typical of what happens when writing C code. I wanted to spend time writing code, not debugging. Life is too short for debugging. All of those little "limitations" turn out to be things that make coding faster and debugging vanish.

For example, lots of newbie's coming in from the C world complain about exceptions and the fact that they have to put exception handling all over the place - they want to just write their code. But that's stupid: most C code never checks return codes and so it tends to be very fragile. If you want to build something really robust, you need to pay attention to things that can go wrong and most folks don't in the C world because it's just to damn hard.

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

Saturday, August 9, 2003
I don't feel I have that much of a different computer than I had 10 years ago. I was teaching classes, the Internet was coming in. We were doing video editing. It was expensive back then. Five years ago, I did exactly what I do now. I don't feel that how you live life is changing that greatly. OK, now instead of storing something on CDs, I store it on DVDs.

--Steve Wozniak
Read the rest in sunspot.net - plugged in

Tuesday, August 5, 2003
the tendency of hotels and car-rental companies to disguise or omit mandatory additional charges, which boost the real price, is more than annoying. It's deceptive.

--Dan Gillmor
Read the rest in Words of experience on the new world of travel

Friday, July 25, 2003
If your Java code eats XML, consider XOM as your very own shark

--Rogers Cadenhead
Read the rest in Linux Magazine | March 2003 | FEATURES | Java XOM: XML Made Simpler

Thursday, July 24, 2003
The really hard thing for big companies is to listen. Microsoft has been spectacularly bad at this; it's only now beginning to sink in over at the Windows group that all system management activities, yes all of them, have to be scriptable or they're just not usable in enterprise server deployments. Unix geeks have been saying this for years, and if Windows had been fully scriptable five years or so ago, I bet they'd have at least twice the server market share, relative to Linux, that they do now. Now it's probably too late for Redmond to win it back, because they'd need to be a lot better than the server-side competition, and they're just not.

--Tim Bray
Read the rest in ongoing - iYear

Wednesday, July 23, 2003
Sun Microsystems is becoming a little like the Red Queen from Alice in Wonderland -- running as fast as it can just to stand still.

--Dean Takahashi
Read the rest in Mercury News | 07/23/2003 | Sun breaks even for quarter

Tuesday, July 22, 2003
What's striking about the Munich deal is the use of Linux on the desktop. It's a threat to Microsoft's real source of strength, the desktop, where it has no competition and is used to winning all sorts of battles

--Paul DeGroot, Directions
Read the rest in Linux took on Microsoft, and won big in Munich Victory could be a huge step in climb by up-and-comer

Monday, July 21, 2003
Floating point arithmetic is tricky. Floating point numbers aren't the same as the real numbers that you learned about in school. Be very careful when you're working with floating point, and never use it when integer arithmetic will do.

--Joshua Bloch
Read the rest in Java Puzzlers

Sunday, July 20, 2003

I will never understand why marketing people haven't learned how to talk to geeks after the decades since computer conferences have been going on. Scripted pseudo-conversations, for example, really don't work -- they're just inane. The fact that they're pre-scripted makes them inane. There's just no way around it. It's not like the two Sun engineers showing off Rave were making this demo up.

Is a Web Service possibly available on the entire World Wide Web? Thanks for saying so, I wasn't sure! She wanted three components? Which ones? Wow, what a surprise! She would like to add a column to the database, can he do that? Why, yes he can! Would adding some buttons be good? Why yes, she thinks so!

--Ken Arnold
Read the rest in Continuing to wait for Gosling...

Saturday, July 19, 2003
this whole P2P explosion began the moment one decent online trading site - Napster - opened its doors. Had the labels been pouring money into technology research and development instead of developing complicated CD packaging and promoting shill artists then they might have stood a fighting chance in this war. Instead, the pigopolist mob was caught with its pants down and is now trying to play catch-up in the courts.

--Ashlee Vance
Read the rest in The Register

Friday, July 18, 2003

The EFF's position on spam filters is: "Any measure for stopping spam must ensure that all non-spam messages reach their intended recipients." It's a laudable goal, but one that's very difficult to implement in practice. Newsletters like Crypto-Gram are problematic. I know that everyone who gets my newsletter has subscribed, but how does any filter know that? I send 80,000 of these out every month; the only difference between me and a spammer is that my recipients asked to receive this e-mail. But I'm sure that some of my recipients don't remember subscribing. To them, Crypto-Gram is unsolicited e-mail: spam.

Despite my personal difficulties with sending out Crypto-Gram, I have a lot of sympathy for spam filters. There's a lot of "throwing the baby out with the bathwater" going on, but the bathwater is so foul that many companies don't mind the occasional loss of baby. The spam problem is so bad that draconian solutions are the only workable ones right now.

--Bruce Schneier
Read the rest in Counterpane: Crypto-Gram: July 15, 2003

Thursday, July 17, 2003
Mozilla has consistently offered users the features, performance and innovation instrumental to the evolution of the Internet. Sun is committed to the Mozilla technology and is contributing significant engineering resources to move it forward. By the end of July, Sun will ship Mozilla for the Solaris Operating System and make Mozilla the standard browser for Mad Hatter, Sun's Linux-based desktop software stack, due later this year.

--Curtis Sasaki, Vice President, Engineering, Desktop Solutions, Sun Microsystems
Read the rest in Mozilla Foundation Announcement

Wednesday, July 16, 2003
this is point which newpaper reporters do not understand. Why do most home users of IBM style peecess run a Microsoft OS? There is only one reason: The computer they bought from Dell comes with a Microsoft OS installed, and there is no other OS installed. This is easy to demonstrate: Imagine the computer came with a Debian GNU/Linux OS installed and no other. Clearly most home users will never install another OS, so these home users will run Debian on their machines until the hardware fails. And this is why most home users run Microsoft today. No choice of the home user accounts for this, but the decision of Michael Dell explains it.

--Jay Sulzberger on the WWWAC mailing list, Tuesday, 15 Jul 2003

Tuesday, July 15, 2003
I don't understand how anybody can put up with garbage like Visual Studio, especially when there are environments like CodeWarrior available that get out of your way and let you work.

--Chris Hanson on the java-dev mailing list, Tuesday, 24 Jun 2003

Monday, July 14, 2003

The identification and vilification of external enemies. This is a very common pattern. Anyone who was around the Open Source movement in the mid-Nineties could see this all the time. If you cared about Linux on the desktop, there was a big list of jobs to do. But you could always instead get a conversation going about Microsoft and Bill Gates. And people would start bleeding from their ears, they would get so mad.

If you want to make it better, there's a list of things to do. It's Open Source, right? Just fix it. "No, no, Microsoft and Bill Gates grrrrr ...", the froth would start coming out. The external enemy -- nothing causes a group to galvanize like an external enemy.

So even if someone isn't really your enemy, identifying them as an enemy can cause a pleasant sense of group cohesion. And groups often gravitate towards members who are the most paranoid and make them leaders, because those are the people who are best at identifying external enemies.

--Clay Shirky
Read the rest in Shirky: A Group Is Its Own Worst Enemy

Sunday, July 13, 2003
In April 1986 President Reagan authorized an air raid on the home of Col. Muammar el-Qaddafi of Libya that spared him but killed his daughter. The Reagan administration never acknowledged that Colonel Qaddafi, personally, was the target, nor did it publicly speculate two years later that Libya's bombing of an American jetliner over Lockerbie, Scotland, killing 270 people, was Colonel Qaddafi's revenge for the death of his daughter. But the administration got the message: after Lockerbie, Washington relied on legal action to settle the score.

--Thomas Powers
Read the rest in When Frontier Justice Becomes Foreign Policy

Saturday, July 12, 2003
Whenever I write something vaguely critical of Java on my website, I get linked to from a Smalltalk weblog, saying "Look! We were right all along!"

--Charles Miller on the java-dev mailing list, Thursday, 10 Jul 2003

Friday, July 11, 2003

Something that I'm convinced of is that the processors are going to migrate to where the transducers are. Thus, every display will be intelligent; every NIC will be intelligent; and, of course, every disk will be intelligent. I got the "smart disk" religion from you, Dave. You argued that each disk will become intelligent. Today each disk has a 200-megahertz processor and a few megabytes of RAM storage. That's enough to boot most operating systems. Soon they will have an IP interface and will be running Web servers and databases and file systems. Gradually, all the processors will migrate to the transducers: displays, network interfaces, cameras, disks, and other devices. This will happen over the next decade. It is a radically different architecture.

What I mean by that is it's going to have a gigahertz or better processor in it. And it will have a lot of RAM. And they will be able to run almost any piece of software that you can think of today. It could run Oracle or Exchange or any other app you can think of.

In that world, all the stuff about interfaces of SCSI and IDE and so on disappears. It's IP. The interface is probably Simple Object Access Protocol (SOAP) or some derivative of SOAP; you send requests to it and get back responses in a pretty high-level protocol. The IP sack does security and naming and discovery. So each of these "disks" will be an IP version 6 (IPv6) node—or IPv9.

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

Thursday, July 10, 2003
Who was the patriot in 1861?. Robert E. Lee or Ulysses S. Grant? In a way, it depends on how you define patriotism. If patriotism is simply a kind of filial piety, my country right or wrong, then the case for Lee can be made. Because, as Lee himself said, he could not raise his hand against his family, his children, his state. If, on the other hand, patriotism means devotion to a particular political idea, then clearly Grant was the patriot and Lee was not. That, in a sense, is part of the problem that we face even today.

--Walter Berns
Read the rest in The Changing Face of Patriotism

Wednesday, July 9, 2003
Even with C++, which was a standards committee, I remember early decisions being based on worries about the existence of a body of code which was a drop in the bucket relative to what we have now. But they were saying, "We can't make this change in the language because we would break all that existing code," which was basically trivial. We should have made those changes at the time. That was sort of a marketing decision because many of the people on the committee were representing companies who had vested interests in C++ in some way or another.

--Bruce Eckel
Read the rest in Type Checking and Techie Control

Tuesday, July 8, 2003
apparently, the CIA has been tapping fiber optic cables in Baghdad, listening in on telephone conversations in efforts to track down Saddam. Most people think fiber can't be tapped, but here's how to do it (I wrote about this at least 10 years ago). Strip the plastic casing off a couple inches of the fiber bundle, being careful not to damage the glass. Bend the fiber back on itself in a very tight loop. At that place where the bend in the fiber is sharpest, the internal reflective ability of the fiber is compromised enough for a little light to leak out (called "conductive emission" in the spy biz). That's where you put your detector. This is remarkably easy to do, yet we think of fiber as being totally secure.

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

Monday, July 7, 2003
Efficiency always wins providing that you're looking at it properly. The problem is that a lot of people do things for efficiency reasons without for instance running a profiler. If you ever do something for efficiency reasons and you aren't running the profiler, then basically you are speaking out of your rear end.

--Martin Fowler
Read the rest in Tuning Performance and Process

Sunday, July 6, 2003
flag-waving for personal and corporate profit has gotten so out of hand that last month, when the House of Representatives passed a constitutional amendment banning flag desecration for the umpteenth time, I for once found myself rooting for the Senate to follow suit. It would be fun to watch TV executives hauled on to Court TV. If NBC's post-9/11 decision to slap the flag on screen in the shape of its trademarked peacock wasn't flag desecration, what is?

--Frank Rich
Read the rest in Had Enough of the Flag Yet?

Saturday, July 5, 2003
If you look at DOS, or maybe compilers, one thing that happened with Microsoft was that these small upstarts came out and had cheaper compilers. DOS was also cheap and it undercut the competition. They never had a competitor like themselves. Then comes somebody who undercuts them and they start acting exactly how all of their competitors acted. If you look at how Unix vendors acted toward Microsoft, they were belittling Microsoft. They were saying yes we're more expensive but we're better and we give better support. Whether that was true or not was not the point. The reaction to somebody coming in and undercutting you is for Microsoft exactly the same as the failure mode for their competitors. Microsoft is on the receiving end of this undercutting.

--Linus Torvalds
Read the rest in Silicon Valley

Friday, July 4, 2003
Linux is the current OS competition, but it's no more threatening than OS/2. Remember OS/2?

--Bill Gates
Read the rest in USATODAY.com - Gates on Linux

Thursday, July 3, 2003
The computer security industry is a media circus. It's filled with clowns who want to siphon billions of dollars of counterterrorism funds so the Keystone Cops can shield us from Osama bin Virus. Prostitute pundits stand fearlessly on the corners of New York City and compare "cyberterrorism" to real terrorism. They stand fearlessly on the corners of Washington, D.C. and compare 'cyberwar' to real war. They pull numbers out of thin air and tell whoppers with a perfectly straight face. They want us to blame everything but them when they fail to do what we pay them for.

--Rob Rosenberger
Read the rest in Wired News: Vmyths Hovering at Death's Door

Wednesday, July 2, 2003
Good thread design minimizes the interactions between threads, and thus the need for any synchronization at all. Synchronization is needed only when two threads could end up using the same resource [variable, file, whatever] at the same time. If the design is such that only one thread *can* use resource X at any given time (usually, because it's the only thread that even has access to that resource), there are no potential conflicts, and so no need to arbitrate them.

--Glen Fisher on the java-dev mailing list, Monday, 23 Jun 2003

Friday, June 27, 2003
Because the district court was unable to find immediate irreparable harm and because it entered a preliminary injunction that does not aid or protect the court’s ability to enter final relief on Sun’s PCoperating- systems monopolization claim, we vacate the mandatory preliminary injunction. With respect to the preliminary injunction prohibiting Microsoft from distributing products that infringe Sun’s copyright interests, however, we conclude that the district court did not err in construing the scope of the license granted by Sun to Microsoft, nor did it abuse its discretion in entering the injunction. Accordingly, we affirm that preliminary injunction.

--U.S. Judge Paul Niemeyer
Read the rest in In Re: MICROSOFT CORPORATION ANTITRUST LITIGATION

Thursday, June 26, 2003
A design is finished when there is nothing left to throw out.

--Ken Arnold
Read the rest in MacFixIt - MacHack 18 Opens with a Keynote Address from Ken Arnold

Wednesday, June 25, 2003

Dawn's tech complexity theorem goes like this: A device's hassle-factor can be instantly determined by counting the number of cords.

Coffee maker, alarm clock, microwave oven: one cord, no waiting.

Telephone, fax machine: sometimes two. No problem. Usually.

Home computers: five cords. More challenging. But the connections are color-coded, so all but the color-blind can handle this with aplomb.

TiVo: six cords (not counting the spools of coaxial cable beneath your TV set, and the extras you might need for improved reception). Clear all small children -- and anyone else offended by profanity -- from the room.

--Dawn C. Chmielewski
Read the rest in Silicon Valley

Tuesday, June 24, 2003

Apple wants to be the leader of the Digital Lifestyle pack. The digital lifestyle is all about the fluidity of bits, the fact that all computers on the Internet are, in some sense, in the same place, no matter where they're physically located.

But Apple is choosing to screw its customers and kowtow to the entertainment interests who have, at various times, tried to ban the piano roll, the radio, the VCR, and the Internet. They're putting the desires of the companies that tried to ban firewalls ahead of the legitimate expectations of their customers. A digital lifestyle designed by Hilary Rosen and Jack Valenti is a world of "consumers" (us) and "producers" (them). It's the opposite of the iApps philosophy.

--Cory Doctorow
Read the rest in Boing Boing: A Directory of Wonderful Things

Monday, June 23, 2003

I wish developers would consider the enormous consequences of their actions. When I got my driver's license at 16, I was both elated and terrified; I had newfound freedom and responsibilities to go with it. Now, compare that feeling to when Microsoft sends me a new operating system. Do I have the same feeling? No, I think it's going to screw up my life for months. For how many decades and for how many millions of people has that negative emotion been created around software. I think it's such a shame we set our sights so low. Either you're stuck with software that works the way it works because you don't want to break it, or you get an upgrade that causes pain and anguish. I just want my stupid computer to work and it doesn't. That's not computing.

That we accept the status quo says such negative things about us as humans. If our laptops degrade at half the pace as before, that isn't progress. Sucks less isn't progress. What would it be like if you bought new software and you had that sense of increased responsibilities but also of infinite vistas? Our ambitions are so, so small compared to the opportunity.

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

Sunday, June 22, 2003
The idea of a virtual community that "shares" music is a great idea. Unfortunately, that is not what is happening on P2P networks these days. Networks like Kazaa, Gnutella, iMesh, Grokster and Morpheus, among others, are encouraging and helping individuals to distribute perfect digital copies of music to millions of strangers simultaneously. Nobody is really "sharing" as we traditionally think of the term. Sharing involves lending something to somebody, and while it is on loan, the owner no longer has it. "Sharing" in the P2P context has become a euphemism for "copying." That copying is neither legal nor ethical.

--Matt Oppenheim, RIAA
Read the rest in Online NewsHour: Forum -- Copyright Conundrum

Saturday, June 21, 2003
SCO is effectively trying to destroy both the UNIX and Linux markets. This makes no sense, but that is the logical result of their current efforts. The idea that 1,500 of America's largest companies will be forced to drop Linux and will do so in favor of SCO's UNIXware is ludicrous. Why would those companies spend big bucks buying licenses from SCO -- a company they are upset with -- when they can comply just as easily, and almost for free, by converting to one of the BSD variants? Only Microsoft has had success bullying customers into buying its operating systems and SCO is definitely not Microsoft. This behavior won't sell any software.

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

Friday, June 20, 2003
JavaOne has two (sometimes conflicting) purposes -- it is the main annual technical conference for Java developers and project managers, but it is also a marketing vehicle for Sun, which has final control over which sessions will be presented. As a result, it's no surprise that JavaOne presents the vision of Java technology that Sun would like us all to share.

--Brian Goetz
Read the rest in JavaOne 2003: Less hype, more filling

Thursday, June 19, 2003
My lawyer had to redo $5000 worth of work for me for free because a virus got into his PC and destroyed all the files. In 7 years my successful online business, which runs only on Macs (Mac OS X), has not had a single dollar lost to viruses. Tell me which is the cheaper computer to use? I recommend Mac to everyone except my competitors -- they should all stick to Windows.

--Peter Payne
Read the rest in Macintosh Justification

Wednesday, June 18, 2003

Standards have nothing to do with innovation; a good standard is what happens when an industry has basically shaken the bugs out of a technology and then, after the fact, writes it down. This is true of all the really successful standards: grams and meters, voltage, the calendar, octane ratings, TCP/IP, XML.

There have been attempts to innovate in standards space, let's see: ODA, HyTime, X.400. What, you've never heard of any of those? Exactly.

The one time I was in the room (for XML) what we did was take something that had been invented a decade before (SGML), fix up the internationalization, rationalize the error handling, and throw out the 90% that nobody ever used (we should have thrown out more).

--Tim Bray
Read the rest in ongoing - RSS and the S-word

Tuesday, June 17, 2003

The RIAA is the Recording Industry Association of America. It is not the Recording Industry and Artists Association of America. It says its concern is artists. That's true, in just the sense that a cattle rancher is concerned about its cattle.

Many, including I, doubt that the RIAA's actions actually benefit artists. They clearly benefit the relatively concentrated recording industry, which is fighting like hell to protect itself against new forms of competition. But there are many who believe that these new forms of competition -- if allowed to develop and mature -- would directly benefit artists.

Maybe not Madonna -- but it would certainly help the vast majority of artists who can barely scrape by under the existing system.

--Lawrence Lessig
Read the rest in Online NewsHour: Forum -- Copyright Conundrum

Monday, June 16, 2003
One of my general design principles is that it's really helpful to have a good tech writer on the engineering team early on. If you're building something and you have a tech writer trying to document it, and the tech writer walks into your office and says, "I don't know how to describe this," it means one of two things. Either you've got a really stupid tech writer who you should fire. Or much more likely, you've got a bad piece of design and you ought to rethink it. You have to rethink, because an API that isn't comprehensible isn't usable.

--James Gosling
Read the rest in Analyze this!

Sunday, June 15, 2003

it's real easy to see that every computer in the world's a Macintosh. There was a time when Windows wasn't Windows. They had Microsoft DOS, and DOS was lines you had to type. And all the business people in the world said [mocking traditional business executives]: "This is real strong computing. This is capable business computing. The Macintosh is a toy because it has graphics and pictures."

And the funny thing is, when they switched over -- Windows 95, Windows 98 -- now they've got a Macintosh, but you don't hear the business people saying: "Oh, we were wrong. That really is the right way to go. It really doesn't have anything to do with the strength of the machine, it only had to do with what we wanted to say because we were bigoted."

--Steve Wozniak
Read the rest in sunspot.net - plugged in

Saturday, June 14, 2003
Like all great rise and fall stories, Sun's saga is one replete with hubris, missed opportunities, and outright mistakes. But the story reduces down to this: McNealy spent the second half of the 1990s monomaniacally obsessed with everything having to do with Microsoft, from its monopoly-like practices to the general unreliability of the Windows operating system. Meanwhile, stalwarts like Hewlett-Packard and IBM began selling servers on par with Sun's most powerful and expensive machines. Dell and Intel, propelled by Linux, started cutting into Sun's core business at the low end. By the time Sun woke up to this new reality, the smart-guy pundits were asking if the company would be the first big casualty of Linux.

--Gary Rivlin
Read the rest in Wired 11.07: McNealy's Last Stand

Friday, June 13, 2003

GNOME is aiming for simplicity and consistency; we're the first open source desktop project to have a documented set of human interface guidelines.

KDE has way more options (the clock properties dialog has five tabs!) and Windows migrants frequently find this confusing, especially people who work in offices. Also, KDE sort of "looks" like Windows, which people frequently find confusing, since it implies that it will act exactly like Windows, which it doesn't (we have partners who have done UI studies that confirm this).

--Nat Friedman
Read the rest in Interview with Ximian's Nat Friedman - OSNews.com

Thursday, June 12, 2003

You have to understand one thing about the Republican party and its plutocratic allies. They do not place as much value on work, at least not real work, as they do on coupon-clipping and inheritance.

Income from a paycheck gets taxed now at a much higher rate, in many cases, than income from dividends and capital gains -- income that is grossly skewed in the top wealth classes. And if you're lucky enough to be born into a wealthy family, the income you receive by inheritance will soon be entirely tax-free.

One of these years the people -- the real people who work for their paychecks but can't afford to bribe members of Congress -- will realize what's been done to them. They will be very, very unhappy, and they'll respond accordingly.

Even mentioning this will attract the usual mindless jibes from right-wingers who believe rich kids' inheritances are more valuable to society than the sweat off their nannies' brows. All they'll be doing is restating their contempt for fairness in our society -- but that's nothing new, is it?

--Dan Gillmor
Read the rest in Silicon Valley - Dan Gillmor's eJournal - Rich Wage Class War on Poor and Middle Class

Wednesday, June 11, 2003

A smart, creative, experienced, determined attacker can find flaws in just about any standard commercial product. Our security evaluations find catastrophic problems more than half the time, even though evaluation projects generally have very limited budgets.

The most common situation is where the systems' security objectives could theoretically be met if the designers, implementers, and testers never made any errors. For example, in a quest for slightly better performance, operating systems put lots of complexity into the kernel and give device drivers free reign over the system. This approach would be great if engineers were infallible, but it's a recipe for trouble if all you have are human beings.

--Paul Kocher
Read the rest in Slashdot | Security Expert Paul Kocher Answers, In Detail

Tuesday, June 10, 2003
You want to avoid focusing on the framework. The framework supports the application you're writing. You start writing the pieces and realize you need a way to glue them together. You write whatever you need to glue them, but you don't take it any further than that. The mistake people make is saying, "OK, I'm going to write these components. That means I need a framework," and starting with the framework. I can guarantee that any project that starts by writing a framework will never finish writing the framework.

--Dave Thomas
Read the rest in Building Adaptable Systems

Monday, June 9, 2003

Security specialists have long harbored nightmare scenarios of a "Warhol worm" that could crash the Net in 15 minutes. Slammer proved they weren't dreaming. No months of reconnaissance, no compiled lists of vulnerable computers, no massive server farm required to launch the attack. Just one packet - UDP is definitely the way to go.

The scary truth is there's plenty of UDP software waiting to be hijacked by a middling programmer. Kazaa. Xbox. How about the code that controls the domain-name system itself? The 350,000 DNS servers that link our computers form an interconnected UDP network that we can't do without. A Slammer-like attack on DNS would bring the Internet to a standstill in less time than it takes to read this article. Lucky for us, unlike Microsoft's Swiss cheese SQL Server, the open source DNS code doesn't have any such holes.

Or does it?

--Paul Boutin
Read the rest in Wired 11.07: Slammed!

Sunday, June 8, 2003

Look at some very solidly crafted code, for example, the space shuttle. The cost per line of code for the space shuttle is something like a thousand dollars per line. It's so expensive because of the amount of care that goes into specifying the code, reviewing the code, the whole process they use. It is understandable that if you're shooting up billion dollar spacecraft with human lives at stake, you're going to put a little bit of care into that software. But everything has its cost.

The space program has had its share of bugs. Various Mars probes have flown off into the weeds. Rockets have crashed. But nevertheless the space program has a pretty good track record on software quality, but at tremendous cost. You can't spend a thousand dollars per line of code in a dot com or even most major corporations. You simply can't afford that.

People tend to think software is free, because it has no real-world presence. Software is not substantial like disk drives or automobiles—it is just people typing away at a keyboard. So, therefore, software must be free. But it's not.

--Andy Hunt
Read the rest in Good Enough Software

Saturday, June 7, 2003

Python isn't backwards compatible with anything, except itself. But even so, the Python designers have actually modified some fundamental things in order to fix the language in places they decided were broken. I've always heard from Sun that backwards compatibility is job one. And so even though stuff is broken in Java, they're not going to fix it, because they don't want to risk breaking code. Not breaking code always sounds good, but it also means we're going to be in pain as programmers.

One fundamental change they made in Python, for example, was "type class unification." In earlier versions, some of Python's primitive types were not first class objects with first class characteristics. Numbers, for example, were special cases like they are in Java. But that's been modified so now I can inherit from integer if I want to. Or I can inherit from the modified dictionary class. That couldn't be done before. After a while it began to be clear that it was a mistake, so they fixed it.

Now in C++ or Java, they'd say, "Oh well, too bad." But in Python, they looked at two issues. One, they were not breaking anybody's existing world, because anyone could simply choose to not upgrade. I think that could be an attitude taken by Java as well. And two, it seemed relatively easy to fix the broken code, and the improvement seemed worth the code-fixing work. I find that attitude so refreshing, compared to the languages I'd used before where they said, "Oh, it's broken. We made a mistake, but you'll have to live with it. You'll have to live with our mistakes."

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

Friday, June 6, 2003
This whole RSS drama is turning into kindergarten-playground intrigue.

--Uche Ogbuji on the xml-dev mailing list, Monday, 09 Sep 2002

Thursday, June 5, 2003
pull parsing is the way to go in the future. The first 3 XML parsers (Lark, NXP, and expat) all were event-driven because... er well that was 1996, can't exactly remember, seemed like a good idea at the time.

--Tim Bray on the xml-dev mailing list, Wednesday, 18 Sep 2002

Wednesday, June 4, 2003

I noticed that people are doing a lot of "googling" before a first date nowadays--this represents the real trend. Poindexter's doing this and DARPA (the Defense Advanced Research Projects Agency) allowed him to do it for the propaganda that someone's serious about cyberwar someplace. Googling is international. It's not just restricted to cranky Republicans who couldn't erase e-mail in their PROFS (Professional Office System). That's going to have more of an effect. It's difficult to escape a tragedy in your life that's not your own fault.

Years ago, if your husband died in a house fire, you could get a covered wagon and go to Oregon. Now, as soon as you arrive in Oregon, someone could google you. "Oh, well, widow Simpson. Really sorry to hear about the house fire."

You don't get to cut that chain of evidence and start over. You're always going to be pursued by your data shadow, which is forming from thousands and thousands of little leaks and tributaries of information.

--Bruce Sterling
Read the rest in Tech News - CNET.com

Tuesday, June 3, 2003
In electrical engineering, the students are not connected to the physical world any more. They are not ham radio operators; they have not taken apart their cars. As a result, there's a rather tenuous connection between the nice mathematical concepts and the practical applications in the real world. On the other hand, they're more sophisticated in some ways. They come in knowing how to program. So instead of teaching them to program, we teach them to solder.

--Gerald Sussman, MIT Matsushita Professor of Electrical Engineering
Read the rest in Working engineers show frosh the ropes

Monday, June 2, 2003
We were told Saddam had weapons ready for use within 45 minutes. It's now 45 days since the war has finished and we have still not found anything. It is plain he did not have that capacity to threaten us, possibly did not have the capacity to threaten even his neighbours, and that is profoundly important. We were, after all, told that those who opposed the resolution that would provide the basis for military action were in the wrong. Perhaps we should now admit they were in the right.

--Robin Cook
Read the rest in News

Sunday, June 1, 2003
I believe the Prime Minister lied to us and lied to us and lied to us. The whole war was built upon falsehood and I think the long-term damage will be to democracy in Britain. If you can't believe what you are told by ministers, the whole democratic process is put at risk. You can't be allowed to get away with telling lies for political purposes.

--Tony Benn
Read the rest in News

Saturday, May 31, 2003
All programming is maintenance programming, because you are rarely writing original code. If you look at the actual time you spend programming, you write a bit here and then you go back and make a change. Or you go back and fix a bug. Or you rip it out altogether and replace it with something else. But you are very quickly maintaining code even if it's a brand new project with a fresh source file. You spend most of your time in maintenance mode. So you may as well just bite the bullet and say, "I'm maintaining from day one." The disciplines that apply to maintenance should apply globally.

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

Friday, May 30, 2003
Admittedly, you can find many of the cool features in other editors. Emacs, for example, includes every feature ever conceived by humans and many that weren't. I assume the latter group programmed the user interface, since the keystrokes seem to have been designed for creatures with four hands and fingers that bend differently than mine. Call me lazy, but I have a problem with things like Ctrl-X, Ctrl-S to save a file, which is typical of Emacs. Even though Emacs probably offers more add-in features than Jedit, I'd still use Jedit to avoid having to reconfigure the editor to use sane keystrokes. Nevertheless, since other full-featured editors like Emacs exist, you are probably justified in wanting to stick with what you already know and love. If you're even the least bit unsatisfied with what you're using, however, I strongly recommend you check out Jedit.

--Nicholas Petreley
Read the rest in Vive Java et Blackdown! - Jan 21, 2003

Thursday, May 29, 2003

simplicity is its own virtue. Many people don't really understand that. If you make something big and complex, it will be hard to use and understand. If it has a large surface area, many methods and classes, the interactions of those things will continuously lure people even if you think they shouldn't. People will wonder, "If I make this method call, how will that affect this other thing?" Those two things may seem obviously unrelated to the designer, but users come up with all sorts of weird models about how things work together. That is partly because people tend to make those weird models, but they may also have an experience of calling some method that seemed completely unrelated to something else and having a result they didn't expect.

Users don't care about what the designer does. They care about what they do. If every time you drove a car, you had to learn the meaning of 100 knobs, the whole system wouldn't work. Simplicity comes from tuning down the tasks required to drive the car into a certain set of understood paradigms and tools. Yes, there are many people who would love to pull up the hood and start tinkering with things. You can let them, as long as that is all under the hood.

--Ken Arnold
Read the rest in Taste and Aesthetics

Wednesday, May 28, 2003
Earlier this month, the medical journal Opthalmology said the failure rate for eye surgery was one in 10, not the one in 1,000 figure widely advertised. With roughly 100,000 people having laser eye surgery each year, that would mean that 10,000 gained no benefit.

--Charles Arthur
Read the rest in News

Tuesday, May 27, 2003

Another point is that we hear a lot about agile methodologies these days, but not a lot about writing agile code. If you want to be able to keep up with rapid changes on a project, however, you have to make the code agile. You have to be able to make changes quickly. The XP folks say the way to do that is via refactoring. They recommend you always keep the code tidy and well factored enough that you can make needed changes fairly quickly. You can take the XP approach of refactoring the code, but if pull details out of the code into metadata, you can make changes without even having to touch the code.

In addition, with metadata you have the added benefit that you can make changes out in the field to a system that's already been deployed. If a customer calls and tells you their MP3 player isn't working, you may be able to tell them to switch a parameter in a property file. The MP3 player will use a different decoder and algorithm and get around the bug. So the more metadata you have, the more flexibility you have. And flexibility translates into being agile.

--Andy Hunt
Read the rest in Abstraction and Detail

Monday, May 26, 2003

people who think that the GPL is the right license for Java source code think that the obligation to publish all modifications or additions would discourage predators but miss the fact that the "inheritance" characteristic of the GPL (that's the one that says if you combine non-GPL code with GPL code then the non-GPL code must become GPL) can also have a chilling effect on beneficial contributions from commercial entities.

Also BSD advocates believe that there's a fair amount of illegal misuse of GPL code that goes unnoticed. Sun contributes to projects under both types of licenses by the way. We've also written a license that tries to walk a middle ground.

The SISSL license (Sun Industry Standards Source License), which is both a Free and Open Source license, tries to live in the middle. It references a standard and then acts like the BSD as long as you aren't deviating from the standard, but acts more like the GPL if you do extend the standard (requiring that you publicly document your extensions or modifications and provide a reference implementation).

--Danese Cooper
Read the rest in Open Source Advocate Danese Cooper on Open Source

Saturday, May 24, 2003

My good fortune was to be given a problem that no one had ever had before--how would you interconnect several computers with one at every desk? I was certainly early if not first in trying to solve that problem. We were building the first laser printer at that time. How could you connect the computers to each other and connect them to the printer and then to the early Internet, the Arpanet?

Ethernet was based on packets. Data was to be delivered in packets, and the Ethernet was to be decentralized so there could be nothing in the middle that could break or be unscalable. It lay within a hierarchy of protocols, so it only had to do what it needed to do, not things that would be handled elsewhere in the protocol stack, which was a relatively new idea at the time. It was so simple, and that's one of its advantages. Another advantage was randomized retransmissions. That was based on the Aloha Network built at the University of Hawaii by Norm Abramson, a forerunner of 802.11 that had randomized retransmissions.

--Bob Metcalfe
Read the rest in Tech News - CNET.com

Friday, May 23, 2003

Besides robbing people of time and money, medical fraudsters can mislead critically ill victims into thinking that they're cured; convince them to discontinue other, life-prolonging treatments; or induce them to stop taking precautions that prevent spreading the illness.

Quack sites also introduce risks in the form of dangerous combinations of drugs and herbs. For example, Saint-John's-wort, an herb that some people use to fight depression, has been much touted online as a cure-all even though medical research has shown serious drug interaction risks for HIV/AIDS patients.

--Anne Kandra
Read the rest in PCWorld.com - Consumer Watch: Avoid Online Snake Oil Sellers

Thursday, May 22, 2003
Writing software as multiple layers is a powerful technique even within applications. Bottom-up programming means writing a program as a series of layers, each of which serves as a language for the one above. This approach tends to yield smaller, more flexible programs. It's also the best route to that holy grail, reusability. A language is by definition reusable. The more of your application you can push down into a language for writing that type of application, the more of your software will be reusable.

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

Wednesday, May 21, 2003
Microsoft hardly needs an SCO source license. Its license payment to SCO is simply a good-looking way to pass along a bribe, coupled with an announcement designed to further intimidate Linux users. It's hard to imagine former Microsoft adversaries SCO and David Boies doing Bill Gates' bidding, but Microsoft's money is green.

--Bruce Perens
Read the rest in The fear war against Linux | CNET News.com

Tuesday, May 20, 2003
The Ant build file format is an example of something that shouldn't have been an XML format because the benefit to the implementor is massively outweighted by the wasted time of the user. But what's the solution? Makefiles? No thank you; Makefiles are a many splendored family of stunningly similar formats that are all slightly incompatible with each other. (I've lost count of the times I tried to make something on a BSD system and found it not work properly because BSD is not GNUMake and vice versa.)

--Adam Turoff on the xml-dev mailing list, Tuesday, 6 May 2003

Monday, May 19, 2003
It's important to have the right amount of convenience methods, not too many or too few. If something's not very comMonday, and/or is only a couple of lines of code, I don't think it needs a convenience method. Every method you add is one more that the user has to wade through to find the one they're actually looking for. I hate classes with dozens of methods that make it hard to find the one you're looking for.

--Alex Rosen on the jdom-interest mailing list, Friday, 02 May 2003

Sunday, May 18, 2003

A couple of weeks ago I was listening to a baseball game on the radio. The announcer was talking about the new antiterrorism security countermeasures at the ballpark. One of them, he said, was that people are not allowed to bring bottles and cans into the park with them.

This is, of course, ridiculous. The prohibition against bringing outside drinks into the park has nothing to do with terrorism. The park wants people to buy drinks from their concession stands, at inflated prices, and to not be able to undercut those prices by bringing in drinks from outside.

This is an example of a non-security agenda co-opting a security countermeasure, and it happens a lot. Airlines were in favor of the photo ID requirement not because of some vague threat of terrorism, but because it killed the practice of reselling nonrefundable tickets. Hotels make a copy of your driver's license not because of security, but because they want your information for their marketing database.

--Bruce Schneier
Read the rest in Counterpane: Crypto-Gram: April 15, 2003

Saturday, May 17, 2003
One of the problems with talking about .Net is that it's a lot of different pieces -- there are things like the programming language that they did. It's really hard for me to criticize because it is such a direct rip-off of Java. They haven't committed much in the way of acts of original thought. Then there's the whole SOAP/XML thing and there's a lot of good to be said for XML. It was kind of originated at Sun anyway. And some of it sounds somewhat humorous to me because it's as though they invented distributed computing when they came out with SOAP.

--James Gosling
Read the rest in Sun's Gosling On the Java Evolution - VARBusiness.com - 5/8/03 10:22:42 AM

Friday, May 16, 2003
I don't think this new attitude is temporary. I see a great deal of nesting going on. Despite the crash and the resulting disruption, more marriage licenses were granted in 2001 in San Francisco than any year prior. In Santa Clara County, more babies were born in 2002 than in any year of the boom, and house purchases have bounced back to near-record levels, despite the massive evaporation of wealth. The culture of shifting alliances and temporary agreements is out; permanence and settling down is in.

--Po Bronson
Read the rest in Wired 11.06: Life in the Bust Belt

Thursday, May 15, 2003

Open Source suffers from a kind of unspoken caste system, with a few projects getting lots of resources and most other projects getting very little. The result is what I think of as three classes of Open Source software -- professional, semi-pro, and amateur. I'm not saying this is bad, just that it is the case.

Truly professional software development really needs technical writers, user interface designers, and QA people, but most Open Source projects lack those types of helpers, and therefore, often fall short in the long run. Those projects that DO succeed (Apache, the Linux kernel, et cetera) are those that only need that type of diversity to a very small extent because they generally live on the command line. These applications generally target people who can get by without the product having the best documentation or interface -- namely, other developers. I think of these as semi-pro products in that they are robust, but tend to lack external trappings of commercial software.

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

Wednesday, May 14, 2003
In general, JNI is somewhat complex to use. However, when you call in one direction only—from Java into native code—and communicate using primitive data types, things remain simple.

--Vladimir Roubtsov
Read the rest in Profiling CPU usage from within a Java application

Tuesday, May 13, 2003
What causes the documented high level of civilian casualties -- 3,767 civilian deaths in eight and a half weeks -- in the U.S. air war upon Afghanistan? The explanation is the apparent willingness of U.S. military strategists to fire missiles into and drop bombs upon, heavily populated areas of Afghanistan. A legacy of the ten years of civil war during the 80s is that many military garrisons and facilities are located in urban areas where the Soviet-backed government had placed them since they could be better protected there from attacks by the rural mujahideen. Successor Afghan governments inherited these emplacements. To suggest that the Taliban used 'human shields' is more revealing of the historical amnesia and racism of those making such claims, than of Taliban deeds. Anti-aircraft emplacements will naturally be placed close by ministries, garrisons, communications facilities, etc.. A heavy bombing onslaught must necessarily result in substantial numbers of civilian casualties simply by virtue of proximity to 'military targets', a reality exacerbated by the admitted occasional poor targeting, human error, equipment malfunction, and the irresponsible use of out-dated Soviet maps. But, the critical element remains the very low value put upon Afghan civilian lives by U.S. military planners and the political elite, as clearly revealed by U.S. willingness to bomb heavily populated regions. Current Afghan civilian lives must and will be sacrificed in order to [possibly] protect future American lives. Actions speak, and words [can] obscure: the hollowness of pious pronouncements by Rumsfeld, Rice and the compliant corporate media about the great care taken to minimize collateral damage is clear for all to see. Other U.S. bombing targets hit are impossible to 'explain' in terms other than the U.S. seeking to inflict maximum pain upon Afghan society and perceived 'enemies': the targeted bombing of the Kajakai dam power station, the Kabul telephone exchange, the Al Jazeera Kabul office, trucks and buses filled with fleeing refugees, and the numerous attacks upon civilian trucks carrying fuel oil. Indeed, the bombing of Afghan civilian infrastructure parallels that of the Afghan civilian.

--Marc Herold
Read the rest in A Dossier on Civilian Victims of United States' Aerial Bombing of Afghanistan: A Comprehensive Accounting

Tuesday, May 13, 2003
Monday, May 12, 2003
From a software perspective, to this day, Fortran compilers are still regarded as the best for scientific computing. I remember when Cray started producing their C compiler. The memory management headaches lead to some interesting performance problems, which they had to resort to using pragma to solve. This required that the programmer, which in many cases were primarily mathematicians, to have a very strong knowledge of the underlying hardware. I think that it's generally accepted that people don't want to have to understand when your code may cause excessive instruction buffer faults. To write a large business application in C required a level of expertise that is just difficult to come by. This is but one of the reasons that Visual Basic has been so successful. With the general acceptance of Smalltalk, it looked as if the business community had finally found the elusive environment they had been looking for to replace creaky Cobol. It was quite interesting to watch Java knock out it's growth curve before it reached escape velocity. From a programming point of view, I still prefer the normalized view that Smalltalk presents, but Java introduces a number of concepts that were lacking in Smalltalk. They also both use a virtual machine which further removes your application from the hardware. So, as each technology has been introduced, it has solved some problems and quite naturally, supplanted others with it's own.

--Kirk Pepperdine
Read the rest in The Interview: Kirk Pepperdine

Sunday, May 11, 2003
Grab a file-sharing program and use it to test stuff. (The technology's out there and complaining about it is like bitching about the shit on the floor of the barn the horse bolted from.) Enter things at random and see what you get. Or just google for free mp3s offered by artists, which works more often than you'd think. If you like it, buy some, and see what buying it leads you to. (This is why I spend more on new music than anyone else I know.) Don't just wait to see what the TV feeds you. You know as well as I do that in most places the TV exists to feed you shit. They spent a full year programming Avril Lavigne in LA and dressing her up to appeal to as many "subculture" strands as possible. She's the Monkees, and that kind of Frankensteinian creature only works if you sit there and passively let that kind of shit-radiation into your brain.

--Warren Ellis
Read the rest in Slashdot | Warren Ellis Answers

Saturday, May 10, 2003
If you are a high school student, please, for love of "The Man" and his "System", DON'T do anything described in this article! Over the years you will discover that meaning in life is derived from being very employed and consuming as much as you can on weekends and your ten paid holidays. Doing poorly on the SAT jeopardizes your proper placement as a cog in the machine. The Man has many glorious gifts stored up for you in the System, and he desperately wants to give them to you, but when you stop conforming, The Man feels great sorrow, and may even have to punish you... I shouldn't even be telling you these things, young Consumer. Just... No, that's all I'm saying. Okay, that's... Just, okay?, just leave. I don't want any trouble. I love the System! All hail the System! (Breaking in to song:) Work, work, work, work, work, consume, consume! Work, work, work, work, work, consume, consume! (Repeat phrase 50 more times, and the System song begins again.)

--Colin P. Fahey
Read the rest in Scholastic Aptitude Test (SAT) : Answering All Questions Incorrectly!

Friday, May 9, 2003
That a "nobody" like Raed wound up providing a more nuanced view of his world--better than either the authoritarian inanities of the Iraqi information minister or the Geraldo-besotted dispatches of the commercial television networks--testifies both to the specific value of Weblogging as well as to the broader impact the Internet may yet have around the world.

--Charles Cooper
Read the rest in Raed is still alive | CNET News.com

Thursday, May 8, 2003
Let me tell you one thing first. War sucks big time. Don't let yourself ever be talked into having one waged in the name of your freedom. Somehow when the bombs start dropping or you hear the sound of machine guns at the end of your street you don’t think about your "imminent liberation" anymore.

--Salam Pax
Read the rest in Where is Raed ?

Wednesday, May 7, 2003
Immutable classes, when used properly, can greatly simplify programming. They can only be in one state, so as long as they are properly constructed, they can never get into an inconsistent state. You can freely share and cache references to immutable objects without having to copy or clone them; you can cache their fields or the results of their methods without worrying about the values becoming stale or inconsistent with the rest of the object's state. Immutable classes generally make the best map keys. And they are inherently thread-safe, so you don't have to synchronize access to them across threads.

--Brian Goetz
Read the rest in Java theory and practice: To mutate or not to mutate?

Tuesday, May 6, 2003
IDEs are not a good fit for the kind of knowledge-intensive, mixed language style of programming you see under UNIX. IDEs are great if what you're doing is cranking out C++ code by the yard. But if you're writing systems that are glued together from C, shell, Python, Perl, and maybe several other languages, the worldview that IDEs tend to enforce on you is too rigid for that kind of programming. And that's why UNIX programmers have historically tended not to like IDEs, because they limit your options too much.

--Eric S. Raymond
Read the rest in Interview: Eric Raymond goes back to basics

Monday, May 5, 2003

The Bush administration's attitude, assisted by a Congress that long since abandoned any commitment to liberty, is that government has the right to know absolutely everything about you and that government can violate your fundamental rights with impunity as long as the cause is deemed worthy.

You, on the other hand, have absolutely no right to know what the government is doing in your name and with your money, unless the information is deemed harmless by people who have every motive to cover up misdeeds. Bush and his people have turned secrecy into a mantra, and too few people recognize the danger that poses to our freedoms, much less our pocketbooks.

--Dan Gillmor
Read the rest in Mercury News | 04/06/2003 | Why we may never regain the liberties that we've lost

Sunday, May 4, 2003
It's all part of the human experience. If you love something, you do it until it almost kills you. I think bands should take as many drugs as possible when they're young. I know that's probably bad advice, especially coming from me, but the idea of rock'n'roll bands without drugs - well, I just don't buy it.

--Evan Dando, Lemonheads
Read the rest in Enjoyment

Saturday, May 3, 2003

So you could make a performance optimization in one VM, and then bring in Hotspot, and it will actually slow Hotspot down. You've got to be very wary of that. Object pooling is a good example. A lot of people are very enamored with object pooling, yet half the time people are not measuring to that to find out whether object pooling is any good. Object pooling was very important in the early days of Java, because garbage collection wasn't terribly good. When you've got generational garbage collection, object pooling becomes a lot less effective, because short-lived objects can be collected very cheaply. It's the long-lived objects, such as ones you might pool, that are expensive to garbage collect.

So the rules keep changing. That's why you've got to be very careful to profile. If you think you can predict from the source code what the machine is doing, you've got no chance. When you're in a world of optimizing compilers and VMs, you have to profile, because the compilers and VMs are doing things that you can't even imagine. So don't predict, just measure.

--Martin Fowler
Read the rest in Tuning Performance and Process

Friday, May 2, 2003
My non-negotiable requirements for a new operating system center on simplicity for me. Spare me your "how much more enlightened, knowledgeable and confident I will be if I know the intimate details of my computer if the installation is treacherous!" speech; I want an operating system that works like a Honda Accord and not a kit-car project.

--Tsu Dho Nimh
Read the rest in Migrating to Linux not easy for Windows users - April 4, 2003

Thursday, May 1, 2003
One question that is seldom asked is, "How can Open Source possibly be giving multi-billion dollar companies so much competition that they feel they need to actively dissuade government officials from even thinking of using Open Source software?" This is not an idle question. Open Source doesn't have lobbyists or marketers or ad men to promote its software. So, to say that governments shouldn't have rules to consider Open Source software, as Open Source opponents often do, takes away the only avenue that Open Source has to really reach government. The Open Source sales model is fundamentally "pull" model, where enlightened procurement officers need to know enough to ask about Open Source in the first place. There is no "push" model of sales in Open Source like that employed by the multi-billion dollar companies with their legions of salesmen, ad men, and lobbyists. In fact, the average large software company is 1/3 software developers, and 2/3 salesmen, marketers, management, apologists, and lawyers. So, a very apt question is -- if their software is so good and they have an extra 2 people for every one developer pushing it, why is it that they try so hard to impede government officials from making side-by-side comparisons? You would think they would be anxious to have procurement rules that require such comparisons so that they can show how much better their very expense software is.

--Tony Stanco
Read the rest in NewsForge: The Online Newspaper of Record for Linux and Open Source

Wednesday, April 30, 2003
I can't worry about skepticism. If there's no controversy, and everybody buys into our ideas and follows them, there is no chance of making money. The question is whether we have a controversial and right strategy. If so, we'll make a lot of money.

--Scott McNealy
Read the rest in McNealy: Rattling cages is good for Sun | CNET News.com

Tuesday, April 29, 2003
And what if we do muster the courage to allow elections, but the Iraqis choose a government we can't live with--as the Japanese did in their first post-war election, when the United States purged the man slated to become prime minister? But if we do that in Iraq, how will it look on Al Jazeera? Ultimately, the longer we stay as occupiers, the more Iraq becomes not an example for other Arabs to emulate, but one that helps Islamic fundamentalists make their case that America is just an old-fashioned imperium bent on conquering Arab lands.

--Joshua Micah Marshall
Read the rest in Practice to Deceive

Monday, April 28, 2003
To get Java 1.3.1 working on OS X we created 900 classes in addition to the 1,800 classes that were part of the J2SE base. With the rewrite we are maintaining only 300 classes to support the 3,000 classes that are part of J2SE. If you go back to Mac OS 9, the number of classes we've provided compared to the J2SE base has gone from 175 percent to 50 percent to the current 10 percent.

--Allen Dennison, Apple Java Product Manager
Read the rest in O'Reilly Network: Apple Releases Java 1.4.1 for Mac OS X [Mar. 10, 2003]

Sunday, April 27, 2003

The US spends almost $50 billion each year on education, so why aren't kids learning? Forty percent of students lack basic reading skills, and their academic performance is dismal compared with that of their foreign counterparts. In response to this crisis, schools are skilling-and-drilling their way "back to basics," moving toward mechanical instruction methods that rely on line-by-line scripting for teachers and endless multiple-choice testing. Consequently, kids aren't learning how to think anymore - they're learning how to memorize. This might be an ideal recipe for the future Babbitts of the world, but it won't produce the kind of agile, analytical minds that will lead the high tech global age. Fortunately, we've got Grand Theft Auto: Vice City and Deus X for that.

After school, kids are devouring new information, concepts, and skills every day, and, like it or not, they're doing it controller in hand, plastered to the TV. The fact is, when kids play videogames they can experience a much more powerful form of learning than when they're in the classroom. Learning isn't about memorizing isolated facts. It's about connecting and manipulating them. Doubt it? Just ask anyone who's beaten Legend of Zelda or solved Morrowind.

--James Paul Gee
Read the rest in Wired 11.05: View

Friday, April 25, 2003

Making sharing impossible is bad enough, but it gets worse. There are plans to use the same facility for email and documents -- resulting in email that disappears in two weeks, or documents that can only be read on the computers in one company.

Imagine if you get an email from your boss telling you to do something that you think is risky; a month later, when it backfires, you can't use the email to show that the decision was not yours. "Getting it in writing" doesn't protect you when the order is written in disappearing ink.

Imagine if you get an email from your boss stating a policy that is illegal or morally outrageous, such as to shred your company's audit documents, or to allow a dangerous threat to your country to move forward unchecked. Today you can send this to a reporter and expose the activity. With treacherous computing, the reporter won't be able to read the document; her computer will refuse to obey her. Treacherous computing becomes a paradise for corruption.

Word processors such as Microsoft Word could use treacherous computing when they save your documents, to make sure no competing word processors can read them. Today we must figure out the secrets of Word format by laborious experiments in order to make free word processors read Word documents. If Word encrypts documents using treacherous computing when saving them, the free software community won't have a chance of developing software to read them -- and if we could, such programs might even be forbidden by the Digital Millennium Copyright Act.

Programs that use treacherous computing will continually download new authorization rules through the Internet, and impose those rules automatically on your work. If Microsoft, or the U.S. government, does not like what you said in a document you wrote, they could post new instructions telling all computers to refuse to let anyone read that document. Each computer would obey when it downloads the new instructions. Your writing would be subject to 1984-style retroactive erasure. You might be unable to read it yourself.

--Richard M. Stallman
Read the rest in NewsForge: The Online Newspaper of Record for Linux and Open Source - Mozilla {Build ID: 2002101612}

Thursday, April 24, 2003
Dragging all human behavior into the public is literally totalitarian. If you erode privacy, you erode liberty, because people don't tolerate things going on in front of them that they don't approve of.

--Bob Blakely
Read the rest in The paradox of privacy | CNET News.com

Wednesday, April 23, 2003
I just released my first shareware app ever. And it's "true" shareware: it's not nagware, not timerware, not limitedfeatureware, not annoyingdelayonstartupware. I have to admit, while those measures do increase sales, I really think that those measures turn an app into demoware or commercial software.

--David Findley
Read the rest in Unsanity.org: Shareware Is Dead

Tuesday, April 22, 2003
When you write software, you deal with two worlds. You deal with the world you want to model, the outside world. You also deal with a world that exists only inside the software, which involves just getting the code to work. HAS-A corresponds to something in the real world. A Car HAS Wheels or a Person HAS Friends. HAS-A corresponds to the application domain. IS-IMPLEMENTED-IN-TERMS-OF never exists in the real world; it is part of the implementation domain. So you couldn't say a Car IS-IMPLEMENTED-IN-TERMS-OF Wheels. A Car HAS Wheels. But you could say the ParkingLot IS-IMPLEMENTED-IN-TERMS-OF a List. There's no List in the real world. The List only exists inside the software. So HAS-A is a relationship between classes that exists in the application domain. IS-IMPLEMENTED-IN-TERMS-OF is a relationship between classes that exists in the implementation domain.

--Scott Meyers
Read the rest in Meaningful Programming

Monday, April 21, 2003
Iraq possesses weapons of mass destruction, we were told. None were used against us. Funny, we haven't found any. Not funny that the documentary "evidence" cited by the president in his State of the Union address to support this claim has turned out to be a forgery, and a very shoddy one at that. Now the president is saying that Syria may have chemical weapons. Is the groundwork being laid for the next invasion?

--Anthony B. Robinson
Read the rest in War in Iraq a reason for shame

Sunday, April 20, 2003
The event is not about dreams, predictions or mockups. We will show actual flight hardware: an aircraft for high-altitude airborne launch, a flight-ready manned spaceship, a new, ground-tested rocket propulsion system and much more. This is not just the development of another research aircraft, but a complete manned space program with all its support elements

--Burt Rutan
Read the rest in Passenger-Carrying Spaceship Makes Desert Debut

Saturday, April 19, 2003
When I met Tony Blair in 2000 he told me that if he thought members of the security forces had been involved in killings of this nature he would call a public inquiry. The most senior police officer in the UK has now found that there was collusion in my husband's murder. It is now time for Tony Blair to fulfil his promise.

--Geraldine Finucane
Read the rest in News

Friday, April 18, 2003
The rule of thumb with ease-of-use is that if you make your program 10% easier, you'll double the potential number of users of your product

--Joel Spolsky
Read the rest in Joel on Software - Working on CityDesk, Part IV

Thursday, April 17, 2003

When I started working on firewalls I was surprised to learn the company I worked for were more interested in "spying" on their employees then keeping crackers out of their networks.

At least in my state (Oklahoma) employers have the right to monitor phone calls and Internet activity as long as they inform the employees they are doing it.

Big Brother is not government. Big Brother = Big Business.

--Mark Grennan
Read the rest in Firewall and Proxy Server HOWTO: Understanding Firewalls

Wednesday, April 16, 2003

There is a persistent notion in a lot of literature that software development should be like engineering. First, an architect draws up some great plans. Then you get a flood of people, some warm bodies, to come in and fill the chairs, bang out all the code, and you're done. A lot of people still feel that way. I saw an interview in the last six months of a big outsourcing house in India where this was how they felt. They paint a picture of constructing software like buildings. The high talent architects do the design. The coders do the constructing. The tenants move in, and everyone lives happily ever after. We don't think that's very realistic. It doesn't work that way with software.

We paint a different picture. Instead of that very neat and orderly procession, which doesn't happen even in the real world with buildings, software is much more like gardening. You do plan. You plan you're going to make a plot this big. You're going to prepare the soil. You bring in a landscape person who says to put the big plants in the back and short ones in the front. You've got a great plan, a whole design.

But when you plant the bulbs and the seeds, what happens? The garden doesn't quite come up the way you drew the picture. This plant gets a lot bigger than you thought it would. You've got to prune it. You've got to split it. You've got to move it around the garden. This big plant in the back died. You've got to dig it up and throw it into the compost pile. These colors ended up not looking like they did on the package. They don't look good next to each other. You've got to transplant this one over to the other side of the garden.

--Andy Hunt
Read the rest in Programming is Gardening, not Engineering

Tuesday, April 15, 2003

There are 13 million people on the FBI's terrorist watch list. That's ridiculous, it's simply inconceivable that a number of people equal to 4.5% of the population of the United States are terrorists. There are far more innocents on that list than there are guilty people not on that list. And these innocents are regularly harassed by police trying to do their job. And in any case, any watch list with 13 million people is basically useless. How many resources can anyone afford to spend watching about one-twentieth of the population, anyway?

That 13-million-person list feels a whole like CYA on the part of the FBI. Adding someone to the list probably has no cost and, in fact, may be one criterion for how your performance is evaluated at the FBI. Removing someone from the list probably takes considerable courage, since someone is going to have to take the fall when "the warnings were ignored" and "they failed to connect the dots." Best to leave that risky stuff to other people, and to keep innocent people on the list forever.

Many argue that this kind of thing is bad social policy. I argue that it is bad security as well.

--Bruce Schneier
Read the rest in Counterpane: Crypto-Gram: April 15, 2003

Monday, April 14, 2003
I prefer to code declaratively, because at the business level we're not executing a series of instructions. We're dealing with data. The longer I can keep my code at the data level, the closer I'm coding to the application domain. If I can find a way to express the program in terms of data and the relationships between data, I find that keeps me at a higher level longer. Alternatively, if I need to control, or if I need to be very specific about the order in which I do things, then I want to get down to the imperative level. What I don't want to do is jump back and forth between the two models in the same chunk of code. Because then you get the whiplash effect that Andy was talking about. You go back and forth and back and forth and you aren't sure what you're doing. Everything gets muddled up. If I can instead keep things nice and separate, I find I can focus very strongly on whether I am doing application level code or low level geeky code.

--Dave Thomas
Read the rest in Programming Close to the Domain

Sunday, April 13, 2003

Somehow the idea of reusability got attached to object-oriented programming in the 1980s, and no amount of evidence to the contrary seems to be able to shake it free. But although some object-oriented software is reusable, what makes it reusable is its bottom-upness, not its object-orientedness. Consider libraries: they're reusable because they're language, whether they're written in an object-oriented style or not.

I don't predict the demise of object-oriented programming, by the way. Though I don't think it has much to offer good programmers, except in certain specialized domains, it is irresistible to large organizations. Object-oriented programming offers a sustainable way to write spaghetti code. It lets you accrete programs as a series of patches. Large organizations always tend to develop software this way, and I expect this to be as true in a hundred years as it is today.

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

Saturday, April 12, 2003
Name one genius inventor who has gotten rich from a software patent. There must be some, but the system mostly benefits a handful of businesspeople and lawyers who don't write code. Look at British Telecom. It took years before BT's patent lawyers "discovered" the company had invented hypertext linking. Now General Electric claims it invented the JPEG file format. If GE is so smart, why did it take so many years to figure out it invented such a popular technology? Which genius inventors get rich on such claims?

--Ralph Nader
Read the rest in SourceForge.net Foundries: Foundries

Friday, April 11, 2003
Mostly the technology we have been creating is created by nerdy, white guys so you get nerdy, sometimes not-so-useful technology. Engineering is a creative art. You get out of it the life experience you put in it. If we want to create socially relevant technology, there better be a much broader participation in the development of it.

--Greg Papadopoulos, Chief Technology Officer, Sun Microsystems
Read the rest in Mercury News | 04/09/2003 | Silicon Valley pioneer dies at 54

Thursday, April 10, 2003

The one thing that troubles me is that all the focus is on the strong typing, as if once your program is type correct, it has no bugs left. Strong typing catches many bugs, but it also makes you focus too much on getting the types right and not enough on getting the rest of the program correct.

Strong typing is one reason that languages like C++ and Java require more finger typing. You have to declare all your variables and you have to do a lot of work just to make the compiler happy. An old saying from Unix developers goes something like, "If only your programs would be correct if you simply typed them three times." You'd gladly do that if typing your programs three times was enough to make them work correctly, but unfortunately it doesn't work that way.

All that attention to getting the types right doesn't necessarily mean you don't have other bugs in your program. A type is a narrow piece of information about your data. When you look at large programs that deal with a lot of strong typing, you see that many words are spent working around strong typing.

The container problem is one issue. It's difficult in a language without generics to write a container implementation that isn't limited to a particular type. And all the strong typing goes out the door the moment you say, "Well, we're just going to write a container of Objects, and you'll have to cast them back to whatever type they really are once you start using them." That means you have even more finger typing, because of all those casts. And you don't have the helpful support of the type system while you're inside your container implementation.

Python doesn't require you to write the cast, and its containers are completely generic. So it has the plus side of generic containers without the downside. It doesn't have the plus side that the C++ folks claim to get with their templates and other generics. But in practice that mechanism turns out to be very cumbersome. Even compiler writers have difficulty getting templates to work correctly and efficiently, and the programmers certainly seem to have a lot of trouble learning how to use it correctly. Templates are a whole new language that has enormous complexity.

--Guido van Rossum
Read the rest in Strong versus Weak Typing

Wednesday, April 9, 2003
There's no question the Department of Justice has been abusing the material witness statute in their campaign to put pressure on Muslim and Arab Americans. There's no way to know what the government is after in Mr. Hawash's case, but we're very concerned about the way he's being treated, and dozens of other people in similar situations.

--David Fidanque, executive director, Oregon ACLU
Read the rest in Wired News: Intel Coder Not Going Anywhere

Tuesday, April 8, 2003
those are technical problems. Those are easily solved. Hackers have big arguments over them and eventually something gets grabbed out of the machinery that more or less works. I think the most serious problems are actually cultural ones. UNIX hackers are not very far along in the process of figuring out how to do interfaces well. And this is not because we've been lazy. We've assimilated a lot of stuff in the last 15 years. We've assimilated pervasive networking and we've assimilated GUIs at the developer toolkit level. We understand how to do graphics, we understand how to do libraries, we understand how to do toolkits. What we don't understand yet is good user interface policy and how to listen to users. And that, I think, is the biggest problem the UNIX tradition has right now.

--Eric S. Raymond
Read the rest in Interview: Eric Raymond goes back to basics

Monday, April 7, 2003
Before I really came across refactoring, particularly in conjunction with automated testing, I tended to look at design as something I have to get right at the beginning. Now, I look at design as something I can often do a fairly small amount of up front. I let most of the design flow from the evolutionary process. So I feel that there's been a shift in balance. Before, I might have preferred—and these percentages are purely illustrative—80% of my design in planned mode and 20% of it as the project went on. Now I'd perhaps reverse those percentages.

--Martin Fowler
Read the rest in Flexibility and Complexity

Sunday, April 6, 2003
Twenty years ago at PARC, I thought we would be way beyond where we are now. I was dissatisfied with what we did there. The irony is that today it looks pretty good. The result of our work is techniques for doing software in an interesting and more powerful way. That was back in the seventies. People today aren't doing a lot of work to move programming to its next phase.

--Alan Kay
Read the rest in OpenP2P.com: Daddy, Are We There Yet? A Discussion with Alan Kay [Apr. 03, 2003]

Saturday, April 5, 2003

It's difficult to imagine this as anything but a grossly political, and therefore inappropriate, move by Akamai. The company has reason to dislike radical Islam, but shutting down voices like Al-Jazeera is simply wrong.

People who believe in free speech should be asking themselves whether they want this kind of thing to become routine.

Who will be brave enough to mirror Al-Jazeera?

--Dan Gillmor
Read the rest in Silicon Valley - Dan Gillmor's eJournal

Friday, April 4, 2003
Everyone supports our troops. We love our troops. And that's why we let them go and risk their lives without asking questions. Questions are for French-lovin' Commie-scum, got it?

--Aaron McGruder
Read the rest in The Boondocks

Thursday, April 3, 2003
They are now proposing to add e-mail communications in God knows how many difficult languages to these cubic acres of untranslated, unread, unanalyzed, unabsorbed information. The request for broader powers is the excuse of first resort of anyone who's failed at national security or law-enforcement tasks. This notion — that if we could only read every e-mail message in the universe, that no one could cause us trouble — is a big mistake.

--Thomas Powers
Read the rest in The C.I.A.'s Domestic Reach

Wednesday, April 2, 2003
CAPPS II is potentially far worse than the Total Information Awareness program, because this program will be implemented and affect the 100 million people who fly every year. Even if the system is 99.9 percent accurate, there will be 100,000 mistakes a year.

--Barry Steinhardt, director of the Technology and Liberty program at the ACLU
Read the rest in Wired News: Will Airport Security Plan Fly?

Tuesday, April 1, 2003
Maybe Sun has a point here—that JBoss can't have both ends of the stick. However, the problem is that it shows that Java as an open technology is really extending beyond the reach of Sun. They will have to find some way to rein in the forces that conspire to pull it apart. Either it will have to be a third-party organization with teeth, or it will have to be Sun—at the expense of openness.

--Ronald Schmelzer, ZapThink LLC
Read the rest in Open-Source Growing Pains Give Sun Aches

Monday, March 31, 2003
Is it the sole responsibility of the U.S. to decide which nations' form of government will stand and which will fall?. Is it the responsibility of the U.S. to kill or destroy to bring about a change of government? I think not. I don't believe George Bush has the right to kill one person to bring about a change in government.

--Rear Admiral Gene LaRocque
Read the rest in Metroactive News & Issues | Middle Grounded

Sunday, March 30, 2003

The protocol that you refer to as "Gnutella2" is really not Gnutella at all. I truly don't mean to sound insulting or anything but it is really a somewhat amateurish attempt by Mike at Shareaza to create his own protocol. Other Gnutella developers call it the "Mike Protocol" or MP for short. At the binary level, this protocol is radically different from the existing Gnutella protocol for no particular reason.

Don't get me wrong here. Mike has been great at trying to implement all of the cutting edge ideas that have been suggested in the GDF and P2P community. His MP protocol makes use of some good ideas as well. Some similar ideas that go into the MP protocol will be seen in the next round of Gnutella upgrades made by LimeWire and other Gnutella clients. However, due to the non-standard nature of large parts of MP, I'm pretty sure that clients (other than Gnucleus) will not adopt Mike's ideas as is.

What is happening is that the true Gnutella protocol and GDF are implementing Gnutella compatible technology such as GUESS and other features that encompass very similar ideas. I'd love to call this updated Gnutella standard Gnutella2 but we really can't because Mike has inappropriately commandeered the Gnutella2 domain and the name. Anger and frustration over Mike's incompatible protocol and his use of the Gnutella2 name is what has been causing GDF members stress recently. The new features of the true Gnutella clients will blow users away when they roll out.

--Greg Blidson
Read the rest in Gnutella v. Gnutella2

Saturday, March 29, 2003
For the last couple of years or so there has been a rising tide of phantoms. I get emails with increasing frequency from people all over the world whose banks have debited them for ATM withdrawals that they deny making. Banks in many countries simply claim that their systems are secure and so the customers must be responsible. It now looks like some of these vulnerabilities have also been discovered by the bad guys. Our courts and regulators should make the banks fix their systems, rather than just lying about security and dumping the costs on the customers.

--Ross Anderson
Read the rest in Protocol Analysis, Composability and Computation

Friday, March 28, 2003

In my experience, programmers like to write code. Period. They don't like to write documentation, they don't like to write system tests, and they don't like to write unit tests. Programmers are also optimists--how else could they tackle building these enormously complex systems and think they had any chance of working? Programmers like instant gratification (who doesn't?). They enjoy coming up with a solution to a problem and seeing that solution implemented immediately.

Because programmers are optimists, that is reflected in their unit tests. Time and time again I've seen developer-written tests that demonstrate the feature works -- because the tests reflect the thinking of the developer about how the feature will be used. They rarely do a good job of testing corner cases, limits, or "unusual" situations (like running out of memory or other finite resources).

I think the "test first" methodology is too at odds with what motivates programmers to do what they do. Would Linux have ever been created if Linus' original postings to the net had been test cases for a UNIX-like operating system? And invited others to write more test cases? How many would have responded? How many would have become excited about the prospect of building an Open Source operating system if the first year was going to be spent writing unit tests?

Maybe I'm just a skeptic, but Test First reminds me of so many other software development methodologies proposed over the years that promise great benefits but rarely deliver them.

--Scott Trappe
Read the rest in Slashdot | Scott Trappe's Answers About Code Quality

Thursday, March 27, 2003

There are dozens of reasons why people have underestimated how quickly Linux has been grabbing Windows' market share, but the Evans data confirms one of my pet theories. Windows market share is usually estimated by the units of Windows Microsoft claims to have shipped. This figure is already skeWednesday, because it includes every unsold box of Windows XP sitting on shelves at Best Buy or Circuit City. More significant, however, is the fact that it includes every PC with a pre-installed version of Windows.

Linux market share, on the other hand, is usually estimated based on surveys, number of commercial boxes sold and the number of downloads.

The actual market-share shift from Windows to Linux is obviously more complicated. When someone purchases a PC with Windows pre-installed, and then overwrites that pre-installed Windows with Linux, nobody subtracts "one" from the installed base of Windows and then recalculates the Windows market share. So Windows starts out with a false boost and maintains its illusory market share even as it gets replaced by Linux.

--Nicholas Petreley
Read the rest in Debunking the Linux - Windows market - share myth - March 14, 2003

Wednesday, March 26, 2003
I estimate we command 20 percent of the worldwide installed base of databases, but of revenues we only command only .02 percent. So there's a factor of 1,000. And we are making money. People ask me "What's wrong-why are you leaving money on the table?" We say "You should ask the other database companies what is wrong with their cost structure."

--Marten Mickos, CEO of MySQL
Read the rest in CNN.com - MySQL: A threat to bigwigs? - Mar. 12, 2003

Monday, March 24, 2003

I've invited my fellow documentary nominees on the stage with us. They are here in solidarity with me because we like non-fiction. We like non-fiction and we live in fictitious times. We live in the time where we have fictitious election results that elect a fictitious president. We live in a time where we have a man who's sending us to war for fictitious reasons, whether it's the fiction of duct tape or the fiction of orange alerts, we are against this war, Mr. Bush. Shame on you, Mr. Bush!

--Michael Moore
Oscar acceptance speech, March 23, 2003

Saturday, March 22, 2003
I don't think the Fourth Amendment exists anymore. I think it's been buried by the Patriot Act and some of the court rulings that have been handed down. We need a requiem mass for the Fourth Amendment, because it's gone.

--Christopher Pyle
Read the rest in ABCNEWS.com : Right Joins Left to Criticize Patriot Act

Friday, March 21, 2003
Are we really arguing at this stage, before the UN process is complete, that the best thing to do is to start slaughtering people in their thousands, perhaps hundreds of thousands, as well as losing British and American and Australian lives in the process? I don't think so.

--Charles Kennedy
Read the rest in French vow to veto 'war by timetable'

Friday, March 14, 2003
Virus writers have long been rationalizing their actions by saying they create viruses for good reasons. I suppose some of them may truly believe they have a righteous cause, but mostly I believe they write the virus first and come up with the reason for the virus later. The real war that's looming puts the threat of computer viruses, worms and website defacements in perspective as temporary annoyances. But it's still annoying to see your computer or network turned into a virtual schoolyard populated by bullies shoving each other and your data around.

--Ian Murray
Read the rest in Wired News: Yaha Virus Uses Netizens as Pawns

Thursday, March 13, 2003
Distributed systems are when computers you've never heard of can cause your application to fail.

--Rich Salz on the xml-dev mailing list, Wednesday, 12 Mar 2003

Wednesday, March 12, 2003
Digital Rights Management today is Political Rights Management tomorrow. That embedding these kinds of technological controls into the very architecture of computing has the capacity to become a form of political control in the not so distant future. Because you're putting at a very basic level surveillance capacity, control over what information may or may not travel, and a whole range of things in the architecture that can be very easily used to suppress dissent.

--John Perry Barlow
Read the rest in Wrapped up in Crypto Bottles

Tuesday, March 11, 2003

Ten years ago, to write code, you needed to know a programming language, and you needed to know a library of maybe 50 functions that you used regularly. And those functions worked, every time, although some of them (gets) could not be used without creating security bugs.

Today, you need to know how to work with libraries of thousands of functions, representing buggy code written by other people. You can't possibly learn them all, and the documentation is never good enough to write solid code, so you learn to use online resources like Google, DejaNews, MSDN. (I became much more productive after a coworker at Google showed me that you're better off using Google to search Microsoft's knowledge base rather than the pathetic search engine Microsoft supplies). In this new world, you're better off using common languages like Visual Basic and common libraries like WinInet, because so many other people are using them it's easier to find bug fixes and sample code on the Web.

--Joel Spolsky
Read the rest in Joel on Software - Working on CityDesk, Part IV

Monday, March 10, 2003
We were once told that we needed to present photo ID for our own safety, which most of us knew was nonsense from a security standpoint and which everyone now knows was nonsense. We now know terrorists can get photo ID. So how difficult would it be for terrorists to use operatives with the proper CAPPS credentials? This CAPPS thing smells of snoopy government, not real security.

--Keith Beasley
Read the rest in Wired News: Privacy Activist Takes on Delta

Sunday, March 9, 2003
The Bush administration's relentless unilateral march towards war is profoundly disturbing for many reasons, but so far as American citizens are concerned the whole grotesque show is a tremendous failure in democracy. An immensely wealthy and powerful republic has been hijacked by a small cabal of individuals, all of them unelected and therefore unresponsive to public pressure, and simply turned on its head. It is no exaggeration to say that this war is the most unpopular in modern history. Before the war has begun there have been more people protesting it in this country alone than was the case at the height of the anti- Vietnam war demonstrations during the 60s and 70s. Note also that those rallies took place after the war had been going on for several years: this one has yet to begin, even though a large number of overtly aggressive and belligerent steps have already been taken by the US and its loyal puppy, the UK government of the increasingly ridiculous Tony Blair.

--Edward Said
Read the rest in Al - Ahram Weekly | Opinion | Who is in charge?

Saturday, March 8, 2003
Fuel-cell vehicles are the transportation equivalent of fat-free potato chips, seeming to promise that Americans can continue overindulging on energy without facing the consequences of their appetite. But as any dieter knows, that's a fantasy.

--John Krist
Read the rest in Mercury News | 02/18/2003 | John Krist: Hydrogen power a step forward but not 'non-polluting'

Friday, March 7, 2003

Writing software should be treated as a creative activity. Just think about it -- the software that's interesting to make is software that hasn't been made before. Most other engineering disciplines are about building things that have been built before. People say, "Well, how come we can't build software the way we build bridges?" The answer is that we've been building bridges for thousands of years, and while we can make incremental improvements to bridges, the fact is that every bridge is like some other bridge that's been built. Someone says, "Oh, let's build a bridge across this river. The river is this wide, it's this deep, it's got to carry this load. It's for cars, pedestrians, or trains, so it will be kind of like this one or that one." They can know the category of bridge they're building, so they can zero in on the design pretty quickly. They don't have to reinvent the wheel.

But in software, even with something such as Java™ 2, Enterprise Edition or the Java implementation (or almost any of the APIs we define), we're rolling out -- if not the first -- at most the seventh or eighth version. We've only been building software for 50 years, and almost every time we're creating something new. If you look at software developers and what they produce, if you look at their source code, the programs they make, and the designs that they end up creating, there is real variability. And some people are really good and others are not so good.

--Richard Gabriel, Distinguished Engineer at Sun Microsystems
Read the rest in The Poetry of Programming

Thursday, March 6, 2003

I've been supporting various UNIXes for a total of 13 years now, including IBM AIX, Sun Solaris, HP HP-UX, RedHat LINUX, and various other BSD variants. All in all, the legendary stability of UNIX is a truth, not a myth. Today, at my day job at a hospital, I have several mission-critical AIX and Solaris servers with uptimes of over 300 days. That's almost one year of 24x7 service without a single reboot for software or hardware errors. I have actually seen and supported AIX servers that had uptimes exceeding 365 days!

In UNIX, this stability is the norm because of its design, but the key to remember is that some UNIX implementations deviate for better or worse from the design principles for various reasons. For instance, in my experience, IBM AIX-based servers are far more reliable than Sun Solaris-based servers. Why--they're both UNIXes, so why is one more stable than the other? IBM, having come from the mainframe side of things, was used to having to provide 24x7 uptime for enterprise-wide, mission-critical applications. They easily could have been sued for substantial damages if they didn't provide such high levels of reliability. Everything at IBM is designed with stability, performance and scalability in mind, and change management of all of IBM's hardware and software is exacting and meticulous. Sun, on the other hand, tends to have more of a hack-it approach to things, and many times, a system would be DOA when we received it in our data center. Sun, being an engineers' sort of company, has no qualms about reboots and releases far too many OS patches too often, without exhaustively testing each one for its future effects. IBM is far more respectful of its customer's missions and business-ventures and Sun seems to think that its customers are its beta testers. That difference in attitudes between IBM and Sun manifests itself in the differences between their flavors of Unix.

--Dennis Chang
Read the rest in Mac OS X Justification Part 4 (MacInTouch Reader Report)

Wednesday, March 5, 2003
The reason XML has taken off is that generation after generation of attempts to interoperate at the datamodel/API level has either failed or provided poor price/performance. Syntax is a qualitatively, consistently, dramatically better basis for interoperation; desires to interoperate at the data model level, no matter how reasonable, are apt to remain unfulfilled for the foreseable future.

--Tim Bray on the xml-dev mailing list, Tuesday, 25 Feb 2003

Tuesday, March 4, 2003
You cannot say "I want Saddam Hussein to disarm" and at the same time when he is disarming say they're not doing what they should.

--Dominique de Villepin, French Foreign Minister
Read the rest in French vow to veto 'war by timetable'

Monday, March 3, 2003
When used wisely, invocation chaining can produce concise, elegant, and easy-to-read code. When abused it yields a cryptic tangle of muddled gibberish. Use invocation chaining when it improves readability and makes your intentions clearer. If clarity of purpose suffers when using invocation chaining, don't use it. Alwasy make your code easy for others to read.

--Ron Hitchens
Read the rest in Java NIO, p. 18, O'Reilly & Associates 2002

Sunday, March 2, 2003
the U.S. has been working very hard to get China to change their intellectual property laws to more closely resemble U.S. laws. In fact, in 1994 when China was trying to get most-favored nation trade status, the U.S. required China to add copyright infringement to their list of capital punishments. And that was a requirement in order for them to trade with us. So while we can say sure, Microsoft has an interest in having its copyrights protected, at what cost? Should we set up systems that encourage payment and renumeration? Absolutely. Should we put people in jail forever or put them to death because they copied a book without permission? That's a little extreme. But it shows the kind of power that Hollywood has in pressuring countries to change their laws.

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

Saturday, March 1, 2003
We avoid the Windows operating system since it is such a huge security risk. We didn't want to have viruses blowing up systems that we depend on for navigation and monitoring engines and other systems. And since nothing seems to be able to stop all of these Windows viruses, the best way to win is to just stop using Windows.

--Doug Humphrey, CEO Cidera
Read the rest in Wired News: All Aboard! (But No PCs Allowed)

Friday, February 28, 2003
Finding good programmers is hard because good programming is dependent on much more than just knowledge of programming language syntax. You need someone who, despite wearing striped pants with a polka dot shirt, has a good sense of taste in OO design. You need someone who is creative enough to find innovative solutions to problems, yet anal retentive enough to always line up their curly braces. You need someone who is humble enough to be open to suggestions for improvement, but arrogant enough to stand firm and provide leadership when they are the best person to provide it.

--Bill Venners
Read the rest in How to Interview a Programmer

Thursday, February 27, 2003
Only a week ago the main topic in the streets among Kurds was Saddam and the fear of chemical attack. Now the only thing people talk about is Turkey and the Turkish advance.

--Karim Sinjari, Kurdish Interior Minister
Read the rest in News

Wednesday, February 26, 2003
OS X can not provide the same level of security that the MacOS through 9.x has provided. It is not a matter of obscurity. It is a matter of a completely different way of doing things, one that I believe if fundamentally better from a security point of view. All applications are vulnerable to password guessing, yes, but cracking an operating system simply by overflowing a buffer on a TCP port requires a shelled operating system. The original MacOS is not shelled. It does not accept character string commands like "/bin/sh" placed on the stack followed by a system call to execve. To launch an application there either has to be a GUI driven event like a double click, an AppleEvent sent to Finder (as through the Apple Menu), or a fairly elaborate setup and call to the Process manager. Additionally, the original MacOS does not accept parameters/arguments to be passed through the main() function (the entry point for start of program code execution). It requires AppleEvent handlers to accept interapplication communication. Once an application is executing, it calls the operating system call WaitNextEvent() to know what to do (repeatedly, until told to quit). It is not passive like a Unix application. Therefore, even if rogue byte code can launch an application, it will not be able to control it without massive set up, all in byte code with no null characters. Shells may make life easier for system administrators, but they also make life easier for crackers.

--Tim Kelly
Read the rest in Mac OS X Justification Part 2(MacInTouch Reader Report)

Tuesday, February 25, 2003

There are lots of irregularities which break common assumptions on certain data. Account numbers are no longer numbers if you want the "number" to be the SWIFT id of a bank. You can't infer from the fact that nobody yet had a total amount of securities in a depot which overflowed a 10 digit number that this will never happen (and unsurprisingly a program crashed because of this at the end of 1999). There is a swiss municipality which is italian by telephone country code, breaking the usual nationality->phone country code mapping. There are quite a few villages where one half pays its tax to the authority of region A, the other to region B, requiring you to maintain a map by street/house number.

--J. Pietschmann on the xml-dev mailing list, Sunday, 23 Feb 2003

Monday, February 24, 2003

Mine eyes have seen the orgy of the launching of the Sword:
He is searching out the hoardings where the Stranger's wealth is stored.
He hath loosed his fateful lightnings and with Woe and Death has scored.
His lust is moving on.

In a sordid slime harmonious Greed was born in yonder ditch,
With a longing in his bosom and for others' goods an Itch.
As Christ died to make men holy, let men die to make us rich;
Our God is marching on.

--Mark Twain
Read the rest in Mark Twain, "Battle Hymn of the Republic" 1900

Sunday, February 23, 2003
My match with Deep Junior is the beginning of a new era in computer chess. Both sides were under strict supervision and every aspect of each game was recorded. As a result, we can see the strengths and shortcomings of the machines, and of ourselves. This marks an important shift in the history of computer chess. We are now moving away from corporate interests--i.e., Man vs. Machine matches as PR for companies like IBM--and toward fair and documented procedures overseen by the World Chess Federation.

--Gary Kasparov
Read the rest in OpinionJournal - Extra

Saturday, February 22, 2003
When the CIA comes and asks what you've read because they're suspicious of you, we can't tell them because we don't have it. That's just a basic right, to be able to read what you want without fear that somebody is looking over your shoulder to see what you're reading.

--Michael Katzenberg, Bear Pond Books
Read the rest in Vt. bookseller purges files to avoid potential 'Patriot Act' searches

Friday, February 21, 2003
Planning is good and bad. If you know where you're going, planning is good. If you don't know what you'll encounter on the way, you should be more open-minded and improvisational. I certainly see a place for planning, but if the language forces you to plan everything, there may be trips you'll never undertake because it would require too much thinking ahead. You're then inhibited by fears that you don't know how to do something. In Python, you can start doing that something and discover how to do it on the way. You can build something quickly, get it on the road, obtain feedback, and then design the next one based on greater understanding of the problem domain.

--Guido van Rossum
Read the rest in Programming at Python Speed

Thursday, February 20, 2003
I'll go out on a limb here. In my years of experience, I have seen many language and programming fads come and go. But there's only ONE, that's right, ONE language feature I've ever seen that actually improves your productivity significantly. No, it's not object oriented programming; no, it's not intentional programming or assertions or programming by example or CASE or UML or XML or Java. The only thing that improves your programming productivity is using managed code - that is, using a language in which memory management is automatic. Java and .NET languages do this with garbage collection; VB does this with reference counting; I don't care how you do it, just let me concatenate strings without thinking about where the new bigger string will go and I'll be happy.

--Joel Spolsky
Read the rest in Joel on Software - Working on CityDesk, Part Three

Wednesday, February 19, 2003

UnPatriot II would push ahead with this kind of Big Brother scheme. The government would collect DNA from a widening circle of Americans. It would add to government surveillance authority -- not that there's all that much keeping the official snoops out of innocent people's lives at this point in any event.

And, reviving an anti-privacy notion that Ashcroft himself once denounced -- that is, before he got a taste of the overweening state power he professed to fear -- it would criminalize some uses of encryption, the scrambling of digital information.

Government snoops, who have never, ever failed to misuse this kind of authority, would know everything about you. This is a one-way mirror. The Bush administration's fanatical devotion for secrecy, preventing citizens from knowing what government is doing in their name and with their money, would get a boost.

--Dan Gillmor
Read the rest in Mercury News | 02/19/2003 | Dan Gillmor: Bill of Rights under a new assault

Tuesday, February 18, 2003

if you look at interfaces in Java or .NET, in addition to being ABCs, interfaces also have no data. I have come to appreciate that if you use abstract base classes and eliminate any data from them, then a lot of the difficulties of multiple inheritance that I wrote about just go away, even in C++.

I happen to think one of the contributions of Java was getting rid of some of the baggage that comes with multiple inheritance in C++. I'm guessing, since I'm not a Java guy, that the creators of Java looked at the multiple inheritance model of C++. They said, "This has some good things, but it has some baggage too. So we're going to try to find a way to have the good stuff and throw away the baggage." That's essentially what an interface is. It is an abstract base class that doesn't have any of the things that tend to give rise to trouble in C++, because it doesn't have any data.

--Scott Meyers
Read the rest in Multiple Inheritance and Interfaces

Monday, February 17, 2003
The slur of "anti-Semitism" also lies behind Rumsfeld's snotty remarks about "old Europe". He was talking about the "old" Germany of Nazism and the "old" France of collaboration. But the France and Germany that oppose this war are the "new" Europe, the continent which refuses, ever again, to slaughter the innocent. It is Rumsfeld and Bush who represent the "old" America; not the "new" America of freedom, the America of F D Roosevelt. Rumsfeld and Bush symbolise the old America that killed its native Indians and embarked on imperial adventures. It is "old" America we are being asked to fight for - linked to a new form of colonialism - an America that first threatens the United Nations with irrelevancy and then does the same to Nato. This is not the last chance for the UN, nor for Nato. But it may well be the last chance for America to be taken seriously by her friends as well as her enemies.

--Robert Fisk
Read the rest in Argument

Sunday, February 16, 2003
How much, if any, is left of Iraq's weapons of mass destruction and related proscribed items and programmes?. So far, Unmovic has not found any such weapons, only a small number of empty chemical munitions. Another matter - and one of great significance - is that many proscribed weapons and items are not accounted for. One must not jump to the conclusion that they exist. However, that possibility is also not excluded. If they exist, they should be presented for destruction. If they do not exist, credible evidence to that effect should be presented.

--Hans Blix
Read the rest in News

Saturday, February 15, 2003
Such clauses censoring speech and criticism chill not only consumers' speech, but also prevent academics, consumer advocates and technology experts alike from openly and freely discussing software products. Restrictions like these threaten to hinder the spirit of innovation and critical appraisal the public needs to keep software effective, efficient and safe.

--Eliot Spitzer, New York Attorney General
Read the rest in Court: Network Associates can't gag users - Tech News - CNET.com

Friday, February 14, 2003
We would catch more terrorists, perhaps, in a police state, but that's not a country in which most Americans would want to live.

--Senator Russ Feingold
Read the rest in Mercury News | 01/17/2003 | Senators vow to halt 'data mining' project

Thursday, February 13, 2003
units are more important than data types. I don't care too much if "7" is meant to be handled as a string, a short, an int, a long, a float, or a double -- I'll do whatever makes sense for my own program anyway -- but I care quite a bit whether it refers to feet or meters.

--David Megginson on the xml-dev mailing list, Wednesday, 12 Feb 2003

Wednesday, February 12, 2003

If you mingle your code with GPLed code, the mingled parts fall under the GPL. Now everyone can use it, including you.

If you mingle your code with Shared Source code, first of all you get sued for breaking your licence agreement (maybe the BSA or BSAA come around and steal your computers, who knows?), second of all, you forfeit the rights to that code: you can't use it any more, and neither can anyone else ‹ except Microsoft.

OK, so who has the real viral code? Do you need some time to think about it...? (-:

--Leon Brooks
Read the rest in Picking up your marbles

Tuesday, February 11, 2003

Another worrisome part of the DSEA is a section that targets encryption. It would create a new federal felony of willfully using encryption during the commission of a felony, punishable by "no more than five years" in prison plus a hefty fine.

When encryption eventually becomes glued into just about every technology we use, from secure Web browsing to encrypted hard drives, the DSEA would have the effect of boosting maximum prison terms for every serious crime by five years. It'll be no different--and no more logical--than a law that says "breathing air while committing a crime" is its own offense.

--Declan McCullagh
Read the rest in Perspectives: Ashcroft's worrisome spy plans - Tech News - CNET.com

Monday, February 10, 2003

This document details the difficulties that keep our Solaris Java implementation from being practical for the development of common software applications. It represents a consensus of several senior engineers within Sun Microsystems. We believe that our Java implementation is inappropriate for a large number of categories of software application. We do not believe these flaws are inherent in the Java platform but that they relate to difficulties in our Solaris implementation.

We all agree that the Java language offers many advantages over the alternatives. We would generally prefer to deploy our applications in Java but the implementation provided for Solaris is inadequate to the task of producing supportable and reliable products.

Our experience in filing bugs against Java has been to see them rapidly closed as "will not fix". 22% of accepted non-duplicate bugs against base Java are closed in this way as opposed to 7% for C++. Key examples include:

4246106 Large virtual memory consumption of JVM
4374713 Anonymous inner classes have incompatible serialization
4380663 Multiple bottlenecks in the JVM
4407856 RMI secure transport provider doesn't timeout SSL sessions
4460368 For jdk1.4, JTable.setCellSelectionEnabled() does not work
4460382 For Jdk1.4, the table editors for JTable do not work.
4433962 JDK1.3 HotSpot JVM crashes Sun Management Center Console
4463644 Calculation of JTable's height is different for jdk1.2 and jdk1.4
4475676 [under jdk1.3.1, new JFrame launch causes jumping]

In personal conversations with Java engineers and managers, it appears that Solaris is not a priority and the resource issues are not viewed as serious. Attempts to discuss this have not been productive and the message we hear routinely from Java engineering is that new features are key and improvements to the foundation are secondary.

Read the rest in INTERNALMEMOS.COM - Internet's largest collection of corporate memos and internal communication

Sunday, February 9, 2003
A priest without alcohol, that's the wrong combination.. Jesus didn't say, take this healthy camomile tea, he offered wine.

--Father Michael Fey
Read the rest in Realbeer.com: Beer News: Priest brews in washing machine

Saturday, February 8, 2003

Failure is the defining difference between distributed and local programming, so you have to design distributed systems with the expectation of failure. Imagine asking people, "If the probability of something happening is one in ten to the thirteenth, how often would it happen?" Your natural human sense would be to answer, "Never." That is an infinitely large number in human terms. But if you ask a physicist, she would say, "All the time. In a cubic foot of air, those things happen all the time." When you design distributed systems, you have to say, "Failure happens all the time." So when you design, you design for failure. It is your number one concern.

Yes, you have to get done what you have to get done, but you have to do it in the context of failure. One reason it is easier to write systems with Jini and RMI (remote method invocation) is because they've taken the notion of failure so seriously. We gave up on the idea of local/remote transparency. It's a nice thought, but so is instantaneous faster-than-light travel. It is demonstrably true that at least so far transparency is not possible.

--Ken Arnold
Read the rest in Designing Distributed Systems

Friday, February 7, 2003

Do terrorists sometimes benefit from drug profits? The answer is yes. The heroin and opium trade in Central Asia has been identified, in particular, as a source of funding for terrorist groups including the Taliban and Al Qaeda. But there really is more than one side to this issue. The Taliban also profited from our war on drugs, receiving $43 million from the US government in 2001 for the purpose of eradicating Afghanistan's heroin-producing poppy fields. And whatever one thinks of the various pros and cons of drug legalization, it's hard to deny that prohibition is what allows criminal groups, including terrorists, to profit from the drug trade.

Meanwhile, as the Drug Policy Alliance notes, the federal authorities have yet to come up with conclusive proof of a single case in which proceeds from drug dealing in the United States went to Middle Eastern terrorists. And some claims about the drug-terror link are downright misleading. Thus, drug war zealots have cited evidence that Ecstasy trade has a Middle Eastern connection, obviously implying a terrorist link. In fact, the organized crime groups allegedly involved in Ecstasy trafficking consist of Israelis from the former Soviet Union--who may not be nice guys, of course, but can hardly be suspected of funneling money to the Al Qaeda.

Surely, Americans who get locked up for growing marijuana plants in their basements have not given any aid or comfort to international terrorists. Yet somehow, I doubt that we'll see an ad campaign with the slogan, "Fight terrorism-grow your own pot!"

--Cathy Young
Read the rest in Reason

Thursday, February 6, 2003

The Dell is up to twice as fast and never less than 1/3 faster. Digital Video Editing has done 2 previous tests and unfortunately the performance gap is growing. I use both platforms all the time and would be surprised if there were any mainstream apps that weren't faster on the PC at this point. Key perceived speed tasks like web surfing and desktop speed are noticeably faster even on bottom-end PCs.

The price gap remains large too: at current prices the Dell used in the article costs $850 less than the Apple. Worse, a PowerMac is at least $1700 and a dual 1.25 Mac is at least $3000 whereas you can get a 2GHz Dell from $489 or a 3GHz one from $1300.

The troubling part is that the problem is getting worse without any great hope on the horizon to stop the bleeding. Who can forget "The CISC architecture of the Pentium has no headroom" and "The PPC is great, it's just Mac OS 7/8/9 that is the bottleneck"? What's the current hope for the future now that both of those myths have been left in the dust?

--Michael DeGusta
Read the rest in Digital Photo Benchmarks (G4/Altivec Performance, Part 2 - MacInTouch Reader Report)

Wednesday, February 5, 2003
This is an administration that has recently reserved to itself the right to kill American citizens anywhere on the planet for the mere suspicion of membership in Al Qaeda. That's really quite and awe-inspiring breakthrough. And the astonishing thing is that the American people are nodding along in their stupor and saying "Yeah, well, whatever it takes to stop terrorism." I'm so disappointed in my countrymen.

--John Perry Barlow
Read the rest in MotherJones.com | News

Tuesday, February 4, 2003
Why write something in five days that you can spend five years automating?

--Terrence Parr, creator of ANTLR
Read the rest in Why We Refactored JUnit

Monday, February 3, 2003
I myself feel that our country, for whose Constitution I fought in a just war, might as well have been invaded by Martians and body snatchers. Sometimes I wish it had been. What has happened, though, is that it has been taken over by means of the sleaziest, low-comedy, Keystone Cops-style coup d’etat imaginable. And those now in charge of the federal government are upper-crust C-students who know no history or geography, plus not-so-closeted white supremacists, aka “Christians,” and plus, most frighteningly, psychopathic personalities, or “PPs.”

To say somebody is a PP is to make a perfectly respectable medical diagnosis, like saying he or she has appendicitis or athlete’s foot. The classic medical text on PPs is The Mask of Sanity by Dr. Hervey Cleckley. Read it! PPs are presentable, they know full well the suffering their actions may cause others, but they do not care. They cannot care because they are nuts. They have a screw loose!

And what syndrome better describes so many executives at Enron and WorldCom and on and on, who have enriched themselves while ruining their employees and investors and country, and who still feel as pure as the driven snow, no matter what anybody may say to or about them? And so many of these heartless PPs now hold big jobs in our federal government, as though they were leaders instead of sick.

What has allowed so many PPs to rise so high in corporations, and now in government, is that they are so decisive. Unlike normal people, they are never filled with doubts, for the simple reason that they cannot care what happens next. Simply can’t. Do this! Do that! Mobilize the reserves! Privatize the public schools! Attack Iraq! Cut health care! Tap everybody’s telephone! Cut taxes on the rich! Build a trillion-dollar missile shield! Fuck habeas corpus and the Sierra Club and In These Times, and kiss my ass!

--Kurt Vonnegut
Read the rest in In These Times | Kurt Vonnegut vs. the !&#*!@

Sunday, February 2, 2003

So far AOL Time Warner has written down its value by $99 billion dollars.

$99,000,000,000.00.

Billion. With a B. Impressive. Man, that's a lot of business not to have. And that's probably not the whole thing. Consider the momentum here. $54 bil back in Q1 of last year, and now $35 bil for AOL and $10 for the cable division. We're a lousy $1 bil away from a twelve-figure loss.

The real kicker here, the the eleven-zero irony, is that this merged company was counting on AOL, of all things, to provide understanding of the very platform on which all this inter-divisional "synergy" was going to take place. They actually thought AOL understood the Net. Amazing.

--Doc Searls
Read the rest in The Doc Searls Weblog : Friday, January 31, 2003

Saturday, February 1, 2003

Computer Programs are Writings. As such, they should be subject to copyright law (narrowly interpreted) or trade secret protection, but not patent law. As writings, programs should be protected against any attempt by government to license what can be written. This includes well-intentioned but mistaken legal or policy arguments which create de facto censors and censorship under another name, viz. patent examiners and patent examination.

Such censorship and restraint on freedom of expression of software writers is anathema in a free society, and a violation of the First Amendment. That software patents are a severe violation of the rights of speech of programmers has not yet been widely recognized; this is perhaps in part because most lawyers, judges and politicians are still insufficiently knowledgeable regarding computers to realize that writing a computer program is in fact a form of writing, not significantly more arcane than writing music, mathematics, scientific papers, or for that matter, laws. All of these forms of speech, including writing programs, deserve full protection under the First Amendment.

--Phil Salin, July 15, 1991
Read the rest in Freedom of Speech in Software

Friday, January 31, 2003
I'm not particularly worried by the fact that people say you can prototype more easily in Python, but eventually the Java version makes it easier to build a robust large system. You can prototype in Python. Once you've explored the space more, you can do the planning and design that the Java version requires. If you start writing in Java knowing as little as you did when you started writing the Python version, you'll waste way more time exploring than actually building the system you'll eventually build.

--Guido van Rossum
Read the rest in Programming at Python Speed

Thursday, January 30, 2003

When it was time to write the signature test portion of the ServiceUI CTK, I decided rather than write it by hand, I would write a generic tool to automatically generate signature tests. I figured I would design this tool as an add-on to JUnit, and release it open source, primarily for the benefit of the Jini community.

So I wrote a tool to generate signature tests, and then attempted to make it work with JUnit. Once again, my hair was in danger of being pulled, but this time it was worse. My previous difficulty was primarily in figuring out how to use JUnit as an application. Now I was trying to figure out how to use JUnit as an API. At this point I was 9000 feet above sea level, in Crested Butte, Colorado. Perhaps the thin air affected my cognitive abilities, but at one point I just threw up my hands and said to myself, "Why is this so hard? It would be easier to rewrite JUnit than figure it out."

Just some friendly advice: if you ever find yourself saying it would be easier to rewrite something rather than figure it out, slap yourself. Chances are you are wrong. I certainly was. Creating SuiteRunner was a huge amount of work. Despite my frustrations with JUnit, it would have been orders of magnitude easier to decipher JUnit's source code than to create a brand new testing toolkit.

--Bill Venners
Read the rest in Why We Refactored JUnit

Wednesday, January 29, 2003

I whine about how LinuxWorlds seem to have more managers and fewer geeks than ever, but in a way this is a logical progression. And, sometimes, yesterday's geeks and today's suits are the same people.

This was drummed in for me today when a manager-looking guy called out, "Hey, Robin," as if he was an old buddy, and I didn't recognize him until we were within hand-shaking range. Yes, it was someone I knew from the days when hippie-hacker college students showed up at LinuxWorld like mad, and some of them ended up crashing in my room because they had no other place to sleep.

A wife and a kid on the way tend to knock the wildness out of a lot of people, and I was looking at a prime example of this phenomenon. The "got root?" t-shirt covered with Linux and assorted political buttons was gone, replaced with a dress shirt and tie, the hair was short, and the shoes were shiny black loafers, not battered Doc Martins.

Idealistic? Sure. No big mental change, just a job at a company with a dress code. And not just a job, but now a management job, one with purchasing authority. And he's not here to get drunk and talk about coding projects and drink beer all night, but to check out server specs and shop for support, because his company is replacing several racks of commercial Unix and Windows 2000 servers with Linux, and he's been tasked with overseeing the migration.

--Robin 'Roblimo' Miller
Read the rest in NewsForge: The Online Newspaper of Record for Linux and Open Source

Tuesday, January 28, 2003
Many people still do not grasp that Big Brother surveillance is no longer the stuff of books and movies. Given the capabilities of today's technology, the only thing protecting us from a full-fledged surveillance society are the legal and political institutions we have inherited as Americans. Unfortunately, the September 11 attacks have led some to embrace the fallacy that weakening the Constitution will strengthen America.

--Barry Steinhardt, Director of the ACLU's Technology and Liberty Program
Read the rest in American Civil Liberties Union : ÒBig BrotherÓ is No Longer a Fiction, ACLU Warns in New Report

Monday, January 20, 2003

How Bush and his junta succeeded in deflecting America's anger from bin Laden to Saddam Hussein is one of the great public relations conjuring tricks of history. But they swung it. A recent poll tells us that one in two Americans now believe Saddam was responsible for the attack on the World Trade Centre. But the American public is not merely being misled. It is being browbeaten and kept in a state of ignorance and fear. The carefully orchestrated neurosis should carry Bush and his fellow conspirators nicely into the next election.

Those who are not with Mr Bush are against him. Worse, they are with the enemy. Which is odd, because I'm dead against Bush, but I would love to see Saddam's downfall Ñ just not on Bush's terms and not by his methods. And not under the banner of such outrageous hypocrisy.

The religious cant that will send American troops into battle is perhaps the most sickening aspect of this surreal war-to-be. Bush has an arm-lock on God. And God has very particular political opinions. God appointed America to save the world in any way that suits America. God appointed Israel to be the nexus of America's Middle Eastern policy, and anyone who wants to mess with that idea is a) anti-Semitic, b) anti-American, c) with the enemy, and d) a terrorist.

--John Le Carre
Read the rest in The United States of America Has Gone Mad

Sunday, January 19, 2003
Any set of government policies involves tradeoffs. We tax rich people to provide services for poor people, for example. But what we have with copyright are policies that protect a very small number of high-value, long lasting works at the expense of making millions, literally millions, of abandoned works perpetually unavailable for re-use. It's a matter of balance. The net win for society is much greater if we don't create policies that benefit a very small number of players at the expense of millions of others. As Kant used to say, we're looking for the greatest good for the greatest number. Finding a path to that goal is not always easy, but it should be the goal of any enlightened public policy.

--Tim O'Reilly on the Computer Book Publishing mailing list, Saturday, 18 Jan 2003

Saturday, January 18, 2003

My taxes pay the bills for the government to protect your copyright. Under the regime specified by the Founders, that was an exchange: The state protected your copyright for a limited time and, in return, your work eventually passed into the public domain. Under Eldred, works may never again pass into the public domain, should the legislature so choose.

What Eldred is about is the theft-by-lobbying from the American people of intellectual property which had been promised to the public domain in exchange for time-limited protection.

--John Adams on the Computer Book Publishing mailing list, Thursday, 16 Jan 2003

Friday, January 17, 2003
Our country must fight terrorists, but America should not unleash virtual bloodhounds to sniff into the financial, educational, travel and medical records of millions of Americans. Congress ought to step in and put the brakes on this program now, before it grows unchecked and unaccountable.

--Senator Ron Wyden
Read the rest in Mercury News | 01/17/2003 | Senators vow to halt `data mining' project

Thursday, January 16, 2003

As specification lead of the Java toaster JSR, you have decided to make the reference implementation, and maybe the TCK, available under an open-source license. If Big Bad Toasters takes that reference implementation and creates an incompatible derivative work from it while still claiming to implement the specification, then they would be in violation of the specification license.

On the other hand, if they took your work and implemented a completely different specification from it, say, com.bigbadtoasters.Toaster, that would be a legitimate, though annoying, thing for them to do. The specification intellectual property protection says that you can't lie to Java programmers about what Java is. The JCP defines that truth, and the materials produced in JSRs are used to validate it, and collectively the artifacts and the process work to maintain that assurance. In this case, however, they're not lying to anyone. They're not claiming it to be an implementation of the JSR, nor are they offering an artifact that would poach upon developers who were expecting it to be the JSR, since it lives in Big Bad Toasters' namespace.

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

Wednesday, January 15, 2003

This year, during a season that is sacred to many, I committed an unspeakable heresyÑat least as far as e-commerce orthodoxy is concernedÑI purchased no presents online.

For several years, I bought more and more gifts on the Web. Then something happened. Maybe it was a midlife crisis, the dot-com bust or maybe I just wanted to get out of the house.

I went to the mall.

The cool thing about the mall is you get ideas for gifts just from looking at stuff. You don't need a highly sophisticated search engine to make bad guesses as to what you might be interested in. And you can check out the Victoria's Secret storefront without creating an item in your history file and leaving a cookie.

--Stan Gibson
Read the rest in Adventures in Offline Buying

Tuesday, January 14, 2003
because you can program well or poorly, and because most of it is creative (in that we don't really know what we're doing when we start out), my view is that we should train developers the way we train creative people like poets and artists. People may say, "Well, that sounds really nuts." But what do people do when they're being trained, for example, to get a Master of Fine Arts in poetry? They study great works of poetry. Do we do that in our software engineering disciplines? No. You don't look at the source code for great pieces of software. Or look at the architecture of great pieces of software. You don't look at their design. You don't study the lives of great software designers. So, you don't study the literature of the thing you're trying to build.

--Richard Gabriel, Distinguished Engineer at Sun Microsystems
Read the rest in The Poetry of Programming

Monday, January 13, 2003

MacHack is 17 years old. If it were a human, it'd be drinking illegally by now. Actually, it wouldn't—MacHack wouldn't get invited to those sorts of parties. It's an annual conference for hard-core geeks who, as teenagers, were likely to spend their Friday nights in chat rooms, arguing that Captain Picard should just rip out the Holodeck entirely, since it kept tossing the Enterprise into jeopardy every week.

We may not have had lives, but we learned a lot about computers and stuff—and managed to avoid the alcohol- and sex-related mishaps that can sidestep people from successful careers in technology. Now we work for Apple and Adobe and Microsoft and hundreds of lesser-known companies that create the code and hardware that people use every single day, and every June we come to Michigan to hang out in a hotel atrium, universally preferring the warm, snuggly cocoon of AirPort access to the fiery tyranny of the Giant Day-Ball outside. For three days, the place becomes like a really bad TechTV version of Big Brother

--Andy Ihnatko, Macworld, October 2002, p. 124

Sunday, January 12, 2003

RAS (Reliability, Availability, and Serviceability) is a term IBM often uses to describe its mainframes. By the early 70's IBM had realized that the market for commercial systems was far more lucrative than that for scientific computing. They had learned that one of the most important attributes for their commercial customers was reliability. If their customers were going to use these machines for critical business functions, they were going to have to know they could depend on them being available at all times. So, for the last 30 years or so IBM has focused on making each new family of systems more reliable than the last. This has resulted in today's systems being so reliable that it is extremely rare to hear of any hardware related system outage. There is such an extremely high level of redundancy and error checking in these systems that there are very few scenarios, short of a Vogon Constructor fleet flying through your datacenter, which can cause a system outage. Each CPU die contains two complete execution pipelines that execute each instruction simultaneously. If the results of the two pipelines are not identical, the CPU state is regressed, and the instruction retried. If the retry again fails, the original CPU state is saved, and a spare CPU is activated and loaded with the saved state data. This CPU now resumes the work that was being performed by the failed chip. Memory chips, memory busses, I/O channels, power supplies, etc. all are either redundant in design, or have corresponding spares which can be can be put into use dynamically. Some of these failures may cause some marginal loss in performance, but they will not cause the failure of any unit of work in the system.

Serviceability comes into play in the rare event that there is a failure. Many components can be replaced concurrent with system operation (hot swapped); even microcode updates can often be installed while the system is running. For those components, such as CPUs, that cannot be replaced concurrently, the existence of spares allows the service outage to be scheduled at the customer's convenience.

--Ford Prefect
Read the rest in Ace's Hardware

Saturday, January 11, 2003

Lawyers (save those from Chicago) are not typically trained to think about the business consequence of their legal advice. To many, business is beneath the law. When a Sony lawyer threatened a fan of the company's Aibo robotic dog, who had posted a hack online to teach the dog to dance to jazz, he or she no doubt never thought to ask exactly how making the Aibo dog more valuable to customers could possibly harm Sony. Harm was not the issue, a violation of the Digital Millennium Copyright Act was: consumers should be banned from hacking Sony dogs, whether or not it was to Sony's benefit.

Management should begin to demand a business justification for copyright litigation. How does this legal action advance the bottom line? How will it grow markets or increase consumer demand for our products? Will calling our customers criminals increase consumer loyalty?

--Lawrence Lessig
Read the rest in What lawyers can learn from comic books.

Friday, January 10, 2003
The spam pandemic has grown to epic proportions. In 2002, I received over 23,000 spam messages (about 35 percent of my mail), and that's even after employing the Mail Abuse Prevention System RBL+ realtime blackhole list and a handful of other conservative server-side spam filters on our primary mail server. There's no question that my address is both older (it hasn't changed since I switched away from the UUCP style ) and more widely published than most, but my exposure generally means I'm just ahead of the curve. If you're not getting a lot of spam now, you're both lucky and living on borrowed time.

--Adam C. Engst
Read the rest in TidBITS#661/06 - Jan - 03

Thursday, January 9, 2003

This five-step process works for any security measure, past, present, or future:

1) What problem does it solve?
2) How well does it solve the problem?
3) What new problems does it add?
4) What are the economic and social costs?
5) Given the above, is it worth the costs?

When you start using it, you'd be surprised how ineffectual most security is these days. For example, only two of the airline security measures put in place since September 11 have any real value: reinforcing the cockpit door, and convincing passengers to fight back. Everything else falls somewhere between marginally improving security and a placebo.

--Bruce Schneier
Read the rest in How to Think About Security

Wednesday, January 8, 2003
we have better Linux standards than Unix had at the same point in its development. All of the vendors are providing standards-compliant systems. There have been a number of efforts to make sort of proprietary Linux systems that aren't too compatible with the free versions. They always fail commercially. Without the "free" part, a Linux system is just another SCO--nothing exciting, nothing worthy of the collaboration that has made Linux great, and not something that will win the market. So, I'd be wary of some of the "enterprise Linux" projects. The ones that can't maintain their free-software roots won't succeed.

--Bruce Perens
Read the rest in Vision Series 3: Bruce Perens - Tech News - CNET.com

Tuesday, January 7, 2003

The Java Community Process has been on an inexorable path to openness with Version 2.5, and what's really wonderful about that community is that it's been a collaborative process to come up with JCP 2.5 and the open process that that encompasses. From an industry perspective, it's important that the Java brand mean something so that the industry has an identity there. It's important that compatibility is maintained, because that's really what Java's all about. So there has to be some level of control around that.

But the process itself is remarkably open. Many dozens of companies, many of whom are competitors, cooperate together to define the specifications, move them into the Java platform and turn them into products. So it's been a pretty strong success in taking innovation to the market reasonably quickly in an open fashion.

--Mark Bauhaus, Sun vice president of Java Web services
Read the rest in Q&A: Sun VP lays out company's plans for Web services, Java

Monday, January 6, 2003
IP -- as the name suggests -- is the force that brought us the Internet, and has pretty much won the war for local networks as well. Lying vanquished in unmarked graves are old diehards like LANtastic, IPX, and (significantly to this story), Appletalk.

--Heath Johns
Read the rest in O'Reilly Network: Understanding Zeroconf and Multicast DNS [Dec. 20, 2002]

Sunday, January 5, 2003
The world is heterogeneous. Most people's environments are heterogeneous. I appreciate that we'll have some Microsoft boxes, some of ours, some from other companies. Java serves as the leveler. The important thing for most enterprises is, "Will it work on my Linux box and my mainframe, and on Solaris and HP?" Things like that are why we spent so much effort on Java. WebSphere runs on these platforms, and Java is a solid language that runs on these as well. J2EE is battle tested, and Java is pretty much bulletproof. From the point of view of reliability and robustness, Java already has six or seven years of experience on many platforms, with solid code and solid libraries.

--Robert S. Sutor, Director of e-business Standards Strategy, IBM
Read the rest in Fawcette.com - IBM, Java, and the Future of Web Services

Saturday, January 4, 2003

If one of Osama bin Laden's goals, as has been reported, was to trigger crackdowns against freedoms by Western governments, he got the ball rolling quite effectively on Sept. 11, 2001.

The United States now imprisons its own citizens incommunicado, indefinitely and without lawyers or trials, for the duration of what we're told is an essentially permanent state of war.

In the good old days of the iron curtain, we condemned other countries for such actions, calling them human rights violations. Now some of those same nations are our partners of convenience in the war on terror, and our own government has enthusiastically embraced our former adversaries' old tactics.

--Lauren Weinstein
Read the rest in Wired News: Year in Privacy: Citizens Lose

Friday, January 3, 2003

If Linux is giving Microsoft fits, it is doing far worse to Sun Microsystems, which I predict will have a very bad 2003. As just one example, Sun is in danger of losing the semiconductor design computer workstation market to Linux. Early this year, Cadence Design will be the last of the major vendors to port their software to Linux. In the server market, too, Linux is making real inroads at the expense of Sun, especially in 2003 as the 64-bit Linux boxes begin to appear. Why buy a $100,000 Sun server when a $10,000 Linux cluster is comparable in every way? And don't expect too much from Sun's own Linux boxes, which will be deliberately hobbled so they don't make problems for SPARC.

Meanwhile, China, which will eventually be the largest computer market on earth, will standardize on MIPS processors and Linux, much to the dismay of both Sun and Intel. This bodes well, by the way, for AMD with its new MIPS-based Systems-on-Chip that will be the major component in many of those el cheapo Chinese computers.

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

Thursday, January 2, 2003

in the past last five or six years, almost all of the attention in the C++ community has been focused on two features of the language: exceptions and templates. Templates and the standard template library (STL) have received a huge amount of attention. As a result, the object-oriented part of the language has not received very much attention. If I had to give a reason why there doesn't seem to be a common name for interface classes in the C++ community, I would say probably the most important reason is simply because the entire language community has been focused so much more on these other features, exceptions and templates, that they did not know how to use.

I'm going to speculate now, because I haven't been watching Java and I've just got my feet a little bit wet in .NET. But I would say that while the C++ community was focusing on templates, the STL, and exceptionsÑoddly enough the three are wrapped up together pretty closelyÑwhat they were not doing was component-based development. For example, there is no huge collection of class libraries for C++. The standard library for C++ is pretty impoverished. In the meantime, the rest of the world was busy creating huge class libraries that let you write all kinds of really neat applications without having to write very much code. Certainly Java is famous for its libraries. .NET has a huge number of libraries.

I think a schism existed between the C++ community, which was still focused on language issues, and the other prominent development communities, which pretty much left the language alone. Java already had exceptions, but didn't have templates and had nothing like the STL. Yet the Java community focused on writing a whole bunch of libraries that everybody can assume will exist everywhere, libraries that will let you write applications really quickly. The end result is, we have templates in C++, but there's no way to write user interfaces or talk to databases. Java has no templates, but you can write user interfaces up the wazoo and you can talk to databases with no trouble at all.

--Scott Meyers
Read the rest in Multiple Inheritance and Interfaces

Wednesday, January 1, 2003
I was searching through some old Usenet posts and I saw that a lot of disgruntled readers identified prognostications of mine that were so far off-base that it was actually humiliating. I predicted, for example, that OS/2 would represent a big platform change. Wishful thinking? Stupidity? The latter, apparently. Because of all the IBMers and OS/2 mavens who led me astray, I'm forced to continue to write to survive. I was also too critical of Java ("Born Loser") as well as some other solid trends. Java is not the world beater that it was predicted to be, but it remains important. These are but a couple of bonehead predictions that I made over the years. So I will never again predict anything!

--John Dvorak
Read the rest in New Year's Resolutions

Earlier quotes:


[ Cafe au Lait | Books | Trade Shows | FAQ | Tutorial | User Groups ]

Copyright 2003 Elliotte Rusty Harold
elharo@metalab.unc.edu
Last Modified Thursday, January 1, 2004 12:31:11 PM