We are a small, intelligent App development studio. We love "Building Amazing Apps", solving problems and cultivating strong relationships with our clients.
Starting Android app developement: From zero to app
By : Shabda Raaj
We recently started with Mobile Application development. I am learning Android using the Commonsware book, and highly recommend it. This is a very short guide to getting you running your first Android app.
What will we build
We will build a simple tax calculator for India, per the rules given here for tax calculation. In this app, we need to gets users income and various tax deductible expenses. After that we need to update the UI to show the tax. You can see the final app and code on github here.
Setting up
- Install Java and Eclipse
- Install Android SDK ...
The Unfuddle Tutorial
By : Shabda Raaj
Unfuddle is the tool we use for our non open source development. I have found it to be the best tool for Software Project management, in particular I think it is superior to Basecamp and Assembla.
When you start using Unfuddle, the number of things can seem overwhelming. This tutorial should help you Unfuddle the Unfuddle.
The Unfuddle Glossary
Unfuddle has,
- Projects: Top level Things which need to be done.
- User: People who are working on a given project.
- Ticket: What a
Userworks on. - Milestone: A timed list of
tickets which should be completed before this given time ...
The Rails and Django models layer Rosseta stone
By : Shabda Raaj
Rails Active records and Django models are more similar than they are different. This is a quick guide to converting between Rails 3 and Django 1.2, and is available on github at http://github.com/uswaretech/Acts-as-Django
Defining models
Both Django and Rails keep the canonical database representation in ruby or python.
#Django
class Post(models.Model):
name = models.CharField(max_length = 100, )
slug = models.CharField(max_length = 100, )
body = models.TextField()
class Comments(models.Model):
post = models.ForeignKey(Post)
username = models.CharField(max_length = 100, )
comment = models.TextField()
#Rails
#db/schema.rb
ActiveRecord::Schema.define(:version => 20100319195739) do
create_table "comments", :force ...Doing things with Django models - aka - Django models tutorial
By : Shabda Raaj
Django abstracts most of the actions you would be doing with the Database. What it doesn't abstracts, and doesn't try to abstract is the Database modelling part. This is a quick tutorial describing to how model your data in Django models.py, and how to access and modify them.
Consider a hypothetical HR department, which wants you to build an application to track and manage their processes. They have employees who work for a department, contractors who work for multiple department. Let's see how you you would do that in Django.
from django.db import models
class ...Wordpress and Django: best buddies
By : Shabda Raaj
Summary: How to integrate a non Django database system in your Django code, using Wordpress as example. The completed code is available at github or you can see some screnshots
Though there are quite a few good Django blog applications, our blog is based on Wordpress. A number of plugin's make moving to a Django based app a bad decision for us, and not in the spirit of "best tools for the job".
We moved the other way, and decided to use Django to admin the Wordpress database. The completed code is available on Github
It is not too ...
more info..Doing things with Django forms
By : Shabda Raaj
Forms are one of the best features of Django. (After models, admin, url routing etc :) ). Here is a quick tutorial describing how to do things with Django forms.
- Basic form
Prob. You want to show a form, validate it and display it.
Ans. Create a simple form.
class UserForm(forms.Form):
username = forms.CharField()
joined_on = forms.DateField()
This wil take care that the form is displayed with two text field, and a value for them are filled in, and the second field has correct formatting for a date.
2.
Prob. Create a form which has values populated depending upon a ...
more info..Using bpython shell with django (and some Ipython features you should know)
By : lakshman
What is bpython?
bpython is a fancy interface to the Python interpreter for Unix-like operating system.
says the bpython home page. It provides syntax highlighting, auto completion, auto-indentation and such stuff.
Unlike iPython, which implements then entire shell functions and emulates the standard python shell, and adds enhancements, bpython just adds features on top of the existing python shell functionality, using the curses module.
The "killer feature" of bpython is, as you can see from the image above, the IDE like prompting of the function parameters and the doc string of the function dynamically. I have always thought, what IntellijIDEA ...
more info..Python metaclasses and how Django uses them
By : Shabda Raaj
Foss.in is without doubt India's largest FOSS technology conference. Lakshman gave a talk today on "Python metaclasses and how Django uses them". Here are the slides from that talk.
[Edit]
Some reactions,
http://twitter.com/jaideep2588/status/6295483833
http://twitter.com/kunalbharati/status/6296572939
And the talk images, http://twitpic.com/rxhn7
You should follow us on twitter and Subscribe to our blog
more info..Writing your own template loaders
By : Shabda Raaj
Django has three builtin template loaders which are used to get the templates for rendering.
TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.load_template_source',
'django.template.loaders.app_directories.load_template_source',
# 'django.template.loaders.eggs.load_template_source',
)
Writing your template loader is a awfuly easy. It is a callable which
- Returns a tuple of (openfile, filename) if it can find the template.
- Raise TemplateDoesNotExist if the templates cannot be found.
The simplest template loader can be
from django.template import TemplateDoesNotExist
def load_template_source(template_name, template_dirs=None):
try:
return open(template_name).read(), template_name
except IOError:
raise TemplateDoesNotExist, template_name
if you put this to your template loaders directory ...
more info..Django gotchas
By : Shabda Raaj
This is announcement about our new work, Django Gotchas, a teeny tiny ebook about commonly occurring gotchas with Django. Here is the readme copied from the project.
Django-gotchas is a collections of gotchas which happen commonly when you are working with Django. They are some errors which I have made commonly or seen others do, these are not the errors which happen because they are hard to reason about, these are those errors which hapen when you close your eyes for a moment when coding.
This is still very much a work in progress, released in the spirit of release ...
more info..Beginning python
By : Shabda Raaj
Slides and code from my talk at twincling.
Django aggregation tutorial
By : Shabda Raaj
One of the new and most awaited features with Django 1.1 was aggregation. As usual, Django comes with a very comprehensive documentation for this. Here, I have tried to put this in how-to form.
Jump to howtos or Get source on Github.
Essentially, aggregations are nothing but a way to perform an operation on group of rows. In databases,
they are represented by operators as sum, avg etc.
To do these operations Django added two new methods to querysets.
aggregateannotate
When you are have a queryset you can do two operations on it,
- Operate over the rowset to ...
- Common testing scenarios for Django app.
- Logging in Django
- Serving static files in Django
- Two Scoops of Django: Review
- Introduction to Python Workshop on February 15th, 2013
- Easy client side form validations for Django: Django Parsley
- MoreApps - Android Library Project: Open Sourced
- Tutorial: Building a Chrome app
- Password Generator App: Open Sourced
- Todo List App: Open Sourced
- April 2013
- March 2013
- February 2013
- January 2013
- November 2012
- October 2012
- September 2012
- July 2012
- June 2012
- May 2012
- April 2012
- March 2012
- February 2012
- January 2012
- December 2011
- October 2011
- September 2011
- July 2011
- June 2011
- April 2011
- February 2011
- January 2011
- December 2010
- November 2010
- October 2010
- September 2010
- June 2010
- April 2010
- March 2010
- January 2010
- December 2009
- November 2009
- October 2009
- September 2009
- August 2009
- July 2009
- June 2009
- April 2009
- March 2009
- February 2009
- November 2008
- October 2008
- June 2008
- May 2008
- April 2008
Getting started with Titanium development for Android and Iphone
By : Shabda Raaj
This is the third post in our mobile app development series. ( You may want to read Phonegap and Android with Java.)
Like last time we will build an App which allows calculating the tax payable, per the rules here. We will use Titanium Mobile
Installing Titanium
Download and install the fairly small Titanium from their sites. Once you download and start it, it will download and install more components. You can then create a new project from their UI.
Layout the Layout
You can add UI widgets and lay them out using Javascript. You need to use Titanium's API ...
more info..