Showing posts with label google. Show all posts
Showing posts with label google. Show all posts

Thursday, May 29, 2008

"Open Source is Magic" Tech Talk with Chris DiBona

I arrived a few minutes late to this presentation on the account that I was eating lunch. It's funny, there was no time allotted in the schedule for lunch. We basically had to pick some time between a session to eat, so naturally, obtaining the food and consuming it took a little longer than 15 minutes. In general, the point of this presentation was to indicate why open source software is great, why google thinks it's great, and some ways that they're helping to advance the field. Something that has really been stressed throughout the conference is that Google really has built their entire foundation on free open source software. Even going back to the days of Sergey and Larry in dorm rooms, pretty much all of the software used to build Google has been open source. Chris also made the point that there is noone in the world who has not interacted with something driven by open source software, they just may not be aware of it. Aside from web searches using Google (which everyone has done in today's world right?), almost all embedded devices have C code that was combiled with the gcc (Gnu C compiler). Google itself has also done much to help further the field of open source, primarily in two methods. The first of which is releasing their custom patches to open source software back to the community. For instance, about a month ago Google announced that they will be providing the community with custom patches they wrote for MySql 4.x. Of course these patches were written by Googlers for Google optimizations, but once they were in the wild, they gained a lot of popularity and MySQL now has plans to incorporate the code into their 5.x code base.
http://google-code-updates.blogspot.com/2007/04/google-releases-patches-that-enhance.html
The second way in which Google is advancing the field of open source is with their Summer of Code efforts.
http://code.google.com/soc/2008/
Summer of Code is a way in which Google is providing college students a channel to stay involved with computer science throughout the summer, primarily through contributions to open source software projects. Google coordinates the efforts, and even awards students with monetary payment for their work. Everyone benefits.
Ultimately, Chris' point was that open source software is good for the Internet, and what is good for the Internet is good for Google.
I think that open source software really has potential in the enterprise. Finally companies are beginning to trust the open source licenses (there really aren't that many of them). Once legal departments become familiar with the licensing, I don't see why they wouldn't look forward to the opportunity to avoid the headachces that happen when processing a new license agreement for every new piece of proprietary software. Plus, it's free!

Wednesday, May 28, 2008

Rapid Development with Python, Django, and Google App Engine with Guido van Rossum

First off, most of what attracted me (Andy) to this session was the presenter. Guido is the creator of the Python programming language. Currently he works at Google, and actually refers to himself as the benevolent dictator of the Python community. Even though I don't really have much experience at all with Python, I was excited to here a presentation from such a prevalent language's creator.
Regarding App Engine in general, I really have to question Google's decision that their entry into the cloud computing world would only address web applications. With all that nasty computing power, they're only going to let developers deploy web applications on it? Why not allow raw data processing? I think this is a major drawback from their offerring in comparison to Amazon's Web Service engine. While a little more complex (and requires a credit card to start), I see much more promise in Amazon's offerring. Either way, I'll go with it that Google only intends to address the developers who need to get their application of the ground quickly, and don't want to shell out any dough or effort in obtaining another deployment environment.
Moving on to App Engine, your code (and the system itself) will only ever handle HTTP requests, nothing more or less. When you deploy your code in the cloud at Google's data centers, the App Engine framework will automatically scale the resources. As a developer, you'll never need to worry about any of the infrastructure. As the use of your application grows, App Engine's magic will handle this nastiness for you. Not unexpectedly, the development of your application happens on your desktop using App Engine's SDK. The SDK provides a one click deployment of your application to the cloud. Another interesting note is that Python is the programming language in which App Engine applications are coded. Again, this is yet another differentiator for enterprises. I'd guess that ASP/C# and J2EE are the two most prevalent platforms for web application development in the enterprise today, and obviousily the Microsoft solution has siginificantly less market share than Java. So why would Google choose Python? Maybe it integrates better with how they wanted to package App Engine and integrate with their other systems? Maybe they intentionally don't want to address the enterprise need for cloud computing? Discussions with Googlers and other conference goers throughout the day never really shed any light on this question. Maybe their reasons for offering a cloud computing solution are different from those of Amazon? Guido continued overviewing the quick development of a basic guest book application using technologies of App Engine. Nothing too exciting, and nothing really all that different from what is covered in the App Engine documentation. Well, except for one thing. Django is a Python templating framework that App Engine choose to include with its distribution. Like Python, Django is nothing new, its just something Google decided to provide with App Engine. The only thing, the version they provide is extremely old, and in fact, they recommend that you upgrade to the latest version before development! This seemed really annoying.