Windows 1 : Users 0

How very fucking cute. I just spent half an hour debugging connectivity problems on my neighbours computer — she could access the (HTTP) login page in our network, and all other types of traffic, but any HTTP connection to the outside would just die without any explanation. I went through the usual routine of gutting Norton’s Internet Shit, to no avail, then went to diagnose network connections, which wasn’t exactly helped by the fact it’d crash every time I got near the network properties capplet (yay Vista).

I went into the safe mode (with networking) boot, where I could access the network properties, but the network did fuck all. Finally, thanks to her telling me (up front) that she installed MSN yesterday to be able to talk with someone, coupled with a ridiculous (and obviously unlabelled, that’s be too easy) popup after one reboot, stating:

The Family Safety service has been disabled. Please ask the adminitstrator of this computer to enable it. Until it’s enabled, you will not be able to browse the internet. [The fuck!?]

I was able to track it down to this brilliant MS service. I have no fucking clue what it’s supposed to do, but I know what does — kills your internet without any way to turn it back on. Thankfully you can uninstall that piece of crap, which of course restored law and order. Well fucking done, MS, that’s exactly how your non-technical users are best served. Twatmonkeys.

Computing
Rants

Comments (0)

Permalink

The word for today

… is whatever. A bit sad, but mostly glad to have it over finally.

PS. I apologise for my lack of reply on what exactly I dislike about git, I promise to do it when I have less taxes and friends moving out to take care of. In the unlikely event that you care, the RSS feed will tell you when I have posted a comment / post on that (I will see how much content can be squeezed out of this).

General

Comments (0)

Permalink

Smug git weenies

It’s things like this that make me wish there was a compulsory smack in the balls before people are allowed to use git.

GNOME
Programming
Rants

Comments (3)

Permalink

I fucking hate git

I hate how it requires me to go through a 14-years training routine in Tibet before I can do something as simple as succesfully checkout and keep up to date something that’s 1) a mere dependency 2) I am building using automated tools, for fuck’s sake, and how its author, its users, and the goddamn tool itself can’t fucking NOT try to convert me to their vastly superior world view when I just want to move along and not care. I found my VCS already, so would you kindly leave me alone and go fap to your perfect tool somewhere else?

FLOSS
Programming
Rants

Comments (2)

Permalink

Google killer

Download here.

General

Comments (0)

Permalink

Meaningful

I stayed up pretty damn late today (working on a piece of code which will get its own entry once it does a bit more of what I want it to do), and in the half-asleep state right before waking up, I considered the important problem of uniquely encoding Lisp macros as interpretive dance. I’m sure it has some important applications; I will keep you updated as more all-nighters allow me to develop the idea.

Lisp

Comments (3)

Permalink

Wireless Protected my Arse

Dear IEEE 802.11,

you guys are total twatmonkeys; I wish upon you painful genital rash each time someone gets compromised because of the lame insecurity protocol you designed. Go engage in some four-way dongshake, maybe you won’t fuck that one up. Cunthuggers.

Security
Rants

Comments (0)

Permalink

MoinMoin considered harmful

THIS IS A PUBLIC SERVICE ANNOUNCEMENT: Please don’t use MoinMoin. Using MoinMoin is actually worse than not having a wiki at all.

Tl;dr summary

It sucks so hard and will mislead your visitors in so many ways that you’re better off having a straight HTML dump with an email contact than trying to fight the hopeless failure of MoinMoin.

Detailed explanation

I’ve been using various sites using MoinMoin to keep their content for a long time. I’ve never particularly liked that wiki engine, and found it confusing on numerous occasions, but the recent re-stumbling upon a particularly egregious case of Moin going out of its way to make sure your visitors aren’t getting what you wanted to give them was the final straw: I realised that it’s the C++ of wikis — not only will it not solve your problems, it will cause new ones that will make you long for your original ones.

First off, a couple of comparatively minor offences: its UI sucks and is confusing all around. The famous combined login/register widget is a paragon of UI anti-design, its version diff widget sucks, its history view is unwieldy and doesn’t actually link to the first revision (!!), I’ve long had experiences with its search being less than helpful, and of course it uses CamelCaseWikiLinks, which all sane people agree are stupid and harmful ([[explicit wiki links]] being the only sane syntax, obviously).

Now, a far more serious sin: it comes with its DB prepopulated with filler content concerning MoinMoin itself. This alone should be enough to disqualify any wiki from being seriously considered, as it means that:

  1. unless you take active steps to combat it, any actual content you have will be drowned by the completely irreleveant bullshit that makes your site look like a page about $wiki_engine (I’M LOOKING AT YOU, TRAC) instead of what you actually want to talk about
  2. the wiki help and your actual content have to compete for space, and as you add yours, you have to remove the (useful, after all) links to information about how to add and edit more
  3. odds are that the filler content is in the same namespace as your primary one, increasing the chances of accidental clashes between unrelated pages

Now, that doesn’t mean wikis shouldn’t come with docs, far from it. It just means they should be clearly marked as such, and available separately from any content. This way a wiki about guinea pig mating habits with no content added yet will look like an empty wiki, and not like a page about Trac (and if you think it’s not a problem, please consider that most experts on guinea pig mating habits will likely have no idea what Trac is and why it is here where they expected a place to share their knowledge about guinea pigs).

However, in case of MoinMoin, the above is not the worst it does. No, it takes the idea of filler content and does things with it that make Trac look like the well-behaved, helpful boy from the neighbourhood. But first, I need you to do the following:

  • pick a non-English language you understand
  • make sure it’s one of:
    • Danish (this one I’m using myself, as I’m learning it)
    • Russian
    • Japanese
    • Hebrew
    • Portugese
    • French
    • Spanish (different from others, but still confusing as hell)
  • the following will specifically not work for our demonstration (you will learn why in a moment):
    • Chinese [zh], German (these are almost enough, complete but not self-contained)
    • Swedish, Norwegian Bokmål [nb] (not self-contained and significantly shorter)
    • Finnish, Korean, Dutch, Slovenian (redirect to English)
    • Italian, Polish, Greek, Norwegian [no], Nynorsk [nn], Arabic, Farsi, Czech, Slovak, Sangro, Lithuanian, Latvian, Estonian, Icelandic, Serbian, Hindi, Punjabi (absent)
  • if you know none of the suitable languages, just pick one that looks the least strange to you
  • make sure that the language you picked is your preferred browsing language

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
(no, seriously, do it, I’ll wait)
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

Okay, now we have you browsing in $language, go to http://codeville.org/doc/. You’ll notice that:

1) It talks about wiki and MoinMoin and a couple of other wiki engines
2) It’s completely in $language
3) It doesn’t give you a slightest hint that it’s NOT WHAT CODEVILLE AUTHORS INTENDED. Not a language selector, not a link, not even a URL in the addressbar. NOTHING.
4) There’s not even a way to find the original English front page. Site map, title index, word index etc. are all buried deep under layers upon layers of irrelevant pages about MoinMoin and twenty translated copies thereof (that is, after you wait 2 minutes for them to load).

The only way to see the actual intended content if you happen to be using one of the unlucky languages is to guess that it’s not really right, then guess the content will be probably in English, then guess that you can go there by manually entering the English root’s name in the URL bar, then guess the name of it, backtrack a couple of times on misses (like MainPage, StartPage) until you get to the correct one (ie. FrontPage), then vow solemnly never ever to use the goddamn thing again.

It also means that the entire site can, silently and untraceably, transform completely depending on a hidden, essentially random variable the site admins will likely never discover and know to fix. It is also enabled by default (I have previously discovered and reported the exact same problem on Revctrl wiki, it has since been fixed).

Bottom line: in order to have MoinMoin even remotely resembling something useful, you have to essentially unbreak it on two separate levels, one of which is hidden so deeply that it can go undetected for years. Straight HTML, email, IRC, paper printouts, clay tablets, smoke signals, ANYTHING is better because at least what you see is what you get, unlike with MoinMoin.

Note also that the above is based solely on the problems I’ve been able to notice and track down based on my experiences with MoinMoin as a user. I have no idea what else you have to unbreak as an admin and what other problems might be lurking in other places, but I’d be very surprised if it turned out to be otherwise flawless.

PS. If you have read the entire post, you’re welcome and encouraged to go back and try with different languages and report the results back to me, so I can expand the known working / non-working list. In order for a language to be suitable for the demo purposes, the translation has to exist, and be self-contained (which is defined as “doesn’t immediately suggest that something is amiss and doesn’t link directly to the English version”). It doesn’t mean that non-self-contained translations are not an issue, but I want to make sure the first impression gives the proper idea of the magnitude of the problem.

Computing
FLOSS
Intarweb
Rants

Comments (13)

Permalink

Easter activities

Things I did this easter: go to church, drink, THROW SNOWBALLS.

General

Comments (0)

Permalink

What is love

Life is good.

General

Comments (0)

Permalink

CUA-mode and paredit.el, married happily

Just a quick drop: if you use paredit.el for editing in your Lisp buffers (as you should), and you happen to also use CUA-mode (which rocks, btw), you probably know that by default they don’t play together too well. Well, I’ve finally got fed up with that and wrote some glue to fix them up. Details and code can be had from this c.l.l post

Emacs
Lisp

Comments (0)

Permalink

I am not able to rightly comprehend the kind of confusion of ideas that could provoke such a claim

Update: For some reason WP disabled comments when I first posted this. Fixed now.

There’s a thread on c.l.l going, in which people try to find a reason macros haven’t caught on for the past 30 years, despite their immense usefulness. One of the cited arguments was this statement by one of the men in charge of Java process:

The advantages of Java is that it easily serves as a lingua franca - everyone can read a Java program and understand what is going on. User defined macros destroy that property. Every installation or project can (and will) define its own set of macros, that make their programs unreadable for everyone else. Programming languages are cultural artifacts, and their success (i.e., widespread adoption) is critically dependent on cultural factors as well as technical ones.

My claim is that this is about as true as C++’s approach to performance, in which people copy things all the time, because that’s what manual memory management makes them do. Just consider the “design patterns” omnipresent in Java. What is a macro, if not a structured transformation of source, following certain pattern? Of course, I’m saying nothing new here, but I just stumbled upon a particularly good demonstration of why “macros decrease legibility of code” is utter nonsense. Consider this snippet:

(restart-bind
    ((retry
      (lambda () (throw 'retry nil))
       :report-function
       (lambda (stream)
         (write "Retry reading the record." :stream stream))))
  (catch 'ok
    (loop do
         (catch 'retry
           (throw 'ok
             (unless (read-record)
               (error "Record not available.")))))))

Just try analysing it, how fast can you find out what exactly it does? Aren’t braided catch/throws fun? Now consider the same snippet using a macro:

(with-retry (:report "Retry reading the record.")
  (unless (read-record)
    (error "Record not available.")))

Not only is the code 4x shorter and uses idiomatic naming conventions and code structure, the macro also comes with a docstring and parameters to let you easily influence the working. And most importantly, you only have to understand it once. Whereas in Java every time you encounter a similar-looking snippet, you have to analyse it to see if it’s actually the same thing, or subtly different.

So, to sum up with a checklist, the macroless code is:

  • More verbose
  • Really complex and confusing
  • Hard to spot and identify reliably
  • Not documented
  • Must be re-invented each time you need it
  • Does not ultimately prevent convoluted code from coming up. If your code needs retry functionality, then so it does, and no amount of “ours is a simple language for the masses” can change it. Though if you make it sufficiently painful, people will probably find ways to dillute the apparent complexity amongst modules, only compounding the problems, and/or pretend they don’t really need their program correct, because it’s such a massive PITA to do it.

Now, to be fair, this is not to say that macros can’t be hard — very often they are, because you generally use macros to solve problems that would be even harder without them. You don’t deny surgeons access to endoscopy because they might not be skillfull enough to handle it — instead you make sure they are or have to find another trade. There’s no reason to treat programmers differently.

Saying “macros make code unreadable” is like saying “race bets can only be done on manure-covered floor, or else you won’t know you’re dealing with horses”.

Lisp
Rants

Comments (18)

Permalink

Chattr

Admit it, your Web 2.0 experience hasn’t been full up till now, has it? But now, with Chattr here, you can fix that and talk like a real Web 2.0 weenie with no effort. Its full glory can be had here.

Executive summary: yes, it’s an XChat plugin, no, it has no use.

General

Comments (0)

Permalink

;_;

(with-christmas-gifts
  (visit family))
(setf *money* 0)
(print ";_;")

General
Lisp

Comments (0)

Permalink

More useful bash prompt

Working on a project with a rather deep directory hierarchy, I finally got tired of my prompt overflowing the line and wrapping around. So, here’s a handy bash function to put in your $PS1. It should be noted that I did not write it, I only wrapped it up in a function and added some aesthetic options, but all the hard work and bash hackery was done by BearPerson from #bash.

# Produces the same effect as \w in $PS1, but makes sure that the
# result length doesn't exceed $1 chars. If any dirs are omitted, they
# are replaced with [...]. Optional $2 turns on ANSI VT100 escape
# sequences to dim the [...] part. Optional $3 specifies the colour
# code to dim to (otherwise 02, "dim")
bound_pwd ()
{
    limit=${1:-40}
    ansi=$2
    colour=${3:-2}

    regex="~$|~?/.{1,$limit}$|/[^/]*$"
    pre=$([ $ansi ] && echo -n "\[\033[${colour}m\]")
    suf=$([ $ansi ] && echo -n "\[\033[0m\]")

    CANDIDATE="${PWD/$HOME/~}"
    [[ $CANDIDATE =~ $regex ]]
    [[ $BASH_REMATCH != $CANDIDATE ]] && CANDIDATE="$pre[...]$suf$BASH_REMATCH"

    echo $CANDIDATE
}

To use it, either put it in your .bashrc, or in a file that is sourced by .bashrc, then replace \w in your $PS1 with $(bound_pwd). Personally I use $(bound_pwd 25 1) to get at most 25 chars, with VT100 colour codes.

Obligatory screenshot:

Bash prompt with the shortening

Update: If you use VT100 colours, remember to surround the bound_pwd invocation with \[ \], otherwise non-printing characters will confuse bash and make it wrap lines incorrectly

Update 2: The above update was wrong. It’s actually more complex than that, and due to the fact that bash doesn’t exactly have coherent escaping semantics, I had to rework the function. If you use VT100 colours and have downloaded an earlier version of bound_pwd, you have to download it again, it has changed. Additionally, to have it really work, you have to add this function:

set_ps1 ()
{
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:'"$(bound_pwd 25 1)"'$ '
}

And in .bashrc, add this:

# Yes, it's silly that ; alone is not valid syntax
PROMPT_COMMAND="${PROMPT_COMMAND:-true};set_ps1"

Make sure it’s the last line to set PROMPT_COMMAND. Especially if you’re on Debian/Ubuntu, as their default .bashrc sets it conditionally.

Linux
Programming

Comments (2)

Permalink

Routing complete Apache traffic to a CGI handler

Following up on my CGI-Lisp work, here’s a short recipe on how to route the entire Apache traffic to a CGI handler. This is not trivial because of a few problems that need solving:

  1. mod_actions will fall into infinite loop if you try to associate a handler with <Location /> (as will mod_rewrite if you attempt to rewrite /.*)
  2. mod_rewrite will not execute CGI scripts by default
  3. mod_rewrite only serves physical paths under DocumentRoot (and it’s good practice not to have /cgi-bin/ under DocumentRoot)

These can be all solved, but require some searching and reading into the meaning of various options, so I’m posting a ready solution here:

<VirtualHost *:80>
    ...
    DocumentRoot /var/www/
    ...

    RewriteEngine On
    # PT means "passthrough" and will allow mod_rewritten URLs to be matched by
    # virtual locations, not just physical paths
    # T= specifies mime-type to ensure the CGI handler will be executed
    # sock.cgi is the handler we want to handle the entire traffic
    RewriteRule ^/(.*) /cgi-bin/sock.cgi/$1 [PT,T=application/x-httpd-cgi]

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride None
        #Add whatever options you normally use for your /cgi-bin/
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>

As an added bonus, it seems that the REQUEST_URI sent is the URL before rewriting, so you don’t have to do anything special to filter out /cgi-bin/sock.cgi from it.

Intarweb
Lisp
CGI-Lisp

Comments (3)

Permalink

CGI-Lisp 0.5

Following the best agile methodologies, with rapid turnaround, short deliverables, tight customer feedback loop and probably something else involving “leveraging” and “assets”, I’m we’re proud to announce CGI-Lisp 0.5, the latest incarnation of the market-leading, award-winning product in the mod_lisp-compatible CGI-to-Lisp bridges space.

I call it 0.5 because I think it pretty much complete, but not enough to insist there are no bugs to be fixed or additions to be made.

Highlight of changes:

  • POST now considered working. I haven’t actually done anything to make it so, but I tested it and mapped enough variables to have it actually useful (and it turns out to be working out of the box otherwise).
  • Much more complete mappings. It should have most of the variables anyone cares about now.
  • Tested a bit more. And by tested I mean “played with several Hunchentoot applications and found them not breaking horribly”.

Lisp
CGI-Lisp

Comments (1)

Permalink

CGI-Lisp

I’m happy to announce the first release of CGI-Lisp. It’s a small hack that allows you to trampoline webserver requests into a long-running Lisp process, just like mod_lisp (and using the same protocol), except that it runs as a CGI handler. So you can run it on shared hosting.

The code was stolen from Rob Warnock, who hacked it years ago. I in turn hacked it into speaking unmodified mod_lisp, which allows it to be used as a drop-in replacement:

CGI-Lisp screenshot

It’s been extensively tested by running it on exactly one machine in exactly one scenario. That means it will quite possibly break for you. If you still ain’t scared, grab the tarball here.

Update: so yes, I realise you hate GLib and can’t install it on your server. Debugging it was sufficiently annoying, though, for me not to be willing to put up with the sorry excuse for string handling of plain C. And I don’t think it will be very useful without handling POST anyway. I will probably fix that later on, but I don’t have the time now.

Update 2: I rewrote it not to require GLib. It’s slightly slower than before, but not much, and it’s good enough for me. POST non-handling still needs fixing though. You can grab the updated version from the same place.

Intarweb
Lisp
CGI-Lisp

Comments (0)

Permalink

Everything you (never) wanted to know about C++

Ladies and gentlemen, the C++ FQA Lite!

If you hate C++, you’ll have a great time reading this brilliant and amusing rant that rings just so true. Occasionally you’ll weep when it rings a little bit too true, invoking painful memories.

If you love C++, it’s a big flaming rant, but written with technical competence that easily shadows everything else out there that’s been written on the subject. You can’t claim any knowledge of C++ without having read it. And chances are that it’ll make you not love that sin against all good and just before it’s too late. Just think about it, the author is still trapped inside the warped world of C++, dealing with errors that have defeated everyone else on his team. The FQA is really a desperate cry from inside the asylum for you to stop while you still can. Think about it, you’ll be endlessly happier if you do.

If you don’t care about C++… Well, lucky you. But if you know someone who likes C++ more than they should (that is to say, at all), consider doing them a favour and pointing them to the FQA. Friends don’t let friends use C++.

Programming

Comments (2)

Permalink

Common Lisp Tutorial

In case you don’t know it yet: Peter Seibel’s Practical Common Lisp is the best Common Lisp tutorial around. It’s also a great book on its own, and a recommended reading for anyone looking to pick up a new programming language (and Common Lisp is a recommended language for anyone, too :). Go read it.

My personal method of reading is, as it lack traditional textbook problem sections, to follow along with the problem specifications, but not with the code, and only compare the results once finished. This was the way for me to avoid lazily reading, but not actually comprehending, the code.

Also, if you choose to read the web version (there’s a dead tree edition to be picked up from Amazon, y’know), you will want to install the greasemonkey script for footnotes hyperlinkification. And be sure to read it to the end, including all the practicals. A fair body of the code from the book got packaged into separate libraries and is actually used by many projects, this way you will be gathering knowledge of some very useful and widely employed packages.

And one final tip for any would-be Common Lisper: CLHS is your friend. Learn to read it today.

Lisp

Comments (0)

Permalink

overnight valium delivery online phentermine and cymbalta flomax and ambien grupodes viagra impotencia ambien sleeptalking phentermine phentermine diet pill adipex mg cialis wholesale diazepam generic online valium cialis drug interaction rx phentermine 37.5 3.34 cost low phentermine generic viagra mg blue pill grneric viagra headache with ambien tadalafil cialis vs viagra air day in next phentermine stock viagra 10mg 20mg brand cialis name online order viagra drug zenegra free sample of viagra valium images order phentermine and ship to arkansas venetian las vegas information viagra buy valium no presciption zocor alternative viagra phentermine no doctor needed buy tramadol online cod ultram viagra mail order generic online viagra 4.40 buy online viagra cheapest price phentermine kamagra viagra supplier pharmacy search cialis cialis price canada phentermine at cost with no prescription can i buy viagra cialis comparison viagra valium necklace pendant compare phentermine and adipex tramadol opiates phentermine without prescription september tramadol 100mg fedex delivery phentermine no prescription usa pharmacy can you take valium when pregnant can i buy viagra online ambien prescribing information viagra flomax ambien and gastritis cialis nextag viagra on line pharmacy safe splitting viagra cialis effects ambien on the internet without prescription ambien next day news release viagra woman cheap drug retin viagra wellbutrin 3 cost generic lowest viagra sleep eating related to ambien buy phentermine overnight by phone phentermine and zoloft us approved pharmacies phentermine with prozac cheap phentermine mg tablet purephentermine cialis discount vioxx buy cialis tadalafil taking phentermine with wellbrutrin phentermine rating valium on line buy ambien cr online no rx purchase cialis on line ambien cr sleepwalking message boards cialis price comparison viagra problems cialis generic overnight shipping tramadol hcl forum tramadol percocet online search tramadol find search viagra edinburgh pages news bontril phentermine ionamin meridia cialis cialis tadalafil phentramin vs phentermine funny viagra candanian phentermine generic cialis pills drug tramadol heath solutions network phentermine in stock california overnight phentermine and money order apcalis levitra viagra buying phentermine online better ambien stillnox fed ex dhl inndia viagra samples online alcohol and ambien low carb dieting diet phentermine pill phentermine usa pharmacy bush fetches porn viagra adipex phentermine no script cialis with viagra classification of valium sides effect of viagra internetresults tramadol ambien sleeping pills phentermine watson viagra online no prescription ocd tramadol side affects ambien cr overnight delivery cialis questions sildenafil viagra and the heart what happens after you take cialis ambien and alcohol don't mix viagra erections lily icos cialis enhance effects of viagra cialis phentermine free shipping no prescription enzyte viagra cialis 3generic sildenafil viagra online medicines rx cialis viagra order low cialis cost buying medicine ambien compare tramadol prices good price on ambien phentermine without a percription no membership phentermine phentermine echeck cash delivery hydrochloride phentermine pumpkin pie viagra phentermine pill slimming uk tramadol genetic whats better than viagra purchase phentermine onli cialis active ingredient diet pills phentermine best price viagra patent pfizer large high valium waterpumps viagra levitra cialis compare phentermine order without perscription buy ambien online overnight delivery valium drug abuse herbal viagra affiliate prescription free valium cocaine phentermine order viagra overnight delivery online rx valium valium death overdose 0 mtch phentermine pravachol bontril cialis online pharmacy ambien sat fed ex cialis levitra sale viagra buy cheap domain valium 6x to valium effectiveness cialis approval difference between viagra and cialis ambien dosages no prescription viagra sample phentermine louisiana tramadol shipped cod inject tramadol cheapest phentermine cod augmentin cialis valium and depression valium overnight shipping ambien cr alcohol personal review cialis tramadol hcl chemical supplier cialis singular interactions actos phentermine actos claritin d hr online adipex meridia phentermine prescription viagra viagra reminder ads cialis comparison levitra viagra good burn desert ephedra phentermine cialis y la respiracion didrex phentermine compare or viagra xenical tramadol hgh-saizen generic viagra online phentermine buy uk generic cialis softtabs online viagra eye exam best price on diet pill phentermine hemodynamics viagra 5cialis levitra federal express phentermine does phentermine contain amphetamines buying cialis online guide viagra lavetra cialis buy ambien on line usa phentermine and prozac for weight loss generic cialis absolute lowest price phentermine lowest cheap next day snorting valium efficacy wellbutrin aciphex phentermine nasonex altace web md viagra connecticut meltabs generic viagra tramadol used generic viagra versus tadalafil canadian viagra store plavix and viagra valium medical name viagra and heart problems va regulations viagra phentermine no prescription ship to indiana discount phentermine no rx needed narcotic tramadol canine ambien ce free seven day trial office pill phentermine buy viagra xanax is cialis a controlled substance generic viagra overnigh sertraline tramadol and online phentermine pharmacy best cheapest medications that interfere with ambien cr phentermine chat room phentermine money orders overnight rx online buy valium tramadol 60 tablets ducation sp cialis e viagra vaginal suppositories side effects tramadol effects on dogs viagra a-z kamagra generic viagra 100 mg sildenafil order phentermine no script united states cialis vs viagra valium date rape drug order cialis on line buy phentermine 37.5 in tennessee klonopin valium vs ambien cause snoring low cholesterol diet buy phentermine cialis obsessive compulsion phentermine how does it work dangers phentermine 24 hour delivery buy phentermine cod medipharm bags buy phentermine venetian las vegas effects viagra buy tramadol rss feed counterfeit viagra identify four tramadol no prescription florida cialis vs viagra on line no prescripton buy online phentermine gt ecstacy and viagra viagra forums 3generic propecia viagra abuse phentermine abuse bob viagra 37 5 159 a phentermine effects phentermine psychological side cheap but effective alternative to viagra edinburgh uk news viagra site search viagra silagra drug reactions between phentermine and metabalife addicition to phentermine health insurance coverage of viagra cialis viagra heartburn where can i buy viagra uk no prescription phentermine online sales phendimetrazine or phentermine valium dependence money online order save viagra 180 37.5 order phentermine pill buy phentermine 37.5mg adipex p meridia phentermine valium stay in your system ambien sanofi-aventis lunesta takeda phentermine and fibromyalgia does ambien cause mastalgia cialis viagra levitra compare clenbuterol phentermine can u take ambien and melatonin tramadol cheap discount can i take ambien with lexapro cialis dosage information ambien buy cheap delivery line overnight cialis prevacid viagra alternative herbal supplement phentermine adipex ionamin addiction valium phentermine blue fedex online pharmacy generic viagra caverta caverta pillshoprxcom 3.46 phentermine prescription ultram sniffing tramadol generic tramadol effectiveness valium 5mg pictures phentermine clinics in louisville ky viagra to bill gates buy cialis softtabs information overnight delivery valium no prescription new song called viva viagra cialis generico sildenafil generic cialis tadalafil free pack starter viagra valium animation peyronies and viagra phentermine drug-test on line doctor phentermine school finance what is tramadol comparison viagra cialis levitra zantac valium in phentermine sale uk natural viagra substitute vitamins herbs cheap cod phentermine viagra caverta tonytigeraz viagra 2007 mexican iv valium complications no prescription phentermine 32 ambien and oxycodone paradoxical reaction of valium purchase phentermine on line mix tadalafil and generic viagra free try viagra 35 ad psychoneurotic single valium europe cialis central valium effects of free tramadol delivery what is ambien lighting approved phentermine insurance health viagra coverage viagra canada online pharmacy discount price viagra order phentermine by cod buy cheap phentermine online pharmacy online phentermine perscriptions cialis free trial grande librairie sp cialis e tunisie viagra the latest developments online phentermine money orders origin of viagra cr ambien man health buy tramadol funny farm cialis viagra buy tramadol ultram valium panic disorder crush up viagra ambien have sex viagra and blood pressure cialis commentscgi generic mt tadalafil phentermine delivered overnight cialis drug generic propecia 50mg capsule hydrochloride tramadol canada cialis generic best price generic viagra or cialis herbal herbal viagra viagra viagra women take cialis drug drink alcohol with viagra generic cialis viagra viagra substitute unsecured loan nasacort aq cialis cialis pros and cons cialis canada online pharmacy viagra cialis levitra strong strong viagra purchace phentermine shipped fedex pregnancy and ambien females being prescribed valium pregnancy test ambien for anxiety phentermine information all information about phentermine does phentermine cause skin problems endometrium viagra viagra history buy cheap phentermine shipped overnight indications for ambien use viagra retail discount generic sildenafil viagra viagra instructions for use ambien zr viagra starter cheap tramadol soma best viagra delivery phentermine saturday ambien equivalent imovane ambien crash morning pepare tramadol for injection phentermine and wellbutrin doctors giving viagra checkup 100 10mg roche valium dosage for oral valium prescription for phentermine in virginia 1buy canada cialis cialis pills taladafil v-care surgical private ltd phentermine generic and phentermine and scam buy cialis on line uk difference between ibuprofen and tramadol cialis the new viagra ambien alert cheap online viagra viagra phentermine no prescription free overnight delivery adipex bontril ionamin meridia phentermine received fake phentermine paid visa valium siwa protocol 4.01 buy online phentermine extasy and viagra cheap cialis for you benzodiazepine withdrawal valium diazepam phentermine online free consultation knockoff cialis seresta valium phentermine and heart disease acetaminophen per tramadol hcl off shore ambien forex buy valium phentermine no longer available online tramadol 500mg information pharmacology ambien obstructive sleep apnea viagra cialis differences viagra free sites results find over the counter cialis london cheap man viagra cheap viagra kamagra phentermine meridia vs phentermine no prescriptions florida cheap viagra sales in england instead of viagra arachnoid cysts phentermine online pharmacy us ambien medication potency ambien foreign websites viagra levitra patients cialis valium chest pain viagra online asap board cialis contractor licensing state what is tramadol hcl50mg side effects prozac phentermine ambien safe nursing prozac phentermine cheap free shipping celexa phentermine gt british natural viagra effects welcome phentermine buy cheap phentermine online buy phentermine without rx viagra 50mg uk phentermine without a primary valium 10 rosario castellanos viagra cialis generica online ambien brand herbal viagra reviews ambien cr medication ambien cr no effect cialis and levetra ambien male menopause duromine phentermine generic viagra levitra and tadalafil is phentermine also called speed cheapest online pharmacy phentermine valium health search genieknows com online phentermine prescription valtrex zyban ultram tramadol hci tablet 8080 buy cialis viagra average cialis prices 125 ambien cr mg lowest prices viagra phentermine buy online no prescription drug interaction valium and prilosec ambien fedex shipping real viagra paypal phentermine and water pills tramadol 180 tablet buy cheap cialis generic levitra viagra buy non prescription generic viagra paypal phentermine testimonails cialis and viagra valium dental crown side effects of tramadol hcl 50mg transsexual viagra tramadol hydrocloride side side effects to taking viagra valium carisoprodol purchase phentermine online ship fedex cialis attractive brunette levitra ad phentermine no prescriptio n boom phentermine dependency on ambien buy cheapest cialis no precription phentermine cheap cialis generika ambien cr how does it work 30 ml phentermine no script phentermine pravachol aciphex actos diovan hct c d o phentermine cod diet phentermine pill shipped phentermine 37.5 pharmacy viagra best way to use cheap online phentermine with no prescription viagra in south africa ambien new england journal medicine drug testing phentermine phentermine capsule pills does tramadol thin the blood phentermine no prescription required phentramine phentermine dangers viagra pinup gay men viagra vs cialis buy phentermine online cheap diet pill cialis online bestellen your source for phentermine adipex viagra 100mg viagra driving and valium ambien keyword cialis and levitra viagra order pharmacy viagra viagra driving valium effects impairment ambien directions phentermine online with mastercard phentermine ephedrine valium sold in usa cialis liver disease phentermine 37.5 online consultation compare valium and xanax order phentermine online no presciption cialis testimonials softtabs cialis cialis propecia viagra book buy online order viagra aeroflot open view topic order viagra vicoden xanax valium king viagra cialis generic impotence kamagra viagra viagra keywords buy tramadol penis enlargement pills viagra men phentermine 37.5 180ct tramadol dosing directions 661 viagra levitra cialis 953 generic name tramadol ambien equivalent adipex versus phentermine viagra naturale competitors of viagra phentermine in hair follicle drug test valium numbers cialis cialis viagra generic in usa viagra viagra length zestril and viagra herbal viagra canada when will generic viagra be available regals cialis tramadol dog dosage cialis discount online generic viagra purchase 2cialis comparison levitra viagra ambien online zolpidem tartrate mastercard buy online viagra securely buy phentermine buy side viagra xanax boots sell viagra free promotions viagra phentermine no prescription necessary price of viagra compared to cialis tramadol buspirone ssri viagra save chrismas keywords cialis levitra sales viagra ambien long-term side effects tramadol ultram sexual side effects buy viagra without prescription online pharmacy high from phentermine online games buy vitamins viagra sale valium safe in pregnancy tramadol 50 mg pliva 616 interactions with methadone and viagra actos phentermine aciphex imitrex girl phentermine cialis doseage safe tramadol american pharmacy online phentermine 37.5mg on line phentermine carisoprodol phentermine for alertness getting a free sample of viagra phentermine script buy viagra safeway pharmacy phentermine nasonex altace custom crt phentermine viagra free sites edinburgh search find cheap mexican phentermine buy tramadol now macha natural viagra is viagra cheaper in mexico cialis 30 oral ambien prices valium logo cialis valtrex alesse generic valium picture viagra 100 pic buy phentermine mexico 2006 followup march post viagra weight loss pharmacy phentermine pictures tramadol bupropion cialis online buy adipex phentermine 37.5 mg capsule phentermine actos actos ranitidine buy non generic ambiens dosage phentermine orexis vs viagra viagra bicycle shirt cialis viagra levitra pump phentermine cs 37.5mg viagra in the water blondes cheap cialis the best quality pills ambien online overnight delivery prescription phentermine 37.5mg no rx tramadol false positive pcp xenical online pharmacy phentermine meridia long term use of ambien affiliate free join program viagra compare viagra cialas levitra valium and liver damage cheap 30mg yellow phentermines purchase phentermine in store cheap viagra without a pr best buy for viagra phentermine site buy canada phentermine warnings for ambien buy cialis buy cialis online dreampharmaceuticals brand name tramadol phentermine typical results tramadol without presciption free online viagra pill sample cialis viagra mastercard accepted tramadol prescribing information viagra levitra cialis pharmacist prescription drug va viagra phentermine with doctor approval diazepam phentermine no prescription phentermine canada best online pharmacy hide the cialis make phentermine yourself xenical cialis phentermine interactions does ambien i