Summer project: Moving out of Twitter

Finally I can think of a project on this summer: Moving out of Twitter.

What’s wrong? Well, nothing much. #thaiWitter runs on great speed with almost no downtime so technical problem isn’t an issue. But, when I joined Twitter it was a social network of computer whizzes. Then some celebs joined. While @thaksinlive @andrewbiggs @PM_Abhisit is nice addition to my timeline, @kalamare @woodytalk @suthichai isn’t. Then those people I didn’t welcome promote Twitter on their TV show resulting in many noobs (non-geeks) joined Twitter.

Finally I can think of a project on this summer: Moving out of Twitter.

What’s wrong? Well, nothing much. #thaiWitter runs on great speed with almost no downtime so technical problem isn’t an issue. But, when I joined Twitter it was a social network of computer whizzes. Then some celebs joined. While @thaksinlive @andrewbiggs @PM_Abhisit is nice addition to my timeline, @kalamare @woodytalk @suthichai isn’t. Then those people I didn’t welcome promote Twitter on their TV show resulting in many noobs (non-geeks) joined Twitter. I know that Twitter isn’t mine so I couldn’t repel those people off so I think I have to move.

I have prepared to move once, but it was failed because I didn’t see a hybrid client like Gwibber on Windows so I stuck with Twitter for a year more. Now I think it wouldn’t be any more client like that happen soon, so I have to make my own.

The client I will make probably copies #thaiWitter’s interface (I had attempted once by forking #thaiWitter but it failed because #thaiWitter’s timeline handling code at client side is optimized for one timeline only) it would merge my Twitter stream with Identi.ca stream and post to identi.ca only (identi.ca then mirrors the notices to Twitter) I would probably include code that remove every tweet that mention people I didn’t follow. I hope to produce this client on the Google Chrome first, then to Palm webOS.

Probably my followers won’t notice, but at least if more geeks joined me at identi.ca I would probably stop reading Twitter stream.

Now hope that I will not spent all my time in RuneScape. 😉

OvzCP#3: OpenVZ API

One of my design goal for OvzCP is to write a OpenVZ abstraction API but not a complete abstraction, just only what OvzCP use.

When I think about getting a number (such as memory available) from OpenVZ, an idea poped in my mind about using getter/setter so I modelled the API that way.

This is how you would get and set current disk space in OvzCP’s API.

import openvz

vm=openvz.VM(101)
print vm.diskinfo # return [total, used, free]

vm.diskinfo = 1024 * 1000 # Set available VM space to 1GB

(Note: currently getter/setter aren’t cached but seems that OvzCP’s f

One of my design goal for OvzCP is to write a OpenVZ abstraction API but not a complete abstraction, just only what OvzCP use.

When I think about getting a number (such as memory available) from OpenVZ, an idea poped in my mind about using getter/setter so I modelled the API that way.

This is how you would get and set current disk space in OvzCP’s API.

import openvz

vm=openvz.VM(101)
print vm.diskinfo # return [total, used, free]

vm.diskinfo = 1024 * 1000 # Set available VM space to 1GB

(Note: currently getter/setter aren’t cached but seems that OvzCP’s first page is served about 60 req/s according to Apache benchmark)