Wednesday, May 25, 2011

Hosting a simple website on Amazon S3

I assume you have already signed up for Amazon Web Services S3.  I also assume you have a domain registrar. For this example I'll be using GoDaddy, but there are other popular registrars.
  1. Register your domain
    1. Do this first if you haven't already to make sure you get the domain name you want.
    2. For these instructions I'll use example.com as the example domain.
  2. Create Bucket named for your domain
    1. Sign into AWS Management Console for S3
    2. Under Buckets, click Create Bucket
    3. Name the bucket: www.example.comThis should be the full host plus domain name
    4. Click Create
  3. Upload files (e.g. index.html)
    1. Select www.example.com from the list of buckets on the left
    2. Click Upload
    3. If prompted by your browser, enable Java for the uploader to work.  
    4. Click Enable Enhanced Uploader
      (I could not get the Add Files button to work in Chrome w/out the enhanced uploader)
    5. Click Add Items
    6. Browse and select files to upload for your website.  I will assume you at least have an index.html file.
      You can use Ctrl+Click to select multiple files.  Then click Open.
    7. Click Start Upload
  4. Make bucket a website
    1. Right click on www.example.com in the Buckets list
    2. Select Properties
    3. In the lower pane, select the Website tab
    4. Check Enabled
    5. Enter index.html for Index Document.
    6. Click Save
    7. Click the Endpoint link to verify it is online.
    8. Copy the endpoint link to your clipboard.  Typically something like: http://www.example.com.s3-website-us-east-1.amazonaws.com/
  5. Create a CName record for www.example.com
    1. Log into My Account on GoDaddy
    2. Go to the DNS Manager
    3. Click Edit Zones beneath example.com
    4. In the CNAME (Alias) table:
    5. Click the www row (usually the last row)
    6. In the second column (Points to) paste the endpoint link, removing the http:// and the trailing slash: www.example.com.s3-website-us-east-1.amazonaws.com
    7. Click outside the row to finish editing
    8. Click Save Zone File
    9. Click OK if prompted
    10. Periodically try opening www.example.com in a new web browser, or just wait for an email from GoDaddy letting you know your changes were effected.
    11. You may have to wait for these changes to take effect to move onto the next step.  
  6. Redirect root (example.com)
    1. Go to the Domain Manager
    2. Check the box by EXAMPLE.COM
    3. Click Forward, Forward Domain in the toolbar above the list
    4. Enter www.example.com in the box after http://
    5. Click OK
    6. Periodically try opening example.com in a new web browser, or just wait for an email from GoDaddy letting you know your changes were effected.
  7. Newly uploaded files need to be made public
    1. After you update or upload new files to S3:
    2. Right click on the file and select Make Public
    3. You can use Ctrl or Shift for multiple select

Monday, May 23, 2011

Games I Played in Week Zero

I spent a couple hours playing video games last week. (See the chart in my previous post.)

The pink wedge is GTA4: The Lost and Damned.  There aren't many games that I play all the way through, but GTA4 is one of them.  I particularly enjoy dialing up FLY-555-0100 on the in-game cell phone to spawn an attack helicopter...

The lime green wedge is Assassin's Creed II.  I've only started to play this, but it seems pretty fun.  It includes an easy-to-use free-running mechanic.  If you like free-running games, this one is worth a try.

It also occurred to me that there is better acting in these video games than in some movies...

Week Zero Report

My first week of self-employment is behind me.  I tracked 23 hours out of the last week using toggl.

From the data, my priorities were:
  1. Untracked (eating, sleeping, socializing, leisure, miscellaneous)
  2. My first web app (codenamed: Project Zero)
  3. Health (walking and physician visits)
  4. Miscellaneous
  5. Blog
  6. Playing video games


The largest share of tracked time, at 6.5 hours, went towards my first project.  I am not sure if that is good or bad for a first week on the job.  Either way it should improve.

The second largest share went to my health.  I'm happy about that.  One of my primary goals for being self-employed is living a more healthy life.

The third largest share of time went to...  miscellaneous.  That's right, I've only been in business one week, and the long tail of costs is already apparent.

Moving forward I'd like to improve the amount of time that I tracked, and correspondingly devote more time to production.

If you are curious what games I played read on in my next blog post...  

Wednesday, May 18, 2011

Why I'm Advertising

I am going to be placing advertisements on my blog as one possible revenue stream.

Why would I do this?

  • I believe what I have to say will be valuable to some people
  • I believe I can make a little income this way
  • This gives me some incentive to write many high quality articles
  • I want others to enjoy products that I've enjoyed
  • I want products that I've enjoyed to do well
  • I've never tried it before
  • If Oprah can have some favorite things, so can I
In my life, I have finished a season of reaping and enter a season of sowing.  That is, I have been enjoying good paying jobs since graduating from college.  And, I've spent some of that good money on things I've enjoyed.  I spent 8 years in college sowing, and 7 years afterwards harvesting.  

Now, as I start my own company, I begin a new season.  Now I will be focusing my time and money primarily on planting seeds for future harvesting.  Learning from this highly applicable analogy, I ask, "Does a farmer spend the whole season planting one perfect seed, or does a farmer diligently plant many seeds?"  Clearly, most successful farmers plant many seeds.  Thus, this blog is just one seed for me.  Perhaps it will bear no fruit at all.  But it will be one seed among many.

    Monday, May 16, 2011

    A New Company

    I started my new company today.

    I enjoyed some of the perks of working this way:

    • Took a morning walk to Starbucks
    • Read the morning news via Twitter
    • Edited a video of my morning walk while laying in my front yard
    • Fixed lunch on a gas range in my own kitchen
    • Used my own bathroom (I hate to even mention this perk, but it matters because corporate bathrooms suck.)
    • Worked standing up
    Bootstrap accomplishments today:
    • Set up new checking account for the company (Chase gave me a coupon for $125 for opening a checking account.  That's more then the $50 coupon I have from Wells Fargo.)  I seed funded the company with $125 myself.  So, that's $250 of capital.
    • Set up time tracking with toggl
    • I produced something (a video of my morning)
    • Set up this blog
    • Started documenting the principles/practices I would like to build this company upon
    Conspicuously missing from my day is any programming.  My goal is to be productive every day.  But, that won't always mean coding.  That said, I can't lay groundwork forever.  

    I'm still thinking of what will be a good first project.  Here are my criteria:
    • Adds value to my life (Being my own first customer is a perfect example of bootstrapping)
    • Is a web application (either client or server side)
    • Has extremely tight scope (can be finished in a few days)