Tuesday, November 3, 2009

Client Update: Plaster Networks Launches Intelligent Powerline Networking Device


Plaster Networks just launched their brand new product offering ethernet over powerlines as well as remote diagnostics and network management through a central website. The beauty of the product is in it's simplicity, you just plug in a PLN3 Adapter (pictured right) to a wall socket and connect it to your Internet router. Then you plug in other adapters anywhere you need an ethernet connection and bam, you're networked. They use your existing electrical cabling to create an instant LAN and it works great. We've actually got these adapters all over our office for desktop computers, Xbox 360 and even to extend our wireless range by plugging in wireless routers to a PLN3 adapters on opposite sides of the office.


The big differentiator between the Plaster Networks Adapters and the competition is the a special processor chip that adds a ton of extra functionality and smarts to the adapter. Every customer can access a site where they can see get full visibility into their network performance, find ways to diagnose performance issues, and communicate with the adapters to do things like changing network configurations and what not. Very cool stuff. 


And did I mention it's way faster than wireless?


You can get more information and purchase their products here.



Here is the press release:


PLASTER NETWORKS DEBUTS INTELLIGENT POWERLINE SOLUTION FOR IN-HOME
MULTIMEDIA NETWORKING


Menlo Park, California - October 20, 2009 - Today, Plaster Networks
(www.plasternetworks.com) announced availability of a new networking
solution for delivering music, videos, and other multimedia content using
existing electrical wiring within the home. In response to the growth of
streaming video, IPTV, and over-the-top (OTT) applications, Plaster Networks
offers a reliable alternative to wireless networks, and is more
cost-effective than installing Ethernet cables in the walls.

Plaster Networks delivers the first solution that combines intelligent
powerline adapters with a web-based service for remotely managing and
configuring the home network. The Plaster Networks solution also includes
powerline isolators that can filter unwanted noise, improving network
reliability and performance.

"Home networks are quickly transitioning from computer applications such as
web surfing and e-mail to broadband entertainment applications including
video, music, and online gaming," said Jeff Scroggin, CEO of Plaster
Networks. "By integrating advanced management and configuration into the
Plaster Networks PLN3 adapters, our goal is to make powerline networking a
reliable solution that delivers uninterrupted broadband connectivity within
existing homes, without the expense of installing dedicated network cables."

Combined with Plaster Networks Service, the company's PLN3 powerline
adapters allow users to see the throughput capacity of their powerline
network instantly through a standard browser. The Service provides an easy
way to verify the status of the network. And in many cases the Service can
help identify where to install Plaster Networks isolators to optimize
performance.

Based on the HomePlug AV standard, Plaster Networks PLN3 powerline adapters
deliver up to 200Mbps PHY rates (with equivalent Ethernet rates reaching
100Mbps). HomePlug AV provides a convenient and cost effective method of
distributing multimedia content in the home without new wires.

"Plaster Networks brings a new level of functionality to powerline
networking by combining Intellon's 6400 IC HomePlug AV Chipset Solution with
a dedicated network processor for management and diagnostics," said Rick E.
Furtney, President and COO of Intellon Corporation. "We are delighted that
Plaster Networks selected our latest HomePlug AV chipset for this innovative
solution for delivering a reliable broadband network within the home."

Plaster Networks PLN3 Ethernet adapters are available in the U.S. through
the Plaster Networks website (www.plasternetworks.com) at $149.95 for a set
of two. For a limited time, Plaster Networks is offering one year's free
subscription to Plaster Networks Service (including software updates).

About the company: Plaster Networks enables simple, reliable networking over
existing wiring. The company develops advanced hardware and software
technologies for low-cost, high speed powerline networks in the home or
small office. Plaster Networks was founded by Paul Baran, a Silicon Valley
entrepreneur widely known as the inventor of packet switching, the
foundation technology for the Internet. For more information, please visit
www.plasternetworks.com.

Wednesday, October 28, 2009

TimeDroid for FreshBooks Time Tracking Now Available in the Android Market!

TimeDroid is a simple time tracking application for logging your time to your FreshBooks account. iPhone users have had an app like this for awhile now, but since some of us here at Appoxy are digging our Android phones better than the iPhone, we thought the world (and us) needed this app.

Grab it while it's hot!  Get TimeDroid Pro on the Android Market or TimeDroid Free.

Here is a screenshot:



Give it a try, let us know what you think and if you like, be sure to rate it 5 stars. ;)

TimeDroid Support Forum.

Tuesday, October 27, 2009

Client Update: Accurate Solar Power is Demoing the System we Built at Solar Power International

Accurate Solar Power is demoing a new system we built for them at the Solar Power International conference in Anaheim, California today through Thursday (Oct. 27 - 29, 2009).  If you're in the area, please go check it out!  Accurate Solar Power is offering the latest in solar power monitoring and management enabling customers to track, monitor and manage their solar power installations via the web.

Dashboard view of entire solar installation:



Live updating panel array view showing output of every panel in real time:




Details of a single panel and ability to send commands to the panels from the Internet:



This is an early alpha release, but we are very happy with the results so far and so is our client, Accurate Solar Power.

Friday, October 23, 2009

SimpleBackr for SimpleDB Now has Simple Restores


SimpleBackr now has restores! After you're backup is done and you receive your backup is complete email, you'll see a link on your backup report to "Restore from this backup".



Just click that, enter your destination SimpleDB credentials and start the restore process. That's it!

And like the backup process, restores are also free... as in free lunch.

Monday, October 12, 2009

All Our Gems Are Belong to Gemcutter


So after github left us all hanging out to dry, Gemcutter is quickly becoming it's replacement and apparently the future of gem hosting. After working with gemcutter a bit, I'm actually becoming quite fond of it. It's easy to use and you get instant gem publishing.

To start using gemcutter as a source, it only takes a couple seconds:
  1. gem install gemcutter
  2. gem tumble (this adds gemcutter to the top of your gem sources list)
Then you'll want to uninstall and reinstall old gems as it appears that gem update will still grab from rubyforge if they existed there and you'll want to remove all your github sourced gems.

Here are the new homes for our main Appoxy gems:
Alright, now hopefully Gemcutter sticks around for a while so we don't have to do this again.

Wednesday, September 30, 2009

We're Going to Aloha on Rails


Appoxy will be in Waikiki, Hawaii next week for the Aloha on Rails conference. If you're going to be there and would like to meet up with us, please let us know. We love talking shop with fellow Rails folk and if you want to know more about using Ruby on Rails with Amazon, that's our specialty. You can probably find us at the conference during the day and Duke's at night (and day).

Aloha!

Wednesday, September 9, 2009

Announcing SimpleBackr.com

Appoxy LLC would like to announce the launch of SimpleBackr.com - an online SimpleDB backup tool giving you peace of mind that your SimpleDB databases are backed up. And for a limited time, the service will be completely free!  It's as easy as 1-2-3....

1) visit the site and click "Get Started":














2) Enter your credentials into the secure page:













3) Make sure everything looks correct and click "Start Backup":
















That's it!  Your SimpleDB data has been backed up into your own S3 account using the standard JSON format.  We wanted to launch the service now so that you could backup your data.  Within the next few weeks we will launch automated recovery (also for free) that will take the JSON files and reimport them back into your SimpleDB account.

Stay tuned for new features and options, but for now, get in there and backup your data, then let us know what you think!

http://SimpleBackr.com - Easy, automated, SimpleDB backup tool.

Friday, August 28, 2009

We've Moved!

Appoxy LLC has moved! We've moved the office to a beautiful 11th floor location on Nob Hill in San Francisco.


The Building:







Some of the office space:




We're excited. We're also right across from the Ritz Carlton so we can conduct meetings there and pretend that we're uniting nations or something.

Chad

Thursday, August 20, 2009

CloudCache is Now Officially in our Development Arsenal

As you are probably aware if you're reading this blog, everyone here at Appoxy is a big Amazon Web Services fan boy/girl (we also spend a lot of our hard earned money at amazon.com, but that's not for this post). But Amazon is missing a few pieces of the infrastructure puzzle and one of those missing pieces is a caching service. Thankfully, there is CloudCache. We are now using it in two production projects and it has become a standard component in all our new development efforts.

A Little Background

The most commonly used caching software is memcached which is a very lightweight, high-performance, distributed, in-memory caching system. To use memcached, you run memcached daemons on servers that have some extra memory to spare. Then in your application when you want to put some data into the cache, the memcached client that your application is using will hash the key you are using to put your data against the list of servers. After choosing a server, it will send the request to that server to store the data. So the servers don't really need to know anything about the other servers around it, it just stores whatever you give it and it will return whatever you ask for. Very simple, very efficient. There are a few major drawbacks though:

  1. Each client must know the entire list of memcached servers (if you add/remove a server, you have to update the server list on each client)
  2. If you change the server list on the clients, you invalidate the entire cache because the key to server hashes will all change.
  3. Memcached doesn't handle failover. If a server goes down it's just down and any attempt to put to or get from keys that hash to that server will fail.
  4. You have to run and maintain all these memcached servers!

The last point is the biggest pain point in our eyes. It's the very reason we love using AWS, so we don't have to maintain anything. AWS frees us from requiring storage hardware (S3), queueing servers (SQS), and database servers (SimpleDB), but not caching.

Enter CloudCache by Quetzall, or as I like to call it...

Memcached On Demand

If Amazon were to make a caching service, CloudCache is what it would look like. It gives you everything memcached gives you (and more) and you barely need to lift a finger. Just sign up, get your access key, secret key, and a client library for your language of choice. In a couple of minutes, you have a whole farm of cache servers ready and waiting for you. And did I mention it's cheap? At only $0.05 per MB per month, it's almost the same as running an EC2 instance for a month and better yet, you pay only for what you use.

Wednesday, August 19, 2009

How to Rotate Your Ruby on Rails Log Files

Nobody wants a disk to fill up when you least expect it so here is a simple step by step for rotating your Phusion Passenger log files.

1. Create a file called /etc/logrotate.d/passenger

And put the following contents in it.
/home/myapp/log/*.log {
daily
missingok
rotate 30
compress
delaycompress
sharedscripts
postrotate
touch /home/myapp/tmp/restart.txt
endscript
}

Now your logs will get rotated daily with the previous day being compressed into it's own file. The compressed files will sit around for 30 days then be deleted. After the rotation is done, postrotate, it will touch /home/myapp/tmp/restart.txt to restart passenger.

2. Test it

Run: logrotate -f /etc/logrotate.d/passenger

After running, you should see an archived log file and a fresh new active one taking the original files place. Also, Passenger will restart so it can log to the new file.

Tuesday, August 11, 2009

Ruby Interface to AWS Elastic Load Balancing Service

The AWS group is hard at work. They responded to the market demand with a load balancing service called, true to form, Elastic Load Balancing.

It's really slick - but generating soap or rest commands from scratch isn't all that fun, so we upgraded our Appoxy-aws gem and added an interface to the ELB service.

Now, using Capistrano, we simply use one command:
cap appoxy:launch_instance
To launch an EC2 instance, provision the system, deploy our code, and (with the new ELB interface), automatically attach the server to our load balancer.... viola, more capacity, testing server, staging server, redundancy, you name it.

Central to this strategy is provisioning and deploying almost everything using Capistrano. Building a full AMI sounds nice, but rebuilding an AMI after a gem update isn't very efficient.

Here's appoxy-aws: http://github.com/appoxy/aws/tree/master

Also if you want our Ubunty Jaunty clean AMI with Ruby 1.9 search for: ami-51769738

Finally, thanks again to RightScale for building the RightAws libraries that made appoxy-aws possible.

Cheers,
Chad

Friday, July 31, 2009

Ruby 1.9 Ubuntu Amazon AMI

Amazon's EC2 allows you to quickly fire up, scale out, and tear down servers at will. It's slick. It's dependable. It's game changing (we spent an entire day testing on 2 servers for under $4).

With that said, we're not huge fans of loaded AMI's. They have the potential for unnecessary maintenance, upgrades, etc. Doesn't that take away from the cleanliness that EC2 offers? Instead, use a base bundle, and Capistrano away. I'll post a follow-up post on that soon.

We're also Ruby 1.9 fans, so we took Ruby 1.9.1p129, installed it into an Alestic Ubuntu Jaunty base AMI, and rebundled it. It took a bit of work since Amazon's tools, AMI's, and Ruby 1.9 aren't totally in sync, but with a bit of work, you can get a clean, production-ready AMI with Ruby 1.9.

Feel free to use ours. It's located in the public AMI list:

appoxy-amis/ubuntu-9.04-jaunty-ruby1.9-base-20090731.manifest.xml
AMI ID: ami-51769738

Enjoy,
Chad


Saturday, July 18, 2009

Installing Ruby 1.9, Apache2, Rails, and Phusion Passenger on new Ubuntu EC2 Instance









Here's the step by step for getting Ruby on Rails running on a sparkling fresh new Amazon EC2 Instance.

1) Launch EC2 Instance

I won't explain this, but pick the latest Ubuntu AMI. The rest of this assumes you're ssh'd into the new isntance.

2) Install Ruby 1.9
  • apt-get update
  • apt-get upgrade
  • apt-get install zlibc zlib-bin zlib1g zlib1g-dbg zlib1g-dev libopenssl-ruby1.9 libssl-dev subversion git-core apache2 apache2-prefork-dev libapr1-dev
  • Install ruby
    • tar -zxvf ruby1.9....tgz
    • cd ruby1.9....
    • ./configure && make && make install
  • ruby -v
    • to check that installed properly
  • cd ext/openssl
  • ruby extconf.rb && make && make install
    • This installs openssl support for ruby

3) Now get Rails up and running

  • gem sources -a http://gems.github.com
  • gem install rails sqlite3-ruby passenger
  • passenger-install-apache2-module
    • follow instructions
    • it will give you a few lines you have to add to: /etc/apache2/apache2.conf (bottom is fine)
  • Get your Rails app on server somewhere
    • If you have an existing app, upload it to the server (eg: /home/myapp would work fine)
    • Now if you don't have a rails app ready to go, lets quickly make one
      • cd /home
      • rails first_rails
  • nano -w /etc/apache2/sites-available/first_rails
  • Assuming you have some.domain.com pointed to the server (this can replace the Apache default site as well):



    • ServerName www.yourhost.com # delete this line if replacing root
      DocumentRoot /home/rails/public
      Allow from all
      # RailsEnv development
      RailsDefaultUser root


  • a2ensite first_rails
    • adds site to sites-enabled
  • /etc/init.d/apache2 reload

That's it.

If you want your app under a sub directory of a different virtual host, see the instructions here:http://www.modrails.com/documentation/Users%20guide.html#_deploying_a_ruby_on_rails_application

Troubleshooting
  • If you get: no such file to load rbconfig.rb
    • be sure all 1.8 stuff is removed
      • apt-get remove libruby1.8 rubygems

And lastly, get the latest awesome gems for web development:

gem install uuidtools appoxy-aws right_http_connection appoxy-simple_record appoxy-local_cache quetzall-cloud_cache

And you should probably setup logrotate to keep your log files under control, but that will come in another post.

Sunday, July 12, 2009

Installing Ruby 1.9 on Windows

As you may already know, Ruby and Windows aren't the best of friends, but you can make it work. Here's how to quickly and easily get Ruby 1.9 up and running on windows.
  1. If you already have Ruby 1.8 installed, make a backup copy of c:\ruby
  2. Download pre-built Ruby 1.9 package for windows here: http://rubyinstaller.org/downloads/
  3. Unzip it into c:\ruby
  4. If you already had Ruby 1.8 installed, you are good to go! If not, add c:\ruby\bin to your PATH environment variable.
Run ruby -v at the command line to check your version.