Thursday, February 26, 2009

Creativity doesn't need a special Gene

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

Friday, February 20, 2009

Developing mobile applications using Rhomobile's Rhodes

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?

Wednesday, February 18, 2009

Why the Best is the Enemy of the Good?

Are you an entrepreneur and need some motivation, specially during these tough economic conditions?. Then How successful people win by Ben Stein will be a good read.
Ben states 10 rules for everyone to win in their game and each one of them were gold.
Some of the them are:
  1. The Best is the Enemy of the Good
  2. Nothing Happens by Itself
  3. The One Indispensable Ingredient - Persistence
He goes in detail about each rule, with an example.
Often, times like these, will test our strength and books like these will help to make us more stronger.

What is your favorite book?

Friday, February 13, 2009

Cloud Computing - CloudCamp Toronto

CloudCamp - a place to meet and learn about cloud computing, happened in Toronto last week. Below are the snippets of our interesting discussions, to provoke your thought process.
  1. No security -- don't put sensitive data in clouds
  2. More suitable for small businesses -- where server requirements are not clear
  3. Technology virtualization -- running multiple os on a platform, technology that made cloud computing possible
  4. Common API -- in progress, by multiple vendors for cloud portability
  5. Business opportunities in cloud
  6. Saas -- should run in cloud
  7. Saas - Paas - Iaas(bottom) -- more stack, less flexible
  8. google app engine -- example for Paas
  9. Beware, you will still be paying for the Bandwidth.
  10. Superbowl commercial -- example where clouds can be a perfect fit.
  11. When will clouds run out of space? -- at least not in another couple of years
  12. Amazon EC2 is the leading provider of Cloud Computing.
  13. Saas running in clouds -- example: salesforce, google docs
  14. peak / off peak rates -- once the cloud computing pick steam, we are going to see these.
Thanks guys for arranging this meet up. It will really be a time saver, when we deploy our app http://www.eserviceplace.com in clouds.

Wednesday, February 11, 2009

Writing tests is worth the hard work

Is writing tests harder than application code?.
Absolutely, and how can you make it easier?.
  1. Well, first step is to be aware of tons of tools available to make your life easier for writing tests (test frameworks, mock, fixtures).
  2. use the right tools in right way (when to use and not use mock)
  3. don't over test / verify (over mocking will be your maintanence nightmare)
  4. check out the video BDD with shoulda by Tammer
Second part of the video is about general testing and it covers the following
  1. Mocking (Advantages, disadvantages)
  2. Over Mocking (problems)
  3. Fixtures (why is it bad?, alternatives)
  4. White box vs Black box
  5. Brittle tests (what is it?, how to avoid?)
Is it worth the hard work? Yes, it saves hours and hours of debugging when some code broke for unknown reason.

Monday, February 9, 2009

Why is it so difficult to find a suitable title for a blog?

Does everyone have the same problem with your blog?.
How long did you take to find a suitable title?.
How many times have you changed the title?.
It was so difficult for me, because, I have passion in more than one area. I want my blog title to reflect what I am going to write.
Here it goes, I am going to report interesting findings as I travel through the ever changing technology landscape with adventurous entrepreneurship.
Does the blog title mean what its suppose to say?