May 212009
 

And you wonder that people distrust lawyers.

I installed a fresh copy of the Adobe Reader on a test computer. It has a feature called “Create Adobe PDF using Acrobat.com…”, which I clicked on, out of curiosity. Up pops a dialog called “Adobe AIR License Agreement”:

Adobe AIR license agreement

Adobe AIR license agreement

The text seemed a bit long. I decided to copy it and paste it into another application, for better viewing. To their credit, they allowed me to copy. But, absent a Select All command, it was a tad hard to copy everything. Nonetheless, I managed. I was confronted by a huge bulk of text with no line breaks at all in Windows Notepad. I inserted some line breaks. The result is a 6-page legal agreement that, for all I know, obliges me to sell of all my future children and descendants to Adobe.

For what it’s worth, this is the small print they wanted me to agree to. For now, I clicked Quit as I had not the time to read it all:


ADOBE SYSTEMS INCORPORATED


Warranty Disclaimer and Software License Agreement.


THIS DOCUMENT INCLUDES WARRANTY INFORMATION (PART I) AND A LICENSE AGREEMENT GOVERNING THE USE OF ADOBE SOFTWARE (PART II).
PART I. WARRANTY DISCLAIMER.
THE SOFTWARE AND OTHER INFORMATION IS DELIVERED TO YOU “AS IS” AND WITH ALL FAULTS. ADOBE AND ITS SUPPLIERS AND CERTIFICATE AUTHORITIES DO NOT AND CANNOT WARRANT THE PERFORMANCE OR RESULTS YOU MAY OBTAIN BY USING THE SOFTWARE, CERTIFICATE AUTHORITY SERVICES OR OTHER THIRD PARTY OFFERINGS. EXCEPT TO THE EXTENT ANY WARRANTY, CONDITION, REPRESENTATION OR TERM CANNOT OR MAY NOT BE EXCLUDED OR LIMITED BY LAW APPLICABLE TO YOU IN YOUR JURISDICTION, ADOBE AND ITS SUPPLIERS AND CERTIFICATE AUTHORITIES MAKE NO WARRANTIES CONDITIONS, REPRESENTATIONS, OR TERMS (EXPRESS OR IMPLIED WHETHER BY STATUTE, COMMON LAW, CUSTOM, USAGE OR OTHERWISE) AS TO ANY MATTER INCLUDING WITHOUT LIMITATION NONINFRINGEMENT OF THIRD PARTY RIGHTS, MERCHANTABILITY, INTEGRATION, SATISFACTORY QUALITY, OR FITNESS FOR ANY PARTICULAR PURPOSE.
PART II. SOFTWARE LICENSE AGREEMENT.
BY USING, COPYING OR DISTRIBUTING ALL OR ANY PORTION OF THE ADOBE SOFTWARE, YOU ACCEPT ALL THE TERMS AND CONDITIONS OF THIS AGREEMENT, INCLUDING, IN PARTICULAR, THE PROVISIONS ON: USE CONTAINED IN SECTION 2; TRANSFERABILITY IN SECTION 4; CONNECTIVITY AND PRIVACY IN SECTION 6; WARRANTY IN SECTION 9 AND LIABILITY IN SECTIONS 10 AND 16. UPON ACCEPTANCE, THIS AGREEMENT IS ENFORCEABLE AGAINST YOU AND ANY ENTITY THAT OBTAINED THE SOFTWARE AND ON WHOSE BEHALF IT IS USED. IF YOU DO NOT AGREE, DO NOT USE THE SOFTWARE.
ADOBE PERMITS YOU TO USE THE SOFTWARE ONLY IN ACCORDANCE WITH THE TERMS OF THIS AGREEMENT. USE OF SOME THIRD PARTY MATERIALS INCLUDED IN THE SOFTWARE MAY BE SUBJECT TO OTHER TERMS AND CONDITIONS TYPICALLY FOUND IN A SEPARATE LICENSE AGREEMENT, A “READ ME” FILE LOCATED NEAR SUCH MATERIALS OR IN THE “THIRD PARTY SOFTWARE NOTICES AND/OR ADDITIONAL TERMS AND CONDITIONS” FOUND AT http://www.adobe.com/go/thirdparty .


1. Definitions.
“Adobe” means Adobe Systems Incorporated, a Delaware corporation, 345 Park Avenue, San Jose, California 95110, if subsection 12(a) of this agreement applies; otherwise it means Adobe Systems Software Ireland Limited, Unit 3100, Lake Drive, City West Campus, Saggart D24, Republic of Ireland, a company organized under the laws of Ireland and an affiliate and licensee of Adobe Systems Incorporated. “Computer” means a virtual or physical personal electronic device that accepts information in digital or similar form and manipulates it for a specific result based on a sequence of instructions. “Software” means (a) all of the contents of the files (delivered electronically or on physical media), or disk(s) or other media with which this agreement is provided, which may include (i) Adobe or third party computer information or software, including Adobe Reader® (“Adobe Reader”), Adobe® AIR™ (“Adobe AIR”), Adobe Flash® Player, Shockwave® Player and Authorware® Player (collectively, Adobe AIR and the Flash, Shockwave and Authorware players are the “Adobe Runtimes”); (ii) related explanatory written materials or files (“Documentation”); and (iii) fonts; and (b) upgrades, modified versions, updates, additions, and copies of the foregoing, provided to you by Adobe at any time (collectively, “Updates”). “Use” means to access, install, download, copy, or otherwise benefit from using the functionality of the Software.


2. Software License.
If you obtained the Software from Adobe or one of its authorized licensees, and subject to your compliance with the terms of this agreement, including the restrictions in Section 3, Adobe grants to you a non-exclusive license to use the Software in the manner and for the purposes described in the Documentation as follows:


2.1 General Use. You may install and use one copy of the Software on your compatible Computer. See Section 3 for important restrictions on the use of the Software.


2.2 Server Use. This agreement does not permit you to install or use the software on a computer file server. For information on use of software on a computer file server please refer to http://www.adobe.com/go/acrobat_distribute for information about Adobe Reader; or http://www.adobe.com/go/licensing for information about the Adobe Runtimes.


2.3 Distribution. This license does not grant you the right to sublicense or distribute the Software. For information about obtaining the right to distribute the Software on tangible media or through an internal network or with your product or service please refer to http://www.adobe.com/go/acrobat_distribute for information about Adobe Reader; or http://www.adobe.com/go/licensing for information about the Adobe Runtimes.


2.4 Backup Copy. You may make one backup copy of the Software, provided your backup copy is not installed or used. You may not transfer the rights to a backup copy unless you transfer all rights in the Software as provided under Section 4.


3. Obligations and Restrictions.


3.1 Adobe Runtime Restrictions. You will not use any Adobe Runtime on any non-PC device or with any embedded or device version of any operating system. For the avoidance of doubt, and by example only, you may not use an Adobe Runtime on any (a) mobile device, set top box (STB), handheld, phone, web pad, tablet and Tablet PC (other than with Windows XP Tablet PC Edition and its successors), game console, TV, DVD player, media center (other than with Windows XP Media Center Edition and its successors), electronic billboard or other digital signage, Internet appliance or other Internet-connected device, PDA, medical device, ATM, telematic device, gaming machine, home automation system, kiosk, remote control device, or any other consumer electronics device, (b) operator-based mobile, cable, satellite, or television system or (c) other closed system device. For information on licensing Adobe Runtimes for use on such systems please visit http://www.adobe.com/go/licensing .


3.2 Adobe Reader Restrictions. Adobe Reader is licensed and distributed by Adobe for viewing, distributing and sharing PDF files.


3.2.1 Conversion Restrictions. You will not integrate or use Adobe Reader with any other software, plug-in or enhancement that uses or relies upon Adobe Reader when converting or transforming PDF files into a different format (e.g., a PDF file into a TIFF, JPEG, or SVG file).


3.2.2 Plug-in Restrictions. You will not integrate or use Adobe Reader with any plug-in software not developed in accordance with the Adobe Integration Key License Agreement.


3.2.3 Disabled Features. Adobe Reader may contain features or functionalities that are hidden or appear disabled or “grayed out” (the “Disabled Features”). Disabled Features will activate only when opening a PDF document that was created using enabling technology available only from Adobe. You will not access, or attempt to access, any Disabled Features other than through the use of such enabling technologies, nor will you rely on Adobe Reader to create a feature substantially similar to any Disabled Feature or otherwise circumvent the technology that controls activation of any such feature. For more information on disabled features, please refer to http://www.adobe.com/go/readerextensions .


3.3 Notices. Any copy of the Software that you make must contain the same copyright and other proprietary notices that appear on or in the Software.


3.4 No Modification or Reverse Engineering. You may not modify, adapt, translate or create derivative works based upon the Software. You will not reverse engineer, decompile, disassemble or otherwise attempt to discover the source code of the Software except to the extent you may be expressly permitted to reverse engineer or decompile under applicable law.


4. Transfer.
You may not rent, lease, sublicense, assign or transfer your rights in the Software, or authorize all or any portion of the Software to be copied onto another user’s Computer except as may be expressly permitted by this agreement. You may, however, transfer all your rights to use the Software to another person or legal entity provided that:
(a) you also transfer
(i) this agreement, and
(ii) the Software and all other software or hardware bundled or pre-installed with the Software, including all copies, updates and prior versions, to such person or entity,
(b) you retain no copies, including backups and copies stored on a Computer, and
(c) the receiving party accepts the terms and conditions of this agreement and any other terms and conditions upon which you obtained a valid license to the Software. Notwithstanding the foregoing, you may not transfer education, pre-release, or not for resale copies of the Software.


5. Intellectual Property Ownership, Reservation of Rights.
The Software and any authorized copies that you make are the intellectual property of Adobe Systems Incorporated and its suppliers. The structure, organization and code of the Software are the valuable trade secrets and confidential information of Adobe Systems Incorporated and its suppliers. The Software is protected by law, including without limitation the copyright laws of the United States and other countries, and by international treaty provisions. Except as expressly stated herein, this agreement does not grant you any intellectual property rights in the Software and all rights not expressly granted are reserved by Adobe and its suppliers.


6. Connectivity and Privacy.


6.1 Use of PDF Files. When you use the Software to open a PDF file that has been enabled to display ads through registration with the Ads for Adobe PDF service, your computer may connect to a website operated by Adobe, an advertiser, or other third party. Your Internet Protocol (IP) address is sent when this happens. The party hosting the site may use technology to send (or “serve”) advertising or other electronic content that appears in or near the opened file. The website operator may also use JavaScript, web beacons (also known as action tags or single-pixel gifs), and other technologies to increase and measure the effectiveness of advertisements and to personalize advertising content. Your communication with Adobe websites is governed by the Adobe Online Privacy Policy found at http://www.adobe.com/go/privacy . Adobe may not have access to or control over features that a third party may use, and the information practices of third party websites are not covered by the Adobe Online Privacy Policy.


6.2 Updating. You acknowledge and agree that the Software may cause your Computer to automatically connect to the Internet to check for updates that are available for automatic download to your Computer and to let Adobe know the Software is successfully installed. Only non-personal identifying information is transmitted to Adobe when this happens. Your communication with Adobe websites is governed by the Adobe Online Privacy Policy found at http://www.adobe.com/go/privacy . Please consult the Documentation for information about changing default update settings.


6.3 Settings Manager. Flash Player may cause certain user settings to be stored on your Computer as a local shared object. These settings are not associated with you, but allow you to configure certain settings within the Flash Player. You can find more information on local shared objects at http://www.adobe.com/go/flashplayer_security and more information on the Settings Manager at http://www.adobe.com/go/settingsmanager .


7. Third Party Offerings.
The Software may allow you to access and interoperate with third party websites, software applications, and data services, including rich Internet applications (“Third Party Offerings”). Your access to and use of any Third Party Offering, including any goods, services or information, is governed by the terms and conditions respecting such offerings. Third Party Offerings are not owned or provided by Adobe.


8. Digital Certificates.


8.1 Use. Adobe AIR uses digital certificates to help you identify the publisher of Adobe AIR applications created by third parties. Adobe Reader uses digital certificates to sign and validate signatures within PDF documents and to validate certified PDF documents. Your Computer may connect to the Internet at the time of validation of a digital certificate. Digital certificates are issued by third party certificate authorities, including Adobe Certified Document Services (CDS) vendors listed at http://www.adobe.com/go/partners_cds (“Certificate Authorities”), or can be self-signed.


8.2 Terms and Conditions. Purchase, use and reliance upon digital certificates is the responsibility of you and a Certificate Authority. Before you rely upon any certified document, digital signature or Certificate Authority services, you should review the applicable terms and conditions under which the relevant Certificate Authority provides services, including, for example, any subscriber agreements, relying party agreements, certificate policies and practice statements. See the links on http://www.adobe.com/go/partners_cds for information about Adobe’s CDS vendors.


8.3 Acknowledgement. You agree that
(a) a digital certificate may have been revoked prior to the time of verification, making the digital signature or certificate appear valid when in fact it is not,
(b) the security or integrity of a digital certificate may be compromised due to an act or omission by the signer of the document, the applicable Certificate Authority, or any other third party and
(c) a certificate may be a self-signed certificate not provided by a Certificate Authority. YOU ARE SOLELY RESPONSIBLE FOR DECIDING WHETHER OR NOT TO RELY ON A CERTIFICATE. UNLESS A SEPARATE WRITTEN WARRANTY IS PROVIDED TO YOU BY A CERTIFICATE AUTHORITY, YOU USE DIGITAL CERTIFICATES AT YOUR SOLE RISK.


8.4 Third Party Beneficiaries. You agree that any Certificate Authority you rely upon is a third party beneficiary of this agreement and shall have the right to enforce this agreement in its own name as if it were Adobe.


8.5 Indemnity. You agree to hold Adobe and any applicable Certificate Authority (except as expressly provided in its terms and conditions) harmless from any and all liabilities, losses, actions, damages, or claims (including all reasonable expenses, costs, and attorneys fees) arising out of or relating to any use of, or reliance on, any service of such authority, including, without limitation
(a) reliance on an expired or revoked certificate,
(b) improper verification of a certificate,
(c) use of a certificate other than as permitted by any applicable terms and conditions, this agreement or applicable law;
(d) failure to exercise reasonable judgment under the circumstances in relying on issuer services or certificates or
(e) failure to perform any of the obligations as required in the terms and conditions related to the services.


9. No Warranty.
The Software is being delivered to you “AS IS” and with ALL FAULTS. ADOBE AND ITS SUPPLIERS AND CERTIFICATE AUTHORITIES DO NOT AND CANNOT WARRANT THE PERFORMANCE OR RESULTS YOU MAY OBTAIN BY USING THE SOFTWARE, CERTIFICATE AUTHORITY SERVICES OR OTHER THIRD PARTY OFFERINGS. EXCEPT TO THE EXTENT ANY WARRANTY, CONDITION, REPRESENTATION OR TERM CANNOT OR MAY NOT BE EXCLUDED OR LIMITED BY LAW APPLICABLE TO YOU IN YOUR JURISDICTION, ADOBE AND ITS SUPPLIERS AND CERTIFICATE AUTHORITIES MAKE NO WARRANTIES CONDITIONS, REPRESENTATIONS, OR TERMS (EXPRESS OR IMPLIED WHETHER BY STATUTE, COMMON LAW, CUSTOM, USAGE OR OTHERWISE) AS TO ANY MATTER INCLUDING WITHOUT LIMITATION NONINFRINGEMENT OF THIRD PARTY RIGHTS, MERCHANTABILITY, INTEGRATION, SATISFACTORY QUALITY, OR FITNESS FOR ANY PARTICULAR PURPOSE. The provisions of Section 9 and Section 10 shall survive the termination of this agreement, howsoever caused, but this shall not imply or create any continued right to use the Software after termination of this agreement.


10. Limitation of Liability.
IN NO EVENT WILL ADOBE, ITS SUPPLIERS, OR CERTIFICATE AUTHORITIES BE LIABLE TO YOU FOR ANY DAMAGES, CLAIMS OR COSTS WHATSOEVER INCLUDING ANY CONSEQUENTIAL, INDIRECT, INCIDENTAL DAMAGES, OR ANY LOST PROFITS OR LOST SAVINGS, EVEN IF AN ADOBE REPRESENTATIVE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH LOSS, DAMAGES, OR CLAIMS. THE FOREGOING LIMITATIONS AND EXCLUSIONS APPLY TO THE EXTENT PERMITTED BY APPLICABLE LAW IN YOUR JURISDICTION. ADOBE’S AGGREGATE LIABILITY AND THAT OF ITS SUPPLIERS AND CERTIFICATE AUTHORITIES UNDER OR IN CONNECTION WITH THIS AGREEMENT SHALL BE LIMITED TO THE AMOUNT PAID FOR THE SOFTWARE, IF ANY. Nothing contained in this agreement limits Adobe’s liability to you in the event of death or personal injury resulting from Adobe’s negligence or for the tort of deceit (fraud). Adobe is acting on behalf of its suppliers and Certificate Authorities for the purpose of disclaiming, excluding and/or limiting obligations, warranties and liability as provided in this agreement, but in no other respects and for no other purpose. For further information, please see the jurisdiction specific information at the end of this agreement, if any, or contact Adobe’s Customer Support Department.


11. Export Rules.
You agree that the Software will not be shipped, transferred or exported into any country or used in any manner prohibited by the United States Export Administration Act or any other export laws, restrictions or regulations (collectively the “Export Laws”). In addition, if the Software is identified as export controlled items under the Export Laws, you represent and warrant that you are not a citizen, or otherwise located within, an embargoed nation (including without limitation Iran, Syria, Sudan, Cuba, and North Korea) and that you are not otherwise prohibited under the Export Laws from receiving the Software. All rights to use the Software are granted on condition that such rights are forfeited if you fail to comply with the terms of this agreement.


12. Governing Law.
This agreement will be governed by and construed in accordance with the substantive laws in force:
(a) in the State of California, if a license to the Software is obtained when you are in the United States, Canada, or Mexico; or
(b) in Japan, if a license to the Software is obtained when you are in Japan, China, Korea, or other Southeast Asian country where all official languages are written in either an ideographic script (e.g., Hanzi, Kanji, or Hanja), and/or other script based upon or similar in structure to an ideographic script, such as Hangul or Kana; or
(c) England, if a license to the Software is obtained when you are in any other jurisdiction not described above. The respective courts of Santa Clara County, California when California law applies, Tokyo District Court in Japan, when Japanese law applies, and the competent courts of England, when the law of England applies, shall each have non-exclusive jurisdiction over all disputes relating to this agreement. This agreement will not be governed by the conflict of law rules of any jurisdiction or the United Nations Convention on Contracts for the International Sale of Goods, the application of which is expressly excluded.


13. General Provisions.
If any part of this agreement is found void and unenforceable, it will not affect the validity of the balance of this agreement, which shall remain valid and enforceable according to its terms. This agreement shall not prejudice the statutory rights of any party dealing as a consumer. This agreement may only be modified by a writing signed by an authorized officer of Adobe. updates may be licensed to you by Adobe with additional or different terms. This is the entire agreement between Adobe and you relating to the Software and it supersedes any prior representations, discussions, undertakings, communications or advertising relating to the Software.


14. Notice to U.S. Government End Users.
For U.S. Government End Users, Adobe agrees to comply with all applicable equal opportunity laws including, if appropriate, the provisions of Executive Order 11246, as amended, Section 402 of the Vietnam Era Veterans Readjustment Assistance Act of 1974 (38 USC 4212), and Section 503 of the Rehabilitation Act of 1973, as amended, and the regulations at 41 CFR Parts 60-1 through 60-60, 60-250, and 60-741. The affirmative action clause and regulations contained in the preceding sentence shall be incorporated by reference in this agreement.


15. Compliance with Licenses.
If you are a business or organization, you agree that upon request from Adobe or Adobe’s authorized representative, you will, within thirty (30) days, fully document and certify that use of any and all Software at the time of the request is in conformity with your valid licenses from Adobe.


16. Specific Provisions and Exceptions.


16.1 Limitation of Liability for Users Residing in Germany and Austria.


16.1.1 If you obtained the Software in Germany or Austria, and you usually reside in such country, then Section 10 does not apply, Instead, subject to the provisions in Section 16.1.2, Adobe’s statutory liability for damages shall be limited as follows:
(i) Adobe shall be liable only up to the amount of damages as typically foreseeable at the time of entering into the license agreement in respect of damages caused by a slightly negligent breach of a material contractual obligation and
(ii) Adobe shall not be liable for damages caused by a slightly negligent breach of a non-material contractual obligation.


16.1.2 The aforesaid limitation of liability shall not apply to any mandatory statutory liability, in particular, to liability under the German Product Liability Act, liability for assuming a specific guarantee or liability for culpably caused personal injuries.
16.1.3 You are required to take all reasonable measures to avoid and reduce damages, in particular to make back-up copies of the Software and your computer data subject to the provisions of this agreement.
If you have any questions regarding this agreement or if you wish to request any information from Adobe please use the address and contact information included with this product or via the web at www.adobe.com to contact the Adobe office serving your jurisdiction
Adobe, AIR, Authorware, Flash, Reader, and Shockwave are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States and/or other countries.
Copyright 2006-2008 Adobe Systems Incorporated. All Rights Reserved.
Patents pending in the U.S. and/or other countries.
Reader_Player_AIR_WWEULA-en_US-20080204_1313

 Posted by at 7:17 pm
Apr 272009
 

I’ve run the first realistic tests of the kind of computation that I am planning to perform on my new machine with the GPU “supercomputer” card. Here is a “before” picture:

Self-gravitating star cluster on the CPU

Self-gravitating star cluster on the CPU

And now, the exact same program running on the GPU:

Self-gravitating star cluster on the GPU

Self-gravitating star cluster on the GPU

I’d say that’s quite an improvement. To say the least.

The calculation in this case computed the self-gravitational forces in a cluster of 10,000 stars… it seems that the GPU can perform this computation at least 20 times a second. That’s quite remarkable.

 Posted by at 6:13 pm
Apr 242009
 

I built a new computer. It is a fairly decent computer, but what makes it special is its video card: it is a card that, in addition to producing graphics, can also be used for numerical computations.

The raw speed of the card is one TFLOP. That is, one trillion (single-precision) floating-point instructions per second.

It wasn’t that long ago that not even the world’s biggest supercomputer came even close to this kind of computing power.

I wonder how many such GPU cards are presently being used in places like Iran’s or North Korea’s weapons laboratories. And it’s not like it’s easy to ban their exports to such countries… the card, while bearing the ATI/AMD logo, was nonetheless manufactured in China.

 Posted by at 11:51 am
Mar 312009
 

Folks working on quantum computers are busy trying to make sure that entangled states remain entangled, because decoherence is death for a quantum computation. But now, Gross et al. showed that too much entanglement may not be a good thing: it can result in quantum computers that offer no improvements in efficiency over conventional computers.

 Posted by at 12:04 am
Mar 282009
 

Ever since I became the unfortunate owner of a new laptop (rather nice in most respects, actually) that requires Vista, I’ve been cursing the programmers in Redmond.

One prevailing mystery was this: if my laptop is in Sleep/Hibernation for more than a few hours, why does it take literally forever for it to wake up? And why is there is constant disk activity while I wait for it to respond?

It seems that I may have found the answer. It’s the blasted Superfetch service in Vista, ostensibly designed to help speed up the launching of applications. Perhaps it does that… but on a laptop, it also does many other things, none of them pleasant. It seems that the best thing to do is to disable the Superfetch service once and for all, and call it a bad memory.

 Posted by at 11:26 am
Feb 152009
 

Here’s a nice plot of yesterday’s power outage, courtesy of my server:

Power on Feb 14, 2009

Power on Feb 14, 2009

Interesting how the capacity drop and the recharge curve are both perfectly linear. Makes me wonder how accurate these curves are… do they really represent measured values or just a simplistic guess by software?

On the other hand, both UPSs ran fine for over half an hour, one supplying a server and networking equipment, another supplying a workstation, monitor, and some peripherals. So I really have no cause to complain.

 Posted by at 5:41 pm
Feb 142009
 

Murphy’s law works well on battery power, too.

Not FIVE SECONDS after I finished shutting down my workstation and my main server, the power came back on. If it only came back just a minute earlier, I’d have been able to avoid the shutdown altogether.

Well, at least the power is back on. I cannot help but notice that ever since the 2003 blackout, power has been a great deal less reliable here than before. Or perhaps it was always like this, I just perceive it differently?

A funny thing happened during the shutdown of my workstation, by the way. I executed a manual shutdown, which in turn was interrupted by the UPS that initiated a hibernation. So the machine went to hibernate. When I powered it back on, it came out of hibernation and promptly proceeded to complete the previously initiated shutdown. Computers can be so literal-minded!

 Posted by at 4:03 pm
Feb 062009
 

I’m thinking about quantum computers today.

Quantum computers are supposed to be “better” than ordinary digital computers in that they’re able to solve, in polynomial time, many problems that an ordinary digital computer can only solve in exponential time. This has enormous practical implications: notably, many cryptographic methods are based on the fact that there are mathematical problems that can only be solved in exponential time, rendering it impractical to break an encryption key by computer using any “brute force” method. However, if a quantum computer could solve the same problem in polynomial time, a “brute force” method may be practical.

But the thing is, quantum computers are not exactly unique in this respect. Any good old analog computer from the 1950s can also solve the same problems in polynomial time. At least, in principle.

And that’s the operative phrase here: in principle. An analog computer, which represents data in the form of continuous quantities such as lengths, currents, voltages, angles, etc., is limited by its accuracy: even the best analog computer rarely has an accuracy better than one part in a thousand. Not exactly helpful when you’re trying to factorize 1000-digit numbers, for instance.

A quantum computer also represents data in the form of a continuous quantity: the (phase of the) wave function. Like an analog computer, a quantum computer is also limited in accuracy: this limitation is known as decoherence, when the wave function collapses into one of its eigenstates, as if a measurement had been performed.

So why bother with quantum computers, then? Simple: it is widely believed that it is possible to restore coherence in a quantum computer. If this is indeed possible, then a quantum computer is like an analog computer on steroids: any intermediate calculations could be carried out to arbitrary precision, only the final measurement (i.e., reading out the result) would be subject to a classical measurement error, which is not really a big issue when the final result, for instance, is a yes/no type result.

So that’s what quantum computing boils down to: “redundant qubits” that can ensure that coherence is maintained throughout a calculation. Many think that this can be done… I remain somewhat skeptical.

 Posted by at 7:38 pm
Jan 252009
 

Often, I wondered: who designed the graphical elements, like the fonts and icons that appear on my computer screen?

Finally, I know the name of one of these people. She is Susan Kare, and her work appeared in the original Macintosh, Windows 3.0, OS/2, even Facebook. I came across her name as I was reading about the 25th anniversary of the Macintosh and clicked a link that took me to a 12-year old article from The New York Times that Ms. Kare has on her Web site.

 Posted by at 3:04 pm
Jan 102009
 

I am test driving Windows 7. Some rough edges (it’s a beta, after all) but I already like it more than I liked Vista. If only Microsoft saw the light and dropped Activation, I might even consider recommending it. One of these days, software companies will realize that penalizing legitimate users is not the right way to fight piracy, but that day has not come yet…

 Posted by at 3:28 am
Jan 072009
 

Here’s an article worthy of a bookmark:

http://peltiertech.com/Excel/Charts/XYAreaChart2.html

It offers a way to produce a chart in Microsoft Excel much like this one:

Filled XY area chart

Filled XY area chart

This chart is from something I’m working on, an attempt to test gravitational theories against galaxy survey data.

The link above also comes with a warning: the discussed technique doesn’t work with Excel 2007, due to a (presumably unintentional) change in Excel’s handling of certain complex charts. A pity, but it is also a good example why I am trying to maintain my immunity against chronic upgrade-itis. Two decades ago upgrades were important because they fixed severe bugs and offered serious usability improvements. But today? Why on Earth would I want to upgrade to Office 2007 when Office 2003 does everything I need and more, just so that I can re-learn its user interface? Or make Microsoft richer?

 Posted by at 3:51 pm
Jan 022009
 

As a contributor to Maxima, I occasionally receive requests from students to fill out surveys. I got one today, and after completing it, felt obliged to add the following comment, which really applies to most such surveys that I’ve seen:

You seem to be concentrating on things like prestige, reputation, stuff like that that I have no interest in and certainly play no role in my decision to work on an open source project. Simply put, the projects I work on I work on because of what they DO, not because they are open source or not. It’s not a self-serving activity… I no more think of it as “programming” as I think, say, of repairing my computer as “screwdrivering”. Programming (or using a screwdriver) is not the goal, but the means to reach a goal.

I work on Maxima because I need it for my research, because its tensor algebra packages were broken and I was able to repair and maintain them, because I need the result, because by participating I can help ensure that the package remains reliable and useful… what others think of me is irrelevant. I left your last question (ranking roles by prestige) unanswered for this reason… you might as well have asked me to rank them by color.

 Posted by at 5:00 pm
Jan 012009
 

A full nine years after the Y2K bug was to end civilization as we know it, it appears that Microsoft has yet to discover leap years. It seems that many of their Zune music players died a premature death yesterday (though they’re expected to come back to life today) because they were not prepared to deal with years that are 366 days in length.

Not only is this a remarkable case of sloppy programming and quality control, it also highlights why devices with digital rights management are such a bad idea. They’re designed not to serve you, the person who owns the devices and pays for the content played on it, but to serve third party content providers who view you as the enemy. And you actually pay good money for such garbage?

This is why I have yet to purchase an iPod, Zune, or indeed, any other device or software that is designed to police my non-existent file sharing habits.

 Posted by at 3:23 pm
Jan 012009
 

I am starting the new year by reading about a substantial piece of cryptographic work, a successful attack against a widely used cryptographic method for validating secure Web sites, MD5.

That nothing lasts forever is not surprising, and it was always known that cryptographic methods, however strong, may one day be broken as more powerful computers and more clever algorithms become available. What I find astonishing, however, is that even though this particular vulnerability of MD5 has been known theoretically for years, several of the best known Certification Authorities continued to use this broken method to certify secure Web sites. This is hugely irresponsible, and should a real attack actually occur, I’d not be surprised if many lawsuits followed.

The theory behind this attack is complicated, and the hardware is substantial (200 Playstations used as a supercomputing cluster were required to carry out the attack.) One basic reason why the attack was possible in the first place has to do with the “birthday paradox”: it is much easier to construct a fake certificate that has the same signature as a valid certificate than it is to recover the original cryptographic key used to sign the valid certificate.

This has to do with the probability that two persons at a party have the same birthday. For a greater than 50% chance that another person at a party has your birthday, the party has to be huge, with more than 252 guests. However, the probability that at a given party, you find at least two people who share the same birthday (but not necessarily yours) is greater than 50% even for a fairly small party of just over 22 guests.

This apparent paradox is not hard to understand. When you meet another person at a party, the probability that he has the same birthday as you is 1/365 (I’m ignoring leap years here.) The probability that he does NOT have the same birthday as you, then, is 364/365. The probability that two individuals both do NOT have the same birthday as you is the square of this number, (364/365)2. The probability that none of three separate invididuals has the same birthday as you is the cube, (364/365)3. And so on, but you need to go all the way to 253 before this results drops below 0.5, i.e., that the probability that at least one of the people you meet DOES have the same birthday as you becomes greater than 50%.

However, when we relax the condition and no longer require a guest to have the same birthday as you, only that there’s a pair of guests who happen to share their birthday, we need to think in terms of pairs. When there are n guests, they can form n(n – 1)/2 pairs. For 23 guests, the number of pairs they can form is already 253, and therefore, the probability that at least one of these pairs has a shared birthday becomes greater than 50%.

On the cryptographic front, what this basically means is that even as breaking a cryptographic key requires 2k operations, a much smaller number, only 2k/2 is needed to create a rogue cryptographic signature, for instance. It was this fact, combined with other weaknesses of the MD5 algorithm, that allowed these researchers to create a rogue Certification Authority certificate, with which they can go on and create rogue secure certificates for any Web site.

 Posted by at 2:30 pm
Dec 292008
 

Sometimes, programmers do physics, for better or for worse. Sometimes, physicists do programming, and the result is not always disastrous, sometimes quite the contrary. Bruce Allen, for instance, is a gravitational physicist who developed an extremely useful set of programs for Linux, allowing one to monitor the health status of a hard drive using the drive’s SMART (Self-Monitoring, Analysis and Reporting Technology) capabilities. He certainly needed it… his cluster has several hundred disk drives in operation. I only have a few, but nevertheless it is reassuring to know that they’ll send me an e-mail, presumably before a catastrophic failure wipes out all my data.

Which of course can still happen. I’ve seen hard drives die a sudden death, with no advance warning whatsoever, becoming an expensive but useless boat anchor.

 Posted by at 4:18 pm
Dec 192008
 

Sad news today: at the age of 76, Majel Roddenberry, aka. Nurse Christine Chapel from Star Trek and Lwaxana Troi from Star Trek: TNG, has passed away today. My she rest in peace.

Her husband, Star Trek creator Gene Roddenberry, passed away over 17 years ago, on October 24, 1991. That date is memorable to me for another reason: it was on the morning of that day that I became a wizard of Richard Bartle’s classic multiplayer computer game, MUD (Multi-User Dungeon), aka British Legends, a game that I have ported to modern 32-bit platforms nearly a decade later and that I have been hosting ever since.

 Posted by at 1:27 am
Dec 172008
 

… two days and several scraped fingers later (after I also lost, no doubt, many braincells to aggravation, not to mention hours of useful operating time of my heart muscle measured by a number considerably greater than the 48 or so that have elapsed since I first discovered that my computer is in trouble) I am finally back in business. All because of a bleeping 10 cent capacitor. But before I complain too loud, I quickly remind myself that during these 48 hours or so, tens if not hundreds of thousands (or millions?) of people around the world were killed, died of starvation, lost their most loved ones, lost their freedom, lost their possessions, you name it… and I am complaining because I had to replace a stupid motherboard and bring my computer back to life?

No, I am not complaining. Still, the last two days were a time I could have done without.

 Posted by at 2:28 pm
Dec 162008
 

That’s all it took. One faulty capacitor, worth about 10 cents, to put my computer out of commission for nearly two days.

The capacitor in question sits on the motherboard and, judging by its placement, it regulates power to the main I/O chip (which explains why, among other things, the failing motherboard had trouble accessing disks.)

Other than this, my experience qualifies as a comedy of errors. After replacing the motherboard with an identical model, the system didn’t boot; it turned out that I inserted the processor incorrectly, bending (but fortunately, not breaking!) some of its pins. Then I found out that the BIOS of the replacement motherboard, which I purchased second-hand, was password locked. After I reset the BIOS, the system didn’t boot at all, it turned out it needed a PCI graphics card to come back to life. Then, the operating system didn’t boot… it turned out that the partition table and boot sector was damaged on the hard drives. Meanwhile, the floppy drive in this machine died, just when I needed it to boot from a Windows XP CD (extra drivers needed for the RAID controller in my computer come on a floppy.)

But now, the system is rebuilding the RAID mirror, and when that’s done, I’ll reconnect everything and try to resume where I left off two nights ago. Groan.

Oh, but I forgot: I also need to upgrade this motherboard’s BIOS, to ensure that it recognizes the dual-core CPU (which it presently doesn’t).

Which reminds me, I’ve been using this motherboard for years, and it’s been working well (apart from a failing chip fan and now, this failing capacitor.) But when I tried to install VISTA on a test machine with the same motherboard, VISTA didn’t work in its “enhanced” AERO mode… or, it did, but only recognizing one CPU core. According to ATI, it’s NVIDIA’s fault, as their AGP implementation is not fully multiprocessor compatible and VISTA has problems with that. But, I ask naively… how come XP worked so well on this motherboard for years? AERO may be pretty, but it’s still just bits that are being moved between motherboard and graphics card, is it not?

 Posted by at 9:23 pm
Dec 152008
 

What a bloody joyful day. My main computer is dead this morning. It now even fails to boot. Annoyingly, I don’t have any external SATA enclosures that would allow me to hook one of its drives up to another computer to check for signs of trouble, verify data integrity, and last but not least, make a backup (my last backup is a few days old.) So it’s a trip to the nearest computer store. And once I’m done, my main computer will still be dead, it’s just that I’ll no longer need to worry about what was stored on it (except for the numerous applications, configuration settings, etc…) This is NOT going to be a fun day. Miserable outside, too.

 Posted by at 3:10 pm
Dec 112008
 

Yes, they are nice. I spent several hours (!) today on the phone with Microsoft, and they really tried to help. In the end, my issue with installing KB958624 remains unresolved but they acknowledged the problem, suggested meaningful ways to deal with it, and promised that it will be researched and that I will be notified.

More importantly, they listened to my comments concerning Activation. This young, very polite engineer from India with impeccable English listened intently and took notes, appreciating my basic concern: Activation (and copy protection in general) will not stop piracy, but it alienates a company’s best friends, namely its paying customers.

 Posted by at 1:34 am