My new project: OpenRemote

I have been studying a new industry lately, it is called Home Automation or Domotics in Europe. It is really a fancy name to describe the age old problem of "why can't my mom operate my remote". Every self respecting geek has one day felt the urge to program his or her house. Home Automation in the field is lights, AV, AC, Security. Today it is a bit of an expensive hobby, even downright elitist in some cases, but the technology is rapidly democratizing, due to Wifi, Commodity software/hardware, the iPhone and the housing crisis.

What started for me as an infatuation with the iPhone as a universal remote (I built a prototype on Linux with Appcelerator to command comcast) has evolved into a full blown affair with an open community that congregates over at www.openremote.org.

The community is fun. Turns out HA is one of those things like sports, you can discuss it with pretty much anyone and they have thought about it. Those that want to participate in OpenRemote see the benefit of an open approach to the field in the first place.

We are not the first ones to do something like that, not even the open part. The "geek curse" started with Wozniak leaving apple to create "cloud nine" the universal remote design. Stewart Allen, ex-CTO of WebMethods was the founder of Tonto, the OSS Pronto project back in 2001. He is a member. We are aggregating several heads of projects, think JBoss federation, Neil from Linux HA, Wade from Java-X10 etc. There are professionals on the site, hobbyist, a bunch of JBossians that have a keen interest in HA. And last but not least, there is Mark Spencer.

I have blogged about Mark in the past, partying with Mark in Huntsville, in Paris, in ATL, and this is the secret project we have been working on for errr 6 month. Mark is the founder of Asterisk and Digium and we share investors (David Skok) and is a living legend in the field of HA. Walking around with him, reminds me of walking around with Gavin King at JavaOne. I go around saying "You heard of Mark Spencer?" They ALL worship Mark Spencer as Mr OSS VOIP. Then I drop "he works for me!". He he I love it.

My interest in this is more than hobby. I am building a new house in Atlanta and I have decided to pass on a Crestron, may still go for an AMX system due to their KNX integration. Anyway that frees up a bunch of cash to go best of breed and invest in OR development.

So what does OR do? We are an Open Community in Domotics, product design is rather open. We provide a hardware reference implementation on Java Linux it will help us develop but also provides the physical bridge to IR/RS/Ethernet/wifi. On the software side use JBoss actually as the base for our server leveraging packaging and installation. It is an application of JBoss in a way. We use Java to map protocols.

There is a personal motivation in proving that java technology can help solve many of the technical problems of the field. The HA field is very fragmented many many vendors, many standards, few dominant, a lot of proprietary standards. Using the modularity of JBoss we plan on supporting various such protocols out of the box. In the plans are X10, Insteon, KNX, IR/RS. Mapping protocols is something java is good at. This way we have writeByte() C drivers we can access through sockets and the C drivers remain simple while java does all the protocol implementation.

For IR and RS we have a database called "Beehive" that collects IR and RS codes so you never have to see a HEX code again in your life as you program your remote. This is not new, every vendor has one, the point here is to maintain a professional quality one in an Open fashion.

Finally we still have a healthy infatuation with the iPhone. Our current software panels are based on cocoa and HTML so your iPhone can control this all. You can even assemble simplified pages for your mother with just 4 buttons.

So what do I do in this? well right now I am helping build the community. There is some talented people, energy is high and you can feel that everyone wants this to happen. It is a charged ambience. It is also a friendly ambience. After all we are dealing in home technology and nobody wants an abrasive presence in the home. This is not the middleware field. I want to be a catalyst. Like I was a catalyst in the past.

As far as fields go though, this is an interesting market. Finding out where we fit and add value is consuming a lot of my time. I believe the answer may be in integration and tooling. We can offer common programming models, from the java world and the web 2.0 world, so you can program visual workflows (think JBPM) rather than write HEX codes sneaked out of the back of some reference book. Simplification of programming would be a good non-trivial contribution.

I am looking at KNX, a european standard that has been certified for the Chinese market and is really media agnostic by specifying a telegram over RF/IP. As a spec we can use it to have the centralized message representation and immediate integration to an existing ecosystem. It is the closest thing to EE specs for JBoss.

We are learning what it means to support various drivers. This is early in the cycle. It is geeky, it is fun. I am learning a bunch and it is good stuff. I am going to do this for a little while. I am even thinking, GASP! about writing some code again! God forbid!

Most importantly I can do this from anywhere in the world. So I will be programming KNX in Madrid. It reminds me of the early JBoss days. I already feel I know some folks I have never met in person. The company of old and new friends is always a good thing. I want to see it take off.

Right now there is no product to play with, just early discussions. If you have an interest in HA and OSS, you want to learn something new, or contribute what you already know, this may be a good place for you to make a significant contribution. I hope to see you there.

Comments

Stephen said…
The OR project looks interesting, but I wonder why isn't in the mix of wireless standards.
Stephen said…
oops, left out an essential word in the previous comment. What I meant to say was

"...why ZIGBEE isn't in the mix of wireless standards:
Unknown said…
Stephen, zigbee is mentioned on the site, the full array of hardware standards that we intend to support is still evolving. And even if we never pick up zigbee directly, that doesn't mean someone else can't contribute it :) That's the nice thing about an OPEN project.
Anonymous said…
You should try opening the openremote website in opera. It doesn't even finish loading.
Anonymous said…
generic
generic
generic
generic
generic
generic
generic
generic
generic
generic
generic
generic
generic
generic
generic
generic
generic
generic
generic
generic
generic
generic
generic
generic
generic
generic
generic
generic
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
tramadol
tramadol
tramadol
tramadol
tramadol
tramadol
tramadol
tramadol
tramadol
tramadol
tramadol
tramadol
tramadol
tramadol
tramadol
tramadol
tramadol
tramadol
tramadol
tramadol
tramadol
tramadol
tramadol
tramadol
tramadol
tramadol
tramadol
tramadol
tramadol
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
debt
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
debt
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
debt
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
debt
insurance
insurance
insurance
insurance
insurance
insurance
debt
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
debt
insurance
insurance
insurance
insurance
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
debt
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
debt
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
debt
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
debt
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
debt
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
debt
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
debt
insurance
debt
insurance
insurance
debt
insurance
insurance
debt
insurance
insurance
insurance
insurance
insurance
debt
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
debt
insurance
debt
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
debt
insurance
insurance
insurance
insurance
debt
insurance
insurance
insurance
insurance
insurance
debt
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
debt
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
debt
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
debt
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
debt
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
debt
insurance
insurance
insurance
debt
insurance
insurance
insurance
debt
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
debt
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
tramadol
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
insurance
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra
viagra

Popular posts from this blog

$6.66B for BEA: Larry goes Shopping

Thug vs Thug: Porsche 1, Hedge Funds: 0

Quickies #3, protecting IP in OSS