Thursday, July 15, 2010

Wednesday, July 14, 2010

Right-wing choads and New York cockroaches

It's amazing the type of authoritarian and outright mean-spirited crap the right-wing choads who let O'Reilly vicariously bully for them say from the safety of their basements:
Well, if you care enough, here's the article. Of course, those are the same kinds of high beams who morally equate Obama, Lenin, and Hitler (as if morally equating Lenin and Hitler isn't stupid enough): Thanks to the intrepid reporting of The New York Times, we even get to hear about it. And what exactly does the corporate press want us to think is the difference between Teabaggers and the rest of the Republikan Party? Teabaggers may be somewhat less literate, but that's not saying much.

Monday, July 12, 2010

Slackware with lighttpd, php, and mono (source installations)

This overview of installing the relevant lighttpd and mono software packages from source on Slackware 13.1 is designed as a broad overview. I've been using Apache and PHP for years, but I'm quite novice at lighttpd and mono. Also, despite using GNU/Linux for years at home, I've usually set up servers with stable, upgradeable FreeBSD.

Hopefully this will help others avoid pitfalls (or be of use to me in the future if I ever have to recover). I needed to install a fast web server with PHP and Mono. I've had a lot of trouble getting mono running on FreeBSD, so I decided to go with a GNU/Linux distribution for this server. Being a stickler for things I liked in the past, I went with the one I've always found easiest to use and upgrade: Slackware.

Software packages

As of this writing, the latest Slackware is 13.1, though I assume these techniques should mostly carry over to similar versions. I'm using the 64-bit variety. I was rather liberal about installing most software packages that came with Slackware 13.1, mostly out of laziness. After I was finished installing, I deleted Apache so I could install lighttpd.

The latest mono source files I used were for 2.6.4.

Step 1: Basic lighttpd install

I did a pretty vanilla install of lighttpd 1.4.26. Basically just did:
  1. downloaded, untar'd
  2. ./configure
  3. make
  4. make install
Simple, right? After this, I took some cues from the lighttpd documentation and set up a simple config file in /etc/lighttpd/lighttpd.conf (you have to manually create the directory). It looks like this:
server.document-root = "/var/www/servers/[site]/pages"

server.port = 80 = "/var/run/"
server.username = "www"
server.groupname = "www"

mimetype.assign = (
".html" => "text/html",
".txt" => "text/plain",
".jpg" => "image/jpeg",
".png" => "image/png"

static-file.exclude-extensions = ( ".fcgi", ".php", ".rb", "~", ".inc" )
index-file.names = ( "index.html" )
Make sure to modify the document root to wherever you keep your HTML files. You'll want to create the www user and www group or change these to an existing user.

Next up things got a little tricky because there wasn't a readily available Slackware init.d script to start and stop this monster. No problem; I just borrowed one from the's pre-compiled repository. I slightly modified it to match the configuration I made:
# Copyright (c) 2007, Daniel de Kok
# All rights reserved.
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
# 1. Redistributions of this script must retain the above copyright
# notice, this list of conditions and the following disclaimer.

LIGHTTPD_OPTIONS="-f /etc/lighttpd/lighttpd.conf"

is_pidof() {
local STATE=$(ps -p $1 -o cmd= | grep "$2" > /dev/null ; echo $?)
return $STATE

lighttpd_start() {
echo "Starting lighttpd: $LIGHTTPD"
if [ -r $PIDFILE ] && is_pidof $(cat $PIDFILE) lighttpd ; then
echo "Already running!"

lighttpd_stop() {
echo "Stopping lighttpd: $LIGHTTPD"
if [ -r $PIDFILE ] && is_pidof $(cat $PIDFILE) lighttpd ; then
kill $(cat $PIDFILE)
rm -f $PIDFILE
echo "Not running!"

lighttpd_restart() {
sleep 1

lighttpd_reload() {
kill -s HUP $(cat $PIDFILE)

case "$1" in
echo "usage $0 start|stop|restart"
Save the above to /etc/rc.d/rc.lighttpd and change the permissions to allow execution (chmod u+x /etc/rc.d/rc.lighttpd).

Put an index.html file in your HTML root directory. Test your configuration by running /etc/rc.d/rc.lighttpd start and pointing your web browser to http://localhost to see that your index file loads. Next try to stop the server: /etc/rc.d/rc.lighttpd stop.

If you just want a basic lighttpd install on Slackware, you can more or less stop here.

Start on boot and stopping on shutdown

To make lighttpd start on boot simply add the following you your /etc/rc.d/rc.local file:
if [ -x /etc/rc.d/rc.lighttpd ]; then
/etc/rc.d/rc.lighttpd start
Likewise, to make it stop on shutdown, add this to /etc/rc.d/rc.local_shutdown (usually empty by default):
if [ -x /etc/rc.d/rc.lighttpd ]; then
/etc/rc.d/rc.lighttpd stop

Mono 2.6.4 install

This is the first time I've seen mono install flawlessly on Slackware without using the sources made available by the SlackBuilds. I basically followed the directions exactly as they appeared in the README.
  1. ./configure --prefix=/usr/local
  2. make
  3. make install

xsp 2.6.4

To use ASP.NET with lighttpd, xsp needs to be installed. xsp is the package that contains the fastcgi components that allow mono to interface with lighttpd. Once again, I mostly followed the accompanying documentation. I used the config prefix /usr/local rather than the one suggested in the documentation.

The steps I followed to install were:
  1. ./configure --prefix=/usr/local
  2. make
  3. make install
A little note about step 2: I had a slight hitch following the standard installation instructions. Using the installation parameters from the above mono install, I needed to specify where the directory holding the file dotnet.pc in order to make the xsp package. Using the find command:
find /usr -name dotnet.pc
I determined it was in /usr/local/lib/pkgconfig and simply added the path to the existing PKG_CONFIG_PATH environmental variable.

To find your list of environmental variables, type the env command and hit enter.

Locate get the relevant variable from the list. In my case, it was PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig:/usr/lib64/pkgconfig

Reassign the variable by typing
into your shell prompt.

It's quite likely a reboot would have solved this problem as well.

libgdi installation

I didn't realize this wasn't installed. It probably should have been installed first! This is necessary to run mono on fastcgi. Anyway, the problem is an easy one to rectify.

Once again, I did:
  1. ./configure --prefix=/usr/local
  2. make
  3. make install

Modifying lighttpd configuration to use mono

This part gets a little tricky, but it's doable. Much of my information for this area comes from a document, also linked below, on interfacing FastCGI and lighttpd to use mono.

First of all, create a new directory in your /etc/lighttpd directory called conf.d.

Save the following to /etc/lighttpd/conf.d
# Add index.aspx and default.aspx to the list of files to check when a
# directory is requested.
index-file.names += ( "index.aspx", "default.aspx" )

### The directory that contains your Mono installation.
var.mono_dir = "/usr/local/"

### A directory that is writable by the lighttpd process.
# This is where the log file, communication socket, and Mono's .wapi folder
# will be created.
# For a typical system-wide installation on Linux, use:
var.mono_shared_dir = "/tmp/"

### The path to the server to launch to handle FASTCGI requests.
# For ASP.NET 1.1 support use:
#var.mono_fastcgi_server = mono_dir + "bin/" + "fastcgi-mono-server"
# For ASP.NET 2.0 support use:
var.mono_fastcgi_server = mono_dir + "bin/" + "fastcgi-mono-server2"

### The root of your applications
# For apps installed under the lighttpd document root, use:
var.mono_fcgi_root = server.document-root

### Application map
# A comma separated list of virtual directory and real directory
# for all the applications we want to manage with this server. The
# virtual and real dirs. are separated by a colon.
var.mono_fcgi_applications = "/:."
Next up, the configuration file needs some additions and alterations.

Open /etc/lighttpd/lighttpd.conf and add the following to your configuration under the server.document-root = "/var/www/servers/[your web root]/pages" line:
server.modules = (
# "mod_rewrite",
# "mod_redirect",
# "mod_alias",
# "mod_cml",
# "mod_trigger_b4_dl",
# "mod_auth",
# "mod_status",
# "mod_setenv",
# "mod_proxy",
# "mod_simple_vhost",
# "mod_evhost",
# "mod_userdir",
# "mod_cgi",
# "mod_compress",
# "mod_ssi",
# "mod_usertrack",
# "mod_expire",
# "mod_secdownload",
# "mod_rrdtool",
"mod_accesslog" )
This is a list of modules. I kept the ones not relevant commented out for now. Of course, many people will want to use some of them, particular rewrite, redirect, and alias. Either way, I prefer to keep things simple for now. Next change the line
index-file.names = ( "index.html" )
index-file.names = (
"index.xhtml", "index.html", "index.htm", "default.htm",
"index.php", "default.aspx", "index.aspx"
Beneath your new index file list, add the following:
include "conf.d/mono.conf"

fastcgi.server = (
".aspx" => ((
"socket" => mono_shared_dir + "fastcgi-mono-server",
"bin-path" => mono_fastcgi_server,
"bin-environment" => (
"PATH" => "/bin:/usr/bin:" + mono_dir + "bin",
"LD_LIBRARY_PATH" => mono_dir + "lib:",
"MONO_SHARED_DIR" => mono_shared_dir,
"MONO_FCGI_LOGLEVELS" => "Standard",
"MONO_FCGI_LOGFILE" => mono_shared_dir + "fastcgi.log",
"MONO_FCGI_ROOT" => mono_fcgi_root,
"MONO_FCGI_APPLICATIONS" => mono_fcgi_applications
"max-procs" => 1,
"check-local" => "disable"
) = (
".asmx" => ".aspx",
".ashx" => ".aspx",
".asax" => ".aspx",
".ascx" => ".aspx",
".soap" => ".aspx",
".rem" => ".aspx",
".axd" => ".aspx",
".cs" => ".aspx",
".config" => ".aspx",
".dll" => ".aspx"

Appendix: links and more

lighttpd homepage.The mono project site:Google code information on the install (I found this very helpful, as it was simpler than the mono documentation).

Thursday, July 08, 2010

Breasts should be mundane

Reports The New York Daily News
Asbury Park will remain G-rated.

Deciding the seaside community popularized in song by Bruce Springsteen needed no more exposure, the City Council said no to topless sunbathing on the Eighth St. stretch of sand Wednesday without a vote.


Supporters said a topless beach would revitalize tourism.

But others worried it would scare away families recently returning to the once-famous resort.
Really, why would anyone want prudish families around?

Tuesday, July 06, 2010

Conservatism and legitimization: the only thing worse than authoritarians…

…are authoritarians who don't play by the rules they pretend they say everyone else should play by. If there is one blessing (or curse, depending on one's point of view) of the Bush Era it was that many of the right-wing elements in the west that concealed their fascist-like contempt for basic human dignity suddenly publicly embraced it. In the United States, this was seen in the form of political legitimization of torture, a shameless mainstream media blitz of right-wing propaganda, stolen elections, perverse legal backbending quasi-legitimized by the Supreme Court appointments of a president who himself possibly only achieved his office because of a Supreme Court decision, militarism, and demonization and intimidation of people who refused to buy into the junta.

Naturally, where G20 meetings happen, protests follow. And where protests happen, authoritarians crawl out of the woodwork to reaffirm their commitment to a police state. Witness former Canadian Conservative MP Monte Solberg:
During the summit, commentators took great pains to distinguish legitimate protesters from the anarchists who were bent on violence.

I’m afraid I can’t be quite so generous, for sometimes the two blended together.
The op-ed reads a lot like a screed from Fox News:
I deeply appreciate the police. They didn’t initiate this, the protesters did. I’d be happy if the worst vandals amongst the protesters had to spend many weeks in jail.

I hope they get sued for the damage they’ve done and have to sell their entire Michael Moore DVD collections and their victim-affirming Noam Chomsky libraries.
This is the power of mass media. The kind of authoritarian rhetoric found on CNN, Fox News, and right-wing tabloids, is now deeply ingrained in so-called conservative movement of an ostensible "progressive" country. Politically, Noam Chomsky and Michael Moore probably couldn't be more at odds, but in the minds of members of the 21st century authoritarian junta, they're the same thing.

"For the past 90 years or so, the Republican Party has, at its best, come to embody the cause of personal freedom and economic dynamism. For a similar period, the Democratic Party has, at its best, come to embody the cause of fairness and family security." — David Brooks, New York Times columnist ("The Democrats Rejoice," 2010)
Politics today is about framing, and anti-authoritarians are bad at it. This needs to change. First off: stop using the terms authoritarians choose to describe themselves. They are not conservative, traditionalist, freedom fighters, or pro-life. They are authoritarians. Glenn Beck is an authoritarian. Monte Solberg is an authoritarian. Sean Hannity is an authoritarian. The United States Republikan Party is authoritarian, and so are its equivalents in other countries.

Conservatism is, ironically, perhaps a newer political tradition than modernity-affirming liberalism, and perhaps even more counterintuitively for the American mindset, it's probably closer to dead. Although I generally regard it as rather authoritarian itself, conservatism does tend to have some merits and even some occasional moments of clarity. The people above do not. They couch themselves in a term that refers to reaffirming tradition, ties to the community, and careful social consideration before making change. The conservatism of Edmund Burke is mostly dead, and where it lives on it has refused to acknowledge the problem of the considerably more right-wing authoritarianism stealing its mantle. Even relatively moderate conservatives like David Brooks have generally refused to acknowledge this, preferring instead to play a bipartisan balancing game between the two major parties.

Saturday, July 03, 2010


Meet WASP Adam and his wife, uh, Jane. You are descended from these two cracker asses. Not included on the cover of this book is their second child - the editor chose not include him on the cover because he turned out to be VERY BAD NEWS. Not to spoil the story for you, but he was a brunet to indicate how evil he was.

This thing was ...full of pictures that almost could have passed as Third Reich propaganda. I would have purchased it, but I didn't deem it worth the $1.99 price tag they were demanding. (Why put a price on my salvation anyway? Very Christian!)

Towards the end, we meet WASP Jesus, but He's been depicted elsewhere so many times I didn't bother to photograph Him.

Wednesday, May 19, 2010

Driving without drinking

So, sometimes, The New York Times actually posts something a little dead-on, like this letter from January 1st, 2008:
To the Editor:

In “Let’s Raise a Glass to Fairness” (Economic Scene, Dec. 26), David Leonhardt suggests that the argument for raising the federal tax on wine, unchanged at $1.07 a gallon since the early 1990s, is stronger than the argument for raising the tobacco tax. He points out all the ills associated with drinking abuse, including the some 17,000 Americans who die annually in alcohol-related traffic accidents.

It would seem that a far more appropriate tax to increase would be the federal gas tax, unchanged since 1993, at 18.4 cents a gallon.

Raising that tax would reflect all of the more than 42,000 traffic-related deaths each year, whether the result of drinking, fatigue, negligence or other causes. Irvin Dawid

Palo Alto, Calif., Dec. 26, 2007
In all fairness, Leonhardt makes something of a fair point. Alcohol probably does have a lot of social consequences. But those consequences, and their costs, are probably best dealt with locally, rather than through crushing federal taxes that go to nothing in particular. The same goes for other vices, like addiction to sugary meals such Captain Crunch.

Driving, on the other hand, wreaks global havoc. It is also expensive, and communities pay many confiscatory taxes to support its costs.

Want to reduce some of those costs? Make the drinking age 16 and the driving age 21.

Real anti-authoritarians take on Glenn Beck

A rather amusing letter appeared on counterpunch concerning Glenn Beck's mentally ill rants. Apparently he (mis)used one of their books as a prop.

Religion: CNN accidentally posts something thoughtful

Today many U.S. Catholics and Jews think like Protestants. They believe that religion is something we choose as individuals rather than inherit as communities, and they view it primarily in terms of faith rather than practice. None of this comes from either the Catholic brain of Aquinas or the Jewish mind of Maimonedes. The progenitor of this faith-based understanding of religion (who also happens to be the patron saint of religion rulings at the U.S. Supreme Court) is the American Protestant thinker William James, who famously defined religion as "the feelings, acts, and experiences of individual men in their solitude, so far as they apprehend themselves to stand in relation to whatever they may consider the divine.”
Do 6 Catholics + 3 Jews = 9 Protestants? by CNN religious sophist Stephen Prothero

Sunday, May 09, 2010

Down syndrome in the Heartland

I was Googling for yearly statistics on obesity at the urban level, which is shockingly hard to find. So there I was, mindin' my own Google results, when I ran into the article Sprawl and Obesity in Chicago: Why All the Fuss? (which, by the way, was completely irrelevant to what I was looking for). I clicked on it, and then saw, after I clicked on it, that right there in the bloody title of the search result was appended the words "by Wendell Cox." I learned several years ago that Wendell Cox probably ranks somewhere between a snake oil salesman and an 8-ball in his ability to offer intelligent original research. To say the least, the above headline probably says it all to any halfway discerning reader that this guy is probably a shill for shortsighted industrial interests (namely cars and smog producers). What Cox throbs most for is spinning transit use as a wasteful subsidy borne by an increasingly put-upon middle class. He does have two talents though: trying to look clever by asking dismissive rhetorical questions ("sun light: who needs it?") and putting a scholarly spin on naked political propaganda. What Wendell lacks for in intellectual honesty, he makes up for in proliferation.

People's Republic of New France
United States of America

(thanks Wikipedia for preserving the above abortion for all eternity; even if, as is common on Wikipedia, the above version is flawed because Alberta is a red state)
But all that's really besides the point. My real agenda here is making fun of the site that hosted the above URL: the Heartland Institute. Everyone knows there's a mass media narrative in America about coastal big city urban elites thumbing their effete, snobbish, latte-dipped noses at those real Americans living in places like, uh, well, it doesn't really matter where they live. Needless to say, real Americans are too pure and wholesome to live in big cities, even if big cities are possibly the economic engines paying for bridges and signs in real America. They also don't live in rural places like Vermont and western Massachusetts, which are full of hippies and bourgeois types who tolerate America-destroying forces like immigration and ethnic diversity. Basically, real Americans don't live in the states where the United States was born, places like Massachusetts and Pennsylvania, regardless of what those crybabies at say. Indeed, real Americans live in the Midwest, which wasn't even made up of states in 1791, and the deep South, which supported American independence rather grudgingly if the musical 1776 is to be believed (and it probably is). Such jokes seem dated now, now that Barack Obama was elected and fixed the whole world, but the legendary Jesusland map kind of says it all.

There's a religious aspect to this. Having internalized the above, which resulted in gaining a justified sense of moral superiority over the rest of humanity, The Heartland Institute found something missing: idols (e.g., saints or ikons — something to give a sensual meaning to the existence of the earthly truth). Any new religion inevitably finds itself looking to the past to seek out paragons of virtue because we inevitably don't remember the flaws of our historical and mythological leaders. Who remembers that Heracles and Moses were both murderers? Who remembers that Thomas Jefferson kept slaves? Who remembers that Ayn Rand was a truculent, fascistic, sniveling twat?

However, picking idols is no easy task. Not just anyone can be chosen. American Christians often find Jesus to be a poor idol indeed because he really doesn't live up to many of the beliefs they hold most dear. Thankfully, the Heartlandites have other choices. Theirs is an ideology very much the opposite of Jesus's ideology. Flawed as Jesus the man might have been, and we really don't know how flawed he was because of our scant records, Jesus of the Gospels favored the weak over the strong, the poor over the rich, and the sinner of the saint — if Christian theology has any elegance, it's that occasional point that maybe it's the fallen who need grace most of all. But Real Americans will have none of that crap. The Heartlandites are for markets, guns, property. More earthly models had to be chosen, ones that fit Real American preconceptions about themselves

To that end, the Heartlandites created an animated banner at the top of their web site to alternate through their idols.
This lead to some curious choices, many of whom have little or nothing to do with each other:
  • John Locke —moral and political philosopher; proto-liberal who favored limits on monarchical power
    • Market activities: sold future generations on charlatan contractarian philosophy, which echoes down to this day in the works of writers like John Rawls
  • Crispus Attucks — actually, nobody really knows anything about him, except that he died in the Boston Massacre and might have had dark skin
  • Benjamin Franklin — American inventor and politician (Americans get mocked for lack of civil knowledge of other cultures, but Americans who travel abroad frequently find Europeans telling them that Benny was America's best president); born in puritanical Boston, migrated to Philadelphia, where he spent a life rich in intellectual pursuits
    • Market activities: freely initiated the exchange of money for sex
  • Thomas Paine — anti-authoritarian liberal writer, active in both the United States War for Independence and the French Revolution; anti-slavery and arguably pro-gender equality
    • Market activities: wrote stuff, TLDR
  • Thomas Jefferson — wrote the Declaration of Independence, which was fine-tuned by Franklin; third President of the United States who favored anti-mercantile policies and distrusted financial markets
    • Market activities: monopolized the loins of at least one slave for a fixed period of time, no doubt in a mutually beneficial exchange of services; as President, purchased a lot of rather marginally useful land from the French, who had only recently stolen it back from the Spanish
  • James Madison — wrote some early American political propaganda; fourth President of the United States
  • Booker T. Washington — token black man (in case Crispus doesn't cover all the bases)
    • Market activities: credited with being the first inventive black man in American history (Benjamin Bannecker is forgotten)
  • Ayn Rand — Russian fascist
    • Market activities: author of some really crappy books
  • Milton Friedman —right-wing liberal economist
Of course, not many of them even come from the "Heartland" of the United States. Most of the American idols come from the coasts, especially Virginia. Milton Friedman may be the only true Heartlandite in the bunch, since he was seated at the University of Chicago for decades.

Saturday, May 08, 2010

Financial Leverage

I love this description of the 1929 Wall Street trust as described in John Kenneth Galbraith's The Great Crash 1929 (1988 revision published by Houghton Mifflin Company, page 57-58):
The principle of leverage is the same for an investment trust as in the game of crack-the-whip. By the application of well-known physical laws, a modest movement near the point of origin is translated into a major jolt on the extreme periphery. In an investment trust leverage was achieved by issuing bonds, preferred stock, as well as common stock to purchase, more or less exclusively, a portfolio of common stocks. When the common stock so purchased rose in value, a tendency which was always assumed, the value of the bonds and preferred stock of the trust was largely unaffected. These securities had a fixed value derived from a specified return. Most or all of the gain from rising portfolio values was concentrated on the common stock of the investment trust which, as a result, rose marvelously.

Consider, by way of illustration, the case of an investment trust organized in early 1929 with a capital of $150 million — a plausible size by them. Let it be assumed, further, that a third of the capital was realized from the sale of bonds, a third from preferred stock, and the rest from the sale of the common stock. If this $150 million were invested, and if the securities so purchased showed a normal appreciate, the portfolio value would have increased by midsummer by about 50 per cent. The assets would be worth $225 million. The bonds and preferred stock woulds till be worth only $100 million; their earnings would not have increased, and they could claim no greater share of the assets in the hypothetical event of a liquidation of the company. The remaining $125 million, therefore, would underlie the value of the common stock of the trust. The latter, in other words, would have increased in asset value from $50 million to $125 million, or by 50 per cent in the value of the assets of the trust as a whole.

This was the magic of leverage, but this was not all of it. Were the common stock of the trust, which had so miraculously increased in value, held by still another trust with similar leverage, the common stock of that trust would get an increase of between 700 and 800 per cent from the original 50 per cent advance. And so forth. In 1929 the discovery of the wonders of the geometric series struck Wall Street with a force comparable to the invention of the wheel. There was a rush to sponsor investment trusts which would sponsor investment trusts, which would, in turn, sponsor investment trusts. The miracle of leverage, moreover, made this a relatively costless operation to the ultimate man behind all of the trusts. Having launched one trust and retained a share of the common stock, the capital gains from leverage made it relatively easy to swing a second and larger one which enhanced the gains and made possible and third and still bigger trust.

Monday, April 12, 2010


According to the BBC:
Facebook executives are due to meet the head of a British child protection agency in Washington to discuss safety measures on the social networking site.

It has been criticised by the Child Exploitation and Online Protection (Ceop) centre for not installing "panic buttons" on every page.

Ceop's director Jim Gamble said the matter was urgent after the murder of a teenager by a man she met on the site.
Here's an adult safety measure: if you're a "child protection agency," stay the hell out of politics. You waste time and effort coddling parents too damn lazy to make sure their children make sensible decisions about the online world. Panic buttons and other regulations are unlikely to help cure parental stupidity, and are more likely to just give sanctimonious thugs another opportunity to scream "pedophile!" at people who committed no harm.

Sunday, March 28, 2010

History is so full of it

I have spent a lot of my spare time reading about Medieval history lately. It's always amusing to see how every generation imposes their own values on history (rendering the entire art of history crap). Joseph R. Strayer's Western Europe in the Middle Ages: A Short History (Appleton-Century-Crofts, Inc.: New York, 1955) and Thomas Cahill's Mysteries of the Middle Ages: The Rise of Feminism, Science and Art From the Cults of Catholic Europe (Random House: New York, 2006) both recount the twelfth century love triangle between French King Louis VII (Louis the Younger), Duchess Eleanor of Aquitaine, and English King Henry II. Strayer's narrative had Eleanor being dumped by Louis and getting revenge by marrying Henry. Cahill's narrative had Eleanor manipulating the Catholic anti-consanguinity rules to her advantage, getting the marriage annulled, and marrying Henry, whom she supposedly truly loved.