Thursday, February 10, 2011

The Importance of Workers - Part 1

At Appoxy, every single one of our developers uses our new service SimpleWorker.com.  Some of them weren't sure of the value at first, but from the first time they queue()'d a nightly report builder worker, or schedule()'d the delivery of SMS's through Twilio, they were hooked on it's power.  It has become as integral a development tool as the database.


The best part?


Our developers don't need to know anything about queues (even though they do), or elastic servers, or runners, or schedulers, or even where our SimpleWorker servers live..... they simply know that the Ruby Compute Cloud is alive and waiting for their every request.


So why SimpleWorker?


First, we need to understand a bit about the current landscape of worker systems.  Here is a great writeup of Github's path through the various worker systems available today.  They ended up rolling their own.  Pay attention to how much effort they put into rolling their own, and how much potential effort any would-be user of Resque (or DJ, or any of them) has to go through to implement the system and infrastructure requirements.


https://github.com/blog/542-introducing-resque


Don't get me wrong, the current open source worker systems out there are fantastic, and each has a place in this world.  They have enabled hundreds if not thousands of websites to do amazing things.  But 95% of the world does not need to go through the trouble of rolling their own system and managing their own infrastructure.


In the next post, we'll talk about workers-as-a-service....

Chad

Tuesday, January 18, 2011

Cloud Computing Meetup tonight

Heading to a Cloud Computing Meetup in Mountain View tonight. Topic is go-to-market strategy and innovation. 300+ people have signed up.

Only issue with these types of talks is the definition of cloud computing is so broad (not unlike "hey, we're getting to together to talk about the Internet or Web 2.0"). With cloud computing now, topics run the gamut from SaaS to PaaS, enterprise b2b, consumer web, developer markets, tools, and beyond.

Now that we're into 2011, "cloud computing" needs subcategories or else it just looks like those darn Microsoft commercials about "going to the cloud."






Friday, January 7, 2011

Facebook to Email, a new Appoxy Production

We recently launched a new service at www.fb2e.com that will, with one click sign up, start sending your Facebook feed to your inbox every day. This is great for getting your social fix without having to go to Facebook all the time to see what's going on with your friends. Also great for those who work at a place that blocks Facebook. ;)

Check it out and let us know what you think in the comments below!

For the techies out there, the core part of this service is sending emails to a large number of people on a schedule and this was made easy by using SimpleWorker to schedule and send out all the emails. The Facebook connection part was made using the mini_fb gem.

Friday, December 17, 2010

Automated Gawker DB Lookup/Reset Script

Due to the Gawker user database compromise, we thought we'd share the script we're using to reset passwords for those users that are found in the Gawker list. It's a Ruby script that will go through the list of compromised emails and check it against your database of emails.

You can find it on GitHub here.

Add Image

Note: You will need the list of usernames and emails that were compromised in the Gawker hack. Due to privacy/security concerns, we are not including the username/email list (although it is widely available on the Internet). We know this is kind of a pain, but we don't want to be the ones spreading spam love around.

Included on the GitHub page for the script is a form to fill out if you need help or would want access to the Gawker list (provided we can verify you're who you say you are).

Thursday, December 16, 2010

IBM DeveloperWorks Features Appoxy's SimpleJPA

In keeping with Appoxy open source week (not nearly as cool as Shark Week but still), it makes sense to mention another Appoxy open source "win." This time its with Appoxy's SimpleJPA, a Java Persistence API (JPA) implementation for connecting to Amazon's SimpleDB, Amazon's key-value data store.

IBM published a great post in its developerWorks section a little while ago providing a tutorial on SimpleDB, Java, and SimpleJPA. The article was written by Andrew Glover, an author/developer at Beacon50. Glover does a terrific job explaining SimpleDB and showing how SimpleJPA can easily connect a Java application to it. Here's a synopsis of the tutorial:
This whirlwind tour of SimpleDB [shows] you how to manipulate objects in the non-relational datastore using both the Amazon Web services API and SimpleJPA. Simple JPA implements a subset of the Java Persistence API to make object persistence in SimpleDB easier. One of the conveniences of using SimpleJPA...is that it automatically converts primitive types to the string objects that SimpleDB recognizes. SimpleJPA also handles SimpleDB's no-join rules for you automatically, making it easier to model relationships. SimpleJPA's extensive listener interfaces also make it possible to implement logical data integrity rules, which you've probably come to expect from the relational world.

SimpleJPA was written by Travis Reeder, one of Appoxy's co-founders. He's on the Ruby side of the fence now but has spent many years building highly scalable Java applications, for employers and clients as well as on open source projects. Of note, he served on the project management committee for the Apache MyFaces project, which is an open-source implementation of JavaServer Faces, an established standard for web-development frameworks in Java. (It is based on the MVC paradigm and includes advanced component-based and event-oriented support.)

Amazon promotes SimpleJPA as one of the primary Java interfaces to SimpleDB, using it in sample code and evangelizing its use. Having it also appear in IBM's developerWorks section is just another validation of Appoxy strong. Here's the concluding sentence to the post:


Note: Given we're talking about SimpleJPA, it makes sense to mention Appoxy's SimpleRecord, a Ruby gem that makes it easy to connect Ruby applications to SimpleDB. Like SimpleJPA, SimpleRecord performs the mapping from application code to SimpleDB's key-value data storage format. Below is a mention of a blog post at hubertlepicki.com that explains it's use.

Amazon SimpleDB, Rails, and Appoxy SimpleRecord

This post is a tie-in to the post above. A bit ago, a blogger/developer did a piece on Amazon SimlpeDB, Rails, and Appoxy SimpleRecord. Seems fitting to put it here so that we appear developer inclusive. We don't have a Python interface SimpleDB so Pythonites (istas?) are unfortunately left to their own.

Tuesday, December 14, 2010

Redesigned Appoxy Website

If you're reading this, you've likely seen the redesigned Appoxy website we released over the weekend. Captures all the things we're doing at Appoxy -- building web applications for others and developing cloud management tools in the process.

It's just a start. Look for more information on services, on customers, on products, and on tips and insights on developing in the cloud.

And also more pictures of the team and the fun Appoxites (Appoxians??) bring to their work.