Tuesday, April 24, 2007

Google and Yahoo catch up

I always like to tell a story about Yahoo and Google, which I read from the internet. Larry Page (Google) once tried to sell their search technology to David Filo (Yahoo) for one million, but David Filo turn it down but encourage Larry Page to setup their own business.

Yahoo was using Google search engine from year 2000 to 2003, Yahoo always outsource their search engine to other company like Google and Inktomi, Yahoo focus on their portal business. You all should know what happen later, Google's search portal is getting more and more popular and become a treat to Yahoo. Yahoo drop Google search engine in year 2004.

Google and Yahoo just announce their first quarter financial result (here). Yahoo's revenue was $1.67 billion, less than half Google's $3.66 billion. Two years ago, the two company have almost the same revenue (refer to the cnet story here). Yahoo started three years earlier than Google, now Yahoo try very hard to catch up with Google.

Yahoo and Google are two very successful company, there are many company out there tried to be Yahoo and Google but fail. Yahoo started as a website directory, later transform to content portal and tried to be a media company. Google started as a search engine and focus on it. All Google services are build around their search and online advertisement business.

Yahoo is far behind from Google, in terms of revenue or profit figure, and user experience of their products (email, search engine ...), is time for Yahoo to work harder for a catch up.

Thursday, April 12, 2007

Let's play with text

Do you know that, you can play mpeg video on text mode terminal?

Aalib (ascii art library) is an open source software library, render graphic and display in pure text (ascii) mode.

Is totally out of imagination, why people want to convert graphic to ascii text, especially for those windows users which never use dos before. There is a lot of reasons why people are doing this.

Reason 1: I only have daisy wheel printer. What is a daisy wheel printer (take a look at the picture here)? In the 80s, there is no such thing as laser printer (I mean normal people do not own such a printer), a laser printer may cost more than your desktop computer. The most commonly used printer is either dot matrix or daisy wheel printer. Most people will use a dot matrix (either 9 pin or 24 pin) printer because it can print both graphics and text, some people might prefer a daisy wheel printer for a better text output quality.

You can take daisy wheel printer as a type writer, which has a printer cable connected to your pc. Daisy wheel printer output a better text quality than your dot matrix printer, the down side is daisy wheel printer can't output graphics. With aalib (or similar graphic to ascii software), you can print graphics to a daisy wheel printer.

Reason 2: I am unix administrator. If you are a unix administrator, you might use a lot of telnet or only deal with a green color display dump terminal. With aalib you can view and manage your graphics (eg. gif or jpeg) files on your unix server with your text base terminal. Since you can view jpeg graphics, is should be easier for you to imagine, play mpeg video or video conferencing (streaming) on monochrome dump terminal is really possible.

portrait
display by aalib, move further to get a better view

original portrait
The original portrait


Since aalib is an open source software library, I like to compile it myself. Aalib is well written, is easy to compile:

$ tar xzvfp aalib-1.4.0.tar.gz
(extract out the source code)
$ cd aalib-1.4.0
$ ./configure --prefix=/usr
$ make
$ make install
(if you know how to make software package like rpm or deb, you should install the rpm, other than install the library directly from the source)

aalib will link with the X windows library (strange right?), aalib use X Window terminal for ascii display by default, if it can't get a X Window display, it will use the dump terminal automatically.

$ aafire

To play video on terminal, you can try apron, but since MPlayer and xine support aalib, apron development is discontinued.

There are people who ported VGA library to aalib, so you can play Doom and Quake game on console terminal. You might be still thinking writing such a library like aalib is just a waste of time. As I told you, aalib is like a Mercedes smart fortwo, if is not applicable, is just for fun!