Friday 22 June 2012

Setting up a remote git repository on Amazon EC2

This is a brief guide on how to setup your EC2 instance to act as a remote git repository server. It uses ssh to provide the server and authentication access and you will need an existing EC2 instance and the associated ssh keys (.pem file).

1. Install git on your EC2 instance

> ssh -i amazonkey.pem ec2-user@example.amazonaws.com
> sudo yum install git
amazonkey.pem should be the identity file provided when you setup your amazon EC2 instance.
example.amazonaws.com will be your EC2 instance hostname, something like ec2-111-111-111-111.ap-northeast-1.compute.amazonaws.com

2. Setup a git repository on your EC2 instance

From the directory /home/ec2-user
> mkdir test.git
> cd test.git
> git init --bare

3. Configure ssh so git can access your amazonkey.pem

On your local machine edit ~/.ssh/config and add the following :
Host amazon
Hostname example.amazonaws.com
User ec2-user
IdentityFile amazonkey.pem
Replace example.amazonaws.com with your EC2 instance name and replace amazonkey.pem with the location and name of your key file from amazon.
You can test it is working by sshing onto the instance with the command
> ssh amazon
It should successfully log you in to your EC2 instance at this point.

4. Create a local git repository and push it to your remote repository.

One the local machine
> mkdir test
> cd test
> git init
> echo "here is some text">text.txt
This creates a file called test.txt with some text in it so you have something to commit.
> git add *
> git commit -m "initial commit"
> git remote add origin amazon:/home/ec2-user/test.git
> git push -u origin master
At this point you should see some messages about git counting, compressing and writing objects. If there are any fatal errors at this point check that the git remote add origin path after amazon: matches where you created the empty git repository in step 2.

5. Checkout the changes to make sure they worked

On your local machine in an empty directory.
> git clone amazon:/home/ec2-user/test.git
> cd test
> cat test.txt
This should display the text you entered into the test.txt file in step 4 that has gone via the EC2 instance and git all the way back to your local machine.

References

http://stackoverflow.com/questions/4632749/how-to-push-to-git-on-ec2
http://thelucid.com/2008/12/02/git-setting-up-a-remote-repository-and-doing-an-initial-push/
http://dracoblue.net/dev/custom-identity-file-idrsapub-with-git-client/193/

Monday 18 June 2012

Linus on Entrepreneurship

Linus Torvalds creator of Linux recently participated in a question and answer session about Entrepreneurship, catch the full video here :

http://www.youtube.com/watch?v=MShbP3OpASA

A few choice words were said about Nvidia (youtube)

Also this quote "People who get offended should be offended" (youtube)

I like the sentiment of this, if feedback is critical, take the lesson, look for a way to mitigate the criticism, don't get offended and outraged.

Update: Nvidia have posted an updated linux driver that now supports the optimus technology criticized in the video. One person can change the world ? :)




Sunday 17 June 2012

Fits and Starts, A quick review.

It has been nearly two years since the apps were first released into the market place. Progress has been patchy to say the least, finding the time to dedicate to app development has been difficult and the attention they have received has been sporadic at best.

Think and Grow Rich has had some great success with nearly 25,000 downloads in the market place! The revenue stream changed a bit when I had to convert all the embedded ads. from adsense (which was paying around 50p./click) to admob which is about an order of magnitude less, the api is relatively easy to use so that was a bonus.

The Law of Success has been by the most popular of the paid works with almost 250 people taking the plunge and purchasing the app. I have been a bit surprised by the number of cancellations and failed payments, but I am generally using each of those as a motivator to improve the quality of the reader platform :)

Goody Two Shoes was a bit of a shot in the dark, purely selected based on its popularity on project gutenberg, as a paid app it had extremely modest sales, I took the decision to introduce the ads. and put it on the market as a free app. This increased the downloads but again still fairly slow on that front with minimal revenue being drawn in from the ads.

The Prince has enjoyed reasonable sales sitting around 150 but at a cheaper price.

The Notebooks of Leonardo Da Vinci v1, has been a little disappointing. After a fairly significant effort to reformat the text and images of the source material, it has not enjoyed much success and has one mediocre review.

The lessons that have come from the process so far, is that you need a massive number of downloads to generate any revenue from ads. You need a well presented application, even something that isn't graphics heavy like the text of a book, still needs nice packaging to get noticed. Marketing while still being a dark art for us is something that needs to be embraced if any success is to be achieved, along with networking and liasing with other people in the mobile development community.

I am still confident there is a great opportunity to be had in the mobile app market, the next step is some more reflection and planning to figure out how to capitalise on it!