Posts

Showing posts with the label Google App Engine

HTML5 Boiler Plate for Google App Engine Projects

While searching for something on Github, I stumbled upon a pretty comprehensive  HTML5 Boiler Plate for Google AppEngine Projects . Looks great to use as the default Google App Engine project template. App Engine Boilerplate is a versatile yet minimalistic setup for new App Engine projects. html5-boilerplate 2.0  (including it's automated build toolchain for minification and concatenation of js+css) Beautiful OpenID login with  openid-selector Memcaching setup for requests and responses Flexible user-preferences model (with Gravatar link) Templates and template addons Tools such as  is_testenv()  and  slugify(url) app.yaml  configuration for admin areas, static files Released under the  BSD license The source is available on  Github . Will be using it in an App Engine project that will be kicked off towards the middle of the week and will share more about it. 

Detecting a Mobile Browser on Google App Engine

uastring = self.request.headers.get('user_agent') if "Mobile" in uastring and "Safari" in uastring:   # do iphone / ipod stuff Via stack overflow

On The Cloud : Stay On Top of News With NewsCred Custom News Paper

Image
We have created a custom News Paper called “ On The Cloud ” to stay on top of News around Cloud Computing and platforms of interest to us. As of now, we have included news on the following topics : Google App Engine Microsoft’s Windows Azure Amazon Elastic Cloud Force.com and all general topics around Cloud Computing Here is a screenshot of the news paper on NewsCred.com NewsCred allows anybody to create their own news paper based on topics of interest. Unlike others, NewsCred also allows to write your own editorials that will go with the news paper.

Google App Engine : Starting Over

I have been working on Google App Engine ever since it was released. Unfortunately my hard disk crashed last week. Now I had to start over with setting up the development environment, though I have all my apps source code saved (thanks to free SVN repository provided by unfuddle ). Last time, I did all this was almost an year and half ago, so I thought I will keep notes and share on the blog. I will be using Python for my development, so will be installing App Engine environment for Python. Python Install Python 2.6.4 version from http://www.python.org/download/ I was little tempted to have the latest version 3.1.1 but read in the release notes that 3.1.1 by design is NOT backward compatible. So it may not work with Google App Engine. So just stick to 2.6.4 Install PIL Module required for Image manipulation on Google App Engine. Google App Engine SDK for Python Install Google App Engine SDK from Google App Engine Downloads page. Latest version at this time ...

Its Funny, How Experts Are Made In America

Its funny how Experts are made in America. Rule No.1 : You can become an Expert on anything just by claiming you are already one. So much for dreaming big and believing in yourself. And once you are an Expert (or rather once you claim) you will be treated like an Expert !! BTW, an expert’s observation on Cloud Computing. It is really funny. Please read. Microsoft's Azure cloud is a place you go to in order to build your applications. In the process, you are very likely to use Visual Studio, the .Net Framework, SQL Server in the form of Azure SQL Services, and Microsoft SharePoint, then run the resulting cloud application in Azure itself. So is Azure just a super sales site for Microsoft products? No, no more so than Google's AppEngine is a sales site for PHP tools, even though you will write your application in PHP if you want to take advantage of the AppEngine. - Charles Babcock at Information Week’s Cloud Computing Section If you are wondering is cloud –...

Buzz In The Cloud : Cloud Computing Is The New Web2.0

Image
These days, not a single day goes by without talking, hearing or reading something about Cloud Computing. It appears, the whole cloud (I mean the world; don’t blame me for overusing the word ‘cloud’, I just want to make a point) is totally excited about ‘Cloud’ suddenly. In a way, Cloud Computing is the new web2.0, in terms of hype, buzz and activity all around. Every business has something to offer ‘on cloud’. Every consultant is busy selling strategies to cash in on the cloud. And every analyst is preparing a report on the cloud. Every developer is trying to equip to engineer applications on the cloud. Simply put .. What is really Cloud computing is all about? Why not look up the definition of Cloud Computing by going to the Encyclopedia on the cloud (??), Wikipedia. The term cloud is used as a metaphor for the Internet , based on how the Internet is depicted in computer network diagrams and is an abstraction of the underlying infrastructure it conceals. – Wikipedia ...

Relational Database Models Vs. Entity Models

I wrote some time back in February Shifting Away From Tables To Entity Models discussing about fast adoption of Entity models for highly scalable systems moving away from RDBMS modeling and RDBMS databases. DataStore (based on Google’s Big Table) in Google App Engine is an excellent contrast between  these two models. RDBMS relational data management systems, simply put, most Database systems allow us to create data models of businesses in terms of rows and columns in a table. Tables can be ‘related’ to indicate dependencies of data between tables. RDBMS was on the best things that ever happened to software abstractions. Every business domain has been modeled to be a set of tables and relations between them. However, recently another paradigm is taking shape (at least, I only noticed it in the last year), called as Domain Driven Development, DDD for short, that emphasizes the importance of modeling a business in the domain of the business itself rather than dictated ...

VOTE 2009 : RIA for Andhra Elections

Image
Snapshots of a cool RIA application that provide Andhra Elections at a glance. List of constituencies, various details about each constituency that include current voter strength, list of contestants and results in previous elections in a particular constituency. My biggest objective in designing this application is to impress with a clutter free, stylish grayish design. And, Best of all, NO advertisements , what so ever.   The application is available at http://andhra.yestopolitics.com Dashboard of Current Predictions The app displays current trend and prediction of Andhra Assembly elections on the top the application. It has two different estimates. The first one is based on research of Media reports, selective user interviews and trend estimates. The second one is based on survey of users visiting Yes To Politics website. As of now, TDP alliance is leading in both while PRP is running closely behind. Main Screen Once loaded, the app displays list of Di...

Shifting Away From Tables To Entity Models

RDBMS relational data management systems, simply put, most Database systems allow us to create data models of businesses in terms of rows and columns in a table. Tables can be 'related' to indicate dependencies of data between tables. RDBMS was on the best things that ever happened to software abstractions. Every business domain has been modeled to be a set of tables and relations between them. However, recently another paradigm is taking shape (at least, I only noticed it in the last year), called as Domain Driven Development, DDD for short, that emphasizes the importance of modeling a business in the domain of the business itself rather than dictated by abstractions tied to tables. DDD clout calls them "Entities" (not Tables).  In certain ways, I read this shift from RDBMS to Entity model as "shift from horizontal (table) abstractions to hierarchical (entity) abstractions". While Entity models may provide a better modeling, in a well designed database mo...

Google AppEngine : Lazy Data Migration with Versions

If you have already used Google AppEngine to develop an application, you would have already scratched your head around data migration. And Google App Engine is not that great when it comes to Agile style iterations of web development. In its own way, it forces you to design models up front instead of making life easier evolving over time. I have been developing a community application, 'Yes to Politics' for friends in Andhra Pradesh, India to interact with politics in some strangely different way. More about this app later, let me share about data migration. I have around 28000 entities in a model and trust me, I tried to cover all my needs in the design of the model up front.  Well, software development doesn't work that way. I realized I needed another property in the model and I needed to give some default value too. When you add a new property to an existing model, Google App engine doesn't fill the default value for the existing set of entities. So when you acc...