New Search Engine on the Block: Cuil
July 28, 2008 § Leave a Comment
Cuil claims that it searches 3x more web pages than Google, 10x more than Micro$oft.
Loud claim, but I supposed the founders can make such claims since they are well decorated ex Googlers.
But the main question is:
Will it be a better search experience (for me)?
Through out the whole evening I’m trying to search with Cuil. Youtube videos about soccer, mac pictures, online comic, Scion cars, Honda history, etc, etc…
So many things to search. Let’s see how Cuil fulfill my needs:
- I typed: “youtube scion xb video”. Where’s the youtube page?
- And then “soccer videos“, it searches some stuff, but not really online soccer videos of latest european matches.
- “Mac pictures“… First page is about Bernie Mac???
- Moving on, how about “naruto manga“, aha! Finally useful pages that shows me where to read the latest Naruto manga online.
- Next, “honda history” search term. I’m surprised that wikipedia page about Honda is not even on the first page.
- Finally, I typed “Cuil“. It cannot even find itself. Even Mahalo can find itself.
I don’t know what would be the scientific way of evaluating search engines. Overall, Cuil hasn’t been a very good experience.
Side Note:
Since they are ex Googlers, are they using Python?
Now I know why I like Mochikit
July 24, 2008 § Leave a Comment
Before, I really don’t care much about Javascript frameworks. They all do kind of the same thing and they all works.
Well, Prototype + Scriptaculous are serious pain in the neck, but I’ve moved on. I guess many Javascript developers have moved on from those two as well.
I still like Mootools. Their website is always so sexy, and the documentation is always clear. (+ 654768864 points for Mootools)
But I now know why I like Mochikit better:
“Mochikit does not mess with Base Object properties.”
Mochikit is simply a library of useful functions. Functions that make Javascript development more pleasant, and I like that.
Side Notes:
- I never used Dojo, so I don’t know anything about them. That being said, Dojo is massive! 4.1 Mb of tar.gz file.
- GWT doesn’t count in my preference list, because it’s a JAVA library that writes Javascript. Not my cup of tea.
References:
iPhone Hackers Website
July 16, 2008 § Leave a Comment
This is the website (more like wiki, actually), of a group of iPhone hackers.
These hackers have all sorts of information on how to exploit iPhone’s bootloader.
They called the project: Project Pwnage. Nifty.
References:
Python Employers
July 10, 2008 § 3 Comments
Compilation of companies that use Python and hire Python developers, that I know of.
If readers know more cool companies that use Python, please DO comments.
- Google (Duh…)
- YouTube (Duh…)
- Yelp
- Mochi Media
- EveOnline (MMO game)
- Jet Propulsion Laboratory
- BBC UK (Duh…)
- Reddit.com (They release open-source project called: web.py framework)
- FriendFeed (Twitter competitor?) [their office snapshot]
- Jaiku (Twitter competitor) [their office snapshot]
- Slide (Widget Stuff) [their office snapshot]
- Art & Logic (Consulting)
- Enthought (Scientific Computing)
Hope it helps Python brothers to get a kick ass job.
Firefox 3
July 9, 2008 § Leave a Comment
Just downloaded Firefox 3 (Grand Paradiso) for OS X today.
And man, it is so much better than FF2.
These are some of the obvious improvements:
- It gains the native look and feel of Cocoa app. (+9867542534)

- Plugins/Extensions are search able and installable via Tools menu. (+564758453)
- Most extensions are working without any serious hiccup, especially FireBug. (+564241)
- It’s Gecko 1.9 engine is noticeably faster. (Noticed via YSlow plugin & my eyes, I know, not very scientific)
Although, I have to add:
Sometimes, FireBug is confused about the existence of console object when I called console.log(‘something’).
Trivia:
- FF3 broke Guiness World Record of “Most downloaded software in 24 hours”, tallying up 8,002,530 unique downloads.
References:
Stackless Python
July 7, 2008 § 1 Comment
After my previous research about Erlang, I thought to myself, how Python is stacking up against concurrent programming language?
The answer might be, sorry for the chessy pun above, Stackless Python.
Similar to Erlang’s green process, Stackless Python has microthreads called Tasklets.
Tasklets allows you to perform operations in multi-threading environments safely without the need of semaphores.
If what I understand is correct, the payload of each of this Tasklet is small. Therefore creating a whole bunch of them is not a huge penalty to system resources.
If there are resources need to be shared between Tasklets, use Channels.
In conclusion, Stackless Python gives the ability for developers to execute operations in a thread-safe manner, while still retain the familiar imperative syntax.
Side Note:
- I’m very happy with Stackless Python wiki, they give really easy step-by-step tutorials.
References:
Erlang
July 6, 2008 § 1 Comment
I don’t do Erlang, but I heard it more and more nowadays. Especially since Amazon SimpleDB is written in Erlang. Ericsson’s Computer Science Lab developed Erlang in the 80s.
So, I guess its worth a little research on Erlang.
What do I know so far about Erlang:
- It is a concurrent programming language and runtime environment.
- It’s open sourced by Ericsson.
- The concurrency is done via Erlang’s process, which is neither OS process or threads. Erlang process works like green thread (maybe should be called green process), which is process that scheduled by the runtime environment.
- Installation on OS X require compiling from source. (Here’s the latest build)
- CouchDB, which is similar to SimpleDB in terms of features, is also written in Erlang.
How to Install Erlang on OS X:
- Download the latest build, and extract the tar ball.
- Run configure with the following options: ./configure –enable-smp-support –enable-hipe –enable-darwin-universal
- run make
- Finally, sudo make install
What is HiPE (High Performance Erlang)?
In short, HiPE is Just-In-Time compiler for Erlang.
References:
Python @staticmethod vs @classmethod
July 2, 2008 § 6 Comments
Being educated under Java background, static method and class method are the same thing.
But not so in Python, there is subtle difference:
Say function a() is defined in Parent Class, while Sub Class extends Parent Class
If function a() has @staticmethod decorator, Sub.a() still refers to definition inside Parent Class. Whereas,
If function a() has @classmethod decorator, Sub.a() will points definition inside Sub Class.
Let’s talk about some definitions here:
@staticmethod function is nothing more than a function defined inside a class. It is callable without instantiating the class first. It’s definition is immutable via inheritance.
@classmethod function also callable without instantiating the class, but its definition follows Sub class, not Parent class, via inheritance. That’s because the first argument for @classmethod function must always be cls (class).
Reference: