We are a small, intelligent App development studio. We love "Building Amazing Apps", solving problems and cultivating strong relationships with our clients.
Easy client side form validations for Django: Django Parsley
By : Shabda Raaj
Parsleyjs is a JavaScript library to do client side data validations.
It does this in a non-intrusive way via adding a data-* attributes to form fields. Check it out, it's really slick.
Django forms do a great job of server side data validations. By integrating Parsley with Django form, you get good client side data validations as well. Get the app here.
Some design considerations
When I started writing this app I wanted to make it really easy to use. My first thought was to make this a filter or a template tag which would have allowed you to ...
more info..MoreApps - Android Library Project: Open Sourced
By : Shabda Raaj
If you have a portfolio of apps, you probably want to cross promote them.
We are open sourcing an Android Library Project to make this possible. Get the code. This provides an Activity which you can show with a Grid of your apps.
How to use it
Add this MoreAppsLibrary project(library) as a dependency in the Android Application project you are implementing.
Add the following code in your AndroidManifest.xml:
<activity android:name="com.agiliq.android.moreappslib.MoreAppsActivity"
android:label="More Apps">
</activity>
Perform an Intent to start the MoreAppsActivity; make sure to putExtra("package", getPackageName());, this ensures that ...
Password Generator App: Open Sourced
By : Shabda Raaj
Announcement:
We are open sourcing a few tools we developed recently. Here is the second one.
Password Generator Chrome Extension
Install it from chrome webstore
Here are the docs
Summary
A completely client side password generator.
What is it
Its a chrome app to generate unique passwords for each site. Depending upon the domain and a master password a unique password is generated. It doesn't need any server and everything happens on the client side.
Why?
I want to use a unique password for each website. However, I don't want to use lastpass/1password as I find their ...
more info..Todo List App: Open Sourced
By : Shabda Raaj
Announcement:
We are open sourcing a few tools we developed recently. Here is the first one.
This is a simple todo app - with the key feature that it is completely offline.
Features
- Create todo list
- Create todo
- Mark as done
- Delete
- Totally offline
Get the source or install the app.
more info..Rails for Django developers
By : Shabda Raaj
My presentation at Pycon India 2012
Download it from here more info..
Deploying Django apps on Heroku
By : Shabda Raaj
Deploying Django apps on Heroku:
Read this first: http://devcenter.heroku.com/articles/django.
This is a great article by the Heroku. I am just filling in some more details and making this step-by-step.
- Get your Django project code.
-
Create a virtualenv with a no-site-packages command ::
virtualenv vent --no-site-packages
-
Install Django, psycopg2 (postgres connector), gunicorn and any other required Django libraries.
- Confirm that you have all the required libraries and you can run your code locally using
manage.py runserver. -
Create a requirement.txt by using ::
pip freeze > requirements.txt
-
Make sure you have a requirements.txt at the root ...
Screencast: How to deploy Django on Heroku
By : Shabda Raaj
How to deploy Django on Heroku from Shabda Raaj on Vimeo.
Here is a screencast to accompany http://agiliq.com/blog/2012/04/deploying-django-apps-on-heroku/. Watch in fullscreen.
more info..Deploying Django apps on Heroku
By : Shabda Raaj
Read this first: http://devcenter.heroku.com/articles/django.
This is a great article by the Heroku. I am just filling in some more details and making this step-by-step.
Get your Django project code.
Create a virtualenv with a no-site-packages command
virtualenv vent --no-site-packages
Install Django, psycopg2 (postgres connector), gunicorn and any other required Django libraries.
Confirm that you have all the required libraries and you can run your code locally using manage.py runserver.
- Create a requirement.txt by using
pip freeze > requirements.txt
Make sure you have a requirements.txt at the root of your repo. Heroku uses ...
How to use pep8.py to write better Django code
By : Shabda Raaj
Here is another or screencast I created for my "Getting Started with Django" series. Like this? Email us on what would you like to see.
(Watch in fullscreen.)
more info..Screencast: Django Tutorial Part 1
By : Shabda Raaj
Django Screencast Tutorial 1 from Shabda Raaj on Vimeo.
I am creating screencasts for Django tutorial and other Django videos. Here is part 1. Liked this? Leave me a comment or email me and tell me what would you like me to create screencasts for.
(Watch the screencast in full screen mode.)
more info..How and why to use pyflakes to write better Python
By : Shabda Raaj
Here is another of the screencasts I created for "Getting started with Python" series. Liked them? Let me know what else would you like me to create screencasts about?
more info..Writing jQuery plugins using Coffeescript
By : Shabda Raaj
So you want to write a Jquery plugin. If you know jQuery and Coffeescript, this would be amazingly easy.
I will walk you through writing a jQuery plugin which will allow us to add alternating colors to alternating rows.
Here is the plugin in its entirety.
$ = jQuery
$.fn.zebraTable = (options) ->
defaults =
evenColor: '#ccc'
oddColor : '#eee'
options = $.extend(defaults, options)
@each ->
$("tr:even", this).css('background-color', options.evenColor)
$("tr:odd" , this).css('background-color', options.oddColor)
Lets look at what we did.
- We bound $ to jQuery object.
- We created an anonymous functions and added this to jQuery, by assigning it to
$.fn ...
Haml for Django developers
By : Shabda Raaj
Haml is taking the Ruby(and Rails) world by storm. Its not used as heavily by Python(and Django) developers as the Python solutions aren't as mature. I finally gave Haml a try and was pleasantly surprised how easy it was.
The most mature Python implementation of Haml is hamlpy, which converts the hamlpy code to Django templates. Others are shpaml and GHRML
Lets look at some templates from Django tutorial
{% if latest_poll_list %}
<ul>
{% for poll in latest_poll_list %}
<li><a href="/polls/{{ poll.id }}/">{{ poll.question }}</a></li>
{% endfor %}
</ul>
{% endif %}
Here is this template converted to Haml
-if ...Coffeescript for Python programmers
By : Shabda Raaj
I just learnt Coffeescript, and as a Python programmer loved being able to write Javascript in a Python like language. Coffeescript is inspired by Python/Ruby and is very close to these languages. Writing Coffeescript and reading the compiled Javascript also improved my understanding of Javascript. Without much ado here is translation of some Python code to Coffeescript to get you started.
Defining a variable
Python
a = 10
Coffeescript
a = 10
Setting scope is done via whitespaces.
Python
if i == 10:
foo()
Coffeescript
if i == 10
foo()
No semicolons
List comprehensions
Python
languages = ["Python", "Coffeescript", "Java", "Ruby", "Haskell"]
languages = [lan ...Jobs
By : Shabda Raaj
We are a small software company building web facing applications for a number of clients. We work with Python, Django, Jquery, Mysql or Postgres. We “build amazing webapps”. You can learn more about us from:
What we are looking in you:
- Are you a software engineer looking to work in a small team with smart people?
- Do you know multiple programming languages, and have the ability to pick up new ones?
- Can you prove why your IDE or editor is better than mine?
- Do you know relational databases, when ...
Comparison of mobile app frameworks: Iphone, Java, Phonegap and Titanium
By : Shabda Raaj
I recently built the same app with the common mobile technologies, Obj-C, Android:Java, Phonegap, and Titanium .
This is a quick comparison of the app frameworks.
Miscellaneous notes
- Phonegap and Titanium both amazed me. It feels very empowering to code in Html, css and JS, test it in Chrome, debug it with firebug, and deploy to a device without any changes. Titanium UI widgets are native, building it with JS was very cool.
- Phonegap and Titanium both underwhelmed me. I assumed Phonegap would have widgets which would be 95% of the way to looking like native widgets. It was easy ...
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..Getting started with PhoneGap using Xcode for Mobile app development
By : Shabda Raaj
This is next in the series of apps I am building using various mobile technologies. It is the same app as build using Java for Android for calculating the Tax payable (in India). You can get the code for Objective-C, Java-Android, and PhoneGap.
First the impressions
Phonegap was the easiest to work with among the Objective-C, Java and PhoneGap, by far. I created the app as easily as
Step 1. Write the app and test it in Browser using the Chrome developer tools. Step 2. Start a project in Xcode. Step 3. Copy the HTML and CSS files to project ...
more info..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 ...
Book Review: Pragmatic Guide to JavaScript
By : Shabda Raaj
Pragmatic Guide to JavaScript is the Pragprog's book by Christophe Porteneuve which I have wanted to read for a while.
I went into this book expecting to read actionable and task focussed book on modern JavaScript, and this book does not disappoint on that count. Using 35 tasks which you are going to need in your browser based JS development, this books teaches required JS techniques.
However I went into the book expecting a framework agnostic approach. This book however is very heavily focussed on Pototype. Initial chapters start as framework agnostic, but they soon turn into Prototype based ...
more info..Book review: The Principles of Successful Freelancing
By : Shabda Raaj
The Principles of Successful Freelancing is book I read after The Principles of Project Management.
My motivation from this book was to use freelancing advice and use that for our (larger) business. This book is razor focussed on Freelancing and even more on people who are starting with or considering starting freelancing. If you are in this group I consider this book very well written, and a must read, but if you are part of a larger group, the razor sharp focus makes this not worthwhile.
Chapter wise it is:
- Chapter 1: Considering Freelancing?
- Chapter 2: Prepare for the Transition ...
Book review: The Principles of Project Management
By : Shabda Raaj
The Principles of Project Management is the book I am reading after Outsourcing Web Projects.
I went into this book expecting lot of actionable steps I can use for our projects right away, however this book is heavier on theory. Guess I can not complain with the name being The Principles of Project Management.
In their own words the book has,
So What Is Project Management Anyway?
This chapter forms an introduction to the art and science of project management. Here, we talk about the key phases every project goes through and why project management skills are increasingly important today ...
more info..Book Review: Outsourcing Web Projects.
By : Shabda Raaj
Sitepoint had a book sales running recently where they made all their books available for sale at 7$. Being a sucker for good books and deals, I bought more than I should have. Here is the review of the first I read, "Outsourcing web projects."
This books is written from the viewpoint of buyers, but as a vendor, I have some insights (IMO) from the other side.
It starts with these chapters.
- How to Have Vendors Competing for your Job.
- How to Find the Perfect Outsourcing Partner.
- How to Get the Best Price for your Project.
- How to Get it ...
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 ...
- 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
Two Scoops of Django: Review
By : Shabda Raaj
Two scoops of Django is the new book on Django best practices by Daniel Greenfeld and Audrey Roy. I just finished reading it and found it extremely useful.
The book is a collection of tips, their justification and code organized in logical areas. I have been using Django since 2008, but I still found a few tips which were new to me and many which served as good reminder. At about 200 pages, its comprehensive but not overwhelming. If you are an advanced Djangonaut, you can read it in a weekend (And you probably are using all its recommendations anyway ...
more info..