Friday, December 22, 2006

RailsConf 2006 Keynote speeches

There are good keynote speeches from RailsConf 2006.
You can view the video from here.

I watched the speeches by Martin Fowler and Dave Thomas.
I totally agree with Martin Fowler. What he mentioned is one of the main reasons why I like to use Ruby on Rails.
And Dave has good points.

And also watched the one by David Heinemeier Hansson at the local Ruby Users Group meeting recently.
Here is the slide for it. It is eye-opening.

I simply enjoyed listening to their talks.

Friday, December 15, 2006

Good and Bad Procrastination

XPToronto's post with link to Good and Bad Procrastination shed some light on my current situation.
I felt a little good about myself.
Mastering Ruby on Rails and using it in Agile way is important to me.
Even though I'm not earning money to make a living in order to give time to do so, it is a good way to spend my time.

Monday, December 11, 2006

Java SE 6 released!

Java SE 6

Things have been changing. Improvements have been done.

After I'm done with mastering Ruby on Rails following Dave Thomas and David Heinemeier Hansson's "Agile Web Development with Rails" cover to cover, I may go back to Java and try Java SE 6.

Saturday, December 02, 2006

Raptors Win! Raptors Win! Raptors Win!

My another passion, basketball, both playing and watching.
Yesterday, I had a chance to watch NBA Toronto Raptors home game.



Wednesday, November 29, 2006

Ubuntu 6.10 as a development platform

Ubuntu is very nice. Especially as a desktop.

But I was trying to use Ruby on Rails on it. And many necessary libraries were missing, such as gcc, etc.
So I had to do, "apt-get install build-essential", etc.
I don't mind doing it.
But it was just time-consuming to find the information.
I wish at least the minimum ones are already installed by default.

Thursday, November 16, 2006

Agile Vancouver 2006 - Speed Geek - Tools Demos, etc.

I liked the Speed Geek session after hours and fish bowl was especially good.

In the Tools Demos, one guy showed Google Stacks. One of them was Google Docs.
When I was going to write my blog, I found a new feature to import from Google Docs.
So I'm trying it out now.
I'm writing this in Google Docs and I'm gonna export it to the Blogspot (Google Blog).

Agile Vancouver 2006 - Speed Geek - fish bowl: Tools support for interative usage

There was half an hour fish bowl session.
The topic was "Does Agile development need a tool?"

At one time, I walked to and sat on one of the chairs in the middle and talked about my opition about tools in Agile development.

The point I made was that it is important for any tools we use should have bare minimum simplest features needed at any given point of the time in the project and as a need arises, we can plugin a necessary minimum feature or unplug an unused feature.
In other words, they should have plugin capabilities to allow iterative usage.

Analogy I used was Eclipse. When you download Eclipse, it has only bare minimum features and depending on your needs, you download the necessary Plugins.

I was glad that I got positive responses to what I said. I guess I made a good point.
Now I like the term I came up, "Iterative Usage."

OOPSLA 2006 - fifth day

To be added.

Wednesday, October 25, 2006

OOPSLA 2006 - fourth day

Keynote - It was good that I learned language designs that I was not familiar with. This is one of the good things to attend conferences: You can listen to what you are not familiar with and you don't understand but you can keep it in somewhere in your brain and later on it gets easier to use it when the need arises.

Practitioner's Reports -

- Transition to Software Product Line Practice - Lost interest in it in the middle because it seemed in surface traditional software process. But at the end, I thought maybe I should learn from this.
- Towards Agile SEcurity in Web Applications - It was very good.
- keywords - "How can you misuse this functionality? (something like that)" -> Misuse story.
- Automated web testing - for security acceptance(?) testing. Selenium.
-> session handling (Selenium version > 0.8)

OOPSLA 2006 - third day

Keynote - It was interesting. It's a good thing about attending conferences that you can learn different perspectives. You can learn disciplines of other fields. In this case, drama and art.

Panel: Objects and databases - I wish the panelists answered the audiences' questions directly.


After the conference day - Loren showed me and Greg his Ruby on Rails code. It was a fun.

OOPSLA 2006 - second day - Dynamic Language Symposium

Dynamic Language Symposium was awesome.

Perl 6 and Pug - I was inspired to learn Perl 6. They resolve known issues such as Dynamic vs. Static by allowing them both.

Sunday, October 22, 2006

OOPSLA 2006 - first day

Workshop 1: Library-Centric Software Design

This is my first workshop other than Eclipse workshop. I expected it to be more interactive. But so far I cannot see anything different from other technical sessions.

Keynote speech - It was very different from what I expected. From my point of view, I couldn't see much related to library.


Tutorial: AOP:
It was good. The second half explained what I was looking for.

OOPSLA 2006 - preconference day

It was good to see familiar faces.
Greg talked me about different construct about Dynamic Languages.

We happened to encounter Jim from San Francisco and Jim from Florida.

Sunday, October 08, 2006

Similarity in software development and new restaurant construction

These days there are many TV programs showing home renovation.
One of them is about constructing a new restaurant and opening it.
Those restaurants are featuring the owners' own concept and they are not franchised one.

Every restaurant in the show is unique. The construction is adjusted to accommodate the uniqueness. And the construction is always delayed. And you hear the frustration of the owner that they need to open the restaurant as soon as possible and to get steady cash flow in, while the opening is already several weeks or months delayed.

Usually, it is said that software development is different from constructing buildings. It is true because every software development is new and different (unique) and constructing buildings follows the established standard steps.

Actually, for those unique restaurants, those established standard steps cannot be applied because each one of them is new and different. And they suffer the same problem as Software Development.

If you watch the show, you can see the proof that waterfall model of software development never works and the proof that software development needs Agile way.

Wednesday, October 04, 2006

Disappointment in the current project

I joined a consulting company that is famous for Agile Methodology and software testing last week.
Immediately I started working for one of their clients.
The first two hours already told me that it was not good environment. Their technology is terribly old. They are not following Agile practices. IBM is making the systems unnecessarily complicated.

This evening, at the local Agile users group, I had a chance to consult with the main person in the consulting company. I understand that Agile is not about following predefined practices and that it is about human interaction. I agree with it. At the same time, they can't just go without making software development work and they can't just ignore the reality of software development. Those practices are based on the reality of software development. For example, unit testing - it has been important even before Agile Methodology gained popularity.

The majority of the current project doesn't have any unit test. Even though Agile is about adjusting to each unique environment and business and delivering value to the customer, I don't agree not to follow the practice of writing unit tests.

Personally, I moved to this city I currently live just to get fully involved in Agile Software Development. It is extremely disappointing and frustrating that the current project doesn't even follow the practices that many companies in the previous city that don't even care about Agile Methodology follow. The companies that don't even know the term Agile are following more Agile practices than the current client. Then what's the reason why I'm working there?

Martin Fowler said in this blog about Rake, it's a good thing to try a technology to the limit so that you know its limit. Right now I want to try all the Agile practices to the limit instead of making mediocre compromise. While I value what the main person of the consulting company said, I know that there are more Agile experts that have said that compromise is not a good thing because it leads to bad results. That's why I moved here. How ironical it is...

Thursday, September 28, 2006

Rake - internal Domain Specific Language using Ruby

I read a Martin Fowler's article about Rake (Using the Rake Build Language).

Rake provides solutions to the problems I encountered in the past.

The more I learn about Ruby related features, the more I get fascinated by Ruby.

Sunday, September 24, 2006

No Fluff Just Stuff Conference - session about Java Annotation

Several months ago, the speaker at the local Java Users Group criticized Java Annotation severely. And he said that for language design, it was better to have one person making the decision.

Today, one of the member JSR 175 committee did a presentation about Java Annotation. He explained the reason why certain syntax has its syntax. Some of them are because of the committee lead's decision not to introduce new keyword, some of them are because of implementation. For some decisions, the lead just said no.
So for me, the problem was more toward that one person making the decision.

The speaker at Java Users Group I mentioned at the first paragraph above was there and asked why not @annotation instead of @interface. The presentator agreed and by the time he came up with it, the specification was already published and it was too late. I thought that if they had made the greater community to vote on the naming, the community must have picked up that naming.

I am not an expert of language design. But I thought that it seemed to be better not to make one person make the decision.

That speaker I mentioned at the first paragraph above said in his talk at the Java Users Group, it's better to open source Java. Maybe he was in the same page with me in a sense to utilize the wisdom of crowd.

Anyway, it was interesting to see that his view toward Java Annotation seemed to have changed gradually by listening to the reasons of each decisions.

No Fluff Just Stuff Conference

I've finally got a chance to attend No Fluff Just Stuff Conference.
The last two days have been a blast.
This is one of the best conferences I have ever attended.

Still one more day left and I have to wake up early. So I can't write much.
But I just wanted to write something when it's still going on instead of after it's over.

BOF about Dynamic Language was good.
Those three panelists - their knowledge is amazing.
I want to have their level of understanding of the languages.
It must be a fun.

Tuesday, September 19, 2006

Disappointment in employment process

I was expecting to start working for a company practicing Agile Methodologies.
But despite the fact that I have been inquiring about employment conditions for over a month, all of them are ignored and they expected me to work without a written employment contract.
I was very disappointed.

At the first interview around the beginning of August, the person who interviewed me said that there were two options to work for the company - as a full-time employee or as a contractor with his/her own corporation. I expressed that I would like to be a full-time employee. He was open about it while he repeatedly expressed his preference of me working as a contractor with my own corporation. I suggested that in the second interview (the technical interview) he said that I would have in the beginning of September, I would go through more rigorous interviews for a full-time employee and if the interviewers thought that I was not good enough for a full-time employee yet, I would accept to work as a contractor.

I appreciated his time when he was extremely busy especially just before he was going for a long vacation.

There were several concerns about working as a contractor with my own corporation. One was non-compete agreement. So I sent him e-mail asking about it. But it was not replied probably because he was busy.

In September, on the day he had told me to remind him if I hadn't heard from him, I sent him an e-mail. There was no reply because he was extremely busy and I understood it. So I waited one week and sent him another e-mail. This time, I asked if it's possible for me to work as a contractor without establishing my new corporation. The reason why I did was that thinking of how busy he was, it wouldn't be a good time to ask for a possibility of becoming a full-time employee because that would involve more paper works. And also while he had said that he would help me to establish a new corporation, it was not realistic to ask for his help while he was extremely busy. So by working as a contractor without establishing my new corporation - basically working as an hourly paid fixed-term worker (determinant worker, as my acquaintance said), I would reduce his workload and his having me wouldn't become a burden when he was extremely busy.

But this e-mail was not replied, either.

Two days later, last Friday, he called me and asked me if I could come for the second interview. One of their clients needed a developer as soon as possible because one of the developers had a health problem and would be out for half a year. And he wanted me to work as a contractor. He didn't mention anything about my last question. Whenever the talk got close to it, he said, "Don't worry about it. We will talk about it later." But I assumed that he read my e-mail and that he was considerting my option. I went for the interview on the same day as soon as the interview was arranged. The developers who interviewed me were also busy and we had only a limited amount of time until their next meeting.

The next Monday, yesterday, he called me in the afternoon and told me that I would be working for the client. It would be three-month. He asked me to start working at 1pm the next day. He talked as if I would be working as a contractor with my own corporation, completely ignoring my suggesion. So I asked him if I can work as a deteminant worker (an hourly paid worker), explaining various points. And I said to him that that would be the only option that we could finish the necessary paper works before I start working the next day. He said that he would ask thier accountant if it was possible.

This morning, he called me and told me that my working as a contractor with my corporation (subcontracting) is the only way. I was reluntant. So he offered to discuss about it before I start working 1pm today.

We met at 12:30 and discussed the issues. I asked about the non-compete agreement. I asked why it was not possible to work as an hourly paid worker without establishing a corporation. He gave me two points - first tax issue, second they don't want to hire an employee without trying him/her out as a contractor. (I don't know why he had mentioned an option of becoming a full-time employee in the first interview.) He wanted me to start working without any employment contract.
My decision was that I don't work until we sign an employment contract. He said that he hadn't got a reply from the accountant yet even though over the phone he said that the only way is working as a subcontractor based on the discussion with the accountant. So I said that I couldn't start working until we got a reply from the accountant.
Basically, he needed a developer immediately for the client.

I have been expressing all my concerns in my e-mails. And I did everything I needed to do. And working without no written contract is not unthinkable and problematic for all the parties involved. I am upset that I ended up appearing that I was not showing up for the client site, because of his avoidance in answering my concerns. I have trusted this company for many months and I don't deserve to be treated in such a way.

I am very disappointed.

Thursday, September 14, 2006

JavaScript

At the local Java Users Group meeting today, I learned about JavaScript.

I found many similarities with Ruby. Having learned Ruby helped me to understand the features of JavaScript. As the speaker said, most of the people who have used JavaScript only knows the on-click feature, so do I. It's good to know more because those features are the ones used heavily these days, for example, in AJAX or Firefox Extensions.

I don't think I will allocate time to learn JavaScript and I would rather spend time to learn Ruby and Ruby on Rails more. But I would like to learn scripting language support of Java SE 6 (Mustang).

Tuesday, September 12, 2006

Travelling and programming

I'm in a National Park.
I am reminded how productive I become when I'm travelling, especially in scenic place (I mean I'm not including business travel. Business travel is still same as going to the office.).

Before I started this my Blog site in July, 2006, I travelled in the mountain areas and experimented how it is to work on software development while travelling. Because whenever I'm on road, I tend to focus more on programming work, become more productive and become more innovative and creative. I have been using EV-DO with Blackberry and even when there is no EV-DO signal in the area, I could access Internet through 1X connection. So basically I could access Internet anywhere.

I was definately more productive and achieved a lot.

In fact, I came up with the idea and worked on the jMock's support for JUnit 4, outside a mountain cottage looking at high Rocky mountains across the valley.

Now I live in an urban area and I have recently lost the sense I had when travelling. Then I came to this National Park and the sense and the feeling have come back.

Saturday, September 09, 2006

OSGi meets Spring

One of my acquaintances, the best software developer I have ever worked with as far as I know, recently sent me an e-mail with the link to InfoQ article about Spring 2's support of OSGi.

I remembered OSGi somehow from somewhere but I didn't remember what it was.

Then I started reading about OSGi and was reminded that it was Eclipse. When I was trying to write Eclipse plugin, sometimes I had a hard time tracing the code and understanding it because Javadoc for OSGi was missing. (The version before that didn't have OSGi dependency and I could trace the Eclipse code easily.) Around that time, somebody working on Eclipse at IBM said at OOPSLA that the reason Eclipse had been changed to be based on OSGi was because one of the department in IBM that was dealing with embedded system demanded it. He said that it was an unfortunate compromise. So I considered it as such.

As the result of today's reading, I learned that OSGi has been extended beyond embedded system and that now it's one of the promising dynamic module system. And it's concept is very exciting.

In the matter of within a few years or less, the perception has changed dramatically. And there are people who have been working on OSGi and innovating it.

There are so many things to learn and there are so many changes including perception. Again even more than before, I am convinced that it's impossible to do up-front estimate on software development.

Thursday, September 07, 2006

Becoming Lean - Mary Poppendieck's talk

I have just attended a local Agile users group's meeting. Today, Mary Poppendieck made a presentation about Lean Software Development.

I still need a time to organize my thought. But I am very excited and I just wanted to write this blog soon.

It was excellent. Every point she made totally made sense.

One thing she mentioned about Scrum was interesting, answering a question from an audience. It was about limiting the task to the capacity. I wondered about Project Backlog in Scrum myself. She answered that we shouldn't keep tasks in the backlog and ignore them. An interesting thing she mentioned was that Ken said that Scrum is for disfunctioning team. For properly functioning team, you don't need a backlog, she said.

And most memorable thing she mentioned today was Project vs Product. We should consider software development in the sense of Product. If it's Project, then fixed scope with up-front estimation is norm. But if it's Product, it usually works incrementally. It is a wonderful concept.

Can't wait to read her new book. When I went to Amazon website, the time to deliver was more than a month. So I think I will get one at OOPSLA. It's usually discounted and I can get author's autograph at the signing session.

Monday, September 04, 2006

Learning Computer Science using the knowledge from other disciplines

We all know the lack of sleep is bad for learning. We all know we human can focus on one thing no more than an hour. We all know working long hours can increase the possibility of human error. And we all know that working overnight is not good for our health and affect other part of our lives.

Those knowledge comes from learning psychology, biology, sociology, etc.

People in Computer Science field are quite educated people.

I am surprised that recently I learned that at a very famous top university, working on programming project until 4 in the morning is considered to be normal.

Most of the students are in early 20s and it's important for them to have healthy life style so that they can establish the foundation for the rest of their lives. Working overnight and long hours is not good for them. It is not educational because you cannot learn much in that condition. Also it deprives the time to learn other subjects from them.

Also equally importantly, from Agile Methodologies, we know that we cannot write a program expecting that it would finish at a predetermined deadline.

Forcing the students to work on the project to be finished on the certain deadline by making them work overnight is wrong both for their health and in the reality of software development.

We should incorporate what we know from other disciplines and create a new grading system to measure the students performance based on what the teachers expect in incremental way - just like in Agile Methodologies, where the value of the software is measured based on what the customers expect from it. At the end of each iteration with the fixed number of hours, the teacher evaluates the project based on the value not on the fact if the project has completed a predetermined content.

These days, athletes are getting benefits from disciplines such as sports psychology and nutrition science. It is an irony the people in Computer Science field who are considered to have more intelligence than professional athletes are working under the condition similar to that of early 20th century.

Saturday, September 02, 2006

Bruce Tate's article "From Java to Ruby: Risk"

On InfoQ, there is an article by Bruce Tate titled, "From Java to Ruby: Risk".

It's interesting. And the threads of comments are even more so.
I've been in environments recently where somebody makes too simple strong statement.
I miss the environment where much sophisticated discussion is made like in this article and its commnets.

Tuesday, August 15, 2006

Philanthropist - Social enterpreneur

I happened to read an article in Reader's Digest Canada, September issue. It's about philanthropists and social enterpreneurship that is gaining popularity. It is very encouraging to me. This is the kind of work I would like to get involved. I want to work for good. For example, I want my work to contribute to protecting environment. Working just for money at money making business doesn't motivate me at all.

The article covers the stories of Social Venture Partners (SVP) Calgary Chapter and Brad Zumwalt, Social Capital Partners and Bill Young in Toronto, Inner City Renovations in Winnipeg, Community Foundation of Ottawa and its Engage! program by Coralie Lalonde (also Volunteer Ottawa), and The Maytree Foundation and Alan Broadbent, especially its The Mentoring Partnership program.

There is a course about Social Enterpreneurship at University of Alberta, Duke, Stanford, Harvard, Oxford, and IESE Business School, the article says. University of Toronto is also starting a new course this fall.

Also the article mentions the comments by Gary McPherson, executive director of the Canadian Centre for Social Enterpreneurship at University of Alberta.

Maybe acquiring business skills in this area is a good idea. I have always thought of acquiring business skills and learning how private sector business operates, just to understand how things are going. But I didn't have enough motivation to cut my time to work on computers in order to take courses about them.

I feel very good that there are people who have same mindset as I do who want to work for good cause.

Tuesday, August 08, 2006

Sarcasm is useless and harmful

Sarcasm doesn't allow the person who were told it to express his/her point of view.
In order to understand the action of the person, you need to understand his/her point of view. By communicating with him/her and creating a dialog, you can understand what is actually happening.

Human behavior or emotion is very difficult to guess. Even in the controlled psychological lab environment eliminating as many unrelated factors as possible, it is difficult to pinpoint the causality of the behavior, emotion, or reaction. In the real world environment, it is almost always true that the observer's experience, emotion, knowledge, etc. biases the observation. Not only that, the person who is being observed behaves differently depending on the circumstances he/she is in. So it is certain that the observation is wrong. Hence, sarcasm is useless, which is solely based on the observer's point of view.

Also sarcasm makes the topic appear to be more important than it is at the moment. Even when there is another important thing that is worth, say, 80% of the person's attention - e.g. software code that is used 80% of the time, etc. - if somebody says sarcasm about a topic that is worth only 20% of attention, that topic gets the major attention or even exclusive attention. That's harmful.

And if the person who is told sarcasm says something back, all the person who said sarcasm has to say is that he/she not talking about the person who is told sarcasm. In other words, the person who says sarcasm doesn't take a responsibility of what he/she says. So often times, the sarcasm is ignored by the person who is told the sarcasm. Who would take a comment seriously made by somebody who is not willing to take a responsibility of the comment? That's another reason whey sarcasm is useless.

Life without using sarcasm is much tougher and requires intelligence and discipline, which is the opposite of some people's belief that using sarcasm is a sign of smartness. And life without sarcasm is much more productive and fulfilling.

Friday, August 04, 2006

Thin slicing and snap judgement on software - Blink and Smell

I've been listening to an audiobook, "Blink" by Malcolm Gladwell recently.

I just wondered if we can judge software quality by thin slicing and snap judgement. Martin Fowler uses the word, "smell". I even saw him holding his nose saying, "Oh! It smells!" looking at a code at one conference. I think we can extend it to see a positive sign of software quality, maybe browing a word from "Blink".

One thing I found from my past experience of looking at other people's code is that the code that is well formatted and that is following some convention - i.e. easier to read, has higher quality, whereas the code written by people who don't care about any of them tends to have lower quality. And it doesn't take long to sense it.

I don't claim that this kind of judgement is accurate or anything. But I think it's interesting to explore it.
(By the way, of course, I write test first and the main judgement should be done by running tests.)

Turning wrong snap judgement into positive

Malcolm Gladwell said in the Epilogue of his book, "Blink", that he was inspired to write the book by a wrong snap judgement and stereotype of a police officer who doubted him. I wonder how he could come up with a positive idea out of a negative experience that is completely because of other people's fault. I just wonder if I could do the same thing. At least, my recent experiences led me to read (actually listen to the audiobook of) "Blink" again.

Thursday, August 03, 2006

JMock: JUnit4 support without extending MockObjectTestCase

Back in early June, I submitted a code for JMock to support JUnit 4 without extending MockObjectTestCase.
http://jira.codehaus.org/browse/JMOCK-97

Recently, one person wrote a comment that it has been very helpful in his project.
I appreciate his comment very much and I am glad that the code is helping his project.

I wasn't expecting that the code would be used before it is added to the main jMock distribution. But since it may take a while for that to happen, I added a jar file also so that the code can be used immediately.

I use Eclipse. If I extend MockObjectTestCase and use JUnit4 annotation to indicate Test methods as one jMock mailing list thread says to get around the problem of using JUnit4 with jMock, Eclipse complains that no test method is found. It is because MockObjectTestCase extends the old JUnit TestCase class and Eclipse simply assumes that I am executing the old JUnit TestCase (3.8.1). Eclipse looks for a method prefixed with "test" in that case. And my test method using JUnit4 is not prefixed with "test" any more. (I use the method name to describe behavior.)
So my code for supporting JUnit4 without extending MockObjectTestCase is helping me very much as well.

Monday, July 31, 2006

Wisdom of Crowds, etc.

Group of independently thinking invididuals is smarter than the smartest person in the group.

The whole is greater than the sum of the parts.

I just want to write them here quickly because I have wanted to write about it for quite a long time but haven't had a chance to do so.

Wednesday, July 26, 2006

What I like about Ruby - one of many

I like that Ruby has a convention that is enforced about instance variables (member fields) and class variables (static member fields) i.e. @ and @@.

I introduced a similar convention recommended by somebody I met at one of the Java Users Groups when using Java in several occasions before. At one company, it was embraced. But at another company, it just sparked unnecessary discussion. It seems that experienced developers use a similar convention, one way or another. And it seems that less experienced developers oppose it for a peculiar reason.

So I like this Ruby's feature so that we can focus on writing a code that brings a value to the customer or user, instead of spending time arguing about the convention.

Sunday, July 23, 2006

Lean Software Development and my current software development

I'm reading a sample chapter of "Lean Software Development."

The elevator designer's example says that unstructured approach cycling between high-level design and detailed solution was necessary.

Somehow my experience that is not necessarily related came back in my head. When I tried to put off working on a derived idea in order to finish up the task at hand, I am not necessarily productive. When I wandered around to try out a derived idea, actually overall productivity was higher. So it is a development or research activity instead of production activity.

I just wanted to write this down before continuing to read the chapter.
So this blog is still in draft.
I think I'm going to edit this quite a few times.
Let's see how it goes.

Monday, July 17, 2006

The Future of Human-Computer Interaction

I read an article on ACM Queue magazine (Vol.4,No.6) about Human-Computer Interaction (HCI) - "The Future of Human-Computer Interaction", John Canny, University of California, Berkeley.

It was eye-opening.

The current user interface is optimized for the office environment. For the devices that are getting increasingly popular, such as a smartphone, the user interface should be optimized for a completely different environment. Instead of changing what is displayed based on the user's input such as button click, it should be changed based on the context, such as the user's current location, because those devices are not good for accepting user's input graphically. And those devices are designed to be used by speech, the interaction should be based on perception such as speech-based interfaces.

Makes sense.

Wednesday, July 12, 2006

An Inconvenient Truth

I watched Al Gore's documentary film, "An Inconvenient Truth" yesterday.
It was a very good movie. I was motivated to do something to contribute to solve this problem.

At one point in the movie, Al Gore talked about the balance between environment and economy. In addition to what he said, I think that it's important to point out that if you can purchase the same product with less money, you don't have to earn more money by destroying the environment. So we can make the way we produce the goods/services more efficient, demending less natural resources and using renewable energy source. That makes the relative living standard go up with the same income we earn. Then we don't necessarily need a better economy in order to survive.