Archive for the ‘Google’ Category
Google Chrome: Yet another Web Browser?
I discovered this comic from Google Blogoscoped. It’s a nifty viral marketing about Google’s web browser project called Chrome. Thanks to Philipp Lenssen for scanning the comic.
In short, the major difference between Chrome and existing web browser would be the back-end architecture. Each tab has its own process is awesome. It will also use WebKit as the rendering engine.
Anyway, go check out the comic. Below is image of the first page. Click on it to read the full comic.
Update (09/03/2008):
Google Chrome is is real, the main page is up and it’s Windows only for now.
Reference:
Google, The Research Paper
Below is the infamous research paper, which led to the creation of GOOG, the company.
Google Mondrian…
Is Guido Von Rossum’s project at Google.
He created online code review application for Google’s internal use.
Google Mondrian uses:
- Google’s BigTable
- Django Framework
- smtpd.py
- wsgiref
Resource:
Why Python?
Among other programming languages, why choose Python?
Let’s go over the basics first, these traits also exist in other programming languages:
- Python is interpreted Programming Language. It is also a high-level programming language. Therefore, just like Ruby or Perl, Python is easy to learn and easy to get up to speed on sizable projects.
- Python is also object-oriented language. But that’s nothing new, most modern programming languages are object-oriented anyway.
Naturally, readers will ask, if Python can only do what MY programming language already can… Why do I have to learn it? Below is my reasoning why… and hopefully readers will convert to Python
1. Python does not have funky sigils or special system_call functions. The only one you have to memorize is: __someDefaultMethods__ By not having too many special characters, programmers spend less time browsing documentation or mailing list on Google.
2. Python tabbed indentation actually contributes to highly readable code. Readable code helps especially when you are juggling many different projects every week, it allows you to remember quickly what you did last time.
3. Python’s power and scalability is proven not hype.
- Google, NASA, United Space Alliance, Industrial Light & Magic, Phillips, Honeywell, EVEOnline, and YouTube (even before bought by GOOG) use Python.
- There are also “less big” examples, which demonstrate Python has low barrier of entry, such as: Jaiku (also bought by GOOG), Renkoo, and projectpipe.com
4. For Back-end Programmers, Database Designer, and System Engineers:
- Look at Twisted[1]. It is one kick ass networking library. It supports many networking protocols that allows building web servers, email, or chat easier.
- Look at SQLAlchemy[2][3], I never seen ORM so powerful and yet so easy to learn.
5. For Application Developers:
- Django is a complete out-of-the-box Web Framework. Their slogan — “For Perfectionists with deadlines”
- TurboGear is also another awesome complete Web Framework solution. But I suggest readers wait until they included SQLAlchemy as their new database stack.
6. For Javascript Developers:
- Look at Mochikit, It is a complete javascript framework that’s very Pythonic. Mochikit is still just Javascript, but have Python’s sense of elegance.
Below are quotes from Eric Raymond on why he likes Python:
– “In Python, I was actually dealing with an exceptionally good design. Most languages have so much friction and awkwardness built into their design that you learn most of their feature set long before your misstep rate drops anywhere near zero. Python was the first general-purpose language I’d ever used that reversed this process.“
– “It (Python) is compact–you can hold its entire feature set (and at least a concept index of its libraries) in your head. C is a famously compact language. Perl is notoriously not;“
– “What I really wanted was code that would analyze the shape and members of the initializer, query the class definitions themselves about their members, and then adjust itself to impedance-match the two sets… …This kind of thing is called metaclass hacking… …Thirty-two lines, counting comments… …Brace yourself: this code only took me about ninety minutes to write—and it worked correctly the first time I ran it.“
– “So the real punchline of the story is this: weeks and months after writing fetchmailconf, I could still read the fetchmailconf code…“
Summary:
Hopefully I provided enough examples on why Python can be your next favorite programming language. Programming in Python is fun indeed.
Resources:
- http://twistedmatrix.com/trac/wiki/FrequentlyAskedQuestions
- http://www.sqlalchemy.org/
- http://en.wikipedia.org/wiki/SQLAlchemy
- If you are new in Programming, this E-book can help
- Why use Python in Windows XP?
- Python Doc – String
- Python Doc – Common OS path manipulation
- If you are familiar with apt-get, Python have something similar for its modules: easy_install
What Others Said about Why Python:
More of Google Product: Knol
From the official blog, it sounds like publishing tools for certain people.
Which makes Knol compete directly with Wikipedia. And that, is very interesting.
If the authors are hand-picked by Google via private invitation, Knol sounds like Google Answer vs Yahoo Answer.
Will Knol work? maybe… It is difficult to trust Wikipedia on not-so-popular article. I’m guessing that’s where Knol would fit in. But then again, Wikipedia allows anyone to write articles. Much like anyone can participate in Q & A in Yahoo Answers.
Below is a sample screenshot of what Knol would look like.

Video: Inside Yahoo!
Video: Google Documentary
This is a very interesting outlook on Google, also general feel of Silicon Valley.
Resource:
How Python is being used at Google Companies
Note that the following are archives of what people said. I never work for Google. This summary is meant for fanboism towards Python.
Hope readers enjoy it.
How Python is being used inside Google itself[1]:
- “At Google, python is one of the 3 “official languages” alongside with C++ and Java.”
- “The Google build system is written in python.”
- “Google has an internal packaging format like RPM. These packages are created using python.”
- “Binary Data Pusher. This is the area where Alex Martelli is working, on optimizing pushing bits between thousands of servers.”
- “Production servers. All monitoring, restarting and data collection functionality is done with python”
- “Reporting. Logs are analyzed and reports are generated using Python.”
- Note from reference no.1: It is obvious that SWIG is being used to talk between C++ and Python, Cool… Way cool.
How Python is being used inside YouTube[2][3]:
- “Python is fast enough for our site and allows us to produce maintainable features in record times, with a minimum of developers.”
- “Requests are routed for handling by a Python application server.”
- “The Python web code is usually NOT the bottleneck, it spends most of its time blocked on RPCs.”
- “Python allows rapid flexible development and deployment. This is critical given the competition they face.”
- “Use psyco, a dynamic python->C compiler that uses a JIT compiler approach to optimize inner loops.” The other way is to use SWIG, wrapping C++ functions so that they are callable by Python.
- “Fully formed Python objects are cached.” I guess that means The python object is serialized and stored somewhere close to the server’s CPU. My wild guess is in the memory using Memcached.
References:
Old Internet Articles
I’d like to share these articles I found as nostalgic reads.
The list will grow as I found more interesting “relics”.
- Wired, January 2003 – Google v.s. Evil: “In the autumn of 1998, he and Larry Page unleashed Google with a clear mission: Help computer users find exactly what they want on the Internet.“
- New York Times, December 1995 – Digital Equipment Offers Web Browsers its super spider: This is back in the day when Alta Vista was still a prototype.
- CNet News, October 2001 – Seeking relics amid webvan’s ruins: This is right around the demise of Webvan, the $1 billion venture
- Google Logo around 1998
- Wired, December 1995 – The Java Saga
Hmm… Google down?
I must be shitting myself. But I’m not… Yahoo! and MSN work just fine.
Todey, I cannot access Google.com. Weird…
These are links that I couldn’t access:
- http://www.google.com
- http://images.google.com
- http://maps.google.com
GMail still works fine tho…
Let’s try ping:
Mon Oct 22–at[~/Desktop]–do–>ping http://www.google.com
ping: cannot resolve http://www.google.com: Unknown host
Mon Oct 22–at[~/Desktop]–do–>ping http://www.yahoo.com
PING rc.yahoo.com (xx.xx.xxx.xx): 56 data bytes
64 bytes from xx.xx.xxx.xx: icmp_seq=0 ttl=50 time=39.706 ms
64 bytes from xx.xx.xxx.xx: icmp_seq=1 ttl=50 time=36.830 ms
64 bytes from xx.xx.xxx.xx: icmp_seq=2 ttl=50 time=38.189 ms
64 bytes from xx.xx.xxx.xx: icmp_seq=3 ttl=51 time=36.163 ms
Naah, this cannot be right… there must be something else…
Damn, just realize how much I’m dependent on Google. And the timing is so perfect, while I’m reinstalling OS X & my development tools.
