Archive

Archive for the ‘Uncategorized’ Category

When does CMS turn into an Inbound Marketing Platform?

February 8, 2011 Leave a comment
  • New content created, should automatically be published to twitter, facebook, linkedin or other social media sites
  • Provide control on which social media sites to target
  • Dashboard clearly indicating our progress
  • Track the facebook fans
  • Track the linkedin followers
  • Pull in analytics data
  • Track the delicious bookmarks
  • pull currently popular content related to our industry
  • when you create a webinar it should notify the webinar subscribers.
  • when you create a podcast it should notify the podcast subscribers
  • when you notify the webcasts, it notify the webcast subscribers
  • Post new PPT slides to scribd.com and other document sharing sites
  • Post new content url to social bookmarking sites

Have you tried our ridiculously simple Agile PM tool? – Pairworks

Categories: Uncategorized

Saasy: Rails SaaS and SSO solution – up in no time

September 27, 2010 4 comments

Following steps will get your saasy solution up.

  1. get saasy from github, this is a rails app, lets call is sso_app
  2. create new rails app, lets call it our_app, this will be using sso_app to login
  3. install restful-authentication plugin for our_app from github using “script/plugin install …”
  4. run in our_app,  the command, “generate authenticated user sessions …”, provided in readme of restul-authentication plugin
  5. install plugin act-as-a-state-machine for our_app
  6. copy  sso_app/lib/sso.rb  to our_app/lib
  7. follow the instructions specified in sso.rb file for our_app
  8. install app_config plugin from github.com for our_app
  9. create config/app_config.yml for application level configuration and add the following saas_site: ___, app_site: ____ and you can access these values like AppConfig.saas_site, AppConfig.app_site. use this in ApplicationController & remote.rb
  10. Caution: Don’t use Symbol for “element_name” in ActiveResource instead use string “user” not :user
  11. Remote/User.rb won’t work if you already have a user model in the application. So, use Remote/remote_user.rb and the class name will be Remote::RemoteUser
  12. Since we have renamed to Remote::RemoteUser, you have to change Remote::User to Remote::RemoteUser in the files, application_controller.rb(1), sessions_controller.rb(2) in our_app
  13. generate sso secret/salt with “rake secret”. you have to run it twice once for secret and another for salt. Paste the generated values to ApplicationController sso options in our_app and application.yml in sso_app
  14. Caution: Make sure you have the right controller name in routes. In my case I had session instead of sessions, so, it didn’t work
  15. Sessions_controller in client.rb, it beens coded not to use saasy in development. For testing purpose you can uncomment Rails env development section
  16. In my case, our_app database is different from sso_app database, so, I had to create user table and model and had to insert entries in user table for the registered users. If they are same database, this step is not necessary. (Will update if new solution is found to automatically update the new users)
  17. add “before_filter logged_in_required ” in any controller in our_app that needs protection. logged_in_required method have to added to ApplicationController with one line in it. “redirect_to sso_login_url unless current_user”
  18. add app_default_url to app_config.yml and use that in Sessions_controller/sso method instead of “/” in redirect_to_or_default. User will be taken to this url once logged in. In my case it will be “/dashboard”

Need a custom Ruby on Rails application to be developed?

Categories: Uncategorized

HootSuite – Your Social Dashboard – http

September 10, 2010 Leave a comment

HootSuite – Your Social Dashboard – http://ow.ly/2CyeW

Categories: Uncategorized

Painless Checkout with Folcia.com

May 15, 2009 Leave a comment

As each day pass by, buying products online is becoming easy and painless. One such experience was with folcia.com. They have completely eliminated the registration process for one time buyer and the fact is I didn’t even realize I am an unregistered user.

  1. Add product to the cart
  2. Secure checkout
  3. Enter your shipping address
  4. Enter you billing address if different from shipping address
  5. Enter credit card information
  6. Presented with confirmation page.
  7. Create an account by entering just the password (optional)
Categories: Uncategorized

How I removed "Spyware Protect 2009" from my Windows XP?

April 27, 2009 Leave a comment

I panicked, when a small popup appeared at the right bottom of my computer screen, that read, “Your computer was infected with virus”. I clicked on the message and it opened “Spyware Protect 2009”. I am doomed.
I googled for fixes,but to my frustration, all the fixes suggested to download some software, that can remove this spyware. What if they were another spyware, so, I am not ready for that.
So, I decided to do it on my own. Below are the steps that worked for me.

Steps to remove Spyware

  1. go to taskmanager >> processes
  2. kill any one process starting at the top and check the system tray at the right bottom, to see if the spyware is gone
  3. repeat the step 2 until the spyware icon is gone from the system tray
  4. When its gone, note the name of the process you deleted just before that (in my case it was sysguard.exe)
  5. open windows explorer and search for “sysguard.exe”
  6. Delete the files found in the search (in my case there were two files sysguard.exe & SYSGUARD.exe-SOME_NUMBER.pf)
  7. Restart the computer

I hope this will save some frustration for you. Above steps should work fine for any spyware.
Have any experience with Spyware, please post a comment.

Categories: Uncategorized

Self Publishing Your Book Made Easy

April 1, 2009 Leave a comment
One fine day, I was listening to a podcast, in which the lulu.com founder was discussing the reasons behind lulu. They were thought provoking and here they are

  1. Will you be motivated enough to write a review for a book, when there are thousands of reviews already in Amazon. What if you can write a review for your friends, will that be enough to motivate you.
  2. Publishing companies allows your book only if they are sure they can sell more than 200000 copies.
  3. where will the potential and promising new writers go
  4. Right now in lulu, writers are more in numbers than readers. For lulu to succeed they need more readers than writers.
  5. discover good authors using various techniques / statistics
  6. market to social networking
  7. one have to read and recommend it to his friends

Is your service or business addressing a specific problem?. Are you clear about the problem you are solving. If so, you have more chance to succeed.

Below are our products and the problem they are trying to solve.
eServicePlace – No easy way to compare and buy services online
HiringOpen – Searching multiple job sites is tedious
eduhelp.in – No easy way to choose the right college
CheetSheet – Everyone need their own cheatsheet.

Certainly, LuLu is not the only player in this market(self publishing book).
Do you know any other players in this field?

Categories: Uncategorized

Tips to Pick the Right Domain Name

March 16, 2009 Leave a comment
You got a great website for selling your product/service. Now you need a domain name that goes with it.
An easy to remember domain, that follows one of the below rules will help you and your customers.

  1. your company name
  2. your product name
  3. benefits from your product/service
  4. action taken by your users

There are billions of websites, with thousands coming everyday. If you think of a name and most probably they might have already taken by someone. If you are ready to pay for
good domain, then you can do that. But if you are not, then following tips will help you save lot of time.
1. Build keyword list
  First important step in picking the domain name is to find the keywords related to your business.
  Google keyword analyzer, will come handy, in building keywords, which you can use later to form a domain name. When you enter your product related keywords to the keyword analyzer or your competitor website, it will analyze and give you a list of keyword suggestions. Pick the ones that has most search volume, not the ones you like most. There are many other tools to help you build the keyword list.
  Google Sets is another tool that will give predict other keywords based on the specified keywords.
  Keywords can be names, verbs, nouns, action, benefits, mean users etc. When you have the list of keywords ready, go to next step

2. Check Domain Availability
  Domain name tools will help you to find out if a domain name is available. Some tools are more flexible, meaning, they even combine the words specified by you and check their availability. One such tool is http://www.bustaname.com, in which you can specify multiple keywords and it will mix and match the words and will spit out the available combination’s. This will be a huge time saver. The best feature is for each word added, you can view and add the similar words.

3. Register Domain Name
  When you found the domain, that suits your purpose, you can register it with most hosting providers. godaddy and networksolutions are examples of web hosting provider, where you can register your domain.

I hope this article will help you to find your dream domain.
Good luck

Categories: Uncategorized

Load Data with Rails using ActiveWarehouseETL

March 3, 2009 1 comment

So, you want to load data from one database to another
and
do some transformations during the loading process?
and
you want to do this using super cool rails

No more worries, ActiveWarehouse, rails plugin, will help you to do just that.This documentation will help you to get started on ActiveWarehouse. Here is an simple example and steps involved to achieve that.

You want to move people from canada_database to us_database and change their country to “us”. Don’t change if the country is different from canada.

canada_database
people (table)
first_name, last_name, country (columns)
Bob, Smith,canada
John, Stewart, canada

Below is our final expected output

us_database
people (table)
first_name, last_name, country (columns)
Bob, Smith,us
John, Stewart, us

Let’s get started

1. Create Rails Project
2. Configure databases:
You need to have these 3 entries in your database.yml

etl_execution:
adapter: mysql
encoding: utf8
database: etl_execution
username: test
password: test
host: localhost

datawarehouse:
adapter: mysql
encoding: utf8
database: us_database
username: test
password: test
host: localhost

operational:
adapter: mysql
encoding: utf8
database: canada_database
username: test
password: test
host: localhost

Run “rake db:create:all” to create these databases
3. create folder “etl” under RAILS_ROOT or wherever you desire.
You will be working in this follder for all your data related tasks.
4. create a file etl\people.etl (naming standard for the file is destination table name) with below contents

source :in, {
:database => "canada_database",
:target => :operational,
:table => "people"
},
[
:first_name,
:last_name,
:country
]
transform :first_name, :default, :default_value => "No First Name" #transformations will be applied to each row before writing to destination
transform :last_name, :default, :default_value => "No Last Name"
transform(:country){|name,value,row| value=="canada"?"us":value }
destination :out, {
:database => "us_database",
:target => :datawarehouse,
:table => "peoples"
}, {
:order => [:first_name, :last_name, :country, :updated_at],
:virtual => {
:updated_at => Time.now
},
}

5. Create a model and run the migration
“people” with columns first_name,last_name,country,created_at,updated_at
6. Run the etl process (data loading process)
Open command prompt and go to etl folder
Run

etl people.etl

This will load the data and will give you the number of rows processed.

Categories: Uncategorized

Creativity doesn’t need a special Gene

February 26, 2009 1 comment

This year’s PodCamp Toronto, a two day blogger event, had many sessions geared towards expanding and exploring your social networks. But one particular session, that caught my attention, was “Fostering Creativity” by Michael Mistretta, in which, he discussed how passion, creativity and a little hard work can take an idea from conception to execution.
Most of us believe “Creativity needs a special gene” and refuse to take on tasks that, we believe, needs that gene. According to Michael, its just an excuse for being lazy.
A Sculptor who create an amazing statue does it after his uncountable hours of practicing and frustration. What differentiates an ordinary man from a creator is passion and hard work.
So, Free yourself and don’t let your belief limit you.
Another notable presentation, “Stalking Your Audience for Fun & Profit..” by Sean Power, helped us understand different ways of monitoring, stalking our Audiences.

Tools for listening, stalking, monitoring our audiences:

  1. radiant6
  2. backtype
  3. boardreader
  4. mon.itor.us
  5. google sets
  6. google trends
  7. google alerts
  8. twemes
  9. buzzfeed
  10. tinyurl
  11. trendrr

Though tools help us a lot, its merely a transmission channel for our messages. Message is the critical ingredient for our social networking success.

click here to view all the PodCamp Toronto presentations

Categories: Uncategorized

Developing mobile applications using Rhomobile’s Rhodes

February 20, 2009 3 comments

Rhodes, an open source framework, let’s you develop mobile applications for smart phones (Blackberry, iPhones) easily, and the best part is, you can use Ruby to do it. Refer this if you are planning to develop mobile interfaces for your app. I have been exploring Rhodes (version 0.3.0 on windows) for a week and below are my tips, issues, tweaks to make your life easier.

Install:

Below steps were missing in the installation document.

  1. Install the RhoSync Server – gem install cucumber
  2. Generating a Source Adapter Class – gem install sqlite3-lib
  3. Generating Rhodes Application and Resources – gem install TZinfo

Issues Faced:
rhogen – code generator throwing exception.
rename gems\rhodes-0.3.0\lib\rational.rb to gems\rhodes-0.3.0\lib\rational_____.rb
Haven’t had any issues after renaming this.
Sample Lighhouse app did not work in Rhosync server
change all base_url variable to @source.url (in /rhosync/lib/lighthouse_*.rb)
or
add a method base_url to return @source.url
RhodesApp in Blackberry simulator, did not get the data from my Rhosync server
when checked the log (rhodes/bb/build/rholog.txt) you see Open DNS error
change source url from http://localhost:3000/apps/5/sources/22 to http://127.0.0.1:3000/apps/5/sources/22
for some unknown reason, Simulator is not finding localhost
Now my Rhodes App is syncing with Rhosync server, but my updates are not reflected in Rhosync server
You see Error 500 while processing sync operation in the logs (rhodes/bb/build/rholog.txt)
copy the url and paste it in browser (after removing url suffix ;deviceside=true), you see “Invalid datetime for column created_at” error
change last_sync_time.to_s to last_sync_time.to_s(:db) in object_inject_query line in /rhosync/app/helpers/sources_helper.rb
Not able to launch Blackberry Simulator, after installing.
Uninstall and Reinstall Blackberry Simulator in “My Documents” instead of “Program Files”, the default folder.
Blackberry Simulator doesn’t sync if you enter invalid username/password
You have to login to Sync Engine for the Sync Operation to work
Simulator has been running for a while, and now it is taking long time to sync with Rsync server.
Restart the simulator
When you update a source in Simulator and go back to sources list page, you don’t see your changes.
After checking your logs, you see alloc failed error
You need to restart it to make it work again
After updating a source in Simulator, wait for the Sync operation to occur. After syncing, your changes are lost in simulator but are reflected in the server
Maybe it gets old data from cache. For some reason its not syncing again the updated record.
This bug needs to be fixed and I have no workaround at this time.
After changing source_url in /config.rb, still simulator uses old source_url
Simulator not updating source_url in the database
When you click reset menu in the Simulator toolbar, it hangs and doesn’t clean the database.
Don’t know why

Tips:

  1. Simulator – Sync Engine – syncs every 10 minutes
  2. Simulator – Sync Engine – login process not clear
  3. Simulator – Sync Engine – Lets say you have two apps each with different login, Sync Engine allows you to login only after entering both the username/password combinations

Concerns:

  1. Source Adapter in rhosync doesn’t report the error clearly
  2. while sync in progress and if the network fails, update will be lost, simulator won’t retry you updates.
  3. Need unittests for the framework classes.
  4. Simulator takes long time to start, meaning for each small change you will lose lot of time. If testing framework incorporated, that will really help us.

Amid these issues, Rhodes is really a cool framework.
Have you experienced Rhodes?

Categories: Uncategorized