Panthic Project Ideas Part 2

This is a followup to my last post where I discuss some possible panthic-focused projects to work on.

The children of Punjab now have completely lost the chance at a better education, and the main person responsible is still at it: attacking the people and institutions who made that project possible. This duplicity is painful to watch, and as I find out more about the pasts, I even somewhat blame myself for not seeing these crimes coming a mile away (e.g. the main accused took pretty similar actions at his last job at Datawind and then turned to sue that company). It’s insane that someone who has had all the higher education benefits that others struggle for everyday and was given several professional opportunities by his friends and sangat, one day makes such selfish decisions against thousands of little kids’ education and compromises any future USAID investment in Punjab, the land he claims to care for. Meanwhile, via Chandigarh, Seattle, he now reportedly sits in Vancouver, having forcibly shut down the promising project in Punjab.

Some more ideas I’ve come up with, that may be worth pursuing, feedback is appreciated:

Sikh Resource Archive

sraBack in 2008 I had the idea of creating a pure and simple online archive of sikh resources. This would be focused on digital collection of everything sikhi-related, with a specific goal of things that are ‘useful’. I even put together a proof of concept that some friends may have seen. I think this idea may still have some merit, even if the digital world has changed considerably since almost a decade ago. We could even work to get these things onto for long-term saving beyond my capabilities.


nanakshahiI have several strong opinions on the Nanakshahi calendar that was created by Pal Singh Purewal, then adopted by Sikhs… then un-adopted by corrupt sikhs. In 2009 I showcased this PHP calendar function by Harpreet Singh Buttar. There are a *ton* of things that could use Nanakshahi calendar support, that I could work to add to. I’d love to see full android support among other things, and this is likely something I could accomplish with a concerted effort.


phoneemotionBack in 2009 I made a small project that was very simple – Call a number, listen to simran. While this has been completely superseded by apps, radio, mp3’s and everything available to everyone, I wonder if there would be an interesting way to expand on this idea (and the small amount of code that I made back then) to do something panthic and forward-thinking.


punjab_timelineOne idea that I’ve been kicking around for a very long time is to make an awesome interactive timeline of Sikh History, across all sorts of dimensions. As specific as possible, with lot’s of different features and types of data you can access. To give a cool and easy-to-use view of sikh history and gurmat. Something like this or this. The main part of the project would be to consolidate the history into something that can be consumed by software, including lots of metadata, and making it free and open to all. This site is a great starting point and example to follow – it’s also very cool so check it out.

Gurbani Search

ggsIt might be almost cliche, but while there are a number of projects out there, plus the large number of Android and iOS apps, they all do things in a manner that doesn’t necessarily fill all the niches that I run into. I imagine a client-side single page web app, with a full offline mode that is focused on presentation to a secondary monitor. This would consume the excellent sikher api and related projects, to be focused primarily on good UI experience. We’ve all seen the Uncles and Aunties at gurdwara struggling with the 20-year old SikhiToTheMax project, it’s probably time to revamp that and make something cool and new. While there exists some other alternatives (iSearchGurbani and SearchGurbaniDesktop come to immediate mind), I have a long history with this project, from back in the windows mobile pc days, and ages ago when I used windows (windows free for at least 17 years now…) This could be a fun, globally collaborative project that would have high impact.

Again, would love to get any reader’s thoughts on this, or any other interesting ideas you may have.

Some ideas on panthic projects

So after being entirely disheartened watching someone I thought was trustworthy completely dismantle a 5 year project to help children in Punjab basically overnight, I’ve decided I need to carve some small amount of time working on a public project that will have some (any) impact on the kaum, and make me feel a lot better about the world.

khandaHere’s a few ideas that have been suggested to me or I’ve thought of, I figure I’ll probably go through several of these posts and illicit some feedback on what people think would have the most impact, and allow me the opportunity to learn something.

I’m most interested in projects that allow me to learn more Python, (I’d call myself a beginner, even though I’ve made a fair amount of tools already) Web, or Android development.

1) Naam Simran / Nitnem Groups App

compassThis would be a website you sign up with your phone number. You choose to be called at a specific time of day and join a small group of other people in a conference call to do Naam Simran or a selected baani. Optionally you can create a private group of your selected friends to join you to encourage you to do the same. UI will be primarily the website, though a phone app could be built as well. Phone number + baani + days of week + timings is the input, automated conference calls is the output. Costs me a non-negligible amount for using Twilio or similar

2) Rebuild

Khabran ScreenshotThis was an old project where I attempted to have all relevant sikh news and blogs in one place for easy consumption.  I could resurrect this project as I think there is still room on the internet for something like this, though a simple RSS aggregator is likely too simple. Maybe you’d want to build more of a community-style site around the news articles being streamed in, or focus only on positive stories.  Should also add audio/video/etc as well. There are a lot of ways I could make this better and more useful.

3) Help the Sikh Coalition

Sikh_CoalitionThe Coalition is a great organization that I have done a good amount of seva for in the past, they have a good number of active projects and some similar long-term ideas in the works as well. I could simply reach out to my good friends and see what they have going on that would be a good fit for me.

4) Free Akal Takht

free_akal_takht_logoNo matter what I think of the politics, being active in this area of the community would be fairly new to me, and could be a good route to take to find some Kaum-wide impact. There is always room for technology plays in these types of projects.

5) Help local/national Sikh camps and retreats

saanjhI have a long history of organizing, teaching, and aiding Sikh camps and retreats around the world. I’m already doing a good amount of seva with the great folks at Saanjh (you should go!), maybe I should up my game here and do a lot more.

Would love to get any reader’s thoughts on this, or any other interesting ideas you may have.

My OS X Application Setup

Here is a complete list of all the client-side applications I  have added to the default OS X install and use on a (near) daily basis. I’ll do a series of posts with a detailed breakdown of many of the apps soon.

This is really just intended to be documentation for myself, but I thought I’d share it as a few people have been asking recently.

App Store:


Downloaded Apps:

pip Installed apps:

Linux VPS:

[HowTo]Install ChiliProject on CentOS 5.6 take two

This is a quick guide on how to setup ChiliProject (or redmine) on CentOS 5.6. This is a followup to this post, with some different, slightly better methodology. I’ll likely be iterating on this guide a few times, so check the blog for updates before launching into this. At the time of writing, ChiliProject v1.4.0 is the current stable release, once v2.0.0 comes out, some of this will not apply.

Once again we’re going to go with the tried and trusted:

  • Ruby Enterprise Edition (REE)
  • Rails
  • RubyGems
  • Passenger
  • Apache
  • MySQL

This time we’re going to install REE via rvm and put chiliproject into it’s own user.

Enable the EPEL repository, so we can grab slightly more up-to-date versions of some packages, as well as subversion and git:

su -c 'rpm -Uvh'

Same as last time lets install httpd, mysql and the necessary build libraries via the yum repos:

yum install gcc zlib zlib-devel curl curl-devel expat-devel gettext-devel httpd httpd-devel apr-devel apr-util-devel mysql mysql-server mysql-devel openssl openssl-devel make gcc-c++ patch readline-devel ImageMagick ImageMagick-devel libffi-devel libyaml-devel sudo git subversion

Start httpd and mysql and enable them to run on boot:

/etc/init.d/httpd start
/sbin/chkconfig httpd on
/etc/init.d/mysqld start
/sbin/chkconfig mysqld on

Let’s create a user that we are going to put chiliproject under, in this tutorial this user will be called chili.

adduser chili
passwd chili

Depending on your long-term plans I would suggest adding the user chili to /etc/sudoers (using visudo) so you can later disable root logins for a more secure environment. This tutorial will assume you have done so, and at this point are logged in as the chili user. If you choose not to do this, this tutorial will still work just fine executing these as root.

In this example we are going to install just a single version of ruby to use just for our chili user. The following should be done as the chili user, unless otherwise mentioned.

bash < <(curl -s

Add this line to the bottom of .bash_profile

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"

Log out and log back in.

Ensure rvm is installed and running as a function

type rvm | head -1

Update and reload rvm (just in case)

rvm get head
rvm reload

Install Ruby Enterprise Edition and set it as the default, this may take some time depending on your hardware.

rvm install ree
rvm --default use ree

Install rails version 2.3.5, the mysql gem, and the correct version of the i18n gem

gem install rails --version 2.3.5
gem install mysql
gem install -v=0.4.2 i18n

These are some optional gems you may want to install. rmagick will give you pretty graphs and ruby-openid will enable the ability to activate openid logins.

gem install rmagick -v 1.15.13 --disable-htmldoc
gem install ruby-openid

Install passenger. Follow the prompts and read the last part of the output instructing you to copy-paste some lines into your /etc/httpd/conf/httpd.conf

gem install passenger
rvmsudo passenger-install-apache2-module

While we are editing httpd.conf, let’s go ahead and create a virtualhost entry, edit as neccessary:

<VirtualHost *:80>
        DocumentRoot /home/chili/chiliproject/public
        <Directory /home/chili/chiliproject/public>
                AllowOverride all
                Options -MultiViews

Finally, let’s download and install chiliproject (or redmine)to the location in our virtualhost mentioned above. You can simply follow the install guide from this point on, but I will reproduce the commands I do below for your convenience:

cd /home/chili
git clone git://
cd chiliproject/
git checkout stable
create database chiliproject character set utf8;
create user 'chiliproject'@'localhost' identified by 'my_password';
grant all privileges on chiliproject.* to 'chiliproject'@'localhost';
cp config/database.yml.example config/database.yml
vim config/database.yml
cp config/configuration.yml.example config/configuration.yml
vim config/configuration.yml
rake generate_session_store
RAILS_ENV=production rake db:migrate
RAILS_ENV=production rake redmine:load_default_data
sudo /etc/init.d/httpd restart

If all went well, you should be able to browse to your successful chiliproject installation at this time! If you need help, hop into the Chiliproject IRC Channel and I’m usually around, and there are many other helpful people there just waiting to help you.