|
May 2007
May 31, 2007
Rubik's Cube: Busted Again
Proving once again that nothing is sacred to programmers, computer scientists have proven that all you need to solve any configuration of a Rubik's cube is 26 moves, beating the old world's record of 27 moves.
Northeastern University Computer Science professor Gene Cooperman and graduate student Dan Kunkle were able to set this new record through two primary techniques:
- They used 7 terabytes of distributed disk as an extension to RAM, in order to hold some large tables.
- They developed a new, "faster faster" way of computing moves, and even whole groups of moves, by using mathematical group theory.
Cooperman and Kunkle put all of the configurations of a Rubik's cube in a family of sets of configurations (called a "family of cosets" in mathematical group theory). They then looked at the result of applying a single move to all of the configurations of a coset at once. They simulated this on a computer at a rate of 100,000,000 times per second, using a new technique in mathematical group theory. Cooperman and Kunkle used computers at Teragrid to attack the puzzle.
"The Rubik's cube is a testing ground for problems of search and enumeration," says Cooperman. "Search and enumeration is a large research area encompassing many researchers working in different disciplines -- from artificial intelligence to operations. The Rubik's cube allows researchers from different disciplines to compare their methods on a single, well-known problem."
The honor of the first optimal solution to Rubik's Cube goes to UCLA computer science professor Richard Korf who in 1997 showed that the median optimal solution was 18 moves, although he believed any cube could be solved in no more than 20 moves. However, he was unable to prove this, and no one has ever been able to prove that it could be solved in less than 27 moves.
"Korf had written a program that spends a long time to find optimal solutions for single states of the Rubik's cube," says Kunkle. “Our program first does a large pre-computation and then it very quickly -- in about a second -- finds a solution in 26 moves or less for any state of Rubik's cube."
Rubik's Cube, invented in the late 1970s by Erno Rubik of Hungary, is perhaps the most famous combinatorial puzzle of its time. Its packaging boasts billions of combinations, which is actually an understatement. In fact, there are more than 43 quintillion (4.3252 x 10**19) different states that can be reached from any given configuration.
Posted by Jon Erickson at 01:59 PM Permalink
|
May 30, 2007
Website Quality Survey: Your Help Is Needed
Dave Rico is asking for your help, and I'm hoping you can lend him a hand (or a few mouse clicks, at minimum). As part of his doctoral dissertation, Dave has put together a survey entitled Effects of Agile Methods on Website Quality to gauge, well, the effects of agile methods on website quality. And Dave and I would greatly appreciate it you would spare a few minutes participating.
The survey is a two-stage survey.
- The first stage involves determining the degree to which software developers are using Agile Methods to produce e-commerce websites.
- The second stage involves asking Internet shoppers and consumers to evaluate the quality of the e-commerce websites produced by the software developers (which will be done at a later date after this first-stage survey).
This is one of those everybody wins deals:
- Dave wins because he gets the benefit of your experience for his research.
- I win (actually, we all win) because he will be writing an article for Dr. Dobb's Journal about the survey and results.
- You win because Dave will be offering incentives for you to participate (see details at the survey web site).
It is worth mentioning that Dave is experienced in these things. He's the author of ROI of Software Process Improvement: Metrics for Project Managers and Software Engineers, among other books and papers. If you have any questions for him or would like to receive a copy of the research results at dfrico@comcast.net. And as Dave says, "though minimal demographic data may be collected, absolute data privacy will be maintained at all times."
So take a few minutes and help Dave polish off that PhD by spending a few minutes on the survey. We'll all be winners.
Posted by Jon Erickson at 01:18 PM Permalink
|
May 29, 2007
Mainframe Migration
Mainframe migration. Isn't that what the personal computer revolution was all about in the first place? Assuming of course, that we're talking about migrating from mainframe computers to something smaller and more personal -- like cell phones, I suppose.
Mass migrations that have changed society are fascinating. Migrations from the Dust Bowl to California, the rural South to the urban North, the bogs of Ireland to the streets of New York. That kind of thing. Which is probably why the Mainframe Migration Alliance (MMA) caught my eye.
Not that you'll be seeing legions of mainframes alongside the road, thumbs out, slowly moving coast to coast on a hot summer day. That's not what the MMA is all about. What it does promote, however, is the migration of workloads off of the mainframe and onto the Microsoft platform. All in all, the MMA has more than 100 member companies, all of whom are interested in seeing more migration from mainframes to Windows Servers. In other words, according to Intel's Susan Tauzer, "the MMA represents the leading edge of a larger community that delivers and deploys workloads on Windows that were historically the domain of big iron." Yep, sounds like what we heard at the beginning of the PC revolution.
But an interesting (canned) question is posed in the MMA's FAQ: Why the focus on just mainframes? The answer, of course, is that mainframe usually have special requirements -- near 100-percent application availability, or the ability to handle thousands of transactions per second. And addressing these requirements demands technical depth in both the mainframe and target platforms.
As you probably would expect, the MMA site has a link to the COBOL User Group; that alone ought to put a smile on your face. And then there are the case studies. Stories of companies that have successfully migrated from mainframes to something else, presumably Windows Servers. I don't know for sure because I didn't read all of them. You'll also encounter lots of companies that you never heard of before unless you've been working in the mainframe world. For those of us who are generally PC-centric, they remain unfamilar.
Posted by Jon Erickson at 05:56 PM Permalink
|
May 24, 2007
Entrepreneurship: Nature or Nurture?
So are entrepreneurs born or made? I admit, applying the "nurture" versus "nature" debate to business models is a stretch, but clearly there's at least one camp that sees entrepreneurship as being "made", as in "nurture" -- the Donald H. Jones Center for Entrepreneurship at the Tepper School of Business at Carnegie Mellon University whose director is Arthur A. Boni who is the John R. Thorne Professor of Entrepreneurship. Whew!
Putting aside the length of the moniker, the program offers both undergraduate- and graduate-level classes on topics ranging from "Entrepreneurship for Scientists" to "Technology Commercialization Business Development Strategy." CMU isn't alone in the entrepreneur education business; in fact, it was ranked 6th in the U.S. by the Wall Street Journal last year, behind similar programs at Stanford University, Babson College, the University of California-Berkeley, Harvard, and the Massachusetts Institute of Technology.
So clearly, there are a lot of very smart people who believe that you can teach entrepreneurs to be entrepreneurs. And not just in the U.S. either. As it turns out, CMU is exporting its entrepreneur education program to Qatar in a nine-month long program called the Executive Entrepreneurship Certificate Program which aims to boost opportunities for creating technology start-ups in Doha, Qatar. The program teaches skills and methods for creating technology-based ventures through practical, real-world projects.
"Entrepreneurship can be taught," said Arthur A. Boni, John R. Thorne Chair of Entrepreneurship and director of the Donald H. Jones Center, "but effective teaching requires a blend of experiential learning coupled with academic rigor."
There you have it -- "entrepreneurship can be taught."
Okay, I go along with that, but I don't know if that jibes with the recently released Kauffman Index of Entrepreneurial Activity. One thing the Kauffman study found is that in the U.S. approximately 465,000 new businesses per month are launched, a level of entrepreneurial activity that's remained fairly consistent between 2005 and 2006.
I'd also bet that a majority of those entrepreneurs launching businesses did not have the opportunity to attend any of the top entrepreneur education programs. Which then suggests that maybe there's something to the "nature" part of entrepreneurship. Or maybe it is that a lot of people lost their jobs and launched new businesses to put food on the table. Eating, I think we all can agree, is a most certainly "nature."
Furthermore, I'd agree that there's probably a difference in scope and complexity between, say, a graduate of the Stanford Univeristy entrepreneur education program who is launching a biotech start-up, and someone starting a lawn-care business.
Irony being what it is, the CMU is looking to entrepreneurs in Qatar, while at the same time, according to the Kauffman study, most of the entrepreneurs in the U.S. are born outside the U.S.
Posted by Jon Erickson at 09:49 AM Permalink
|
May 23, 2007
Self-Learning: Just Another Way to Say 'AI'
I try to stay on top of the latest buzzwords in computing. Really I do. But no matter how forward thinking I am, it turns out I'm always a little behind the curve. Take Computational Ecology, for instance. New to me, but yesterday's digital fishwrap to those in the computational ecology business.
And now there's "self-learning software." I don't know about you, but to me that says "artificial intelligence." But since no one wants to use the term "AI" anymore, self-learning software will have to do. Of course, "self-learning software" also has another meaning, as in software that you use to teach yourself something like mathematics. In this sense, self-learning software has been around for more than a decade, at least according to papers such as A Comparison of Authoring Software for Developing Mathematics Self-Learning Software Packages.
What brought all this to my attention is IBM's new self-learning software that automatically categorizes large volumes of information, making it easier to find, access, and use. The IBM Classification Module for OmniFind Discovery Edition provides a platform for managing classification of content archiving -- compliance solutions, e-mail management, content-centric business process management solutions, taxonomy management, and the like.
The content classification software automatically learns and interprets the meaning of unstructured text such as in documents, e-mails, and customer interactions -- in real-time, making content classification more precise. The software understands words, linguistics, semantics, and context of the language as well as associated metadata. The self-learning classification software becomes more accurate over time without requiring human adjustment.
Interestingly, the OmniFind Discovery Edition is enabled for Services-Oriented Architecture (SOA) environments and can deliver content classification as a service to any content-centric application, helping automate processes and decision-making to determine how a piece of content should be used. For example, the classification technology can be called upon as a service by business process management software to identify a piece of content and determine if it should be used in a legal compliance review workflow based on the content and context of the document. It can also classify e-mails for online contact center applications to automatically prioritize certain customer situations over others.
With the ability to understand linguistics, semantics, and the context of information, the Classification Module lets you analyze unstructured and semi-structured content and metadata, allowing previously untapped information to be quickly and precisely classified so it can be more effectively found and reused. The content can be classified within existing taxonomies or the system can even propose new taxonomies, making content easier to manage and retrieve and reducing the need for manual categorization.
So here's what I self-learned: This sure sounds like AI to me.
Posted by Jon Erickson at 09:48 AM Permalink
|
May 22, 2007
World Record for "Integer Factorization"; Used to Verify PKC Security
The fun and excitement just doesn't stop in the world of mathematics.
Let's see, the other day researchers at the University of Minnesota published a paper entitled When Two and Two is Not Equal to Four, then the folks at Wolfram Research announced Wolfram 2,3 Turing Machine Research Prize, and finally the news about the Godel Prize. Now we hear that mathematicians have broken a record of some kind or another by generating a hard-to-factor number that is a 307 digits long.
After nearly a year's worth of calculation, computer clusters of 146 PCs from the Ecoles Polytechniques Federales de Lausanne (EPFL), the University of Bonn,and NTT Corporation factored the 307-digit number using the special number field sieve, a technique devised in the 1980s by A.K. Lenstra, H.W. Lenstra, John Pollard, and Mark Manasse.
The experimental results show the completion of integer factorization for a world record of a 1017-bit composite number, a substantial increase over the special number field sieve method world record (911 bits). The results go on to show the factorization for (2^1039-1)/5080711, a special-type composite number. The difficulty in the integer factorization problem is the foundation of security and in regard to RSA encryption using the current 1024-bit encryption key as the mainstream. Consequently, the new world record is signifcant in that the effectiveness of the security and strength can be more precisely estimated.
Using the sieve program developed at the University of Bonn, NTT, EPFL, and the University of Bonn respectively provided 84.1 percent, 8.3 percent, and 7.6 percent of the calculation resources, and the calculation amount equivalent to 95 years of operation on a 3-Ghz Pentium D. PC clusters at NTT and EPFL, consisting of 110 and 36 PCs, respectively, were run in parallel for more than two months for the calculations. The results were 47 non-trivial solutions of the simultaneous equations defined by an approximate 70,000,000 x 70,000,000 large sparse linear matrix.
"This is the largest 'special' hard-to-factor number factored to date," explains EPFL cryptology professor Arjen Lenstra. (The number is "special" because it has a special mathematical form -- it is close to a power of two.) The news of this feat will grab the attention of information security experts and may eventually lead to changes in encryption techniques.
While relatively easy to identify huge prime numbers (that is, if you're an experienced mathematician with lots of computer power and several grad assistants), factoring numbers down into their prime components is hard. The most recent factoring record is RSA200, a 200-digit "non-special" number whose two prime factors were identified in 2005 after 18 months of calculations that took over a half century of computer time.
All this would not have been possible in 1990 when Lenstra began using number theory and distributed computing to factor. Increased computer power and better computational techniques have make all this possible. "We have more powerful computers, we have come up with better ways to map the algorithm onto the architecture, and we take better advantage of cache behavior," Lenstra explains.
What's nexst? 1024-bit encryption? "The answer to that question is an unqualified yes," says Lenstra. For the moment the standard is still secure, because it is much more difficult to factor a number made up of two huge prime numbers, such as an RSA number, than it is to factor a number like this one that has a special mathematical form. But the clock is definitely ticking. "Last time, it took nine years for us to generalize from a special to a non-special hard-to factor number (155 digits). I won't make predictions, but let's just say it might be a good idea to stay tuned."
Posted by Jon Erickson at 08:48 AM Permalink
|
May 21, 2007
Gödel Prize for Natural Proofs
And speaking of awards... On the heels of congratulating the winners of the Intel Young Scientists, we should also recognize the contributions of Alexander Razborov and Steven Rudich who will be receiving the 2007 Gödel Prize for outstanding papers in theoretical computer science at the upcoming ACM Symposium on Theory of Computing.
The award is actually for a paper entitled Natural Proofs originally presented in 1994, where Razborov and Rudich explained that a wide class of proof techniques cannot be used to resolve P vs. NP Problem -- a classic question on the limits of proof and computation that has resisted resolution over the years. The problem applies to solving complex mathematical problems common in safeguarding ATM security, passwords, cryptography, authentication, access control, and e-commerce.
Their findings address a problem that is widely considered the most important question in computing theory. It has been designated as one of seven Prize Problems by the Clay Mathematics Institute, which has allocated $1 million for solving each problem. It asks -- if it is easy to check that a solution to a problem is correct, is it also easy to solve the problem? This problem is posed to determine whether questions exist whose answer can be quickly checked, but which require an impossibly long time to solve.
The paper proves that there is no so-called "Natural Proof" that certain computational problems often used in cryptography are hard to solve. Such cryptographic methods are critical to electronic commerce, and though these methods are widely thought to be unbreakable, the findings imply that there are no Natural Proofs for their security.
Razborov is a mathematician and computational theorist at the Russian Academy of Science Steklov Mathematical Institute. Rudich is Associate Professor of Computer Science at Carnegie Mellon University. The Gödel Prize, which includes an award of $5000, recognizes major contributions to mathematical logic and the foundations of computer science.
Posted by Jon Erickson at 09:06 AM Permalink
|
May 18, 2007
Intel Young Scientists Announced
Congratulations to Dayan Li, Philip Streich, and Dmitry Vaintrob. Who are they and why should you congratulate them? Well, they were selected from more than 1500 young scientists from 51 countries, regions, and territories as the winners of the Intel Foundation Young Scientist Awards.
That's a big deal, and they deserve to be honored and acknowledged for their efforts. Oh yes, the $50,000 college scholarships they receive is kind of nice too.

Dayan Li focused on angiogenesis, the growth of new capillaries from existing blood vessels, which is essential for tumor growth and metastasis. Thrombospondin-1 (TSP1) is one of the most powerful angiogenesis inhibitors and interacts with nitric oxide (NO), which can inhibit or stimulate angiogenesis. This study developed a quantitative, highly accurate and precise method to simultaneously monitor the expression of several tumor marker genes in human umbilical vein endothelial cells (HUVECs) in response to TSP1 and NO. Li's project may be able to provide invaluable information on drug targets and their potential to be regulated for the treatment of cancer.

Phillip Streich's research study provided the first evidence that carbon nanotubes, which are among the strongest and most conductive materials in the world, are thermodynamically soluble. He further quantified this solubility and its limits by using static light scattering to measure a parameter called the second virial coefficient B. These findings may be the key to finally realizing the potential of nanotubes as a supermaterial.
Dmitry Vaintrob's sophisticated mathematical investigation evaluated ways to associate algebraic structures to topological spaces. Vaintrob proved that loop homology and Hochschild cohomology coincide for an important class of spaces.

"These three winners -– and indeed, all 1,500 Intel ISEF participants –- represent some of the most innovative thinking around the world," said Craig Barrett, Intel chairman.
In addition to the Dayan, Dmitry, and Phillip, more than 500 participants received scholarships and prizes for their efforts. Intel awards included the 18 "Best of Category" winners, selected from the categories, who each received a $5000 Intel scholarship and an Intel-based notebook.
So congratulations to everyone involved, and thanks to Intel for once again making this event possible.
Posted by Jon Erickson at 06:48 PM Permalink
|
May 16, 2007
The Wolfram Prize and Universal Computation: It's Your Problem Now
It's not often I put you on the spot, but I did yesterday. Here's the deal....
So Ben Wilson, a guy who works for Wolfram Research sent me a note about the establishment of a $25,000 prize for the first person or group to prove (or disprove) that a particular very simple Turing machine can act as a universal computer.
Very cool, no question about it.
The prize is being announced on the fifth anniversary of the publication of Stephen Wolfram's A New Kind of Science and is intended to help stimulate one of the lines of research opened up by the book. (For more on the book, see Michael Swaine's column The Blind Men and The Elephant.)
According to Ben, today's computers have CPUs with millions of components. But it is known in theory that much simpler systems are also capable of "universal computation," which means that with appropriate programming, they can perform arbitrary computational tasks. The aim of the Wolfram 2,3 Turing Machine Research Prize is to determine the edge of where universal computation is possible.
Invented by British mathematician Alan Turing in 1936, Turing machines were the first abstract models of today's computers. Turing's primary achievement was to construct -- on paper -- a single "universal Turing machine" that could be made to emulate any other Turing machine, or in effect to perform any computation.
Ben goes on to say that Turing's insight, which in effect showed that software is possible, is what eventually launched the computer revolution, and led to much of the dramatic growth of technology in the late 20th century.
In his book, Wolfram found many examples of programs with simple rules that give rise to highly complex behavior, and he proposed his general Principle of Computational Equivalence to characterize this phenomenon. One consequence of this principle is that it suggests that universal computation should be common even among systems with very simple rules.
Wolfram's concept that universal computation should be ubiquitous -- even among systems with simple rules -- also has practical implications, notably suggesting that it should be possible to make computational devices out of many new classes of physical systems, especially at the molecular scale.
"Finding the very simplest universal computers is an important way to nail down the Principle of Computational Equivalence," says Wolfram. "And Turing machines are the classic examples of computational systems."
It is this Turing machine that is the subject of the prize. The prize is open to all entrants, both amateur and professional. It has no closing date. The prize is being adjudicated by a committee consisting of Lenore Blum, Greg Chaitin, Martin Davis, Ron Graham, Yuri Matiyasevich, Marvin Minsky, Dana Scott, and Stephen Wolfram.
And this is when I put you on the spot. So in acknowledging that I indeed think the prize is a worthy endeavor, I told Ben that I would mention it and his immediate response was "Maybe one of your readers can crack this thing!" To which I responded: "If a Dr. Dobb's reader can't crack it, then it can't be cracked."
So I deftly moved the burden of solving the problem from my shoulders to your's. If you win the $25,000 prize, well, you can keep it all, but you'll have to write an article for Dr. Dobb's about it. Good luck, and keep me posted.
In a related note, it worth mentioning that Wolfram Research recently released Mathematica 6.0 and DDJ contributing editor Mike Riley talked with Tom Wickham-Jones, Director of Kernel Technology for Wolfram Research, about its new features. You can hear what Tom has to say in this Dr. Dobb's Podcast.
Posted by Jon Erickson at 08:47 AM Permalink
|
May 15, 2007
Divide and Conquer
Here's the problem with math. Okay, here's my problem with math. According to an independent survey commissioned by Microsoft, 77 percent of teachers and 73 percent of parents claim math and science are the most difficult homework subjects for students, yet only 36 percent of parents feel capable to help their children.
Microsoft's answer, of course, is more Microsoft software. Specifically, the company has just released its Microsoft Math 3.0, a software packaged designed to help students complete their math and science homework more quickly and easily while teaching important fundamental concepts. I'm all for that, and way back when I first dipped my toe into algebra, trigonometry, calculus, physics, and chemistry, I could have used any and all assistance, digital or otherwise.
"Students often become annoyed when they can’t finish their math homework quickly and waste time searching for help," said Dave Brooks, Education Products Group product manager at Microsoft. "Microsoft Math helps reduce that frustration [bold type added by me] by providing a one-stop shop for help with math and science."
See it is even hard for the smart folks at Microsoft to talk about math without resorting to the word "frustration" in the same sense. (At least Microsoft marketeers aren't trying to say "Math 3.0" as in "Web 2.0". That would be really frustrating.)
But what really is frustrating is that on or about the same day Microsoft cuts loose Math 3.0, researchers at the University of Minnesota published a paper entitled "When Two and Two is Not Equal to Four." Now there's a headline that would even frustrate Math 3.0.
Actually, the complete title of the paper, which was written by Akshay Rao and Haipeng Chen, is When Two and Two is Not Equal to Four: Errors in Processing Multiple Percentage Changes. In it, Rao and Chen examine how consumers treat percentages like whole numbers, resulting in systematic errors in calculation.
"Numerical quantities such as price or product performance are often expressed in percentage form," said Rao. "But when consumers have to deal with more than one percentage at a time, they make errors that can be costly. For instance, if a store offers a 25 percent off sale with an additional 25 percent off for a certain product, people assume they are getting a 50 percent reduction. In reality, they are getting about a 43 percent discount. On a $100 product, they pay $56.25, not $50. This phenomenon becomes even more interesting when a value goes up and then down. Imagine your stock portfolio went up 40 percent last period, and down 30 percent this period. You are not better off by 10 percent. Your portfolio is down 2 percent."
Rao and Chen tested the impact of offering a 20 percent discount and an additional 25 percent discount versus an economically equivalent 40 percent discount in a retail store. The number of purchasers, sales volume, revenue, and profit were all higher when the double discounts were offered.
Here's what would be fun -- a cross-tabulation between the people in Microsoft's survey with the people in Rao and Chen's study. I don't know how it would all add up, but Math 3.0 sales would probably multiply.
Posted by Jon Erickson at 04:14 PM Permalink
|
May 11, 2007
Color Me IBM
If any company in the computer industry can be described as "colorful," it has to be IBM. Granted, that might be difficult to swallow if you still think of Big Blue as a grey-suit, white-shirt, black-wingtips kind of organization. But that isn't necessarily the case anymore.
Take the color "blue," for instance. It was 10 years ago today that IBM's Deep Blue became the first computer to win a chess tournament against a reigning world champion chess master. Deep Blue had 32 processors and could process about 200 million chess moves per second in its historic six-game match against Garry Kasparov. Today, Blue Gene is the fastest supercomputer in the world and the descendent of Deep Blue, uses 131,000 processors to routinely handle 280 trillion operations every second. A single scientist with a calculator would have to work non-stop for 177,000 years to perform the operations that Blue Gene can do in one second.
Then there is the color "green." IBM's Project Big Green is an initiative that targets corporate data centers where energy constraints and costs can limit their ability to grow. According to IDC's Worldwide Server Power and Cooling Expense 2006–2010 Forecast, approximately 50 cents is spent on energy for every dollar of computer hardware. This is expected to increase by 54 percent to 71 cents over the next four years. IBM is "redirecting" (hmmm, not sure what that means?) $1 billion per year across its businesses to increase the level of energy efficiency in IT. The plan includes new products and services for IBM and its clients to reduce data center energy consumption, transforming public technology infrastructures into "green" data centers. The savings are substantial -- for an average 25,000 square foot data center, clients should be able to achieve 42 percent energy savings. Based on the U.S. energy mix, this saves about 7,439 tons of carbon emissions saved per year.
"The data center energy crisis is inhibiting our clients’ business growth as they seek to access computing power," said Mike Daniels, senior vice president, IBM Global Technology Services. "Many data centers have now reached full capacity, limiting a firm’s ability to grow and make necessary capital investments."
IBM currently runs the world’s largest commercial technology infrastructure, with more than 8 million square feet of data centers in six continents. By using the same energy efficiency initiatives it is offering clients, IBM expects to double the computing capacity of its data centers within the next three years without increasing power consumption or its carbon footprint. Compared to doubling the size of its data centers by building out new space, IBM expects this will help save more than 5 billion kilowatt hours of energy per year.
Finally, there's the color "red." In the scope of things, this doesn't compare to a breadth of Project Green or the power of Deep Blue. Still, IBM's initiative to encourage the growth of Red Hat Enterprise Linux on IBM System z mainframes is a step forward for Linux and open source. In particular, Big Blue and Red Hat are highlighting the security advantages of Red Hat Enterprise Linux and System z. These include the physical security associated with a centralized mainframe server and storage installation, and the use of virtualization technologies such as logical partitions (LPARs), which divide the extensive resources of the mainframe between workloads, while securely isolating each application from the others.
See, a colorful outfit. Who said Big Blue was still just blue?
Posted by Jon Erickson at 09:36 AM Permalink
|
May 08, 2007
Analyzing and Understanding Web 2.0 Apps
In the best Web 2.0 world, everything you need to build an application is already there and waiting for you. All you have to do is glue the stuff together. But in the real Web 2.0 world, that "stuff " may not fit together the way you intended, requiring that you actually have to analyze and understand your application.
This is the problem that Emre Kiciman, a researcher in the Cybersecurity and Systems Management group at Microsoft Research, is tackling.
In a research project he calls Ajax View, Kiciman is focusing on the reliability of Web services -- and using Ajax to do so.
"The goal of the Ajax View project," he says, "is to improve the visibility that Web-application developers have into how their applications are running inside end user’s browsers out in the real world. Having detailed, code-level monitoring can help developers discover, understand, and fix the bugs that are affecting real users. "
In a paper entitled Live Monitoring: Using Adaptive Instrumentation and Analysis to Debug and Maintain Web Applications, Kiciman and his colleague Helen Wang explain that Ajax View involves inserting a proxy between a Web application and a user’s browser. The proxy dynamically rewrites the code and injects instrumentation code, which reports back to the Web service any observations it has made about the application’s behavior in the wild, thereby enabling the developer to improve the code as necessary.
"With the Web 2.0 model," he goes on to explain, "you have much more dynamic code and content being sent out to the browsers. Is it fast? Is it slow? Is it failing? You don’t know until your users complain. A lot of the challenges of code complexity when you start to write large programs -- trying to run your programs across heterogeneous environments, different browsers, different types of computers, as well as dependencies on third-party services and software that’s not under your control -- those issues all are cropping up in Web applications just as they have with conventional software."
The instrumentation code injected by the proxy provides a number of advantages, says Kiciman. For one thing, the instrumentation code runs with the rest of the application inside the browser and you can see almost any part of the application’s behavior. You can check for assertions and memory leaks, for instance.
He adds that the process boils down to three steps as precursors to improving Web applications:
- Instrumentation
- Observation
- Analysis
"The first piece is determining how you’re going to gather the data you care about," Kiciman says. "You decide what data you want to collect and then how you can grab that from inside the JavaScript environment. There are limitations inside the browser, so you can’t get full knowledge of everything. You’re limited by the security model of the JavaScript sandbox.
"The second thing is you determine what’s going to get reported back about this data, and then you figure out how to distribute this. Does everyone have to run the whole policy at once, or can it be split up?
"There’s a question of adaptation. When do I want to turn on this instrumentation? Do I want it to be always running, or do I want it to be reacting to a particular issue? Will you turn on part of the policy and get information about part of the program and use that to follow a trail and turn on instrumentation in the second or third part?"
"An important thing to note is that Ajax View isn’t actually changing anything about the security model," says Kiciman. "The browser is still enforcing what it thinks is an appropriate boundary around the application. We’re just taking advantage of the current visibility that the Web page can get about its own behavior. The security model and the boundary of what the Web site is allowed to do has already been set by the browser, and we’re operating in those limits."
Posted by Jon Erickson at 09:58 AM Permalink
|
May 07, 2007
More Software Development and Russia
In the June 2007 issue of Dr. Dobb's Journal, I wrote a short article entitled Up the Russian River in which I spilled my guts to just about everything I know about software development in Russia. Which explains why this was a "short" article. This article was based a recent 4-day visit to Moscow where we put on Software Development Best Practices Moscow 2007. As I said in the article, by today's journalistic standards, that qualifies me as an unqualified expert on all things Russian.
But I know now that if I'd waited just a little longer, I could have stretched my reputation for Russian expertise even further, thanks to an IDC that recently crossed my desk.
The report, entitled Russia as an Offshore Software Development Location: Should You Consider This Your Next Move?, written by Marianne Kolding and ladimír Kroa and report sponsored by RUSSOFT (a software development trade association), is based on executive-level interviews with 20 Western European and U.S.-based companies that have used Russian software and services.
According to IDC, Central and Eastern Europe has established itself for clients based in the U.S. and Western Europe. (That's why the Dr. Dobb's June cover story is Software Development In Eastern Europe is HOT.) IDC estimates that the value of IT services-related exports from Central and Eastern Europe to U.S. and
Western Europewas about $1 billion in 2005. Moreover, says IDC, the value of captive services operations, such as R&D centers or dedicated back-office functions, exceeds that amount.
What makes Russia an attractive destination, IDC asks? Well, Russia has the largest labor force and the biggest pool of educated talent. Russia has historically produced highly skilled professionals, particularly research, mathematics, and engineering specialists, able to tackle non-standard tasks. The country has a strong education base, with universities in Moscow, Novosibirsk, St. Petersburg, and Nizhny Novgorod turning out large numbers of technical graduates. In particular, says IDC, Russian programmers excel at high-end and complex systems design and development, particularly when it comes to software engineering.
Another important factor is that, unlike in India, Russian labor attrition rates are relatively low. That is, there's not a lot of staff turnover. In fact, according to IDC, a quarter of the companies interviewed mentioned lower staff turnover as one of the reasons why they chose a Russian software development firm rather than an Indian firm.
Beyond technical skills, Russian developers have been lauded for their ability to deal with highly complex projects, utilize software development methodologies, make changes mid-project, and use robust, real-time languages is particularly important when developing mission critical, embedded applications and operating systems.
Posted by Jon Erickson at 03:16 PM Permalink
|
May 04, 2007
Computational Ecology: You Heard It Here First (Well, Maybe)
You heard it hear first -- "computational ecology." Okay, maybe you didn't hear it here first. Maybe the term has been around for a number of years and I'm just now running across it. Sigh. In any event, it doesn't seem to be referenced in Wikipedia, so I must be ahead of the curve, at least a little bit.
In a nutshell, computational ecology is:
an interdisciplinary field devoted to the quantitative description and analysis of ecological systems using empirical data, mathematical models (including statistical models), and computational technology [Ref].
In short, it is about applying computer-based mathematical modeling to environmental issues. What makes computational ecology a possible these days is the availability of satellite-based remote sensing, computers that can handle large databases, high-speed communication networks, and small radio transmitters and sensors. All the usual stuff we now take for granted, in other words.
What can you do with all this? Well, researchers at the University of California, Santa Barbara (UCSB) are harnessing supercomputers and electronic circuit theory to help save wildlife from shrinking habitat. The project is run by the university's National Center for Ecological Analysis and Synthesis (NCEAS), and NCEAS scientists are applying electronic circuit theory to model wildlife migration and gene flow across fragmented landscapes.
Due to the massive volume of landscape data and the application of algorithms from circuit theory, NCEAS is speeding up its code using sparse linear solvers, graph computations, vector,ization and parallelization via Interactive Supercomputing's (ISC) Star-P software platform. Star-P is a client-server parallel-computing platform that’s been designed to work with multiple Very High Level Language (VHLL) client applications such as MATLAB, Python, or R, and has built-in tools to expand VHLL computing capability through addition of libraries and hardware-based accelerators.
"It turns out that circuit theory shares a surprising number of properties with ecological theory describing animal movements and connectivity," said Brad McRae, NCEAS project leader. "We can now represent landscapes as conductive surfaces -- with features like forests and highways having different resistance to movement -- and analyze connectivity across them using powerful circuit algorithms. Unlike standard conservation planning tools, these algorithms simultaneously incorporate all possible pathways when predicting how corridors, barriers, and other features affect movement and gene flow over large areas."
"The combination of vectorization with Star-P's graph toolbox and efficient sparse linear solvers has allowed scientists to take full advantage of their 8-processor server (with 32 gigabytes of memory) to run their models," says ISC's Steve Reinhardt. "The result: scientists can now model larger maps with much finer grids, while cutting computing time from three days to about 15 minutes for typical problems."
Posted by Jon Erickson at 04:49 PM Permalink
|
May 02, 2007
The Internet and Cheap Airfares
If nothing else, the Internet ushered in the ability for schmucks like me to ferret out cheap airfares. And when it comes to air travel, cheap rules. Or so it seems.
SkyBus, for instance, offers 10 $10 seats on every flight. (Don't tell the boss or I know how I'll be getting to India the next time around.) Then there was my mother who found a cheap flight to Tel Aviv, but had to spend a day in Frankfurt and another day in Kiev as part of the bargain. Therein lies the beauty of mining online airfares.
But there's more than meets the eye when it comes to shopping online for that last-minute airfare, at least according to Volodymyr Bilotkach, an economist at the University of California, Irvine.
In a survey of ticket prices for 238 routes, I was disappointed to learn that Bilotkach found that the cheapest last-minute fares on Orbitz.com averaged $34.46 -- that's 8.5 percent less than comparable deals available through Southwest, my favorite airline. Jeez, after years of flying Southwest not just for its cheap seats but also for its tasty snacks, this was, well, devastating news.
Southwest sells most of its tickets online but does not make its fares available via major online travel agents such as Orbtiz or Travelocity, which aggregate tickets from major airlines and allow customers to compare prices.
"The research suggests that Southwest exploits its low-cost reputation with last-minute travelers who feel they don’t have time to shop around, even if it’s just a few extra minutes," said Bilotkach.
For his study entitled Reputation, Search Cost, and Airfares, Bilotkach compared flight costs at nine airports with substantial Southwest Airlines presence. He recorded quotes for fares between the same cities with the same travel dates, checking the fares one month in advance of the travel date and again at the last minute -- one or two days before the flight. With his research assistant Lisa Nguyen, Bilotkach got the fare quotes from Southwest and Orbitz at nearly the same time.
Overall, Southwest’s lowest advance purchase fares averaged 2.7 percent below the cheapest tickets found on Orbitz for a comparable flight. These findings support previous research showing that Southwest tends to offer better deals and helps keep prices lower among its competitors.
But for last-minute tickets, the average cost was 8.5 percent more expensive on Southwest. About half of the time, a cheaper ticket could be found through Orbitz.
"When it comes to last-minute fares, Southwest’s prices are about normal," said Bilotkach. "It’s important for consumers to remember that just because an airline is known as the low-cost leader doesn’t mean it’s always got the best deal -- especially for last-minute flights."
The difference between Southwest’s fares and the cheapest fare found on Orbitz was greatest for long-haul flights and also slightly greater for North-South routes, such as a round-trip from Chicago to Florida.
For a description of how Orbitz.com improved its throughput and performance, see High-Performance I/O with Java NIO.
For an overview of Orbitz's technology, see the article Orbitz Reaches New Heights.
But does this all mean for me? Well, according to the boss, it's spelled "Greyhound".
Posted by Jon Erickson at 10:09 AM Permalink
|
May 01, 2007
Analysis of China's High-tech Plan Released
The high-tech trade association AeA, formerly known as the "American Electronics Association," has released the 14th edition of its competitiveness series. The report outlines the "15 Year Science and Technology Plan" announced by Chinese leaders in January 2006 and analyzes China’s capacity to implement the plan.
China’s 15-Year Plan is designed to boost science, technology, and innovation with the long-term goal of becoming a preeminent global economic and technological power. It calls for China to raise R&D spending from the current 1.4 percent of its economic output to 2 percent by 2010 and 2.5 percent by 2020. With China’s GDP growing by over 7 percent per year, these commitments would put Chinese R&D investments above $100 billion annually, placing it in the same league as the U.S. and Japan.
Among the highlights, the report points out that:
- In early 2006, China announced a 15-year plan to boost science, technology, and innovation with the long-term goal of becoming a preeminent global economic and technological power.
- Though every detail of the plan has not been made public, it calls for China to raise R&D investment from the current 1.4 percent of its economic output to 2.0 percent by 2010 and 2.5 percent by 2020.
- China is pouring investment into its universities to create world-class education and research centers. Since 1998, state financing for higher education has more than doubled, reaching $10.4 billion in 2003.
- China had 926,000 researchers in 2004, second only to the United States -- 77 percent more than it had in 1995.
- China’s 15-year plan intends to move the country beyond its current reliance on foreign technology to spawn "indigenous innovation." China faces challenges in enacting its 15-year plan: protecting intellectual property; reforming capital markets; encouraging risk taking; and embracing the free flow of ideas required for innovation.
China's growing technology industry is largely dominated by multinational companies and much of this is low value-added, labor intensive manufacturing. The 15-Year Plan intends to change that by investing heavily in such cutting-edge areas as nanotechnology and biotechnology to spawn "indigenous innovation."
Posted by Jon Erickson at 10:53 AM Permalink
|
|