Monday, October 27, 2008

Ted Selker On Innovation.

This time I had the pleasure to interview Ted Selker.

Dr. Ted Selker develops and tests new user experiences. He spent ten years as an associate professor at the MIT Media Laboratory where he ran the Context Aware Computing group, co-directed the Caltech/MIT Voting Technology Project, and directed the Counter Design Intelligence: product design of the future project. His work is noted for creating demonstrations of a world in which human intentions are recognized and respected in complex domains, such as kitchens, cars, on phones, and in email. Ted's work takes the form of prototyping concept products supported by cognitive science research.

Prior to joining the MIT faculty in November 1999, his work at IBM gained him the title of IBM Fellow where Ted directed the User Systems Ergonomics Research Lab. He has served as a consulting professor at Stanford University, worked at Xerox PARC and Atari Research Labs, and taught at Hampshire College, University of Massachusetts at Amherst, and Brown University.

Ted's research has contributed to products ranging from notebook computers to operating systems. For example, his design of the TrackPoint in-keyboard pointing device and many of his other inventions are used in notebook computers, his visualizations have been responsible for performance and usability improvements in products, and his adaptive help system has been part of many IT products as well. Ted's work has resulted in numerous awards, patents, and papers and has often been featured in the press. He was co-recipient of the Computer Science Policy Leader Award for Scientific American 50 in 2004, the American Association for People with Disabilities Thomas Paine Award for his work on voting technology in 2006 and the Telluride Tech fest award in 2008.


1. What is "Innovation" for you?
Innovation is presenting and solving problems in a novel way to changing the way things are done.

2. Who are your favorite innovators?
There are so many innovators and many in my life that I enjoy: Marvin Minsky who invented the confocal microscope, etc., John Mccarthy who invented time sharing and many elements of modern programming, Victor Scheinman who made some of the most successful industrial robots, Toshiuki Ikeda who made the Thinkpad happen, Larry Page and Sergay Brin who created the modern best company, Rob Barrett who invented the way that Atomic Force Microscop`s know where they are, etc., Will Wright who shows with every new game he makes such as Spore shows how vast exploring environments can be at least as compelling as the typical brutality video games of the past.

3. What do you consider are the most promising innovations of the last 3 years?
The theories that show that quantum dots could greatly reduce the bandgap problem in photovoltaics potentially bringing their efficiency over 80%. The new breed of Lithium phosphate batteries that can be recharged thousands of times. The LEDs that are among the most efficient lights ever made. The Flash memories that are large and cheep enough to replace disks and be faster and more efficient. Ubiquitous mobile devices with useful applications and capabilities. The WII game.

4. What does it help to become a successful innovator?
If you Fill your mind with problems, fill your mind with parts to solve problems, appreciate solutions, appreciate contributions from wherever they come, and need to make solutions happen you can become an innovator.

5. Is there a price to pay to be an innovator? Which one?
An innovator is often uncomfortable and making others uncomfortable.

6. What are the rewards to be an innovator?
Helping the world around you.

7. What are in your opinion the top 3 criteria for successful innovation?
A problem worth solving. A problem that can be solved. A problem that will have enough resources and authorization to allow itself to be solved by the people trying to innovate.

8. What would you recommend to young people who wish to pursue innovation?
Enjoy improving your ideas of how to solve problems with others. Enjoy getting people to allow you to solve problems.
Practice really following through solving problems.

9. In your opinion how can we create a culture that supports and sustains innovation?
I have a dream I call Excubate which supports early stage technology business development. I plan to support innovation while delaying commitment to specific parts of the solutions.

10. What do you think stops/slows down innovation?
Confusing your self esteem and ego with peoples acceptance of any specific innovative proposal.

10+1 .Do you think becoming an innovator can be taught? If yes, how?
Absolutely. I love to teach workshops on invention and innovation. Get people to have a habit of defining questions as part of problems they see. Get them to have habits of appreciating others ideas and improve on them. Get people to try out more than one idea, in their head, and in every other way the can: design on paper, build moch ups, build prototypes, get authorization to disementate.

10+2. What is in your opinion the influence that a "location" (country/region) plays with respect to the possibility to be a
successful innovator?

We are surrounded by the problems of where we are: the physical (my water is more expensive than my electric bill in California) the people (the people I know talk about other things than a leak in their plumbing) the tools (I have a milling machine in my shop, I have an osciliscope on my desk, I have a programming environment in my computer), the encouragement of others (my partner asks me to go down and sit at my desk)

10+3. What would you recommend to make a "location" attractive for innovation?
To make a location attractive, make it easy to come to, full of tools and people and other things that can make the ideas turn into working and used solutions.

##

Labels: ,

Thursday, October 23, 2008

O/R Impedance Mismatch? Users Speak Up! Third Series of User Reports published.

I have published the third series of user reports on using technologies for storing and handling persistent objects.
I have defined "users" in a very broad sense, including: CTOs, Technical Directors, Software Architects, Consultants, Developers, and Researchers.

The third series includes 7 new user reports from the following users:

- Peter Train, Architect, Standard Bank Group Limited, South Africa.
- Biren Gandhi, IT Architect and Technical Consultant, IBM Global Business Services, Germany.
- Sven Pecher, Senior Consultant, IBM Global Business Services, Germany.
- Frank Stuch, Managing Consultant, IBM Global Business Services, Germany.
- Hiroshi Miyazaki, Software Architect, Fujitsu, Japan.
- Robert Huber, Managing Director, 7r gmbh, Switzerland.
- Thomas Amberg, Software Engineer, Oberon microsystems, Switzerland.


I asked each users a number of equal questions, among them what experience do they have in using the various options available for persistence for new projects and what are the lessons learned in using such solution(s).

“Some of our newer systems have been developed in-house using an object oriented paradigm. Most (if not all) of these use Relational Database systems to store data and the "impedance mismatch" problem does apply” says Peter Train from Standard Bank.

The lessons learned using Object Relational mapping tools confirm the complexity of such technologies.

Peter Train explains: “The most common problems that we have experienced with object Relational mapping tools are:
i) The effort required to define mappings between the object and the relational models; ii) Difficulty in understanding how the mapping will be implemented at runtime and how this might impact performance and memory utilization. In some cases, a great deal of effort is spent tweaking configurations to achieve satisfactory performance.”

Frank Stuch from IBM Global Business Services has used Hibernate, EJB 2 and EJB 3 Entity Beans in several projects.
Talking about his experience with such tools he says: “EJB 2 is too heavy weight and outdated by EJB 3. EJB 3 is not supported well by development environments like Rational Application Developer and not mature enough. In general all of these solutions give the developer 90% of the comfort of an OODBMS with well established RDBMS.
The problem is that this comfort needs a good understanding of the impedance mismatch and the consequences on performance (e.g. "select n+1 problem"). Many junior developers don't understand the impact and therefore the performance of the generated/created data queries are often very poor. Senior developers can work very efficient with e.g. Hibernate. “

In some special cases custom solutions have been built, like in the case of Thomas Amberg who works in mobile and embedded software and explains “We use a custom object persistence solution based on sequential serialized update operations appended to a binary file”.

The new 7 reports and the complete series of user reports are available for free download.

I plan to continue to publish users reports on a regular base.

Labels: , , , ,

Tuesday, October 7, 2008

LINQ: the best option for a future Java query API?

My interview to Mike Card has triggered an intense discussion (still ongoing), on the pros and cons of considering LINQ as the best option for a future Java query API.

There is a consensus that a common query mechanism for odbms is needed.

However, there is quite a disagreement on how this should be done. In particular, some see LINQ as a solution, provided that LINQ is also available for Java. Others on the contrary do not like LINQ, but would rather prefer a vendor neutral solution, for example based on SBQL.

You can follow the discussion here.

I have listed here some useful resources I published in ODBMS.ORG - related to this discussion:

Erik Meijer, José Blakeley
The Microsoft perspective on ORM
An Interview in ACM Queue Magazine with Erik Meijer and José Blakeley. With LINQ (language-integrated query) and the Entity Framework, Microsoft divided its traditional ORM technology into two parts: one part that handles querying (LINQ) and one part that handles mapping (Entity Framework).| September 2008 |

Panel Discussion "ODBMS: Quo Vadis?
Panel discussion with Mike Card, Jim Paterson, and Kazimierz Subieta, on their views on on some critical questions related to Object Databases: Where are Object Database Systems going? Are Relational database systems becoming Object Databases?
Do we need a standard for Object Databases? Why ODMG did not succeed?

Java Object Persistence: State of the Union PART II
Panel discussion with Jose Blakeley (Microsoft), Rick Cattell (Sun Microsystems), William Cook (University of Texas at Austin), Robert Greene (Versant), and Alan Santos (Progress). The panel addressed the ever open issue of the impedance mismatch.

Java Object Persistence: State of the Union PART I
Panel discussion with Mike Keith: EJB co-spec lead, main architect of Oracle Toplink ORM, Ted Neward: Independent consultant, often blogging on ORM and persistence topics, Carl Rosenberger: lead architect of db4objects, open source embeddable object database. Craig Russell: Spec lead of Java Data Objects (JDO) JSR, architect of entity bean engine in Sun's appservers prior to Glassfish, on their views on the current State of the Union of object persistence with respect to Java.

Stack-Based Approach (SBA) and Stack-Based Query Language (SBQL)
Kazimierz Subieta, Polish-Japanese Institute of Information Technology
Introduction to object-oriented concepts in programming languages and databases, SBA and SBQL

The Object-Relational Impedance Mismatch
Scott Ambler, IBM. Scott explores the technical and the cultural impedance mismatch between the relational and the object world.

ORM Smackdown - Transcript
Ted Neward, Oren "Ayende" Eini. Transcripts of the Panel discussion "ORM Smackdown" on different viewpoints on Object-Relational Mapping (ORM) systems, courtesy of FranklinsNet.

OOPSLA Panel Objects and Databases
William Cook et.al. Transcript of a high ranking panel on objects and databases at the OOPSLA conference 2006, with representatives from BEA, db4objects, GemStone, Microsoft, Progress, Sun, and Versant.

Labels: , , , , ,

Saturday, October 4, 2008

More Impedance mismatch: Cloud Computing

I noticed a news on an additional source of Impedance mismatch: Cloud Computing...

Geir Magnusson, vice president of engineering and co-founder of 10gen, presented at a conference called Web 2.0 Expo, a talk: "The Sequel to SQL: Why You Won't Find Your RDBMS in the Clouds."

Magnusson said "an RDBMS is what you need, but not in the cloud."
Magnusson seems to support O/R mapping: "O/R mapping blends the power of an RDBMS with the programming simplicity of an ODBMS [object database management system]," Magnusson said, noting that there is support for O/R mapping in Java, Python, Ruby, .NET and Groovy. "O/R mapping is everywhere."

However, the series of interviews with users indicate that O/R mapping is only one way (and not the most simple one) of getting around the impedance mismatch between object-oriented languages and data stored in a relational system.

Labels: