Buca Bay - Always nice

Dua tiko noqu toa loaloa, na yacana ko… laga mai…

Google Wave or Google Spreadsheet

October26

ReadWrite web posted an article titled “Google Should Stop Playing Around With Wave and Focus on Spreadsheet” a few days ago.

As the title suggests, the author believes Google is wasting time working on Google Wave and should put their efforts into Google Docs SpreadSheets.

I believe there are a few misconceptions. Google wave is not the Google Wave Client, that is in private beta. That is like saying GMail is Email. Google wave is an open protocol (like SMTP for email, or XMPP for IM) for realtime concurrency control.

On the other hand, ordinary folk create real apps on spreadsheets all day long.

More people use Email, IM and Social Networking. This is the areas Google Wave will be used in.

Real-Time Spreadsheets? That Is So 1980s, Dude!…
Online spreadsheets that anyone can edit concurrently solved the version control problem. Problem solved! Done, finished. Can we move on now?

No, not just yet. Version control is not concurrency control. However, they are often used synonymously. Simplistically, version control, is the saving of changes made to a document, while concurrency control, is the merging of these changes.

Here is an overview of version control systems in use today. Most of today’s version control systems such as used in Subversion, Mercurial and GIT implement a copy-modify-merge for their concurrency control. I’ve already blogged about how concurrency control in today’s version control systems is different from realtime concurrency control.

In the case of Google Docs, including Google Spreadsheets, there is no concurrency control. If you simultaneously edit a document with another user, any save overwrites the previous save. So if your update had not reached the user yet, it would be lost.

Google Wave implements true realtime concurrency control. It does this using Operational Transformation (OT), which is not new, and used by other software. What is new is that Google went ahead and defined a standard protocol for editing documents concurrently.

Most importantly Google built Google Wave on top of XMPP Federation (Open Source Instant messaging), so that anyone can host a Google Wave server by hosting an XMPP server and/or XMPP component, just like hosting an SMTP (Email) server. They also went ahead an made an open source implementation of the Google Wave Server. (I’ll be adding a post on how to build the Google Wave Server on CentOS 5). Already, there are other implementations of Google Wave Servers such as pygowave and yet to be release EJabberd extension (XMPP for client-server also).

This is a very important factor. If Google had not made Google Wave an Open Standard that can be implemented by anyone, they there would be very little hype about Google Wave from developers. I wouldn’t be writing this article. Instead I’d probably be joined by others criticizing Google for creating a monopoly on a new technology. However, Google made the “right choice” and made Google Wave and open standard like the rest of the open internet standards.

Now that we have a better understanding of what Google Wave is, we know that it:

  1. Is not a software like spreadsheets, it is a protocol
  2. It offers a basis for real time concurrency control that spreadsheets do not have
  3. Spreadsheets and similar applications will be built on Google wave in the future
  4. Better communication and collaboration is a much greater need then better spreadsheets

So you cannot say stop working on Google Wave and work on the Spreadsheets since they are not mutually exclusive. Working on Google wave will bring much needed true realtime collaboration features to spreadsheets. In fact it will bring realtime collaboration to the whole web, allowing the creation of applications that surpasses the uses of the spreadsheet.

posted under xmpp | 1 Comment »

Kama - Fiji Without You

October16

posted under song, video | No Comments »

What takeaway means

October14

By the time we got into Lautoka town today I was starving. I hadn’t had anything to eat all day.

We stopped at Pa’s kitchen, a very good restaurant  with Fijian food, but it was closed. So we head down the road to a Chinese restaurant  we hadn’t been to before, “Nina’s”. The restaurant was only a quarter full so we order immediately at the counter. We decide to order takeaway, and and have it in the restaurant since we were sure Joana wouldn’t finish her food, and thus need a takeaway box anyway.

We all leisurely sit down, open each box and we’re just about to eat when we notice that we don’t have forks. Tiare, Vara’s sister walks over to the counter and asks for forks. The restaurant owner starts yelling at her and then Vara and I. “No, forks for takeaway”. Vara asks, “Do we have to pay for the forks?”. The owner yells again, “No, why you want to buy takeaway. If you want to eat here, don’t buy takeaway”. At first we’re a bit puzzled. The owner seems really hot an annoyed and then one of the waitresses starts chiming in. Vara is still puzzled and asks, “Do we have to pay extra to eat here?”. “No, we no want your money”, the restraunt owner is now fully upset.

The guy sitting next us blurts out, “C’mon Nina, just let them eat their food”. The two of them start quarreling. I look over to Vara, “I think we should just go, I don’t feel like eating here”. As we start leaving the owner yells at us, “You buy takeaway, you take it away!”.

Vara and Tiare were pretty shocked, but I’m was just about to die from laughter. That has got to be the funniest thing I’ve heard a restaurant owner say. ”You buy takeaway, you TAKE IT AWAY!”

posted under funny, updates | 5 Comments »

“Special Price” for rugby ball in Fiji

October14

Today were were in Lautoka town, doing some shopping - mostly toys for Joana. On our way back I decided to stop at a shop and buy a rugby ball. Noticing the Adidas shop I asked our regular taxi driver, Darman, to stop there. Vara and I got out and walked up to the shop, which looked closed. There were two female employees with the same outfit standing just inside the door talking so I made hand gestures to them asking if it was closed. They affirmed my suspicious with gestures from behind the glass door.

We walked across the street and were just about to get into our taxi when a male employee bursts out of the shop, runs half way across the street out and yells out, “Boss boss, come come we open”. I walk back across the street and he motions for me to go inside so I do. I’m in the store looking around and there’s just him, a security guard and the too girls.

He asks “what you looking for boss?”. “Rugby ball”, I reply. He motions for me to follow him and there in between a bunch of rugby boots was a single rugby ball. I ask, “How much?”, pointing at it. He takes it of the shelf and hands it to me, “for you, good price, only 99 dollars”.

“What!”, I exclaim, taken by surprise. “You got anything else?”. He studies my expression for a while then asks, “How much you want?”. “I was looking more for something around 40 dollars, or 60 if its a match ball. This is just a size 5 training ball.”. The guy walks over to another shelf and brings out a stuffed ball that you can fit in your fist and hands it to me. “This one 30 dollars”.

I don’t know whether to laugh or swear at him. “Are you serious?”. All serious he exclaims, “This good ball, good souvenir.”. I look around, everyone in the shop is staring. In my best Fijian accent, “Boss, I’m from Lautoka, whats regular price for this ball”. A bit startled he looks a me, “Sorry Boss, all out of stock”.

posted under updates | 4 Comments »

Watch streaming video over the LAN with VLC

October12

I have a large collection of videos on my Windows PC. Before today, in order to watch the videos on my computer somewhere else in the house, we’d have to copy the movie to a USB stick and transfer it to the other computer.

Since this is an almost daily occurrence, and copying videos  can take a while, I decided to look into streaming the videos  over the Local network.

My first thought was to create a virtual host on my local Apache server, and have the videos  streamed by Apache over HTTP. This worked reasonably well for a while, but after about 10 minutes or so  the video started to lag on the other side. This also happened when I tried streaming the file via FTP, using Filezilla FTP server.

I also tried using Nginx which has an FLV streaming module. The videos on my PC are mostly .avi or .divx, so I’d have to transcode to FLV before hand in order to stream. I didn’t want to have to transcode each file to FLV, since it was already taking up a huge amount of space on my hard disk.

This whole time I was using VLC to play the videos. I had totally overlooked the fact that VLC was also a video streaming server. It turns out, VLC can transcode and stream at the same time (using FFMpeg internally), so you don’t need to transcode files before hand, and keep around multiple copies of the same file in different encodings.

Here is the article on streaming video with VLC that I followed. Pretty soon I had VLC on my PC streaming movies to multiple PCs and laptops on the local network. The videos playback can also be controlled from the streaming server, so I could start and play movies for my 2 and a half year old daughter Joana while doing my work.

The only problems with streaming with VLC is that you’ll have to mix and match video encodings and streaming protocols to figure out which works. For me, streaming H264 streamed over RTP seemed to work best. Edit: I somehow missed their documentation on supported streaming protocols.

Step by step to setting up streaming a video with VLC over your LAN:

  1. Open VLC on your PC with the video
  2. Click on: Media -> Streaming…
  3. Choose the video file you want to stream (double click) A window opens with the streaming options.
  4. Choose RTP for the streaming protocol. For the address put in the IP* of the computer to stream to. You can leave the port number as is.
  5. Choose H264 from the “profiile” dropdown. This selects “MPEG-TS” for encapsulation, H264 for Video and MPEG-4 for audio.
  6. Click Stream.
  7. Then on the computer you want to watch from, Open VLC.
  8. Click on Media -> Open Network
  9. Choose RTP and the computers IP or localhost. Leave the port number as is.
  10. Click “Play”
Instead of using IPs, you can also use the computer names.
To list the computers on the Local network by going to: Start -> Network

You can also use the command line.

To open the command line on XP: Start -> Run -> type in “cmd” and click enter
On Vista: Start -> type “cmd” into the search box and click enter
In the command prompt, type: net view
For the list of IPs: arp -a
To get the IP of a computer given its name: ping <name>

To get the name of the current computer: hostname

Before trying out VLC, I was thinking of setting up Red5 to stream videos, since I have worked with it before to stream video and audio for XMPP (Instant Messaging), but since VLC does the job really well and is so easy to set up, I’m sticking to that for now.

posted under networking | 6 Comments »

Tsunami warning for Fiji, Twitter vs Local Radio vs Google

October8

I was woken up this morning by Vara, yelling into my ear. “There is a Tsunami warning for Fiji, wake up. Do you think it’s gonna come this far”?

We’re about a mile from the beach, but also at an elevation of about 50m or so. I replied, “No, not gonna come this far”. I was up all night on a project so this was not at the slightest bit interesting to me right now.

In my half alseep state however, each passing car started to sound like an approaching wave, crashing through the coconut trees and quickly tearing it’s way up the hill towards us. I decided to was time to wake up.

I started making my tea, listening to the radio. It was going on about the Tsunami warning and evacuations etc. There was a report about that the sea was retreating in the Yasawa’s. OK, sounds like this is a real disaster.

The first thing that came to mind was to see if I could get more up to date information online. I typed in http://twitter.com/ and did a search for “tsunami fiji“.

There were 2-3 updates every minute, and most of them stating the Tsunami warnings were already withdrawn. However, the radio was still going on with the warning. I didn’t really want to trust twitter solely, since most of it was just word of mouth.

I tried google, which would not have been useful in this situation a week ago. However, early this month they had implemented “search options” which allowed you to filter search results by date, showing the most recent results first.

Google proved to be up to date, with trusted information. Twitter had been just as, or maybe a few minutes ahead, but it took weeding through a few posts to finally get a trusted source.

It didn’t take long for Fiji Times to post an update on the cancelled Tsunami warning for Fiji. Which was immediately picked up by google, as well as twitter.

A few months ago I had the need to search for some very up to date information. Twitter provided the best source, in which google was quite useless. Now google seems to have noticed that they needed to provide realtime results. Twitter however still has the edge, with human interaction in near real-time and a wider range of resources. For example, if the Tsunami had actually hit, you could have watched it from around the world via Fiji Webcam link posted on twitter.

Now looking at this, I’m amazed at how close up to date information, especially those of large human interest such as disasters, is on the web now, mostly attributed to Twitter. Forget the radio, I’m doing a twitter search.

posted under news | No Comments »
Tag Cloud