header image

I recently applied this great plugin a few times to tackle different tasks and would like to share with you the joys of thinking in state machines!

Disclaimer: This installment is ‘just’ an intro to the topic (a teaser if you like), it doesn’t contain actual instructions or code on how to use actsasstate_machine - that comes in part II. Though the original intent was to write up a small tutorial with some example code, I started with an intro and the article grew so long that I decided to split it up - so stay tuned for part deux!

State what…?!?

A finite state machine (FSM for short) a.k.a. finite state automaton (FSA) is a 5-tuple (Σ,S,s0,δ,F)… OK, just kidding. I doubt too much people are interested in the rigorous definition of the FSM (for the rest, here it is), so let’s see a more down-to earth description.

According to wikipedia, Finite state machine is “a model of behavior composed of a finite number of states, transitions between those states, and actions“. Somewhat better than those gammas and sigmas and stuff but if you are not the abstract thinker type, it might take some time to wrap your brain around it. I believe a good example can help here!

Everybody knows and loves regular expressions - but probably it’s not that wide known fact that regular expression matching can be solved with an FSM (and in fact, a lot of implementations are using some kind of FSM on steroids). So let’s see a simple example. Suppose we would like to match a string against the following, simple regexp:

ab+(a|c)b*

First we have to construct the FSM, which will be fed with the string we would like to match. An FSM for the above regular expression might look like this:

fsm_correct.png

String matching against this FSM is basically answering the question ’starting from the initial state, can we reach the finish after feeding the FSM the whole string?’. Pretty easy - the only thing we have to define is ‘feeding’.

So let’s take the string ‘abbbcbbb’ as an example and feed the FSM! The process looks like this:

  1. we are in q0, the initial state (where the ’start’ label is). Starting to consume the string
  2. we receive the first character, it’s an ‘a‘. We have an ‘a‘ arrow to state q1, so we make a transition there
  3. we receive the next character, ‘b‘. We have two b-arrows: to q1 and q2. We choose to go to q1 (in fact, staying in q1) - remember, the question is whether we _can_ reach the finish, not whether all roads lead to the finish - so the choice is ours!
  4. identical to the above
  5. after the two above steps, we are still in q1. We still get a ‘b‘ but this time we decide to move to q2.
  6. we are in q2 and the input is ‘c‘. We have no analysis-paralysis here since the only thing we can do is to move to q4 - so let’s do that!
  7. Whoa! We reached the finish line! (q4 is one of the terminal states). However, we didn’t consume the whole string yet, so we can’t yet tell whether the regexp matches or not.
  8. So we eat the rest of the string (the ‘how’ is left as an exercise to the reader) and return ‘match!’

Let’s see a very simple non-matching example on the string ‘abac’

  1. in q0
  2. got an ‘a‘, move to q1
  3. in q1, got a ‘b‘, move to q2
  4. in q2, got an ‘a‘, move to q3 - we reached the finish, but still have a character to consume
  5. in q3, got a ‘c‘… oops. We have no ‘c’ arrow from q3 so we are stuck. return ‘no match!’

Of course the real-life scenarios are much more complicated than the above one and sometimes FSMs are not enough (for example to my knowledge it’s not possible to tell about a number whether it is prime or not with a vanilla FSM - but a regexp doing just that has been floating around some time ago) but to illustrate the concept this example served fine.

This is cool and all but why should I care?!?

Well, yeah, you are obviously not going to model an FSM the next time you would like to match a regexp - that would be wheel-reinvention at it’s finest. However there are some practical scenarios where an FSM can come handy:

  • sometimes the logic flow is just too complicated to model - an if-forrest is rarely a good solution (on the flip side, don’t model an if-else with an FSM :-) )
  • encapsulate complex logic flow into a pattern and not clutter your code with it.
  • you are in a stateless world - for example HTTP
  • asynchronous and/or distributed processing where you explicitly need to maintain your state and act upon it

Some real life examples of FSM usage in the Ruby/Rails world are why the lucky stiff’s Hpricot (using Ragel) or Rick Olson’s restful authentication plugin (using actsasstate_machine)

The Next Episode

In the next installment I’d like to focus on the practical usage of the actsasstate_machine plugin - I’ll attempt to create an asynchronous messaging system in a Rails app using it.

tags:
tags:
Cool JS Shadow Library
April 25th, 2008

light_and_shadow.png Light & Shadow is a ProtoType-based library for creating great looking drop shadows easily. Check out the HTML I used to generate the example image and see it yourself that it’s not rocket science!

All you have to do is to set up a light source with a few parameters (distance, intensity, size etc.) and add the class ’shadowThrowing’ to your elements which should… well, throw shadows :-) . I won’t go into details here, you can find the explanation and other details on the Light & Shadow project page.

(Found via Gedankenkonserve - thanks Bernhard ;-) )

tags:
Today Midnight
April 24th, 2008

I have been always uncertain about the exact expression denoting today midnight (or any day midnight, for that matter). Is 00:00 on e.g. April 24th the midnight between 23rd and 24th or 24th and 25th? If I want something to happen at today midnight, is that today’s date at 00:00? (for the impatient: no, it isn’t :-) ).

Chronic to the rescue! (If you don’t know chronic, be sure to check it out - it’s a great natural language date/time parser). All I had to do is:

  1. >> Chronic.parse(‘today midnight’)
  2. => Fri Apr 25 00:00:00 +0200 2008

so actually it turns out it’s tomorrow’s date at 00:00.

I couldn’t find time zone support though (I am not saying it’s not there, just that I couldn’t find it by looking at the API) - so what if I want to meet someone in Madrid today midnight? Why, I install the tzinfo gem and ask Ruby!

  1. >> TzinfoTimezone["Madrid"].utc_to_local(Chronic.parse(‘today midnight’).getutc)
  2. => Fri Apr 25 00:00:00 UTC 2008
tags:
tags:
tags:

live_validation.pngUpdate: Sergio, the author of the livevalidation rails plugin updated the plugin so you can disregard the finale of the article (validatesconfirmationof is working, as well as the newest version of livevalidation, 1.3 is used in the plugin - so no additional tweaking is needed, install and validate away ;-) )

Surely I am not the only one who was a ‘bit nervous’ (that was a mild euphemism) when his carefully entered data disappeared after submitting a form to the server. Nowadays web applications are doing better than that - valid data is saved and only the problematic fields are pointed out.

Of course even that feels so 1990’s now. A contemporary (ehm… web 2.0?) web application is expected to validate the form on the client side already (WARNING! That doesn’t mean at all you shouldn’t validate on the server side though - client side validation is for the good guys but you should still look out for the script kiddies et al), pointing out the errors on the fly so there is no need to come back and change/edit those fields after submitting a form.

My library of choice is livevalidation, which has a Rails companion too - if you are using Rails form helpers and standard validation on your models, you don’t have to touch anything just install livevalidation (=drop it to your javascripts folder, it’s a single .js file). w00t!

The only major shortcoming (from my POV) of the Rails plugin is that validatesconfirmationof is not implemented. However, it’s easy to add it via standard javascript:

<input id="user_password" name="user[password]" size="30" type="password" />
<input id="user_password_confirmation" name="user[password_confirmation]" size="30"> 
<script type="text/javascript">
var validate = new LiveValidation('user_password_confirmation');
validate.add( Validate.Confirmation, { match: 'user_password' } );
</script>

That’s it!

One more note: the Rails plugin contains version 1.2 but there is a newer version, 1.3 so be sure to replace it.

tags:

caffeine.png Long-time Mac users probably have different solutions for this problem, but as a newbie, the screen going dim after a certain period of time - without an intuitive way to switch this off - drove me crazy! I wanted to enjoy my slideshow, video, presentation, reading something etc. and suddenly it all went dark. Arggghhh.

So I was delighted when I found Caffeine, a super-light program sitting in your menu bar that prevents your Mac from going to sleep/starting screen savers.

Note that Caffeine doesn’t help if you close the lid - if you want your Mac to stay awake in this case, InsomniaX is your thing - it disables the sleep when closing the lid so you can listen to music/control your Mac with the remote etc.

tags:
  • RubyFlow - Peter Cooper (of RubyInside fame) created “RubyInside’s sister site” - RubyFlow. Hope it takes off!
  • Thinking Sphinx Reborn - I thought a phoenix is the creature with the reborn ability - though that doesn’t mean a sphinx can’t do that! btw. “Sphinx is a very fast search engine that indexes data and provides flexible ways of searching it.”
  • Rails vs Merb - “The conclusion is simple, I recommended that my client go with Merb”.
  • RubyAMP - powerful looking Ruby TextMate bundle.
tags:

Since I bought my Mac, Safari has been my primary browser of choice. I have been using Firefox sporadically too - you can’t do serious web development without FireBug! Safari is light, zippy and renders wonderfully looking OS X look’n'feel pages - however with the arrival of Firefox 3 I am really pondering to ditch it in favor of FF (still no OS X look in there, tho’ ;-) ). Firefox 3 beta 5 is just phenomenal - fast, powerful, and it has all the stuff I am missing from Safari (FireBug, del.icio.us toolbar, DOM Inspector, ton of other extensions) so I am really thinking that I will remain a Safari user on my iPhone only.

However, FF3 is missing some functionality I am depending on - most notably jssh support - DOM inspector was removed too, but can be installed as an add-on, and since beta 4 FireBug is working, so no major hurdles there. However, jssh, as usually was a harder nut to crack.

Fortunately Angrez, FireWatir’s author pointed me to the right direction - which was in this case compiling Firefox 3 with jssh support! Here’s how:

Sit back, enjoy your coffee and in a few minutes you’ll have your own, new hot FF build with jssh support!

By the way, FireWatir 1.1 hit the streets just today! Grab it and let the testing commence!

tags:

There is a great number of possibilities to do this in Ruby (just to mention a few: standard net/http, curb, mechanize, rio etc.). I have chosen a semi-standard way (=no need to learn new syntax, but definitely simpler than net/http): open-uri.

  1. require ‘open-uri’
  2.  
  3. open(‘target.file‘,’w’) {|f| f.write open("my.url.com/source.file", :http_basic_authentication=>[‘ueser’, ‘pass’]) }

I am using Ruby for more than 2 years already but it’s succinctness still keeps me amazed!

tags:

EuRuKo 2008
Quite a few blogs covered EuRuKo talks (for example here, here, here or here) so I am not going to do an n+1-th writeup. Instead I collected a few quotes I found interesting and/or funny. Without further ado, here we go:

Matz: Ruby - Past, Present and Future (Keynote)

  • Chad Fowler wrote a book ‘My Job Went to India’ - and yesterday my luggage went to Oslo!
  • Ruby was a hobby that came from not having a job after end of Japan’s bubble economy
  • I consider myself as no great programmer!
  • Then we have this nasty snake language here… (sampling through different languages starting from COBOL)
  • Python people love to be organized and have one true way. Ruby people don’t care.
  • (after going through a ton of different languages and finally arriving at Ruby) Ruby is not perfect either… but it’s close!
  • We will need to keep Ruby alive when Rails will be gone… Hopefully Ruby will be around in 15 years, but Rails… hmm…khm… never mind.
  • 10 years ago - Ruby? What’s That? Language? See This Cool Java!
  • 5 years ago - Ruby? I’ve Heard of It. But I haven’t Used It YET.
  • 2 years ago - Ruby! I Know! It’s for Rails, Right?

Koichi: Merging YARV is not a goal but a start

  • (Running around in a t-shirt ‘No Ruby No Life’) My version: No Ruby no Job!
  • 1st slide: [some completely different slide than his real topic title] - this is just a joke, the presentation is not on this
  • I don’t speak English so I wrote down everything on the slides… unfortunately most of the slides are in Japanese! (LOL)
  • Please ask questions in Japanese/C/Ruby! … or use slow/short English
  • I have a lot of slides (hm, like 50) of different optimization techniques but it’s just too much so I won’t show you here ;-)
  • My PhD thesis is in Japanese (Efficient implementation of Ruby VM), so please learn Japanese if you’d like to read it :)
  • NT means not Windows NT but Native Thread
  • Ruby thread and native thread: (shows a brutally complicated slide, fully in Japanese) and I would like to point out this part (clicks a button, and a red frame appears around a portion of fully Japanese text)
  • This is complex so I skip it (after the 10th incomprehensible slide)
  • I can’t program in Ruby!
  • Come to Japan/Enter my Lab (please teach me English) - Unfortunately I can’t employ you because there is not enough money, so please bring your own $
  • (response to a question about YARV’s memory need:) Yes, YARV also needs memory to start the VM! (considers the question answered. When asked for further details:) How much? hmm… you need to measure yourself ;-)

Charlie Nutter, Tom Enebo: JRuby - Ready for Action

  • Java != a dirty word!
  • Did you see this demo already? No? Good. Everybody has seen this 100 times in the US so they are really sick of it!
  • See? new is on the right side of the class name!
  • I love swing (after listing 9342923 looooong fuctions of the Button class)
  • this would take 6-7 lines of Java (after adding a listener to a button in 1 lines of Ruby syntax)
  • This is the weirdest error I have ever seen during a demo! I guess Mac OS X is not ready for this stuff yet (after not being able to kill off a process which slowed down his machine)
  • Kill that bird!!!! (after thunderbird jumping around for like 5 minutes after OSX bootup)
  • ColdFusion is not a fine example for anything (Charlie, after a guy proposing CouldFusion as an example of… I don’t remember what but it doesn’t matter)


Disclaimer: Please take the above with a grain of salt - it might seem based on the above sentences (which were taken out of context and possibly squeezed/lost in translation) that Koichi’s topic was to pursue people to learn Japanese (not true, his talk was very interesting and deep) or Matz was making fun of/mocking Python (not true, he was just joking all the time) etc. If you have some more, drop me a comment!

tags:
My EuRuKo 2008 Photos
April 2nd, 2008

EuRuKo 2008 is over… I have had a really great time, both as an organizer and an attendee, and can’t wait for next year’s conference!

Until that gets sorted out (currently Spain (Madrid) and Poland (Warsaw vs Krakow) are competing) here are some photos we made with Marianna… They were usually made in a hurry and/or dark so don’t expect too much (I guess I should invest in a better objective and flash :-) )

You can check out all the (correctly tagged) EuRuKo 2008 photos here.

Please post your photos to flickr or whatever service you are using, and leave a comment here with the address… Cheers!

tags:
The Top 10 Ruby/Rails Blogs
June 10th, 2007

ubuntu In my quest to whip my feed reader’s Ruby/Rails related content into shape a bit, I made a little research to find out which Ruby/Rails blogs are the most popular at the moment. I had given up on following most of the blogs systematically a long time ago - it is becoming increasingly hard to keep track of even the aggregators, not to talk about the blogs themselves. There are hundreds of Ruby/Rails blogs out there right now (I am talking about the ones found on the few most popular aggregators - in reality there must be much more of them), so it is clear that you need to pick carefully - unless you happen to be a well-paid, full time Ruby/Rails blog reader (in which case you still would have to crank a lot to do your work properly).

OK, enough nonsense for today - let’s see the results counting down from the 10th place! If you are interested in the method they were created with, or a longer, top 30 list from technorati and alexa, check out this blog entry.

10. http://weblog.jamisbuck.org/ by Jamis Buck.

jamisbuck

Jamis Buck “is a software developer who has the good fortune to be both employed by 37signals and counted among those who maintain the Ruby on Rails web framework”. He is mostly blogging about (surprise, surprise!) Rails - of course on a very high level, which could be expected from a Rails core developer. Very insightful posts on ActiveRecord, Capistrano and other essential Rails topics delivered in a professional way.

9. http://weblog.rubyonrails.org by the Rails core team

weblog_rubyonrails

This is the “default” Ruby on Rails blog, used for announcements, sightings, manuals and whatever else the RoR team finds interesting :-) .

8. http://www.slash7.com by Amy Hoy.

slash7

This is a really cool little site - Amy is a very gifted writer and designer, publishing very insightful articles as well as the nicest (hands down!) cheat sheets about different Web2.0, Ajax, Rails and that sort of stuff. Definitely worth checking out!

7. http://errtheblog.com by PJ Hyett and Chris Wanstrath.

err_the_blog

A very serious blog of two Rails-geeks about advanced topics (but very well explained - so if you are not totally green (#00FF00) you should do fine). Among other things, they have contributed Sexy Migrations to Rails recently.

6. http://nubyonrails.com/ by Geoffrey Grosenbach

nubyonrails

Geoffrey is the author of more than twenty of Rails plugins, (including gruff, my favorite graph drawing gem), a horde of professional-quality articles and the PeepCode screencast site. Do I need to say more?!

5. http://redhanded.hobix.com/ by _why the lucky stiff.

redhanded

_why is probably the most interesting guy in the Ruby community. He is the author of (among tons of other things) Why’s Poignant Guide to Ruby, HPricot, the coolest Ruby HTML parser, Try Ruby! (a must see!) and Hackety Hack, for aspiring wannabe programmers who want to hack like in the movies! The list goes on and on… This guy never stops. If someone will ever invent the perpetuum mobile, he will be it (in Ruby, of course).

4.http://hivelogic.com/ by Dan Benjamin.

hivelogic

Dan’s recent work include Cork’d, a web2.0 wine community site or the A List Apart publishing system. He does great podcasts with various guys.

3. http://mephistoblog.com/ by Rick Olson and Justin Palmer

mephisto

Personally I was quite surprised that a blog concentrating on such a narrow topic (in this case the mephisto blogging system) could grab the 3rd place - so I have checked both alexa and technorati by hand just to be sure, and it seems that everything is OK - mephistoblog is ranked very high on both of them, justifying this position. After all, mephisto is the leading blog system of Rails!

2. http://www.rubyinside.com/ by Peter Cooper.

rubyinside

This blog is my absolute favorite from this top 10 list (actually, from all the Ruby blogs I have encountered so far). I am definitely with Amy Hoy, who said If you had to subscribe to just one Ruby blog, it should be this one. If you would like to know what’s happening in the Ruby/Rails community, rubyinside is the place to check. If there is no new post here, it’s because most probably nothing happened!

And the winner is: http://www.loudthinking.com/ by David Heinemeier Hansson.

loudthinking

Well, what should I add? David is the author of Ruby on Rails, so no wonder his blog topped the list!


Conclusion
It’s interesting to note that nearly all the blogs listed here are mostly pure Rails ones - rubyinside (mixed Ruby/Rails) and redhanded (pure Ruby) being the two exceptions. It would be interesting to generate such a list for Ruby blogs - though I am not sure how. The sources I have used (most notably rubycorner) aggregate both Ruby and Rails blogs) - so it seems there are much more Rails bloggers out there (or they are much better (with the exception of _why) than the Ruby bloggers).

I would really like to hear your opinion on this little experiment - whether you think it makes sense or it is completely off, how could it be improved in the future, what features could be added etc. If I’ll receive some positive feedback, I think I will work on the algorithm a bit more, and run it once in say every 3 months to see what’s happening around the Ruby/Rails blogosphere. Let me know what do you think!


If one is thinking about creating a site for affiliate marketing to earn some extra cash they should thoroughly research a few things. To start with look for a cheap company that sell domains for your domain name registration. Next get a cheap, yet reliable web hosting company to host your site on. These can be easily distinguished as they hire many cisco certified professionals. The generally carry 642-371 certifications. Then look into online backup for your files to avoid data loss. More over perform directory submission to get indexed in the search engines. Getting a+ certificate yourself is not a bad idea since it will help you get through the process with much ease.


tags:

ambien generic drug generic viagra online generic viagra online viagra with health men amazing blonde fucked cialis high off tramadol hcl dosage hazards of mixing xanax and valium hypnotics ambien valium photo phentermine deals 2 comparison levitra viagra cost of viagra covered by insurance cialis use with alcohol phentermine no prescrip non perscription viagra viagra bph about valium for anxiety add depression actos phentermine cvs pharmacy career get phentermine online phentermine no prescription required online consultation ending ativan using valium what if cialis does not work can you mix tramadol and benedryl viagra oral sex difference between tramadol and ultracet generic viagra cialis photo of ambien cheap cheap drug propecia tramadol weight loss clinic phentermine redondo beach acupuncture oct ivf women viagra phentermine lysergic acid diethylamide ranitidine order ambien with a prescription commview ambien ambien generic pills order free phentermine 37.5 mg 90 tablets ambien imitrex order viagra air travel viagra and alcohol buying valium online pharmacy online caverta vs viagra soma tramadol fioricet phentermine 37.5 no prossesing fee order phentermine cheap online buy viagra onli dogs tramadol artritus no doc phentermine viagra boys clips difference between meridia and phentermine beta blockers and cialis dose valium viagra 3 phentermine 37.5 diet pills 5 sildenafil viagra overnight generic viagra buy viagra online web meds viagra party drug online pharmacy with phentermine phentermine cheap script uk viagra supplier cardizem cd aciphex actos phentermine imitrex phentermine pill achat valium valium for colonoscopy compare levitra viagra cialis u 15640 cialis phentermine usa grapefruit and cialis order valium on line ambien xanax viagra aids male fertility viagra generico barato panic disorder after phentermine phentermine discussion forums purchase viagra on line take viagra who woman cheapest phentermine no presc phentermine and heart valium on line with prescription real phentermine diet pills viagra c-ring benefits of valium mixing valium with xanax discover viagra buy phentermine fedex no prescription tramadol free overnight shipping phentermine overnight delivery pharmacy online viagra overseas chep valium erections using cialis viagra best price sildenafil to buy valium cheapest generic substitute viagra when does viagra patent expire presidents in viagra commercial viagra for women cuba gooding jr cialis spoof cialis alchohol phentermine but no prescription viagra and generic drug tramadol online om cheap cialis pillstore ambien brazil miss viagra phone order ambien oklahoma phentermine sale 30mg cheap phentermine 3 cialis generic viagra mexico phentermine brand name viagra by mail viagra drug info cheap drug prescription prilosec tramadol zyrtec buy cost low viagra viagra mc mimo na jem mp3 generic valium and alert vet valium compare lunesta with ambien cr phentermine free doctor consultation no prescription 4 blue 30mg phentermine buying cheap discount sale viagra viagra priapism viagra c o d phentermine buy on-line online pharmacy phentermine free consultation cialis and suboxone trial generic viagra cheapest brand cialis ultram ultracet tramadol little helper valium 2nd day fedex phentermine phentermine online prescriptions brand generic online viagra depression phentermine cheap phentermine without prescription phentermine cheapest fioricet carisoprodol hydrocodone tramadol phentermine consultation free what nascar driver has viagra viagra soft tab 12.5 ambien cr band mitra viagra falls crushing tramadol for quick release viagra flowlan phentermine no rx overnight cheap career in pharmacy tramadol manufactures of viagra cialis levitra online contact forum buy cheap phentermine cialis discussion group phentermine without doctors script needed mixing vicodin viagra dosage for tramadol er viagra cocaine died ambien blood problems cialis comparison diflucan viagra buy medication phentermine detection drug in phentermine screen urine doesnt viagra work discount pill viagra viagra generic viagra from canada uprima viagra cialis can you take viagra with lexapro tramadol hydrochloride acetaminophen cheap price on phentermine phentermine no prescription phentramine valium point acupuncture phentermine 37 5mg online california pharmacy phentermine online diet pill tramadol without perscription cialis sale viagra for heart attack appetite suppressants and phentermine cialis cialis generic viagra generic medication cialis cheap phentermine net phentermine quick site order tramadol online express delivery cialis viagra comparisons life cialis phone free ambien online order generic ambien ambien and muscle pain diet free phentermine pill shipping generic fror ambien compare cialis viagra levitra free trial cialis drug approved buy phentermine on line doctors prescribing phentermine online cheaper viagra levitra cialis order viagra online a href tramadol drug medication phentermine with online docter consultation phentermine gained weight back herbal phentermine ingredient view more info generic viagra review vardenafil vs viagra phentermine overnight fedex no prescription 37.5 cialis qu es cheap phentermine cod pharmacy online perscription drug stores ultram tramadol online rx phentermine phentermine mastercard accepted phentermine price comparisons manufacturer of viagra tramadol hcl chemical supplier white soluble generic online pharmacy viagra risks of taking ambien and alcohol buy deal deal price viagra 180 tramadol cod valium for sale cheap valium fast buy cialis soft tabs viagra best used buy ambien buy cheap ambien online viagra triangle chicago adipex side effects phentermine hydrochloride adipex online sales phentermine order viagra prescription online adipex meridia phentermine prescription viagra get a free viagra pen drug interaction sibutramine and phentermine tramadol ultram 300ct phentermine mg index viagra portland oregon vancouver washington cheap cialis generic tramadol ultram ultram ambien and xanax together purchase tramadol with online prescription online pharmecies that sell phentermine funny picture viagra valium percoset drug generic generic viagra ambien 3 14 2007 tramadol online img available cheap cod phentermine viagra cialis heart problems cheap valium online phentermine irvington 85746 keyword phentermine online order shop baikalguide site ebaycouk kamagra viagra sildenafil ambien insert information sj lvmord tramadol the city that viagra built brand drug generic name viagra description of tramadol hcl-acetaminophen par ambien and celexa hydrocodone tramadol pain purchase viagra buy phentermine w out a prescription keyword valium buying online 150 generic cialis softtabs describe ambien cialis sublingual advantage with viagra overnight shipping ambien consultation is zora ambien ambien and expire online weight loss clinic phentermine viagra online order guide tramadol tenuate buy siesta ambien online phentermine on line pharmacy you tramdol tramadol 180 pills weightloss and phentermine compare fastin phentermine adipex phentermine and heart valve problems tramadol lethal od ambien alcohol effects thai valium viagra headaches ball forging bed buy cialis monster drinks and cialis genic viagra does public aid pay for viagra phentermine warnings ambien sleeping pills side effects cheap phentermine cheap phentermine online here phentermine buying valium united states pharmacy no prescription cod phentermine phentermine pharmacy discount phentermine tramadol is prescribed for aciphex aciphex phentermine discount pharmacy ambien zolpidem show available update lawsuit on viagra 2007 buy viagra in new zealand no rx valium cialis and levitra viagra medications internet ambien laws information on abuse of valium canada generic viagra keywords viagra mp3 liability prescription drug vioxx viagra viagra cheap online phentermine diet pills cod 30 generic cialis softtabs buy cheap phentermine onli ne ambien 7day free trial phentermine 2037.5 valium toxic dose 37.5mg phentermine no perscription tramadol seizure price of viagra compared to cialis 1cialis comparison levitra viagra order phentermine online cheap canada no prescription viagra which is best viagra livetra cialis cheap 30mg phentermine without prescription zoloft and viagra buy online viagra where valium at american pharmacy valium us brand name online does herbal phentermine work viagara and cialis cialis liver problems phentermine no scripts getting a valium enema investment returns for viagra tramadol hcl 200mg 6 free viagra cialis addiction buy online phentermine xenical ambien on line consulatation overnight cialis tadalafil php cheapest online tramadol buy in uk valium buy viagra online 35008 buy side effects of ambien sun sensitivity zolpidem vs ambien phentermine without dr ssri and phentermine drugs you shouldn't take with viagra buy phentermine no prescription required viagra makes you last longer cheap phentermine no prescription photos of viagra effect cialis and viagra together phentermine cod next day delivery what brand phentermine is the best tadalafil vs generic viagra phentermine onlien viagra cialis phentermine soma picture of phentermine capsule phentermine online overnight cardizem cd actos phentermine norvasc phentermine serotonin buying tramadol with paypal generic cialis uk online pharmacy pill price viagra viagra drug store best buys viagra drink affect side valium generic review viagra mg phentermine without prescription viagra cod phentermine delivered cod no prescription get viagra dont visit a doctor viagra for paxil side effects cialis und viagra forum cialis sex tramadol best buy 120 tramadol and free shipping ambien and manufacturer cialis viagra joint corporate renewal orn viagra phentermine xenical diet pill buying cialis generic mt viagra side effects dangers online ambien prescription ambien works tramadol maximum dosage cialis tablet which is better meridia or phentermine ambien interaction average price of phentermine florida online phentermine resident sold tucson cialis viagra from uk buy phentermine 37.5 tennessee overnight ship viagra selges phentermine no shipping to kentucky valium type drugs taking phentermine and chantrex together least expensive phentermine online name brand viagra viagra stafford po box viagra comics phentermine is it safe to intra nasal viagra cialis genuinerx net viagra viagra viagra online valium prescriptions cialis viagra propecia levitra erectile dysfunction flonase nasonex aldara tramadol ambien solubility am buy looking overseas phentermine tramadol online cod phentermine $99 no script celexa phentermine online pills huge discounts insta phentermine valium for cats cialis side affect phentermine erection libido cardizem cd phentermine actos phentermine imitrex mixing cocaine and viagra addiction plan self tramadol treatment cialis viagra combination viagra free sites find search pages generic viagra 24 hours delivery viagra cialis generic can woman take viagra viagra phone prescription tramadol experience discount online phentermine without doctor ambien sleep walk drive sex viagra casino poker blackjack tip to purchase phentermine online cheap retin tramadol generic cialis pills best price viagra buy oonline eon labs phentermine without a script tramadol wikipedia the free encyclopedia viagra penis pump next day shipping phentermine water phentermine slow release tramadol loratadine ambien buy phentermine or adipex discount phentermine discount phentermine phentermine viagra uden recept buy phentermine online no prescription required side effects viagra tramadol line canada viagra cialis on line purchase valium quickly buy xanax valium ambien zolpidem what drug category is ambien cr pill purchase online offers diet phentermine phentermine blue no prescription needed check phentermine and wellbutrin order tramadol order lipitor doctor specialist phentermine with out a prescription cheap 30mg yellow phentermines no membership 1cialis levitra viagra vs vs cialis texas auto insurance order phentermine without calling doctor cirrhosis frequency viagra overseas mail order valium is viagra effective for hypertension bush buy porn viagra buy phentermine levitra cialis pills discussion tramadol s tramadol and phlebitis viagra dizziness phentermine aciphex aciphex phentermine actos risperdal phentermine on line consultation cialis causes high blood pressure viagra party brans of phentermine ambien correct dosage valium lorazepam 37.5mg cause hair loss phentermine will pakistan generic ambien canada buy viagra online viagra vs phentermine diet pill overview 2005 ambien mt november tbcgi phentermine phentremine viagra invention valium and wellbutrin phentermine photo pill cialis drug description tadalafil healthscout valium dosage amount ambien cr coupons online pharmacy for ambien effects of lexapro and phentermine ambien overnight prescription online pharmacy pill viagra zoloft phentermine adipex viagra tramadol withot prescriptions picture of generic phentermine no prescription cheap tramadol overnight fedex ambien prescription buying prescription phentermine ambien cr no prescription cr natural viagra vitamin world weight loss forums phentermine pcp specialist forced ejaculation male viagra buy cheap online phentermine cialis tadalafil american express phentermine ups shipping acyclovir famvir tramadol clarinex ambien questions cheap tramadol free shipping cheapest phentermine 30 mg colorado phentermine real valium cheapest place to buy viagra online nrop iop forum phentermine tadalafil cialis vs viagra buy diet phentermine pill site free trail viagra ambien sirius commercial is there any legitimate viagra detox diet buy tramadol ambien 5mg price valium phentermine no prescription fed-ex day viagra cialis levitra dose comparison phentermine suspended phentermine 37 5mg shipped to kentucky addictive phentermine ambien sleepsex viagra taken ranitidine phentermine overnight to california tramadol airmail buy cialis softtabs referers top viagra phentermine 37.5 overnight phentramine hoodia cheapest viagra tramadol hydrocodone addiction viagra free sites computer find online valium effective pain relief medical uses of a valium splitting cialis generic lunesta myonlinemedsbiz propecia viagra viagra chat physican's desk reference phentermine what does phentermine look like can ambien cause a stroke lowest phentermine 37 5 prices viagra t shirt 1buy generic cialis tramadol and gallbladder ambien hep c cheapest get phentermine combining orlistat and phentermine drug tramadol ultram cialis price uk viagra discount sale buy cialis tadalafil at horizon drugs effexor and tramadol contradictions order phentermine at rassellueban org guaranteed overnight phentermine online pharmacy viagra cialis levitra manufactures addicted ambien cialis soft tab description phen phen phentermine budget rx phentermine viagra cortisone cream and valium together phentermine and leg cramps viagra cialis levitra href page 60 10mg ambien overnight celexa and valium action ambien class lawsuit phentermine side effects menstruation phentermine online cheap money order can ambien cause priapism over night phentermine enhancing the viagra review cheap discount viagra viagra out of control price on phentermine cialis cost low tramadol apap tb can women take men's viagra adipex cheap phentermine lowest price adipex viagra new zealand free sample florida phentermine online viagra and zyban canada generic cialis buy ambien cr no rx buy phentermine 37 5mg cialis and adverse effects tramadol and flushed feeling oral phentermine hydrochloride buy card debit online phentermine comparison viagra levitra cialis valium injectable addictive drugstore ambien cheap overnight phentermine phentermine and soma online pharmacy geberic viagra 50mg n phentermine best online pharmacy add buy comment line phentermine combined phentermine sibutramine 1cheapest cialis viagra for geritol song ambien baikalguide buy keyword phentermine interaction tramadol hcl-acetaminophen par weight viagra rx phentermine or meridia viagra shorts best buy tramadol cheap phentermine without a presription pfizer viagra and its cautions tramadol dog pain search results generic online viagra tramadol ultracet online accept paypal phentermine and meridia gambling tramadol phentermine carisoprodol casino valium alcohol one glass wine phentermine alternatives us licensed pharmacies tramadol ultram opiate drug testing no perscrirtion diet pills phentermine buy phentermine online overnight shipping cheap phentermine hci buy tramadol without prescription viagra can cause reduced eye pressure phentermine information mexican name disebsin college pharmacy pre tramadol buy phentermine now carisoprodol phenthermine yellow buy xanax valium online discount viagra offers is ambien safe cheap online prescription phentermine viagra lanuage cheap phentermine saturday delivery ups chep tramadol and codeine allergy list generic brands of valium where is phentermine pump up the valium lyrics cold water pill extraction tramadol phentermine us pharm no rx needed pcp consult specialist letter template cialis drug levitra viagra hsn tramadol phentermine before and after hydrochloride phentermine viagra cialis and levitra viagra for men phentermine adipex no rx buy valium in tijuana coupons for viagra viagra invented by mistake phentermine no doctor prescription buy cheap phentermine mg tabs viagra extasy tables pills david crespi ambien defense cheap drug viagra viagra online href foro forum ambien sleep medication cymbalta phentermine what is better levitra viagra cialis valium healthy alternative generic viagra from india pages tramadol bill me later buy viagra in reliable online drugstore is viagra safe for women buy phentermine online no perscription low price ambien viagra opinions tramadol halflife online fastin pharmacy phentermine valium cost adhd diet phentermine pill phentermine blue white 30mg phentermine 30 mg online consult fedex overnight delivery phentermine viagra in a can tramadol 50 mg 400 viagra drug information viagra ultracet online description chemistry ingredients tramadol phentermine and mexico penrex as viagra substitute generic cialis pills email phentermine on line w o prescription cialis levitra strong strong viagra ambien shipped cod prescription phentermine 37.5 viagra alternative new drugs effects hcl side tramadol tramadol 100mg us legal purchase valium never mix viagra ambien cr 12.5 mg cialis softtabs phentermine 6 pm order cialis and levitra compare which is better viagra levitra cialis viagra and heart disease buy tramadol online cod buy ultram buy phentermine a159 cialis symptoms buying phentermine without perscription celexa phentermine gt cod phentermine detailed phentermine facts adipex and tramadol no prescription needed fast overnight phentermine does cialis delay ejaculation cod pay tramadol ambien and dxm what does viagra do for you lose weight pill diet phentermine cialis adderall online valium sales patrick kennedy ambien ambien effects long term 120 cheap pharmacy tramadol valium paid for by check generic cialis experiences cheap phentermine online free prescription low cost authentic viagra find cheapest tramadol ambien phentermine next day no prescription fedex xanax valium side effects of snorting viagra legally purchase viagra phentermine no prescripti phentermine obesity phenermine dish network phentermine viagra phentermine usa pharmacy fda cialis pill splitting tramadol wellbutrin retin-a cheap ultram ambien 10 phentermine phentermine successful stories online viagra cialis levitra compare cheap online pharmacy tramadol manufacturers of phentermine phentermine package insert improved effect of viagra amaryl phentermine nasonex altace 1 cialis tadalafil cialis with viagra mental problems caused by ambien mix cocaine and viagra valium prescriptions online agcode buy tramadol tramadol buy on line what colors are valiums in man uk viagra cheapest cialis onlinecom buy phentermine without prior prescription valium gentic valium street names consultation online pharmacy phentermine inhailing tramadol cialis ads cod no online prescription tramadol online prescription viagra phentermine meridia adipex cheap 37 5 phentermine forex trading tramadol phentermine overnight without a prescription tramadol cod 120 apos sildenafil citrate viagra generic cheap online pharmacy and phentermine overnight no prescription needed true phentermine phentermine cod delivery cialis flomax and ambien thread free online samples fo cialis candian meds viagra ambien klonpin interaction non phen