A method to easily create multiple email accounts (gmail)

There is a method to easily create multiple, or thousands, of email accounts! All it requires is 1 real gmail account.

Let’s say you have 1 gmail account – ladygaga@gmail.com

Then you already have multiple gmail accounts!  ladygaga+1@gmail.com, ladygaga+2@gmail.com, etc..

This is because gmail has this cool trick where it can let you pre-label your emails. It works by giving out a version of your email that comes with the label. Eg. if you want to label all emails from your colleagues with “work”, then you would give them ladygaga+work@gmail.com.

You might be wondering: why would I need multiple email accounts?

It depends. For me, having multiple email accounts allow me to register certain services multiple times. For example, if a trial account expires in 1 month, I could infinitely register for trial accounts using different email accounts (:

I have also used the trick when registering for a US iTunes Account (in addition to my SG iTunes Account).

Play! Framework + App Engine Tutorial

This is a tutorial: creating a barebone Play! app and deploying on the free Google App Engine.


Steps to setting up Play! with App Engine

1. Download Play framework (latest is 1.2.1)

2. Unzip and add path

export PATH=$PATH:/YOURPATH/play-1.2.1

3. Install GAE module (latest is 1.4)

play install gae

4. Install siena module (latest is 1.5)

play install siena

5. Edit /YOURAPP/conf/dependencies.yml

require:
    – play
    – play -> gae 1.4
    – play -> siena 1.5

6. Add to conf/application.conf

# —- Google app engine module —-
module.gae=${play.path}/modules/gae-1.4
# —- Siena module —-
module.siena=${play.path}/modules/siena-1.5

7. Restart your app. GAE will start and a /war will be created

8. Edit /war/WEB-INF/appengine-web.xml and enter your appengine appid

9. Deploy

play war MyFirstApp -o MyFirstApp-War
/Applications/eclipse/plugins/appengine-java-sdk-1.5.0/bin/appcfg.sh update MyFirstApp-War/

Go to http://yourapp.appspot.com, and it should run!

Note: This tutorial is only a basic to getting a barebone Play! app to run on Google’s App Engine. Developing a Play! app on App Engine still require your effort. Here is an Easy Bookmark example.

How to get invited to Google+ (workaround method)

Google+ is a new social network application that Google has recently introduced.

It is like both Facebook and twitter, yet even more awesome.

With killer features such as hangout, where several friends can join a VIDEO chatroom, and even watch youtube together! You never need to have physical hangout with Google+ hangout.. Very nerdy yet awesome feature!

 

Problem

No doubt Google+ is one of the most awesome thing on the Internet now.

But the problem is that it is released in its very early stage, so only those who are invited can try it out. And although Google+ users can invite ~300 friends, the invite mechanism was shut down due to insane demand..

 

Solution

The good news is, there is a workaround to getting the invites (:

You still can be invited to Google+ by an existing user. The existing user has to do these:

  1. Post something in his steam.
  2. Add the email of the friend to invite.
  3. Share
  4. The invited friend will receive an email asking them to sign up to Google+

A screenshot of how I invite someone@gmail.com to Google+ in my stream.

google plus

Where to find an existing user to help?

If you need an existing user to perform the above invitation workaround, I can help.

Just leave a comment below with your email.

 

Update: If you did not receive an email from Google+, do not panic. Wait for another day, or two. They should arrive..

Tips: To increase your chances of being successfully invited by Google, you should  create a google profile with your gmail, and +1 something.

For example, +1 this post!

How to update to iOS 5 beta?

You have probably heard about iOS 5 from the recent Apple’s WWDC keynote. It includes 200 new features – iMessage, Notification Center, twitter integration, Reminders, taking pictures with volume key, etc..

But you have to wait until Fall of 2011 to officially install iOS 5..

If you can’t wait, this is how you can update to iOS 5 beta.

 

Pre-requisite

There is only one, hard pre-requisite:

A iOS developer account can activate up to 100 devices for testing purposes. You can either spent $99 to register as an iOS developer, or find a developer willing to activate for you.

Then you have to:

  • Install a UDID app on your iPhone/iPad, and use it to send your device info to the iOS developer. The developer will then add your device to his list.

 

Steps

The rest is easy.

  1. Fulfill the pre-requisite first!
  2. Register a free iOS developer so that you can download the beta (it’s free)
  3. Download the iOS 5 BETA for your device (link)
  4. Extract to get a IPSW
  5. Download and install iTunes 10.5 BETA (link)
  6. Connect your iPhone/iPad to your computer
  7. Open iTunes
  8. Press and hold the Option/alt key (Mac) or Shift key (Windows), and click Restore
  9. Select the extracted IPSW
  10. Restore!

 

Pitfalls

Some possible pitfalls:

  • If you encountered this error during restore "this device isn’t eligible for the requested build”, try editing your host file.
  • Still doesn’t work, try restarting in DFU mode.

Marketing APIs to Developers

The last post I summed up an Introduction to API Business. This post, I am summing up another whitepaper by Apigee on attracting developers to your API.

1. Marketing is not a term for developers

First and foremost, marketing does not appeal to developers.

Developers are cynical about marketing. Statistically, they are the least likely people to be attracted to billboards or online ads. To them, “marketing” is an oxymoron term.

So instead of saying it is marketing, say that you are building a developer community. Instead of doing traditional marketing, it is about you fostering a good developer community.

Always be respectful to developer and bear in mind your work is to help the developers, in all ways (not just only your APIs).

 

2. Address developers’ motivations

Help them, and address their motivations, usually in one of these ways:

  • Build their skills
    They are looking to build on the latest or widely adopted platforms. They want the skills to be useful in the future, either in their current work or on resume.
  • Raise visibility
    They want real impact in the work they do. They want as many people to use and know about what they have created. Providing them some form of distribution, or free marketing, would make them very happy.
  • Tools to solve their problems
    They are looking for tools to solve problems. Provide SDKs on top of your APIs, debugging tools and anything that makes life simple for them. Developers are very practical people.
  • To get paid $$
    Ultimately, they want to create a business and get paid. Help them achieve this goal.

 

3. Segment your approach

Be clear about your segments.

They could be segmented by particular programming languages – Java, Python, C++, Ruby, .NET, etc.. They could be further segmented by the platform – web, mobile, flash, desktop software, etc..

Instead of saying “I’m going to reach every developer”, it is more better to say “I’m going to reach twitter devs building mobile apps” or “I’m going to reach web devs with communication needs”.

 

4. Foster a good developer community

This is where you need to create a place for all developers to communicate with you, or among themselves. Provide them with support, ask for suggestions and share ideas in a forum.

Not anyone can be a community manager, in fact it is actually a rare breed. You will need to recruit the right person, usually with the personality of an extroverted geek (ahem, coincidentally that is my twitter bio).

 

5. Reach out to developers

Reach out to them via

  • relevant blogs
  • forums and groups
  • StackOverflow, ProgrammableWeb, MSDN
  • twitter, linkedin
  • SEO (google search for eg. “SMS API”)
  • be the pretzel next to the beer – this means put your API beside someone else’s great API

 

6. Free and Easy

Developers, especially individual/independent/hobbyist developers, will avoid your API like plague if it’s not free and easy to use.

 

7. Top 10 Developer Adoption Drivers

A list of 10 adoption driving factors:

  1. Cool API – most important
  2. Gather three metrics and stick with them
  3. Get your content out
  4. Good content engine (sample code,  SDK, marketplace)
  5. Internal hack day
  6. Look alive
  7. Focus on segments
  8. Scale and leverage
  9. Track your devs
  10.   Offline activities (contest, conference, or beer session)

Setting PATH variable in Mac permanently

This post I will highlight 3 ways to change to your PATH variable.

 

1. The quick way

Firstly, check your current PATH

echo $PATH

If the directory (eg. /my/new/path/) you want to add is not already in your current PATH, then you can easily add with the command

export PATH=$PATH:/my/new/path/

Done. Right?

It’s not really done, if you would like the PATH to change permanently (which is usually the case). This quick method only change the PATH for that bash session. If you close the terminal or open a new terminal, the PATH reverts back.

 

2. Set permanently for a user

This brings us to the second way of setting PATH permanently for a user.

Edit the user’s bash profile (replace USERNAME)

pico ~USERNAME/.bash_profile

Insert (or edit) this line

PATH=$PATH:/my/new/path/

Press ctrl-x, then ctrl-y, to save the file.

Done.

 

3. Set for all users

As a bonus, if you want the PATH to change for all users

sudo pico /etc/paths

Enter your superuser password to edit, and insert or edit this link

PATH=$PATH:/my/new/path/

That’s it! Enjoy your path!

 

beautiful biking path

Introduction to API Business

Apigee has written a pretty comprehensive whitepaper on API business.

These are some good pointers from the whitepaper.

 

1. Understand the API users

Who are using the API? What are they using it for? How does it drive their business?

Not all developers are your API users.

 

2. API Key, Authentication & Authorization

API providers usually provide at least one of these:

  1. Identity: Who is making the request? This give birth to API Key. Google Maps uses that.
  2. Authentication: Are you really who you are? Twitter use username/password authentication via BasicAuth/OAuth/xAuth.
  3. Authorization: Are you allowed to do that for the user? Twitter also implement authorization for third party apps to do things in place for users.

The Role of OAuth is:

  • Solve app-to-app security problem
  • User grant access to app A to access app B, without sharing their actual password
  • User may revoke the access token at any time

Recommendations:

  • Use API Keys for non-sensitive (public) data
  • Use username/password for user-to-app
  • Use OAuth for server-to-server
  • SSL for everything

 

3. API Versioning

API changes and improves like a product, with new versions that are bound to come along in the future. Some of these API changes could be huge and might require a v2 or v3. eg. Google Maps API

Because developers using an older version might not be able to upgrade their users instantly, the older version has to be supported during the transition.

 

4. Community and Audience

Developers, developers, developers.. it’s all about developers.

But first of all, you must have a cool product/API.

Then engage them in developer forums and events.

5. API Metrics

Gauge your success by some metrics, such as:

  • Developer sign-ups
  • API traffic
  • Revenue

 

6. The VMSO

Like a product, be clear of the VMSO.

  • Vision: the dream
  • Mission: the everyday task to fulfill the dream
  • Strategy: the unique approach to take
  • Objectives: metrics to success

 

7. Target customer segment

What is the target customer segment?

Are they the developers (web/mobile/etc), partners, or affiliate marketers? Stressing once again, it cannot be everyone.

 

8. Use cases

Develop use cases for your developers on how the API can be used.

This in terms let other developers grasp how they can use the API.

 

9. Differentiate your API

In the same vertical, you have to differentiate yourself.

API switching cost is often high, and difficult, so developers will avoid switching if there is no differentiated values.

 

10. Don’t try to market to developers

Developers are not enticed to marketing (gimmicks), because they think differently.

Instead, help them to solve their problems. Understand what is important to them and give them what they need to reach these goals.

Lastly, help them earn $

iPhone tracks your location. See it on map yourself.

It was recently revealed by 2 researchers that iPhone is secretly tracking where you go!

Download this Mac app, iPhone Tracker, which will read a file stored on your Mac when you sync your iPhone. Download it here, unzip and simply open the app to reveal.

alltime-singapore

It was kind of fun for me to see where I have been in the last 6 months. Basically everywhere in Singapore. Ah, but not Pulau Ubin.

How to view a website that has been deleted?

Sometimes, people delete their blog/website to protect their privacy.

For example, during Singapore Election, when Nicole Seah of NSP (National Solidarity Party) is nominated as a candidate, and she instantly becomes a public figure.

She starts protecting her privacy on Facebook, and deleted her personal blog to avoid public scrutiny. Her blog was originally at http://crappology.blogspot.com/

With the help of Internet Archive, which archive ALL public webpages periodically, you can travel back in time to look at a website. Fortunately, her blog was archived in 2007 for us to take a look.

http://classic-web.archive.org/web/20070713212452/http://crappology.blogspot.com/

nicoleseah

PS: This post merely educate on how to view a deleted webpage, and nothing else.

App Store Most Popular Category

Unsurprisingly, the most most popular apps are Messaging, Voice and Social Networking. And remember: LBS has high potential to shift right.

appstore-category-matrix.png

* App Store refers to app store of all major smartphone platform, not just Apple’s