Lunch Shoppe

A place for much random randomness... 
Filed under

startup

 

ithinkyourecute

So I wrote a Facebook App and released it finally. It's called ithinkyourecute which was inspired by my friend Andrea. The idea behind it is simple. Say you are seeing someone and are interested in dating him or her, but you don't know whether to take it to the next level. This app hopes to help people with this predicament. If you mark someone as "cute" and in return that person marks you as "cute" then you know you are good to go. I wrote it in Ruby on Rails using the rfacebook gem which made it quite easy and only took a few hours. The hard part was design which I have no aptitude for. I am hosting it on Joyent Accelerator using ngnix and mongrel_cluster. I wanted to use Apache with mod_rails, but that didn't work out as I was constantly getting an error which I didn't have time to debug. I hope to eventually move it to that as it'd make deploying a whole lot easier, but I'm not complaining. The Joyent Accelerator I am using is a part of the free accelerator that is being given out to facebook developers so eventually I might go back to using Slicehost, but for right now it is fine.

Loading mentions Retweet
Filed under  //   facebook   startup   technology  

Comments [0]

TrayTwo Productions

In trying to not be lazy and do something with my life I am going to start working on a new project called TrayTwo (the site will be up soon). I am trying to do what others have done which is to do internet publishing and video. We are going to start off with Hops & Barley a beer review site first and see where that leads us. Hopefully, this will be fun. Right now the task at hand is to do the following:

  • make a logo and intro video
  • make a website
  • start recording the first video review

Loading mentions Retweet
Filed under  //   startup  

Comments [0]

New Job

I landed a new gig as a Web Developer for i5labs and fynspire run the by Jason Wong and Scott Thorpe respectively. It is a refreshing change and I get to play with Ruby on Rails as a full time gig. It is nice to also be able to work in San Francisco and right next to Union Square nonetheless.

Besides that I am working on a startup with a couple of friends. Our code is coming along and the design is nice. I'll write more as we come closer to launch.

Loading mentions Retweet
Filed under  //   programming   startup  

Comments [0]

Day with Amazon EC2

Today I created an Elastic Computing Cloud image on Ubuntu Feisty and wanted to share some of the oddities, weirdness  and coolness that I have experienced along this path of being a guy who created an AMI and made it actually run on EC2. Amazon has been great lately coming out with such nifty technologies that help startups and the little guy such as Simple Storage Service, Elastic Computing Cloud and Simple Queue Service. The recently released Amazon Flexible Payments Service also seems like a great competitor to Paypal, but I wish it had a non-cobranded version. However, these other services are not the story, but EC2 is. EC2 is a virtualization technology based on Xen provided by Amazon where you pay per instance hour. That is you pay per the hour that the instance is running. It is great for sites that need to add servers on the fly as load is added. Although it is not cheap as it runs about $70 dollars a month it does provide decent specs for the hardware. What  I realized is that EC2 is more like running a system using a LiveCD then an actual system install. What does this mean? It means that storage is temporary and as soon as the instance is shut down all data is lost. However, if you reboot the instance the files seem to stay alive. Also most importantly the root filesystem gets very little space. That means you have to work with /dev/sda2 which is usually mounted to /mnt. You are provided with 150gb of space on sda2. I ran into this snafu when I was trying to configure MySQL. Since MySQL uses /var/lib/mysql (on Ubuntu) to store the logfiles I kept on getting "Storage out of space" errors. To solve this I wrote a startup script that moves the mysql files to /mnt. Uploading a new image was relatively simple, however, I got annoyed that I had to type out the Private Key and Public Key on the command line. Bundling the image itself was relatively straightforward as it was just converting a loopback device. Creating a Ubuntu image was relatively straightforward especially with these directions and debootstrap taking care of the hard part. Remember to install libc6-xen if you are creating a Linux image. I wish Amazon would be less rpm specific and provide debs for the bundling apps. However, alien was great and got me through the process of installing the files. Overall, I must say if you are really into creating your own images/distribution that you want to use to run various specific services then EC2 is amazingly efficient at it. Though I wish they would provide state if you want to run a bunch of images to do processing such as video transcoding, Hadoop clusters or mass indexing then Amazon is a gift from the web gods. Plus I recommend everyone create an image and upload it. I learned quite a bit in the process.

Loading mentions Retweet
Filed under  //   programming   startup  

Comments [0]

Create YouTube using Amazon AWS

It seems that infrastructure technology to start a startup is almost nil and creating a site like YouTube probably takes a lot less initial investment. This is especially true for sites utilizing Amazon Services like S3 and hopefully once out of beta the EC2. Think of what YouTube does. It takes in videos encodes them as Flash and just shows them. It's all a very simple and with Amazon services you can maximize the efficiency of your resources. How would this be done?

  1. Have a public server. This should actually be a server you own and not one using Amazon. All user interactions happen through this site. Authentication and what not.
  2. User uploads file to S3. There doesn't seem to be a way to do this directly through the browser, but possibly through the use of Flash?
    • The uploaded data is put in a separate bucket. Preprocessed?
    • Creates a queue with the file needing to be processed in Amazon SQS.
  3.  On your server or Amazon's using EC2 have a server listen for changes to the queue and distribute the encoding to other servers.
  4. Now the magic. You may have heavy loads at times where a bunch of people start uploading files and you need more processing power to encode files then you have so what do you do? Well using EC2 you create server instances on the fly based on the load on the queue. So you have a bunch of instances just encoding data and when you don't need them you can destroy the instances saving you resources.
  5. You move the processed files into S3 and write to your database possibly via another queue so things happen in bulk. (Possibly MySQL Cluster nodes via EC2?)
Now getting all that to work is an exercise in itself, but the point is you have most of the infrastructure of servers taken care of so all it really takes is a good idea and good execution.

Loading mentions Retweet
Filed under  //   programming   startup  

Comments [0]