Archive for the 'Musings' Category

Revolutionary Technology

Where I live the media goes on and on about how The Iranian people is using web technology against its regime - for example Twitter, Youtube, e-mails and also cellular phones, SMS, etc… These technologies are described as giving an upper hand to the people as opposed for example to the revolution which took place 30 years ago.

I think this technology is actually being used against the people. You can not use it without being completely exposed. Anyone using it is being monitored and ironically has his/her social network mapped. Once someone is determined to be an organizer or worth the effort of taking down, he/she can be easily arrested.

Bigfoot Linux

I’ve got a Core 2 Duo with 3GB of memory running Ubuntu 64 bit and it can barely handle 3 or 4 applications I use for everyday development work.

Both memory usage and CPU load are annoyingly high. Firefox has about 5-10 open tabs and needs restarting every day or so unless it crashes unexpectedly.

I typically need to close an application to start another if I don’t want the disk to start trashing around indefinitely.

Can anyone explain why on earth does a browser need 1.7GB of virtual memory to run 10 tabs and why does a code editor need 1.2GB to keep 10 files in memory? Is this anything less than utterly ridiculous?

Here is a slightly edited output from top:

VIRT  RES  SHR  %CPU %MEM COMMAND
1719m 736m 33m  29   24.6 firefox
1247m 514m 14m  0    17.2 netbeans
483m  67m  9508 5    2.3  Xorg
301m  48m  3700 0    1.6  apache2
301m  45m  4500 0    1.5  apache2
316m  39m  4496 0    1.3  apache2

Code is Poetry

Code is like poetry, difficult to understand and often has other meaning than intended.

The Spam Therapist

Standard captcha are either broken or are an accessibility nuisance or both. In its most noble form - reCaptcha - it is used brilliantly to digitize books and provide people over at India with a living:
http://recaptcha.net
http://blogs.zdnet.com/security/?p=1835
http://www.w3.org/TR/turingtest/

Smart engineers all over the world are busy trying to invent the most inaccessible new generation captcha possible, which typically involves analyzing or playing around with images.

However, it came to my mind recently that there might be another way, accessible and more faithful to the original Turing test (en.wikipedia.org/wiki/Turing_test). Can a computer administer an effective textual reverse Turing test to block registration spam? Can Eliza, the friendly nonsensical therapist, the famous first Turing test runner up, do that?

Imagine you try to register a new account at web20.com and suddenly Eliza pops up and asks you to elaborate on why you chose to submit the spammy looking email address john23kjdsf784@mail.ru

Seriously, spam filters such as Akismet (for blogs) or Gmail have become so efficient that they have practically eliminated comment and email spam. By requiring a registrant to submit enough textual information it may be possible to apply these filters to registration spam.

In addition, such a conversation, while being entertaining enough for the casual registrant, can be too time consuming for professional-human-captcha-solvers, relieving the potential problem of relay attacks.

Finally, if a new developer vs spammer war ensues around chat captcha we will soon see the first computer to pass the Turing test ;)

Superman, Where Art Thou?

Two years late I have stumbled on this ongoing unreal Gotham style cyber crime - the Storm Botnet - An ants-nest like hydra made of 100,000 to 50,000,000 infected computers using p2p technology with enough combined power to knock countries off the Internet, involved in a variety of crimes and attacking any institute attempting to investigate it.

For two years security experts and law enforcement agencies have no clue how to handle it or who is behind it.

http://en.wikipedia.org/wiki/Storm_botnet
http://www.schneier.com/blog/archives/2007/10/the_storm_worm.html
http://www.secureworks.com/research/threats/storm-worm/

Elastic Plastic

Can someone enlighten me to the fundamental difference between Amazon’s EC2 service and a standard dedicated hosting service?

All this cloud computing crap is nothing more than a money sucking machine for brain-dead hype lovers.

Today I chatted with a support person from Rackspace cloud servers and tried to figure out if there is any technical difference at all between their service and Slicehost’s VPS hosting. “No” she admitted, “They are identical”. They even use the same server specs.

The LAMP Engine

LAMP web hosting can evolve to offer the scalability of Google App Engine (GAE for short).

As discussed in the post “Google App Engine Limited”, GAE does not currently scale bigger than a dedicated server. What it offers is “natural” scalability up to that size and “pay for what you use” billing.

With traditional VPS hosting you can allocate resources manually. You do not have automatic resource provisioning, and as a result you either don’t have enough resources for your service or you pay for more than what you use.

However, Xen virtualization (used by VPS hosting) could evolve to offer automatic resource provisioning, and “pay for what you use” billing as well. It is already possible to move VM between physical servers with no service interruption. A controller could be designed to optimize resource allocation per server, migrating VM as required, for example migrating small services in response to slash-dotting, combining high-bandwidth low-CPU services with low-bandwidth high-CPU services, or automatically matching services which have complementary load patterns.

Google App Engine Limited

“How much are 72 Goggle CPU minutes per minute?” asked himself a critical geek. “About the power of 2 (8 core) modern Xeon servers” was the conclusion.

“How much are 500 requests per second, or 740 MB per minute?” he asked him self again. “Nothing a single well configured dedicated server can’t handle”, was the answer.

“So why doesn’t anyone write anything about this, except for repeating the chewed up hype like a bunch of monkeys?” he wondered.

Catch 72
A Google CPU is defined as 1.2GHz x86 CPU. Google is famous for using low cost servers (focusing on energy efficiency if anything), and therefore I estimate conservatively these 1.2GHz CPU are equivalent to 0.6GHz modern E54xx Xeon CPU and that therefore 72 Google CPU are roughly the equivalent of 2 (8 core) modern 2.5GHz Xeon machines (you do the math).

Request a request
500 requests (hits, not page views) are a lot but a single dedicated server should be able to handle that. Google offers a form through which you can request additional quota, but I would not recommend anyone to base their business plan on begging Google for that extra quota.

The road to where?
Where is the Google App Engine road-map? Do they plan to lift these limitations? Can they?

Distributed speculation
Maybe the Google App Engine can not safely scale any bigger for an arbitrary application.

It is one thing to distribute a well designed algorithm using the MapReduce methodology over 1M servers, but it is another thing to distribute an arbitrary application. For scalability you ideally want an application designed according to the shared-nothing principle (http://en.wikipedia.org/wiki/Shared_nothing_architecture) and what is more shared-nothing than two different and separate small web applications? Keeping these applications small allows Google to distribute their processing efficiently.

References
http://code.google.com/appengine/docs/quotas.html
http://code.google.com/appengine/docs/billing.html
http://news.cnet.com/8301-1001_3-10209580-92.html
http://www.gigabyte.com.tw/Products/Networking/Products_Spec.aspx?ProductID=1075
http://elnexus.com/articles/2004-2008.aspx
http://2bits.com/articles/can-a-drupal-web-site-handle-a-million-page-views-a-day.html

define:irony

This is from the Linux magazine: “Just days after Stallman finished celebrating the 25th anniversary of his GNU Open Source project, the controversial free software activist was again making headlines.”
www.linux-magazine.com/online/news/richard_stallman_cloud_computing_a_trap

Hopeful Again

I hope no one who implemented CSS support into IE6 works in the software industry anymore.

Next Page »