Merge branch 'master' of github.com:samuelclay/NewsBlur

* 'master' of github.com:samuelclay/NewsBlur: (23 commits)
  Missing last update date.
  Fixing major bug around stale data when updating feeds.
  Being more aggressive in determining if a URL is a feed.
  Increasing modal zindex to battle Svbtle blogs sidebar.
  Handle cases of user reading both old and new guid stories.
  Checking for a signup that is really a login when importing GR.
  Moving last update to post-fetch.
  Error handling in orphan detection.
  Collecting orphaned feeds for users. These somehow got lost, and I'm not sure how. Eventually I'd like to run this on every user account.
  Fixing issue around feed titles that disappear. This just confirms that the new feed title is substantive.
  Uncommenting Readability sharing. This was written a loooong time ago, but their API is finally ready.
  Fixing an issue around mal-formed requests aginst WordPress's Bad Behavior plugin, which checks for the 'Accept: *' header.
  Fixing missing folder issue in iOS app. Occurs when user has no feeds in top level, when the Everything psuedo-folder obscures the top folder.
  Fixing iphone page by moving JS to bottom of page.
  Adding Nokia MeeGo Web Feeds mobile app.
  Adding press story.
  Fixing forgot password links by blanking out old passwords.
  Adding Mother Jones feeds for testing.
  Document the key to toggle read/unread
  Fixing the ghost story unread count bug. Turns out it is a weird condition where a story changes its date after being published, but a user's mark_feed_as_read date is inbetween the new date and the original date, leading to a ghost unread story that can't be read.
  ...
This commit is contained in:
Samuel Clay 2012-03-22 08:54:29 -07:00
commit c618e964c0
38 changed files with 8130 additions and 160 deletions

View file

@ -175,7 +175,7 @@ def import_signup(request):
if signup_form.is_valid():
new_user = signup_form.save()
user_token = None
user_token = OAuthToken.objects.filter(user=new_user)
if not user_token:
user_uuid = request.COOKIES.get('newsblur_reader_uuid')
if user_uuid:

View file

@ -160,6 +160,9 @@ NewsBlur""" % {'user': self.user.username, 'feeds': subs.count()}
msg.attach_alternative(html, "text/html")
msg.send(fail_silently=True)
user.set_password('')
user.save()
logging.user(self.user, "~BB~FM~SBSending email for forgotten password: %s" % self.user.email)
def autologin_url(self, next=None):

View file

@ -360,7 +360,40 @@ class UserSubscription(models.Model):
switch_feed_for_classifier(MClassifierAuthor)
switch_feed_for_classifier(MClassifierFeed)
switch_feed_for_classifier(MClassifierTag)
@classmethod
def collect_orphan_feeds(cls, user):
us = cls.objects.filter(user=user)
try:
usf = UserSubscriptionFolders.objects.get(user=user)
except UserSubscriptionFolders.DoesNotExist:
return
us_feed_ids = set([sub.feed_id for sub in us])
folders = json.decode(usf.folders)
def collect_ids(folders, found_ids):
for item in folders:
# print ' --> %s' % item
if isinstance(item, int):
# print ' --> Adding feed: %s' % item
found_ids.add(item)
elif isinstance(item, dict):
# print ' --> Descending folder dict: %s' % item.values()
found_ids.update(collect_ids(item.values(), found_ids))
elif isinstance(item, list):
# print ' --> Descending folder list: %s' % len(item)
found_ids.update(collect_ids(item, found_ids))
# print ' --> Returning: %s' % found_ids
return found_ids
found_ids = collect_ids(folders, set())
diff = len(us_feed_ids) - len(found_ids)
if diff > 0:
logging.info(" ---> Collecting orphans on %s. %s feeds with %s orphans" % (user.username, len(us_feed_ids), diff))
orphan_ids = us_feed_ids - found_ids
folders.extend(list(orphan_ids))
usf.folders = json.encode(folders)
usf.save()
class Meta:
unique_together = ("user", "feed")

View file

@ -248,7 +248,7 @@ def load_feeds_flat(request):
feeds[sub.feed.pk] = sub.canonical(include_favicon=include_favicons)
folders = json.decode(folders.folders)
flat_folders = {}
flat_folders = {" ": []}
def make_feeds_folder(items, parent_folder="", depth=0):
for item in items:

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,2 @@
<body>
</body>

View file

@ -0,0 +1,24 @@
[
{
"pk": 7,
"model": "rss_feeds.feed",
"fields": {
"feed_address": "%(NEWSBLUR_DIR)s/apps/rss_feeds/fixtures/motherjones1.xml",
"days_to_trim": 90,
"feed_link": "%(NEWSBLUR_DIR)s/apps/rss_feeds/fixtures/motherjones1.html",
"feed_link_locked": true,
"fetched_once": true,
"num_subscribers": 1,
"active_subscribers": 1,
"creation": "2009-01-12",
"feed_title": "Mother Jones",
"last_update": "2009-07-06 22:30:03",
"next_scheduled_update": "2009-07-06 22:30:03",
"queued_date": "2009-07-06 22:30:03",
"min_to_decay": 1,
"etag": "",
"last_modified": "2009-07-06 22:30:03",
"active": 1
}
}
]

View file

@ -0,0 +1,300 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0" xml:base="http://motherjones.com/rss/blogs_and_articles/sites/all/modules/patched/service_links/images">
<channel>
<title>MoJo Blogs and Articles | Mother Jones</title>
<link>http://motherjones.com/rss/blogs_and_articles/sites/all/modules/patched/service_links/images</link>
<image>
<url>http://motherjones.com/files/motherjonesLogo_google_206X40.png</url>
<title>Mother Jones logo</title>
<link>http://motherjones.com</link>
</image>
<description />
<language>en</language>
<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/motherjones/BlogsAndArticles" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="motherjones/blogsandarticles" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
<title>HSR Opponents Working Hard to Turn Me Into a Supporter</title>
<link>http://motherjones.com/kevin-drum/2012/03/hsr-opponents-working-hard-turn-me-supporter</link>
<description>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"&gt;
&lt;html&gt;&lt;body&gt;
&lt;p&gt;&lt;img align="right" style="border: 1px solid black; margin: 8px 20px 15px 30px;" class="image image-_original" alt="" src="http://www.motherjones.com/files/images/Blog_HSR_California.jpg"&gt;Regular readers know that I'm not a fan of the proposed LA-San Francisco high-speed rail project, and as the projected costs have ballooned I've become even less of a fan. But lord almighty, &lt;a target="_blank" href="http://www.latimes.com/news/local/la-me-bullet-vision-20120308,0,3644887,full.story"&gt;stuff like this could change my mind:&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The fast trains connecting Los Angeles and San Francisco would create new communities of high-density apartments and small homes around stations, reducing the suburbanization of California, rail advocates say. That new lifestyle would mean fewer cars and less gasoline consumption, lowering California's contribution to global warming.&lt;/p&gt;
&lt;p&gt;....Opponents, most of whom are political conservatives, regard the ambitious project as a classic government overreach that will require taxpayer subsidies. &lt;strong&gt;But they also see something more sinister: an agenda to push people into European or Asian models of dense cities, tight apartments and reliance on state-provided transportation.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;...."It is a real movement in California of controlling the masses, controlling land use, deciding where people should live," said Rep. Devin Nunes (R-Tulare). "I oppose that absolutely, because it is a form of left-wing social engineering."&lt;/p&gt;
&lt;p&gt;...."It has nothing to do with transportation. This is entirely social policy," said Rep. Tom McClintock (R-Granite Bay). "It is all about the far left's fever dream to get mother Earth back to a pristine condition by elbowing us into these dense urban cores."&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;So who spilled the beans, anyway? Now the whole world knows that we lefties are drooling over the prospect of taking away everyone's homes and engineering a forced march into modern-day high-rise concentration camps where the cable companies don't offer Fox News. All the better to control you with, my sweeties.&lt;/p&gt;
&lt;p&gt;Yeesh. But that's the mindset we're up against. Not &lt;em&gt;we're giving people &lt;u&gt;more&lt;/u&gt; lifestyle choices&lt;/em&gt; but &lt;em&gt;your lifestyle choice is inherently insulting to the one I prefer&lt;/em&gt;. And sweet reason will do little to change this. As Matt Yglesias, one of our most vocal proponents of denser lifestyles, &lt;a target="_blank" href="http://www.slate.com/blogs/moneybox/2012/03/08/the_elusive_quest_for_solutions.html"&gt;says,&lt;/a&gt; "A lot of the time there's genuinely no substitute for changing people's minds."&lt;/p&gt;
&lt;/body&gt;&lt;/html&gt;
&lt;div class="service-links"&gt;&lt;span&gt;&lt;a href="http://digg.com/submit?phase=2&amp;amp;url=http%3A%2F%2Fmotherjones.com%2Fkevin-drum%2F2012%2F03%2Fhsr-opponents-working-hard-turn-me-supporter&amp;amp;title=HSR+Opponents+Working+Hard+to+Turn+Me+Into+a+Supporter" title="Digg this post on digg.com" id="service-links-digg-1" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/digg.png" alt="Digg" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fmotherjones.com%2Fkevin-drum%2F2012%2F03%2Fhsr-opponents-working-hard-turn-me-supporter&amp;amp;t=HSR+Opponents+Working+Hard+to+Turn+Me+Into+a+Supporter" title="Share on Facebook." id="service-links-facebook-1" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/facebook.png" alt="Facebook" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="http://reddit.com/submit?url=http%3A%2F%2Fmotherjones.com%2Fkevin-drum%2F2012%2F03%2Fhsr-opponents-working-hard-turn-me-supporter&amp;amp;title=HSR+Opponents+Working+Hard+to+Turn+Me+Into+a+Supporter" title="Submit this post on reddit.com." id="service-links-reddit-1" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/reddit.png" alt="Reddit" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fmotherjones.com%2Fkevin-drum%2F2012%2F03%2Fhsr-opponents-working-hard-turn-me-supporter&amp;amp;title=HSR+Opponents+Working+Hard+to+Turn+Me+Into+a+Supporter" title="Thumb this up at StumbleUpon" id="service-links-stumbleupon-1" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/stumbleit.png" alt="StumbleUpon" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;</description>
<category domain="http://motherjones.com/category/blog-sections/kevin-drum">Kevin Drum</category>
<pubDate>Thu, 08 Mar 2012 17:07:40 +0000</pubDate>
<dc:creator>Kevin Drum</dc:creator>
<guid isPermaLink="false">166821 at http://motherjones.com</guid>
</item>
<item>
<title>Looking Ahead to 2016</title>
<link>http://motherjones.com/kevin-drum/2012/03/looking-ahead-2016</link>
<description>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"&gt;
&lt;html&gt;&lt;body&gt;
&lt;p&gt;&lt;a target="_blank" href="http://www.slate.com/blogs/weigel/2012/03/07/santorum_2016.html"&gt;Can this possibly be for real?&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;A true-sounding aside from Alex Pareene: "Rick Santorum is the 2016 GOP nomination frontrunner." It's true because the runner-up of the last Republican primary always starts off with an advantage. McCain 2008. Dole 1996. Bush 1988. Reagan 1976. Romney looked like the candidate most likely to break the trend, but no longer.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Maybe! This is why I sort-of-but-not-really-but-then-again-maybe-seriously want Rick Santorum to win the nomination this year. The only hope for the future of the Republican Party is to finally nominate the conservative of their dreams and then go down to an epic, ego-shattering defeat. It would, perhaps, pound some sense into them and finally give the party's moderates the backbone they need to wrest control away from the Limbaugh/Fox/Dobson/Norquist brigade. But if they nominate Romney and lose? Then, once again, it will be because they denied the one true faith. And that could, I suppose, make Santorum the frontrunner for 2016. Buckle up.&lt;/p&gt;
&lt;/body&gt;&lt;/html&gt;
&lt;div class="service-links"&gt;&lt;span&gt;&lt;a href="http://digg.com/submit?phase=2&amp;amp;url=http%3A%2F%2Fmotherjones.com%2Fkevin-drum%2F2012%2F03%2Flooking-ahead-2016&amp;amp;title=Looking+Ahead+to+2016" title="Digg this post on digg.com" id="service-links-digg-3" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/digg.png" alt="Digg" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fmotherjones.com%2Fkevin-drum%2F2012%2F03%2Flooking-ahead-2016&amp;amp;t=Looking+Ahead+to+2016" title="Share on Facebook." id="service-links-facebook-3" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/facebook.png" alt="Facebook" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="http://reddit.com/submit?url=http%3A%2F%2Fmotherjones.com%2Fkevin-drum%2F2012%2F03%2Flooking-ahead-2016&amp;amp;title=Looking+Ahead+to+2016" title="Submit this post on reddit.com." id="service-links-reddit-3" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/reddit.png" alt="Reddit" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fmotherjones.com%2Fkevin-drum%2F2012%2F03%2Flooking-ahead-2016&amp;amp;title=Looking+Ahead+to+2016" title="Thumb this up at StumbleUpon" id="service-links-stumbleupon-3" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/stumbleit.png" alt="StumbleUpon" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;</description>
<category domain="http://motherjones.com/category/blog-sections/kevin-drum">Kevin Drum</category>
<pubDate>Thu, 08 Mar 2012 15:43:02 +0000</pubDate>
<dc:creator>Kevin Drum</dc:creator>
<guid isPermaLink="false">166811 at http://motherjones.com</guid>
</item>
<item>
<title>We're Still at War: Photo of the Day for March 8, 2012</title>
<link>http://motherjones.com/mojo/2012/03/were-still-war-photo-day-march-8-2012</link>
<description>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"&gt;
&lt;html&gt;&lt;body&gt;&lt;p class="rtecenter"&gt;&lt;span class="inline inline-center"&gt;&lt;img width="626" height="418" class="image image-preview " title="" alt="" src="https://motherjones.com/files/images/weapons-make.jpg"&gt;&lt;/span&gt;&lt;em&gt;Senior Airman Daniel Stehley, of the &lt;a href="http://www.shaw.af.mil/units/index.asp" target="_blank"&gt;20th Equipment Maintenance Squadron&lt;/a&gt; munitions flight, spray paints build codes on inert guided bomb units after helping assemble each weapon at Shaw Air Force Base, S.C., February 27, 2012. The weapons were assembled in preparation for an upcoming Operational Readiness Exercise. (US Air Force &lt;a href="http://www.af.mil/shared/media/photodb/photos/120227-F-CJ989-906.jpg" target="_blank"&gt;photo&lt;/a&gt;/Senior Airman Kenny Holston)&lt;/em&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;
&lt;div class="service-links"&gt;&lt;span&gt;&lt;a href="http://digg.com/submit?phase=2&amp;amp;url=http%3A%2F%2Fmotherjones.com%2Fmojo%2F2012%2F03%2Fwere-still-war-photo-day-march-8-2012&amp;amp;title=We%27re+Still+at+War%3A+Photo+of+the+Day+for+March+8%2C+2012" title="Digg this post on digg.com" id="service-links-digg-5" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/digg.png" alt="Digg" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fmotherjones.com%2Fmojo%2F2012%2F03%2Fwere-still-war-photo-day-march-8-2012&amp;amp;t=We%27re+Still+at+War%3A+Photo+of+the+Day+for+March+8%2C+2012" title="Share on Facebook." id="service-links-facebook-5" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/facebook.png" alt="Facebook" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="http://reddit.com/submit?url=http%3A%2F%2Fmotherjones.com%2Fmojo%2F2012%2F03%2Fwere-still-war-photo-day-march-8-2012&amp;amp;title=We%27re+Still+at+War%3A+Photo+of+the+Day+for+March+8%2C+2012" title="Submit this post on reddit.com." id="service-links-reddit-5" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/reddit.png" alt="Reddit" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fmotherjones.com%2Fmojo%2F2012%2F03%2Fwere-still-war-photo-day-march-8-2012&amp;amp;title=We%27re+Still+at+War%3A+Photo+of+the+Day+for+March+8%2C+2012" title="Thumb this up at StumbleUpon" id="service-links-stumbleupon-5" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/stumbleit.png" alt="StumbleUpon" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;</description>
<category domain="http://motherjones.com/category/blog-sections/mojo">MoJo</category>
<pubDate>Thu, 08 Mar 2012 15:21:34 +0000</pubDate>
<dc:creator />
<guid isPermaLink="false">166806 at http://motherjones.com</guid>
</item>
<item>
<title>Targeted Ads Are the Least of Our Online Worries</title>
<link>http://motherjones.com/kevin-drum/2012/03/targeted-ads-are-least-our-online-worries</link>
<description>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"&gt;
&lt;html&gt;&lt;body&gt;
&lt;p&gt;Katherine Mangu-Ward thinks people are freaking out way too much over Google's plan to aggregate personal information about its users &lt;a target="_blank" href="http://www.theatlantic.com/business/archive/2012/03/take-my-privacy-please-a-defense-of-google/254159/"&gt;across all its platforms:&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;As it happens, we know how much people value their privacy: They'll sell information about every prescription they fill at CVS &amp;mdash; or every pint of Haagen Dazs at Safeway &amp;mdash; in exchange for a steady infusion of $1 coupons. They'll hand &lt;img align="right" style="border: 1px solid black; margin: 20px 20px 15px 30px;" class="image image-_original" alt="" src="http://www.motherjones.com/files/images/blog_surveillance_0.jpg"&gt;off information about the timing of their daily commute in exchange for a couple of minutes saved at a toll booth every day. They'll let Amazon track their diaper and book purchases because they would rather not re-enter their credit card number every time they want to buy something.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This is totally true. I happen to think that most people don't take this seriously enough, but who cares what I think? If you're willing to sell information about your buying habits to the highest bidder, there's no reason I should be able to stop you. She's also right about this:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;But if you're more skeeved than pleased, consider letting your brain overpower your gut here. This is a fact you cannot change: All the free stuff on the Internet is possible because you slap your eyeballs on some ads from time to time. If Google and other retailers can't scrape and sort your data to offer a few well targeted ads, there are two other viable choices: 1) Less of the free stuff you like. Like this blog. It might stop being free. For instance. 2) More ads in the throw-spaghetti-at-the-wall-and-see-what-sticks school. Think: those annoying dancing silhouette gals selling cheap mortgages.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;In fact, because of the fundamental failure of the online advertising model, more and more of the web is inaccessible all the time. Archives are unavailable, news sites are behind paywalls, etc. That's a pain in the ass for someone like me.&lt;/p&gt;
&lt;p&gt;So, yeah, maybe some targeted ads are a small price to pay for all this stuff being collected. And if targeted ads were the only thing to be worried about, I wouldn't be worried. But I don't think you need to have a very active imagination to figure out that both the public and private sectors can eventually do a whole lot more with this stuff than learn what brand of ice cream you like. Just as they can use it to offer you services, they can also use it to deny you services. They can use it to discriminate in subtle ways that are putatively based on data mining, not race/sex/ethnicity. They can use it to make decisions about who should and shouldn't be allowed to fly on airplanes. They can sell it to marketers &lt;a target="_blank" href="http://motherjones.com/kevin-drum/2012/02/why-i-dont-want-target-know-quite-so-much-about-me"&gt;somewhat less scrupulous&lt;/a&gt; than Procter &amp;amp;&amp;nbsp;Gamble. They can subpoena it in divorce cases. They can make it a part of massive NSA-run surveillance programs.&lt;/p&gt;
&lt;p&gt;It's not the targeted ads I mind. It's everything that comes &lt;em&gt;after&lt;/em&gt; targeted ads that I mind. I'd suggest that the rest of us ought to mind it a little more too.&lt;/p&gt;
&lt;/body&gt;&lt;/html&gt;
&lt;div class="service-links"&gt;&lt;span&gt;&lt;a href="http://digg.com/submit?phase=2&amp;amp;url=http%3A%2F%2Fmotherjones.com%2Fkevin-drum%2F2012%2F03%2Ftargeted-ads-are-least-our-online-worries&amp;amp;title=Targeted+Ads+Are+the+Least+of+Our+Online+Worries" title="Digg this post on digg.com" id="service-links-digg-7" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/digg.png" alt="Digg" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fmotherjones.com%2Fkevin-drum%2F2012%2F03%2Ftargeted-ads-are-least-our-online-worries&amp;amp;t=Targeted+Ads+Are+the+Least+of+Our+Online+Worries" title="Share on Facebook." id="service-links-facebook-7" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/facebook.png" alt="Facebook" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="http://reddit.com/submit?url=http%3A%2F%2Fmotherjones.com%2Fkevin-drum%2F2012%2F03%2Ftargeted-ads-are-least-our-online-worries&amp;amp;title=Targeted+Ads+Are+the+Least+of+Our+Online+Worries" title="Submit this post on reddit.com." id="service-links-reddit-7" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/reddit.png" alt="Reddit" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fmotherjones.com%2Fkevin-drum%2F2012%2F03%2Ftargeted-ads-are-least-our-online-worries&amp;amp;title=Targeted+Ads+Are+the+Least+of+Our+Online+Worries" title="Thumb this up at StumbleUpon" id="service-links-stumbleupon-7" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/stumbleit.png" alt="StumbleUpon" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;</description>
<category domain="http://motherjones.com/category/blog-sections/kevin-drum">Kevin Drum</category>
<pubDate>Thu, 08 Mar 2012 15:19:03 +0000</pubDate>
<dc:creator>Kevin Drum</dc:creator>
<guid isPermaLink="false">166801 at http://motherjones.com</guid>
</item>
<item>
<title>Book Review: House of Stone</title>
<link>http://motherjones.com/mixed-media/2012/03/review-anthony-shadid-house-stone-memoir</link>
<description>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"&gt;
&lt;html&gt;&lt;body&gt;
&lt;h3&gt;&lt;a target="_blank" href="http://anthonyshadid.com/house-of-stone-a-memoir-of-home-family-and-a-lost-middle-east/"&gt;&lt;span class="inline inline-left"&gt;&lt;img width="200" height="305" class="image image-preview " title="" alt="" src="https://motherjones.com/files/images/house_stone.jpg"&gt;&lt;/span&gt;House of Stone: A Memoir of Home, Family, and a Lost Middle East&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;By Anthony Shadid&lt;/p&gt;
&lt;p&gt;HOUGHTON MIFFLIN HARCOURT&lt;/p&gt;
&lt;p&gt;In his &lt;em&gt;New York Times&lt;/em&gt; dispatches from across the Middle East, Anthony Shadid&amp;mdash;a two-time Pulitzer Prize winner&amp;mdash;cuts a swashbuckling figure. In the last year alone, he braved tear gas and live fire in &lt;a target="_blank" href="http://motherjones.com/mojo/2011/01/whats-happening-egypt-explained"&gt;Egypt&lt;/a&gt;, was &lt;a target="_blank" href="http://motherjones.com/mojo/2011/02/whats-happening-libya-explained"&gt;kidnapped by Qaddafi's thugs in Libya&lt;/a&gt;, and &lt;a target="_blank" href="http://www.nytimes.com/2011/09/04/magazine/syrias-sons-of-no-one.html?_r=1&amp;amp;pagewanted=all"&gt;secretly traversed Syria's killing fields&lt;/a&gt; by motorcycle. &lt;em&gt;House of Stone&lt;/em&gt; casts the correspondent in a softer light, recalling his 2007 return to his ancestral village in southern Lebanon to rebuild his great-grandfather's abandoned home&amp;mdash;and perhaps piece together his own wayward life in the process. At once outsider and native son, Shadid elegantly reflects on the violent splintering of the once-vibrant Levant and its uphill struggle to reclaim its dwindling notions of regional identity.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;Editor's Note&lt;/em&gt;&lt;/strong&gt;&lt;em&gt;: &lt;/em&gt;Anthony Shadid &lt;a target="_blank" href="http://www.nytimes.com/2012/02/17/world/middleeast/anthony-shadid-a-new-york-times-reporter-dies-in-syria.html"&gt;died of an asthma attack&lt;/a&gt; in February while reporting for the &lt;em&gt;New York Times &lt;/em&gt;inside Syria. Shortly before his death, he spoke with &lt;em&gt;Mother Jones&lt;/em&gt; about &lt;em&gt;House of Stone&lt;/em&gt;, Syria's future, and the high cost of getting the story in a war zone. &lt;a target="_blank" href="http://motherjones.com/politics/2012/01/anthony-shadid-libya-syria-house-of-stone"&gt;You can read Shadid's interview with &lt;em&gt;Mother Jones&lt;/em&gt; here&lt;/a&gt;.&lt;/p&gt;
&lt;/body&gt;&lt;/html&gt;
&lt;div class="service-links"&gt;&lt;span&gt;&lt;a href="http://digg.com/submit?phase=2&amp;amp;url=http%3A%2F%2Fmotherjones.com%2Fmixed-media%2F2012%2F03%2Freview-anthony-shadid-house-stone-memoir&amp;amp;title=Book+Review%3A+House+of+Stone" title="Digg this post on digg.com" id="service-links-digg-9" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/digg.png" alt="Digg" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fmotherjones.com%2Fmixed-media%2F2012%2F03%2Freview-anthony-shadid-house-stone-memoir&amp;amp;t=Book+Review%3A+House+of+Stone" title="Share on Facebook." id="service-links-facebook-9" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/facebook.png" alt="Facebook" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="http://reddit.com/submit?url=http%3A%2F%2Fmotherjones.com%2Fmixed-media%2F2012%2F03%2Freview-anthony-shadid-house-stone-memoir&amp;amp;title=Book+Review%3A+House+of+Stone" title="Submit this post on reddit.com." id="service-links-reddit-9" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/reddit.png" alt="Reddit" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fmotherjones.com%2Fmixed-media%2F2012%2F03%2Freview-anthony-shadid-house-stone-memoir&amp;amp;title=Book+Review%3A+House+of+Stone" title="Thumb this up at StumbleUpon" id="service-links-stumbleupon-9" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/stumbleit.png" alt="StumbleUpon" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;</description>
<category domain="http://motherjones.com/category/blog-sections/mixed-media">Mixed Media</category>
<category domain="http://motherjones.com/category/primary-tags/books">Books</category>
<category domain="http://motherjones.com/category/primary-tags/culture">Culture</category>
<category domain="http://motherjones.com/category/primary-tags/foreign-policy">Foreign Policy</category>
<category domain="http://motherjones.com/category/primary-tags/human-rights">Human Rights</category>
<category domain="http://motherjones.com/category/primary-tags/international">International</category>
<category domain="http://motherjones.com/category/primary-tags/media">Media</category>
<pubDate>Thu, 08 Mar 2012 11:00:00 +0000</pubDate>
<dc:creator>Aaron Ross</dc:creator>
<guid isPermaLink="false">160041 at http://motherjones.com</guid>
</item>
<item>
<title>Insane Sex Laws Inspired by Republicans</title>
<link>http://motherjones.com/mojo/2012/03/birth-control-viagra-vasectomy-laws</link>
<description>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"&gt;
&lt;html&gt;&lt;body&gt;
&lt;p&gt;As Republican lawmakers have pushed ever &lt;a target="_blank" href="http://motherjones.com/mojo/2012/03/transvaginal-ultrasounds-coming-soon-state-near-you"&gt;more intrusive&lt;/a&gt; and &lt;a target="_blank" href="http://motherjones.com/politics/2012/02/republican-war-birth-control-contraception"&gt;expansive&lt;/a&gt; uterus-related legislation, some of their colleagues across the aisle have fired back with intentionally and equally ridiculous counterproposals. From mandatory rectal exams for guys seeking Viagra to prohibitions on sperm-stifling vasectomies, most of these male-only provisions have, unsurprisingly, flopped. But they've scored big as symbolic gestures, spotlighting the inherent sexism of laws that only regulate lady parts.&lt;/p&gt;
&lt;p&gt;Some of the tongue-in-cheek ideas introduced across the country:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Delaware:&lt;/strong&gt; By an 8 to 4 vote, the Wilmington, Delaware, city council &lt;a target="_blank" href="http://www.huffingtonpost.com/2012/03/02/wilmington-city-council-sperm-egg-personhood_n_1316924.html%20"&gt;recognized the personhood of semen&lt;/a&gt; because "each 'egg person' and each 'sperm person' should be deemed equal in the eyes of the government."&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Virginia:&lt;/b&gt; As the state Senate debated &lt;a target="_blank" href="http://motherjones.com/mojo/2012/03/why-virginias-new-mandatory-ultrasound-law-still-sucks"&gt;requiring transvaginal ultrasounds&lt;/a&gt; for women seeking abortions, Sen. Janet Howell proposed mandating rectal exams and cardiac stress tests for men seeking erectile dysfunction meds. Her amendment failed by just two votes.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Georgia:&lt;/strong&gt;&amp;nbsp;Responding to a Georgia&lt;b&gt; &lt;/b&gt;house bill banning abortions after 20 weeks of pregnancy, Rep. Yasmin Neal wrote a bill &lt;span&gt;outlawing most vasectomies because they leave "&lt;a target="_blank" href="http://www1.legis.ga.gov/legis/2011_12/versions/hb1116_LC_21_1703_a_2.htm%20"&gt;thousands of children&amp;hellip;deprived of birth.&lt;/a&gt;"&lt;/span&gt;&lt;/p&gt;
&lt;div class="sidebar-small-right"&gt;&lt;em&gt;&lt;strong&gt;Does Limbaugh think &lt;a href="http://motherjones.com/mojo/2012/03/rush-limbaugh-does-not-understand-how-birth-control-works" target="_blank"&gt;birth control pills work like Viagra?&lt;/a&gt;&amp;nbsp;Plus: &lt;a href="http://motherjones.com/politics/2012/02/calculator-birth-control-expensive-really-cost" target="_blank"&gt;our handy calculator&lt;/a&gt; shows how much you'll spend on birth control over a lifetime.&lt;/strong&gt;&lt;/em&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;&lt;span&gt;Ohio: &lt;/span&gt;&lt;/strong&gt;&lt;span&gt;A bill introduced by state Sen. Nina Turner would compel men to get psychological screenings before getting prescriptions for impotence meds. &lt;/span&gt;&lt;span&gt;"&lt;/span&gt;We must advocate for the traditional family," Turner &lt;a target="_blank" href="http://www.progressohio.org/blog/2012/03/senator-turner-introduces-legislation-to-protect-mens-health.html"&gt;said&lt;/a&gt;, "and ensure that all men using PDE-5 inhibitors are healthy, stable, and educated about their options&amp;mdash;including celibacy as a viable life choice.&lt;span&gt;"&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Illinois&lt;/strong&gt;&lt;strong&gt;:&lt;/strong&gt; State &lt;span&gt;Rep. Kelly Cassidy proposed requiring men seeking Viagra to watch a video showing &lt;a target="_blank" href="http://chicago.cbslocal.com/2012/03/02/lawmaker-men-who-want-viagra-should-have-to-watch-graphic-side-effects-video/"&gt;the treatment for persistent erections&lt;/a&gt;, an occasional side effect of the little blue pill. As she explained, "&lt;/span&gt;It's not a pretty procedure to watch."&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Missouri:&amp;nbsp;&lt;/strong&gt;Protesting the legislature's vote to reject &lt;a target="_blank" href="http://motherjones.com/mojo/2012/02/obama-birth-control-rule-change-why-its-not-cave"&gt;Obama's contraception coverage mandate&lt;/a&gt;, nine female lawmakers cosponsored a bill &lt;a target="_blank" href="http://www.kansascity.com/2012/03/02/3465617/female-legislators-introduce-cheeky.html"&gt;restricting access to vasectomies&lt;/a&gt; except for men risking death or serious bodily harm. "In determining whether a vasectomy is necessary," the bill reads, "no regard shall be made to the desire of a man to father children, his economic situation, his age, the number of children he is currently responsible for, or any danger to his wife or partner in the event a child is conceived."&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Oklahoma:&lt;/strong&gt; When a zygote-personhood bill came before the state Senate, Sen. Constance Johnson penned an amendment&lt;strong&gt; &lt;/strong&gt;declaring that &lt;a target="_blank" href="http://thinkprogress.org/health/2012/02/08/421018/oklahoma-democrat-adds-every-sperm-is-sacred-amendment-to-personhood-bill/"&gt;ejaculating anywhere outside a woman's vagina&lt;/a&gt; constitutes "an action against an unborn child." Bonus:&amp;nbsp;Johnson &lt;a href="http://www.oklegislature.gov/BillInfo.aspx?Bill=sb1433%20" target="_blank"&gt;also suggested&lt;/a&gt; that any man who impregnates a woman without her permission should pay a $25,000 fine, support the child until age 21, and get a vasectomy, "in the spirit of shared responsibility." &lt;span&gt;In response to the same bill, state Sen. Jim Wilson &lt;a href="http://www.tulsaworld.com/news/article.aspx?subjectid=336&amp;amp;articleid=20120207_16_A5_OKLAHO862914&amp;amp;r=7811" target="_blank"&gt;proposed&lt;/a&gt; an amendment requiring the father of an unborn child to be financially responsible for its mother's health care, housing, transportation, and nourishment during pregnancy.&lt;/span&gt;&lt;strong&gt;&lt;br&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Texas:&amp;nbsp;&lt;/strong&gt;Contesting a bill mandating sonograms before abortions, Rep. Harold Dutton unsuccessfully offered&lt;span style="font-style: italic;"&gt; &lt;/span&gt;three amendments in a row. The first would have required the state to pay the college tuition of children born to women who decide against an abortion after seeing a required ultrasound image. The second would have subsidized the children's health care costs until age 18. When that failed, he lowered the age to 6. &lt;a href="http://www.texastribune.org/texas-legislature/2011-abortion-sonogram-bill/democrats-attack-abortion-sonogram-bill/" target="_blank"&gt;That didn't fly, either&lt;/a&gt;.&lt;strong&gt;&lt;br&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;/body&gt;&lt;/html&gt;
&lt;div class="service-links"&gt;&lt;span&gt;&lt;a href="http://digg.com/submit?phase=2&amp;amp;url=http%3A%2F%2Fmotherjones.com%2Fmojo%2F2012%2F03%2Fbirth-control-viagra-vasectomy-laws&amp;amp;title=Insane+Sex+Laws+Inspired+by+Republicans" title="Digg this post on digg.com" id="service-links-digg-11" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/digg.png" alt="Digg" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fmotherjones.com%2Fmojo%2F2012%2F03%2Fbirth-control-viagra-vasectomy-laws&amp;amp;t=Insane+Sex+Laws+Inspired+by+Republicans" title="Share on Facebook." id="service-links-facebook-11" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/facebook.png" alt="Facebook" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="http://reddit.com/submit?url=http%3A%2F%2Fmotherjones.com%2Fmojo%2F2012%2F03%2Fbirth-control-viagra-vasectomy-laws&amp;amp;title=Insane+Sex+Laws+Inspired+by+Republicans" title="Submit this post on reddit.com." id="service-links-reddit-11" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/reddit.png" alt="Reddit" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fmotherjones.com%2Fmojo%2F2012%2F03%2Fbirth-control-viagra-vasectomy-laws&amp;amp;title=Insane+Sex+Laws+Inspired+by+Republicans" title="Thumb this up at StumbleUpon" id="service-links-stumbleupon-11" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/stumbleit.png" alt="StumbleUpon" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;</description>
<category domain="http://motherjones.com/category/blog-sections/mojo">MoJo</category>
<category domain="http://motherjones.com/category/primary-tags/health">Health</category>
<category domain="http://motherjones.com/category/primary-tags/politics">Politics</category>
<category domain="http://motherjones.com/category/primary-tags/reproductive-rights">Reproductive Rights</category>
<category domain="http://motherjones.com/category/primary-tags/sex-and-gender">Sex and Gender</category>
<category domain="http://motherjones.com/category/primary-tags/top-stories">Top Stories</category>
<pubDate>Thu, 08 Mar 2012 11:00:00 +0000</pubDate>
<dc:creator>Hannah Levintova</dc:creator>
<guid isPermaLink="false">166741 at http://motherjones.com</guid>
</item>
<item>
<title>"Game Change": A Remake of Frankenstein, Featuring Sarah Palin</title>
<link>http://motherjones.com/politics/2012/03/game-change-frankenstein-remake-sarah-palin</link>
<description>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"&gt;
&lt;html&gt;&lt;body&gt;
&lt;p&gt;&lt;a target="_blank" href="http://www.metacritic.com/tv/game-change/season-1"&gt;&lt;em&gt;&lt;strong&gt;Game Change&lt;/strong&gt;&lt;/em&gt;&lt;strong&gt;&lt;br&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;HBO Films&lt;br&gt;
115 minutes&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;At its core,&lt;em&gt; Game Change &lt;/em&gt;is a Gothic fable in the most classic and traditional sense: A well-intentioned (&lt;a href="http://politicalticker.blogs.cnn.com/category/steve-schmidt/" target="_blank"&gt;political&lt;/a&gt;) scientist sets out to perform a feat of &lt;a href="http://www.thedailybeast.com/newsweek/2008/11/05/back-from-the-dead.html" target="_blank"&gt;tremendous galvanism&lt;/a&gt;. In his pursuit of this &lt;a href="http://douthat.blogs.nytimes.com/2011/10/11/dreams-of-a-mccain-presidency/" target="_blank"&gt;big dream&lt;/a&gt;, he inadvertently creates a monster&amp;mdash;one he comes to disown. In a flash, the &lt;a href="http://books.google.com/books?id=2Zc3AAAAYAAJ&amp;amp;q=daemon#v=onepage&amp;amp;q=the%20beauty%20of%20the%20dream%20vanished%2C%20and%20breathless%20horror%20and%20disgust%20filled%20my%20heart&amp;amp;f=false" target="_blank"&gt;beauty of the dream vanishes, and breathless horror and disgust fills the creator's heart&lt;/a&gt;. But too late! The monster is unleashed on the world, leaving a trail of chaos, defeat, and bewilderment in its wake. The scientist later &lt;a href="http://www.politico.com/news/stories/0110/31335.html" target="_blank"&gt;confesses&lt;/a&gt; at length his confounding regret.&lt;/p&gt;
&lt;p&gt;In this version, campaign strategist Steve Schmidt is Dr. Victor Frankenstein, John McCain is the corporation that he works for, all of America is the unsuspecting village people, and Sarah Palin is [&lt;a target="_blank" href="http://www.youtube.com/watch?v=FeZftK2kO6U"&gt;cue the music&lt;/a&gt;....] the &lt;a target="_blank" href="http://en.wikipedia.org/wiki/Frankenstein#Name_origins"&gt;Adam&lt;/a&gt; of Schmidt's labors.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Game Change&lt;/em&gt;, which premieres on HBO on Saturday March 10 at 9 p.m. EST to a flurry of Beltway &lt;a href="http://www.politico.com/news/stories/0312/73591.html" target="_blank"&gt;anticipation&lt;/a&gt;, zeros in on the more depressing chapters of the 2008 presidential campaign, namely the &lt;a href="http://motherjones.com/politics/2011/09/joe-mcginniss-sarah-palin-the-rogue" target="_blank"&gt;former governor of Alaska and mayor of Wasilla&lt;/a&gt;. In adapting the &lt;a href="http://www.nytimes.com/2010/01/11/books/11book.html" target="_blank"&gt;bestseller&lt;/a&gt; by &lt;a target="_blank" href="https://twitter.com/#!/jheil"&gt;John Heilemann&lt;/a&gt; and &lt;a target="_blank" href="http://thepage.time.com/"&gt;Mark Halperin&lt;/a&gt;, the filmmakers jettison much of the 2010 book's inside scoopage&amp;mdash;on the Obama camp, Rudy Giuliani, the Clintons, John Edwards &lt;a href="http://books.google.com/books?id=T2Mp9EEd3ncC&amp;amp;q=john+edwards#v=snippet&amp;amp;q=john%20edwards%20affair&amp;amp;f=false" target="_blank"&gt;messin' 'round&lt;/a&gt;&amp;mdash;to focus exclusively on the fumbling, dysfunctional McCain campaign.&lt;/p&gt;
&lt;p&gt;Senior adviser Steve Schmidt (played by a feisty, riveting &lt;a target="_blank" href="http://www.mediaite.com/online/woody-harrelson-ama-ask-me-anything-goes-disastrously-wrong-on-reddit/"&gt;Woody Harrelson&lt;/a&gt;) is the story's reluctant protagonist. He's brought aboard the McCain Train to tighten up messaging and restore a sense of discipline. His signature master stroke comes just days before the nominating convention, in which he leads the push to scrap McCain's original &lt;a href="http://www.nytimes.com/2008/08/31/us/politics/31reconstruct.html" target="_blank"&gt;post-partisan plan&lt;/a&gt; to tap Joe Lieberman as his running mate. McCain's one-sentence directive for locking down an emergency replacement?&lt;/p&gt;
&lt;p&gt;"Find me a woman."&lt;/p&gt;
&lt;p&gt;And thus enters "game-changer" Palin&amp;mdash;in top hockey-momming form&amp;mdash;with her poise and social-conservative street cred. McCain gets a bump in the polls, the Republican base gets a &lt;a href="http://www.huffingtonpost.com/2008/08/28/barack-obama-democratic-c_n_122224.html" target="_blank"&gt;much-needed&lt;/a&gt; shot of energy.&lt;/p&gt;
&lt;/body&gt;&lt;/html&gt;
&lt;p style="font-size: 1.083em;"&gt;&lt;a href="/politics/2012/03/game-change-frankenstein-remake-sarah-palin"&gt;&lt;strong&gt;&lt;em&gt;Continue Reading &amp;raquo;&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="service-links"&gt;&lt;span&gt;&lt;a href="http://digg.com/submit?phase=2&amp;amp;url=http%3A%2F%2Fmotherjones.com%2Fpolitics%2F2012%2F03%2Fgame-change-frankenstein-remake-sarah-palin&amp;amp;title=%22Game+Change%22%3A+A+Remake+of+Frankenstein%2C+Featuring+Sarah+Palin" title="Digg this post on digg.com" id="service-links-digg-13" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/digg.png" alt="Digg" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fmotherjones.com%2Fpolitics%2F2012%2F03%2Fgame-change-frankenstein-remake-sarah-palin&amp;amp;t=%22Game+Change%22%3A+A+Remake+of+Frankenstein%2C+Featuring+Sarah+Palin" title="Share on Facebook." id="service-links-facebook-13" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/facebook.png" alt="Facebook" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="http://reddit.com/submit?url=http%3A%2F%2Fmotherjones.com%2Fpolitics%2F2012%2F03%2Fgame-change-frankenstein-remake-sarah-palin&amp;amp;title=%22Game+Change%22%3A+A+Remake+of+Frankenstein%2C+Featuring+Sarah+Palin" title="Submit this post on reddit.com." id="service-links-reddit-13" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/reddit.png" alt="Reddit" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fmotherjones.com%2Fpolitics%2F2012%2F03%2Fgame-change-frankenstein-remake-sarah-palin&amp;amp;title=%22Game+Change%22%3A+A+Remake+of+Frankenstein%2C+Featuring+Sarah+Palin" title="Thumb this up at StumbleUpon" id="service-links-stumbleupon-13" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/stumbleit.png" alt="StumbleUpon" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;</description>
<category domain="http://motherjones.com/category/sections/politics">Politics</category>
<category domain="http://motherjones.com/category/primary-tags/books">Books</category>
<category domain="http://motherjones.com/category/primary-tags/culture">Culture</category>
<category domain="http://motherjones.com/category/primary-tags/elections">Elections</category>
<category domain="http://motherjones.com/category/primary-tags/film">Film</category>
<category domain="http://motherjones.com/category/primary-tags/media">Media</category>
<category domain="http://motherjones.com/category/primary-tags/politics">Politics</category>
<category domain="http://motherjones.com/category/primary-tags/right">The Right</category>
<category domain="http://motherjones.com/category/primary-tags/top-stories">Top Stories</category>
<category domain="http://motherjones.com/category/primary-tags/video">Video</category>
<pubDate>Thu, 08 Mar 2012 11:00:00 +0000</pubDate>
<dc:creator>Asawin Suebsaeng</dc:creator>
<guid isPermaLink="false">166176 at http://motherjones.com</guid>
</item>
<item>
<title>This Texas "Anarchist" GOPer Is Taking Out Incumbents</title>
<link>http://motherjones.com/politics/2012/03/project-primary-mayhem-leo-linbeck</link>
<description>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"&gt;
&lt;html&gt;&lt;body&gt;
&lt;p&gt;If you're a deep-pocketed political donor, contributing vast sums of money to advance your own ideology is just what you do. Pouring money into TV ads and get-out-the-vote efforts on behalf of politicians you thoroughly and completely disagree with? Not so much.&lt;/p&gt;
&lt;p&gt;But the Campaign for Primary Accountability isn't your typical super-PAC, and its top donor, Houston construction magnate Leo Linbeck III, isn't your typical conservative sugar daddy. While groups like American Crossroads and Priorities USA have sprouted up in the last two years to boost specific values and candidates, the CFPA has a different goal entirely: Electoral mayhem.&lt;/p&gt;
&lt;p&gt;Led by Linbeck, the group's aim is to use the power of the purse to do what political parties and state redistricting panels won't&amp;mdash;make congressional races competitive again. CFPA, which has raised $1.8 million to date, is targeting at least 10 Republican and Democratic incumbents in half a dozen states, with plans to increase that number over the next few months. And it's starting to work. The group has taken credit for the Super Tuesday defeat of Rep. Jean&amp;nbsp;Schmidt (R-Ohio) and the retirement of another Republican, Dan&amp;nbsp;Burton of Indiana.&lt;/p&gt;
&lt;p&gt;"It's not just a matter of 'Hey, they've been there a long time, let's get rid of them,'" Linbeck says. "It's more like they've been there a long time and they&amp;rsquo;re disconnected from the voters in their district, and they would win without some other force coming in. Well, we're that other force."&lt;/p&gt;
&lt;p&gt;Their criteria is straightforward. For CFPA to take action they look at four factors: The district must be solidly red or blue ("we're not looking to swing power from one party to the other," Linbeck says); the challenger must be credible and capable of standing on his own; the current incumbent must be entrenched&amp;mdash;no freshmen; and their own private polling has to show that there's actually a chance their candidate could win.&lt;/p&gt;
&lt;/body&gt;&lt;/html&gt;
&lt;p style="font-size: 1.083em;"&gt;&lt;a href="/politics/2012/03/project-primary-mayhem-leo-linbeck"&gt;&lt;strong&gt;&lt;em&gt;Continue Reading &amp;raquo;&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="service-links"&gt;&lt;span&gt;&lt;a href="http://digg.com/submit?phase=2&amp;amp;url=http%3A%2F%2Fmotherjones.com%2Fpolitics%2F2012%2F03%2Fproject-primary-mayhem-leo-linbeck&amp;amp;title=This+Texas+%22Anarchist%22+GOPer+Is+Taking+Out+Incumbents" title="Digg this post on digg.com" id="service-links-digg-15" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/digg.png" alt="Digg" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fmotherjones.com%2Fpolitics%2F2012%2F03%2Fproject-primary-mayhem-leo-linbeck&amp;amp;t=This+Texas+%22Anarchist%22+GOPer+Is+Taking+Out+Incumbents" title="Share on Facebook." id="service-links-facebook-15" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/facebook.png" alt="Facebook" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="http://reddit.com/submit?url=http%3A%2F%2Fmotherjones.com%2Fpolitics%2F2012%2F03%2Fproject-primary-mayhem-leo-linbeck&amp;amp;title=This+Texas+%22Anarchist%22+GOPer+Is+Taking+Out+Incumbents" title="Submit this post on reddit.com." id="service-links-reddit-15" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/reddit.png" alt="Reddit" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fmotherjones.com%2Fpolitics%2F2012%2F03%2Fproject-primary-mayhem-leo-linbeck&amp;amp;title=This+Texas+%22Anarchist%22+GOPer+Is+Taking+Out+Incumbents" title="Thumb this up at StumbleUpon" id="service-links-stumbleupon-15" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/stumbleit.png" alt="StumbleUpon" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;</description>
<category domain="http://motherjones.com/category/sections/politics">Politics</category>
<category domain="http://motherjones.com/category/primary-tags/congress">Congress</category>
<category domain="http://motherjones.com/category/primary-tags/elections">Elections</category>
<category domain="http://motherjones.com/category/primary-tags/money-politics">Money in Politics</category>
<category domain="http://motherjones.com/category/primary-tags/politics">Politics</category>
<category domain="http://motherjones.com/category/primary-tags/right">The Right</category>
<category domain="http://motherjones.com/category/primary-tags/top-stories">Top Stories</category>
<category domain="http://motherjones.com/category/secondary-tags/2012">2012</category>
<pubDate>Thu, 08 Mar 2012 11:00:00 +0000</pubDate>
<dc:creator>Tim Murphy</dc:creator>
<guid isPermaLink="false">166761 at http://motherjones.com</guid>
</item>
<item>
<title>Pot Legalization Foe Getting Rich off the Drug War</title>
<link>http://motherjones.com/mojo/2012/03/pot-legalization-foe-war-drugs</link>
<description>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"&gt;
&lt;html&gt;&lt;body&gt;
&lt;p&gt;The lobbyist who helped kill California's Proposition 19, the 2010 ballot measure that would have legalized recreational marijuana, has constructed an entire business model around keeping pot illegal.&amp;nbsp;While fighting against the proposed law, lobbyist John Lovell accepted nearly $400,000 from a wide array of police unions, some of which he also represented in attempting to steer millions of federal dollars toward California's marijuana suppression programs.&lt;/p&gt;
&lt;p&gt;The revelation, reported yesterday by the&amp;nbsp;&lt;a href="http://www.republicreport.org/2012/exclusive-why-cant-you-smoke-pot-because-lobbyists-are-getting-rich-off-of-the-war-on-drugs/" target="_blank"&gt;&lt;em&gt;Republic Report&lt;/em&gt;'s Lee Fang&lt;/a&gt;, illustrates how Proposition 19 threatened the paychecks of some of its biggest foes. Police departments stood to lose lucrative federal grants like a $550,000 payment in 2010 to police departments in three Northern California counties that covered 666 hours of police overtime spent eradicating marijuana. And Lovell would have presumably lost a job as a guy who helped land those kinds of grants. Here's a copy of a notice sent to a police department in&amp;nbsp;Lassen County, California:&lt;/p&gt;
&lt;p&gt;&lt;span class="inline inline-center"&gt;&lt;img width="630" height="94" src="https://motherjones.com/files/images/lovell.png" class="image image-_original " title="" alt=""&gt;&lt;/span&gt;Police unions and their lobbyists weren't the only economic interests with a stake in Prop. 19. The alcohol industry and prison guards also contributed money to fight the measure. And on the other side, the passage of Prop. 19 would have given thousands of "&lt;a href="http://motherjones.com/politics/2011/01/wegrow-dhar-mann-derek-peterson" target="_blank"&gt;hempreneurs&lt;/a&gt;" behind the state's $1.3 billion medical marijuana industry a stimulus stronger than a vaporized bowl of Hindu Kush. The likely side effects&amp;mdash;a decline in budget-busting law-enforcement costs and millions of dollars in tax revenue for the state of California&amp;mdash;don't seem all that bad compared to what we got stuck with: a war on drugs that makes people like John Lovell even richer.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Also read: Tony D'Souza's "&lt;/strong&gt;&lt;a href="http://motherjones.com/politics/2011/12/tony-dsouza-marijuana-growers" target="_blank"&gt;&lt;strong&gt;The New Dealers&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;," a tale of recession-strapped Americans who turned to dope dealing to make ends meet.&lt;/strong&gt;&lt;/p&gt;
&lt;/body&gt;&lt;/html&gt;
&lt;div class="service-links"&gt;&lt;span&gt;&lt;a href="http://digg.com/submit?phase=2&amp;amp;url=http%3A%2F%2Fmotherjones.com%2Fmojo%2F2012%2F03%2Fpot-legalization-foe-war-drugs&amp;amp;title=Pot+Legalization+Foe+Getting+Rich+off+the+Drug+War" title="Digg this post on digg.com" id="service-links-digg-17" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/digg.png" alt="Digg" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fmotherjones.com%2Fmojo%2F2012%2F03%2Fpot-legalization-foe-war-drugs&amp;amp;t=Pot+Legalization+Foe+Getting+Rich+off+the+Drug+War" title="Share on Facebook." id="service-links-facebook-17" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/facebook.png" alt="Facebook" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="http://reddit.com/submit?url=http%3A%2F%2Fmotherjones.com%2Fmojo%2F2012%2F03%2Fpot-legalization-foe-war-drugs&amp;amp;title=Pot+Legalization+Foe+Getting+Rich+off+the+Drug+War" title="Submit this post on reddit.com." id="service-links-reddit-17" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/reddit.png" alt="Reddit" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fmotherjones.com%2Fmojo%2F2012%2F03%2Fpot-legalization-foe-war-drugs&amp;amp;title=Pot+Legalization+Foe+Getting+Rich+off+the+Drug+War" title="Thumb this up at StumbleUpon" id="service-links-stumbleupon-17" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/stumbleit.png" alt="StumbleUpon" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;</description>
<category domain="http://motherjones.com/category/blog-sections/mojo">MoJo</category>
<category domain="http://motherjones.com/category/primary-tags/crime-and-justice">Crime and Justice</category>
<category domain="http://motherjones.com/category/primary-tags/must-reads">Must Reads</category>
<category domain="http://motherjones.com/category/primary-tags/politics">Politics</category>
<category domain="http://motherjones.com/category/primary-tags/top-stories">Top Stories</category>
<category domain="http://motherjones.com/category/tags/marijuana">marijuana</category>
<pubDate>Thu, 08 Mar 2012 08:01:00 +0000</pubDate>
<dc:creator>Josh Harkinson</dc:creator>
<guid isPermaLink="false">166756 at http://motherjones.com</guid>
</item>
<item>
<title>Bachmann: Obama Could Mandate One-Child Policy</title>
<link>http://motherjones.com/kevin-drum/2012/03/bachmann-obama-could-mandate-one-child-policy</link>
<description>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"&gt;
&lt;html&gt;&lt;body&gt;
&lt;p&gt;Before you read this, I want to remind you that only a few months ago Michele Bachmann was considered a serious contender for the Republican nomination &lt;img align="right" src="http://www.motherjones.com/files/images/blog_bachmann_baby.jpg" alt="" class="image image-_original" style="border: 1px solid black; margin: 20px 20px 15px 30px;"&gt;for president. Hard to believe, I know, but it's true. With that thought firmly in mind, &lt;a href="http://www.theblaze.com/stories/bachmann-warns-feds-could-use-budget-to-limit-number-of-babies-born-per-family/" target="_blank"&gt;here is Bachmann last night:&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Kathleen Sebelius, the Health and Human Services secretary, she said that it's important that we have contraceptives because that prevents pregnancy, and pregnancy is more expensive to the federal government. Going with that logic, according to our own Health and Human Services secretary, it isn't farfetched to think that the president of the United States could say, &lt;strong&gt;we need to save healthcare expenses, the federal government will only pay for one baby to be born in the hospital per family, or two babies to be born per family. That could happen. You think it couldn't?&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This was in an interview over at The Blaze, Glenn Beck's website, and even the Blaze folks were sort of aghast that Bachmann could suggest something like this. But it's comforting in a way. This is old school Bachmann.&lt;/p&gt;
&lt;p&gt;But as long as we're on the subject, here's a wee bit of factmongering for you. Did you know that lots of women have no health insurance, and the only reason they have any maternity coverage at all is because of federal programs like Medicaid and CHIP? It's true! It turns out that about 40% of all births in the United States are paid for by these programs.&lt;/p&gt;
&lt;p&gt;And even women who &lt;em&gt;are&lt;/em&gt; insured don't always have maternity coverage. Lots of them do, thanks to the Pregnancy Discrimination Act (PDA) of 1978, which conservatives and the business community hated at the time. But there are still gaps: small businesses are exempt, and most individual insurance plans don't cover maternity expenses. Obamacare will take care of that shortly, but of course, conservatives and the business community consider that an act of unprecedented tyranny.&lt;/p&gt;
&lt;p&gt;Your garden variety hospital delivery &amp;mdash; not counting prenatal and postnatal care &amp;mdash; will set you back about ten grand or so these days. Most people would have a hard time affording that, but thanks to Medicaid, CHIP, the PDA, and Obamacare, most women are either covered or soon will be. In other words, the only reason most women can afford modern childbirth in modern hospitals &lt;em&gt;at all&lt;/em&gt; is because of various federal laws that either mandate it in the private sector or pay for it out of public funds. If it weren't for that, most families couldn't even have one baby born in the hospital, let alone two. That's some pretty pro-family policy from us liberals, no?&lt;/p&gt;
&lt;p&gt;(&lt;a href="http://www.washingtonmonthly.com/political-animal-a/2012_03/from_50000_feetor_mars035911.php" target="_blank"&gt;Via an equally dumbfounded Ed Kilgore.&lt;/a&gt;)&lt;/p&gt;
&lt;/body&gt;&lt;/html&gt;
&lt;div class="service-links"&gt;&lt;span&gt;&lt;a href="http://digg.com/submit?phase=2&amp;amp;url=http%3A%2F%2Fmotherjones.com%2Fkevin-drum%2F2012%2F03%2Fbachmann-obama-could-mandate-one-child-policy&amp;amp;title=Bachmann%3A+Obama+Could+Mandate+One-Child+Policy" title="Digg this post on digg.com" id="service-links-digg-19" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/digg.png" alt="Digg" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fmotherjones.com%2Fkevin-drum%2F2012%2F03%2Fbachmann-obama-could-mandate-one-child-policy&amp;amp;t=Bachmann%3A+Obama+Could+Mandate+One-Child+Policy" title="Share on Facebook." id="service-links-facebook-19" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/facebook.png" alt="Facebook" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="http://reddit.com/submit?url=http%3A%2F%2Fmotherjones.com%2Fkevin-drum%2F2012%2F03%2Fbachmann-obama-could-mandate-one-child-policy&amp;amp;title=Bachmann%3A+Obama+Could+Mandate+One-Child+Policy" title="Submit this post on reddit.com." id="service-links-reddit-19" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/reddit.png" alt="Reddit" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fmotherjones.com%2Fkevin-drum%2F2012%2F03%2Fbachmann-obama-could-mandate-one-child-policy&amp;amp;title=Bachmann%3A+Obama+Could+Mandate+One-Child+Policy" title="Thumb this up at StumbleUpon" id="service-links-stumbleupon-19" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/stumbleit.png" alt="StumbleUpon" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;</description>
<category domain="http://motherjones.com/category/blog-sections/kevin-drum">Kevin Drum</category>
<category domain="http://motherjones.com/category/primary-tags/health-care">Health Care</category>
<category domain="http://motherjones.com/category/primary-tags/media">Media</category>
<category domain="http://motherjones.com/category/primary-tags/must-reads">Must Reads</category>
<category domain="http://motherjones.com/category/primary-tags/obama">Obama</category>
<category domain="http://motherjones.com/category/primary-tags/politics">Politics</category>
<category domain="http://motherjones.com/category/primary-tags/reproductive-rights">Reproductive Rights</category>
<category domain="http://motherjones.com/category/primary-tags/right">The Right</category>
<category domain="http://motherjones.com/category/tags/michele-bachmann">michele bachmann</category>
<pubDate>Thu, 08 Mar 2012 05:32:38 +0000</pubDate>
<dc:creator>Kevin Drum</dc:creator>
<guid isPermaLink="false">166786 at http://motherjones.com</guid>
</item>
</channel>
</rss>

View file

@ -0,0 +1,24 @@
[
{
"pk": 7,
"model": "rss_feeds.feed",
"fields": {
"feed_address": "%(NEWSBLUR_DIR)s/apps/rss_feeds/fixtures/motherjones2.xml",
"days_to_trim": 90,
"feed_link": "%(NEWSBLUR_DIR)s/apps/rss_feeds/fixtures/motherjones1.html",
"feed_link_locked": true,
"fetched_once": true,
"num_subscribers": 1,
"active_subscribers": 1,
"creation": "2009-01-12",
"feed_title": "Mother Jones",
"last_update": "2009-07-06 22:30:03",
"next_scheduled_update": "2009-07-06 22:30:03",
"queued_date": "2009-07-06 22:30:03",
"min_to_decay": 1,
"etag": "",
"last_modified": "2009-07-06 22:30:03",
"active": 1
}
}
]

View file

@ -0,0 +1,298 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0" xml:base="http://motherjones.com/rss/blogs_and_articles/favicon.ico/sites/all/modules/patched/service_links/images/digg.png">
<channel>
<title>MoJo Blogs and Articles | Mother Jones</title>
<link>http://motherjones.com/rss/blogs_and_articles/favicon.ico/sites/all/modules/patched/service_links/images/digg.png</link>
<image>
<url>http://motherjones.com/files/motherjonesLogo_google_206X40.png</url>
<title>Mother Jones logo</title>
<link>http://motherjones.com</link>
</image>
<description />
<language>en</language>
<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/motherjones/BlogsAndArticles" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="motherjones/blogsandarticles" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
<title>Twister Whispers </title>
<link>http://motherjones.com/blue-marble/2012/03/tornado</link>
<description>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"&gt;
&lt;html&gt;&lt;body&gt;
&lt;p&gt;A monster EF4 tornado with winds of 180 mp/h (290&amp;nbsp;km/h) that caused extreme damage in Harrisburg, Illinois, on leap day happened to travel across an array of seismographs recently deployed for studying earthquakes.&lt;/p&gt;
&lt;p&gt;The &lt;a target="_blank" href="http://geology.indiana.edu/hamburger/"&gt;scientists&lt;/a&gt; working with the OIINK array (named for its coverage of parts of the Ozarks, Illinois, Indiana and Kentucky) thought their instruments had been destroyed by the twister. Instead, the seismographs recorded&lt;span style="background-color: rgb(255, 255, 255); font-family: Georgia, 'Times New Roman', Times, serif; font-size: 16px; line-height: 27px; text-align: left; "&gt;&amp;nbsp;&lt;/span&gt;the tornado.&lt;/p&gt;
&lt;p&gt;Or rather not the tornado itself,&lt;span style="font-family: Verdana, Arial, sans-serif; "&gt;&amp;nbsp;as their preliminary investigation suggests, but the&lt;/span&gt;&amp;nbsp;passage of the large atmospheric pressure transient pushing ahead of the thunderstorm that spawned the tornado... one of an anomalous number of tornadoes so far this winter. Some of which may&lt;span style="font-family: Verdana, Arial, sans-serif; "&gt;&amp;nbsp;add up 2012's first billion-dollar disaster in the US&amp;nbsp;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;&lt;span class="inline inline-center"&gt;&lt;span class="caption"&gt;&amp;nbsp;&lt;a href="http://newsinfo.iu.edu/news/page/normal/21533.html"&gt;&lt;img alt="Location of seismographs in eastern Missouri and southern Illinois and the path of the tornado that struck Harrisburg IL on 29 Feb 2012: Courtesy of Indiana University" title="Location of seismographs in eastern Missouri and southern Illinois and the path of the tornado that struck Harrisburg IL on 29 Feb 2012: Courtesy of Indiana University" class="image image-preview " width="640" height="414" src="https://motherjones.com/files/images/tornado_seismic_track_sm.preview.jpg"&gt;&lt;br&gt;&lt;/a&gt;&lt;strong&gt;Location of seismographs in eastern Missouri and southern Illinois and the path of the tornado that struck Harrisburg IL on 29 Feb 2012: &lt;/strong&gt;Courtesy of Indiana University&amp;nbsp;University&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;In the image above you can see the seismic stations sets against the ground path of the 29 Feb Harrisburg tornado. These stations are part of&amp;nbsp;the NSF's &lt;a target="_blank" href="http://www.earthscope.org/"&gt;EarthScope&lt;/a&gt; program planned to cover the entire US with a grid for detecting and better understanding and eventually maybe predicting earthquakes. Seems they might come in handy for tornadoes too.&lt;/p&gt;
&lt;p&gt;I wrote about the EarthScope program &lt;a target="_blank" href="http://motherjones.com/blue-marble/2011/03/science-quake-dissenters-arrive"&gt;here&lt;/a&gt; after Japan's 9.0 quake last year.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;center&gt;&lt;iframe width="600" height="360" src="http://www.youtube.com/embed/AzphPZakPaA?rel=0" frameborder="0" allowfullscreen=""&gt;&lt;/iframe&gt;&lt;/center&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;This animation shows &lt;span style="font-family: Verdana, Arial, sans-serif; "&gt;&amp;nbsp;EarthScope stations lighting up in response to ground shaking following &lt;/span&gt;a 21 February 2008 earthquake in Wells, NV. From the video's YouTube &lt;a target="_blank" href="http://www.youtube.com/watch?v=AzphPZakPaA"&gt;page&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Each circle represents a seismometer and the colors change to reflect variations in the signal amplitude crossing the array. The ground motion begins near the source and then expands outward like a the waves from a pebble dropped in a pond. The circular wavefronts are distorted by the simple map projection used in the animation. The initial waves travel at about 8km/s, the larger amplitude waves that follow are moving at about 2.5km/s.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The amazing EarthScope array has been dubbed the upside-down telescope for its view into the dynamics of interior Earth.&amp;nbsp;&lt;/p&gt;
&lt;/body&gt;&lt;/html&gt;
&lt;div class="service-links"&gt;&lt;span&gt;&lt;a href="http://digg.com/submit?phase=2&amp;amp;url=http%3A%2F%2Fmotherjones.com%2Fblue-marble%2F2012%2F03%2Ftornado&amp;amp;title=Twister+Whispers+" title="Digg this post on digg.com" id="service-links-digg-1" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/digg.png" alt="Digg" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fmotherjones.com%2Fblue-marble%2F2012%2F03%2Ftornado&amp;amp;t=Twister+Whispers+" title="Share on Facebook." id="service-links-facebook-1" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/facebook.png" alt="Facebook" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="http://reddit.com/submit?url=http%3A%2F%2Fmotherjones.com%2Fblue-marble%2F2012%2F03%2Ftornado&amp;amp;title=Twister+Whispers+" title="Submit this post on reddit.com." id="service-links-reddit-1" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/reddit.png" alt="Reddit" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fmotherjones.com%2Fblue-marble%2F2012%2F03%2Ftornado&amp;amp;title=Twister+Whispers+" title="Thumb this up at StumbleUpon" id="service-links-stumbleupon-1" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/stumbleit.png" alt="StumbleUpon" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;</description>
<category domain="http://motherjones.com/category/blog-sections/blue-marble">Blue Marble</category>
<category domain="http://motherjones.com/category/primary-tags/climate-change">Climate Change</category>
<category domain="http://motherjones.com/category/primary-tags/environment">Environment</category>
<category domain="http://motherjones.com/category/primary-tags/science">Science</category>
<pubDate>Thu, 08 Mar 2012 20:20:25 +0000</pubDate>
<dc:creator>Julia Whitty</dc:creator>
<guid isPermaLink="false">166841 at http://motherjones.com</guid>
</item>
<item>
<title>We Need Both Plumbers and English Majors</title>
<link>http://motherjones.com/kevin-drum/2012/03/we-need-both-plumbers-and-english-majors</link>
<description>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"&gt;
&lt;html&gt;&lt;body&gt;
&lt;p&gt;&lt;a target="_blank" href="http://www.rollingstone.com/politics/blogs/national-affairs/obama-and-the-cult-of-college-why-rick-santorum-had-a-point-20120307"&gt;Rick Perlstein writes today&lt;/a&gt; that Rick Santorum was right when he said "Not all folks are gifted in the same way. Some people have incredible gifts with their hands ... and want to work out there making things":&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Santorum&amp;rsquo;s claim that Obama wants everyone to go to college to become Marxist deconstructionists was wrong. In fact, it was so wrong that it didn't even survive Fox News, where, presented with evidence that Obama, like him, favored all kinds of educational opportunities, including but not limited to college, Santorum replied, sheepishly, "Maybe I was reading some things" that gave him the wrong impression, and "if it was an error, then I agree with the president."&lt;/p&gt;
&lt;p&gt;But wait. Stick to your guns, Rick! The thing is, you exposed a poetic truth: While Obama might not push college education &lt;em&gt;exclusively&lt;/em&gt;, like most Democrats he &lt;em&gt;does&lt;/em&gt; oversell it, and &lt;em&gt;does&lt;/em&gt; shortchange the alternatives. And millions of young Americans pay the price.&lt;/p&gt;
&lt;p&gt;...."The administration has done a good job of talking about, and even funding, career training for high-school graduates," says education expert Dana Goldstein of the New America Foundation. "What they will not do very much is talk about or fund career training for teens, even though there is good evidence that if you don't offer career and technical training via the public schools, you may lose people forever." A democracy of the heart that acknowledges there are simply some &lt;img align="right" style="border: 1px solid black; margin: 20px 20px 15px 30px;" class="image image-_original" alt="" src="http://www.motherjones.com/files/images/Blog_High_School.jpg"&gt;people who will never step into an academic classroom post-high school, and that this is alright, seems a bridge-to-the-twentieth-century too far for our schooling-mad politicians these days.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;None of this is an accident, of course. American high schools used to be big suppliers of vocational education. But in the 70s and 80s, the practice of "tracking" &amp;mdash; placing the smart kids in chemistry classes and the not-so-smart kids in shop classes &amp;mdash; came under withering assault. There was pretty good reason for it, too, since tracking really did have some pernicious effects. &lt;a target="_blank" href="http://challengebychoice.files.wordpress.com/2008/02/the-history-of-tracking.pdf"&gt;Tom Loveless glosses some of the arguments of the critics here,&lt;/a&gt; including that in Jeanne Oakes&amp;rsquo;s influential 1985 book, &lt;em&gt;Keeping Track&lt;/em&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;They pointed out that poor, non-English speaking, and minority youngsters were disproportionately assigned to low tracks and wealthier, white students to high tracks&amp;mdash;and concluded that this was not a coincidence. Oakes's book helped ignite a firestorm of anti-tracking activity. Tracking was blamed for unfairly categorizing students, stigmatizing struggling learners, and consigning them to a fate over which neither they nor their parents had control. The indictment spread from scholarly journals to the popular press. A 1988 article in &lt;em&gt;Better Homes and Gardens&lt;/em&gt; asked, "Is Your Child Being Tracked for Failure?" In 1989, &lt;em&gt;Psychology Today&lt;/em&gt; ran "Tracked to Fail" and &lt;em&gt;U.S News and World Report&lt;/em&gt; published "The Label That Sticks." Although the anti-tracking movement&amp;rsquo;s left-leaning political base conflicted with that of the movement for rigorous academic standards, parental choice, and other grassroots proposals that gained popularity in the late 1980s, it managed to hitch its wagon to growing public demand for excellence in the public schools.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The detracking movement did a lot to undermine vocational education, and people like Bill Gates and others have since been influential boosters of the idea that everyone should go to college. But I'm with Dana and the Ricks: not everyone either can or wants to go to college. We never needed to destroy the village in order to save it, and there are ways of addressing the ills of tracking without losing its benefits at the same time. American high schools ought to be as good at turning out plumbers as they are at turning out future English majors.&lt;/p&gt;
&lt;/body&gt;&lt;/html&gt;
&lt;div class="service-links"&gt;&lt;span&gt;&lt;a href="http://digg.com/submit?phase=2&amp;amp;url=http%3A%2F%2Fmotherjones.com%2Fkevin-drum%2F2012%2F03%2Fwe-need-both-plumbers-and-english-majors&amp;amp;title=We+Need+Both+Plumbers+and+English+Majors" title="Digg this post on digg.com" id="service-links-digg-3" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/digg.png" alt="Digg" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fmotherjones.com%2Fkevin-drum%2F2012%2F03%2Fwe-need-both-plumbers-and-english-majors&amp;amp;t=We+Need+Both+Plumbers+and+English+Majors" title="Share on Facebook." id="service-links-facebook-3" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/facebook.png" alt="Facebook" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="http://reddit.com/submit?url=http%3A%2F%2Fmotherjones.com%2Fkevin-drum%2F2012%2F03%2Fwe-need-both-plumbers-and-english-majors&amp;amp;title=We+Need+Both+Plumbers+and+English+Majors" title="Submit this post on reddit.com." id="service-links-reddit-3" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/reddit.png" alt="Reddit" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fmotherjones.com%2Fkevin-drum%2F2012%2F03%2Fwe-need-both-plumbers-and-english-majors&amp;amp;title=We+Need+Both+Plumbers+and+English+Majors" title="Thumb this up at StumbleUpon" id="service-links-stumbleupon-3" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/stumbleit.png" alt="StumbleUpon" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;</description>
<category domain="http://motherjones.com/category/blog-sections/kevin-drum">Kevin Drum</category>
<pubDate>Thu, 08 Mar 2012 19:16:11 +0000</pubDate>
<dc:creator>Kevin Drum</dc:creator>
<guid isPermaLink="false">166831 at http://motherjones.com</guid>
</item>
<item>
<title>Being in Congress Sucks These Days</title>
<link>http://motherjones.com/kevin-drum/2012/03/being-congress-sucks-these-days</link>
<description>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"&gt;
&lt;html&gt;&lt;body&gt;
&lt;p&gt;&lt;a target="_blank" href="http://dyn.politico.com/printstory.cfm?uuid=7CB893FB-C29C-444C-93E7-E7103D9B7686"&gt;From &lt;em&gt;Politico&lt;/em&gt;:&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;For members of Congress, the thrill is gone.&lt;/p&gt;
&lt;p&gt;They don&amp;rsquo;t make national policy anymore. They can&amp;rsquo;t earmark money for communities back home. The public hates them. And perks little and big, from private jet travel to a little free nosh now and then, have been locked down by ethics rules.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I wouldn't have expected this, but I actually do feel a little sorry for them. Just a little, mind you, but still. I'll bet it does kind of suck these days for a lot of people. If you're a true believer, then you love being in the fight regardless of anything else. But if you're someone who actually wants to get things done, there's not much left. Just an endless grind of fundraising and nothing much to make it all worthwhile.&lt;/p&gt;
&lt;p&gt;This is also why, within reason, I actually support earmarks. Members of Congress &lt;em&gt;should&lt;/em&gt; be important people in their districts. They &lt;em&gt;should&lt;/em&gt; be able to get things done for their constituents. They &lt;em&gt;should&lt;/em&gt; have some say&amp;nbsp;&amp;mdash; based on their ideology and their local knowledge&amp;nbsp;&amp;mdash; over what kinds of projects get built and which ones don't. That's what they were elected for. If their constituents don't like the way they handle this, they can vote 'em out.&lt;/p&gt;
&lt;p&gt;Earmarks should be transparent, and they should be limited. But they shouldn't have been banned. They're part of the job, and they're part of the culture of dealmaking that helps get things done. There's really nothing wrong with them in limited quantities.&lt;/p&gt;
&lt;/body&gt;&lt;/html&gt;
&lt;div class="service-links"&gt;&lt;span&gt;&lt;a href="http://digg.com/submit?phase=2&amp;amp;url=http%3A%2F%2Fmotherjones.com%2Fkevin-drum%2F2012%2F03%2Fbeing-congress-sucks-these-days&amp;amp;title=Being+in+Congress+Sucks+These+Days" title="Digg this post on digg.com" id="service-links-digg-5" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/digg.png" alt="Digg" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fmotherjones.com%2Fkevin-drum%2F2012%2F03%2Fbeing-congress-sucks-these-days&amp;amp;t=Being+in+Congress+Sucks+These+Days" title="Share on Facebook." id="service-links-facebook-5" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/facebook.png" alt="Facebook" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="http://reddit.com/submit?url=http%3A%2F%2Fmotherjones.com%2Fkevin-drum%2F2012%2F03%2Fbeing-congress-sucks-these-days&amp;amp;title=Being+in+Congress+Sucks+These+Days" title="Submit this post on reddit.com." id="service-links-reddit-5" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/reddit.png" alt="Reddit" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fmotherjones.com%2Fkevin-drum%2F2012%2F03%2Fbeing-congress-sucks-these-days&amp;amp;title=Being+in+Congress+Sucks+These+Days" title="Thumb this up at StumbleUpon" id="service-links-stumbleupon-5" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/stumbleit.png" alt="StumbleUpon" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;</description>
<category domain="http://motherjones.com/category/blog-sections/kevin-drum">Kevin Drum</category>
<pubDate>Thu, 08 Mar 2012 18:19:14 +0000</pubDate>
<dc:creator>Kevin Drum</dc:creator>
<guid isPermaLink="false">166826 at http://motherjones.com</guid>
</item>
<item>
<title>HSR Opponents Working Hard to Turn Me Into a Supporter</title>
<link>http://motherjones.com/kevin-drum/2012/03/hsr-opponents-working-hard-turn-me-supporter</link>
<description>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"&gt;
&lt;html&gt;&lt;body&gt;
&lt;p&gt;&lt;img align="right" style="border: 1px solid black; margin: 8px 20px 15px 30px;" class="image image-_original" alt="" src="http://www.motherjones.com/files/images/Blog_HSR_California.jpg"&gt;Regular readers know that I'm not a fan of the proposed LA-San Francisco high-speed rail project, and as the projected costs have ballooned I've become even less of a fan. But lord almighty, &lt;a target="_blank" href="http://www.latimes.com/news/local/la-me-bullet-vision-20120308,0,3644887,full.story"&gt;stuff like this could change my mind:&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The fast trains connecting Los Angeles and San Francisco would create new communities of high-density apartments and small homes around stations, reducing the suburbanization of California, rail advocates say. That new lifestyle would mean fewer cars and less gasoline consumption, lowering California's contribution to global warming.&lt;/p&gt;
&lt;p&gt;....Opponents, most of whom are political conservatives, regard the ambitious project as a classic government overreach that will require taxpayer subsidies. &lt;strong&gt;But they also see something more sinister: an agenda to push people into European or Asian models of dense cities, tight apartments and reliance on state-provided transportation.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;...."It is a real movement in California of controlling the masses, controlling land use, deciding where people should live," said Rep. Devin Nunes (R-Tulare). "I oppose that absolutely, because it is a form of left-wing social engineering."&lt;/p&gt;
&lt;p&gt;...."It has nothing to do with transportation. This is entirely social policy," said Rep. Tom McClintock (R-Granite Bay). "It is all about the far left's fever dream to get mother Earth back to a pristine condition by elbowing us into these dense urban cores."&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;So who spilled the beans, anyway? Now the whole world knows that we lefties are drooling over the prospect of taking away everyone's homes and engineering a forced march into modern-day high-rise concentration camps where the cable companies don't offer Fox News. All the better to control you with, my sweeties.&lt;/p&gt;
&lt;p&gt;Yeesh. But that's the mindset we're up against. Not &lt;em&gt;we're giving people &lt;u&gt;more&lt;/u&gt; lifestyle choices&lt;/em&gt; but &lt;em&gt;your lifestyle choice is inherently insulting to the one I prefer&lt;/em&gt;. And sweet reason will do little to change this. As Matt Yglesias, one of our most vocal proponents of denser lifestyles, &lt;a target="_blank" href="http://www.slate.com/blogs/moneybox/2012/03/08/the_elusive_quest_for_solutions.html"&gt;says,&lt;/a&gt; "A lot of the time there's genuinely no substitute for changing people's minds."&lt;/p&gt;
&lt;/body&gt;&lt;/html&gt;
&lt;div class="service-links"&gt;&lt;span&gt;&lt;a href="http://digg.com/submit?phase=2&amp;amp;url=http%3A%2F%2Fmotherjones.com%2Fkevin-drum%2F2012%2F03%2Fhsr-opponents-working-hard-turn-me-supporter&amp;amp;title=HSR+Opponents+Working+Hard+to+Turn+Me+Into+a+Supporter" title="Digg this post on digg.com" id="service-links-digg-7" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/digg.png" alt="Digg" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fmotherjones.com%2Fkevin-drum%2F2012%2F03%2Fhsr-opponents-working-hard-turn-me-supporter&amp;amp;t=HSR+Opponents+Working+Hard+to+Turn+Me+Into+a+Supporter" title="Share on Facebook." id="service-links-facebook-7" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/facebook.png" alt="Facebook" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="http://reddit.com/submit?url=http%3A%2F%2Fmotherjones.com%2Fkevin-drum%2F2012%2F03%2Fhsr-opponents-working-hard-turn-me-supporter&amp;amp;title=HSR+Opponents+Working+Hard+to+Turn+Me+Into+a+Supporter" title="Submit this post on reddit.com." id="service-links-reddit-7" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/reddit.png" alt="Reddit" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fmotherjones.com%2Fkevin-drum%2F2012%2F03%2Fhsr-opponents-working-hard-turn-me-supporter&amp;amp;title=HSR+Opponents+Working+Hard+to+Turn+Me+Into+a+Supporter" title="Thumb this up at StumbleUpon" id="service-links-stumbleupon-7" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/stumbleit.png" alt="StumbleUpon" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;</description>
<category domain="http://motherjones.com/category/blog-sections/kevin-drum">Kevin Drum</category>
<pubDate>Thu, 08 Mar 2012 17:07:40 +0000</pubDate>
<dc:creator>Kevin Drum</dc:creator>
<guid isPermaLink="false">166821 at http://motherjones.com</guid>
</item>
<item>
<title>Looking Ahead to 2016</title>
<link>http://motherjones.com/kevin-drum/2012/03/looking-ahead-2016</link>
<description>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"&gt;
&lt;html&gt;&lt;body&gt;
&lt;p&gt;&lt;a target="_blank" href="http://www.slate.com/blogs/weigel/2012/03/07/santorum_2016.html"&gt;Can this possibly be for real?&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;A true-sounding aside from Alex Pareene: "Rick Santorum is the 2016 GOP nomination frontrunner." It's true because the runner-up of the last Republican primary always starts off with an advantage. McCain 2008. Dole 1996. Bush 1988. Reagan 1976. Romney looked like the candidate most likely to break the trend, but no longer.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Maybe! This is why I sort-of-but-not-really-but-then-again-maybe-seriously want Rick Santorum to win the nomination this year. The only hope for the future of the Republican Party is to finally nominate the conservative of their dreams and then go down to an epic, ego-shattering defeat. It would, perhaps, pound some sense into them and finally give the party's moderates the backbone they need to wrest control away from the Limbaugh/Fox/Dobson/Norquist brigade. But if they nominate Romney and lose? Then, once again, it will be because they denied the one true faith. And that could, I suppose, make Santorum the frontrunner for 2016. Buckle up.&lt;/p&gt;
&lt;/body&gt;&lt;/html&gt;
&lt;div class="service-links"&gt;&lt;span&gt;&lt;a href="http://digg.com/submit?phase=2&amp;amp;url=http%3A%2F%2Fmotherjones.com%2Fkevin-drum%2F2012%2F03%2Flooking-ahead-2016&amp;amp;title=Looking+Ahead+to+2016" title="Digg this post on digg.com" id="service-links-digg-9" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/digg.png" alt="Digg" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fmotherjones.com%2Fkevin-drum%2F2012%2F03%2Flooking-ahead-2016&amp;amp;t=Looking+Ahead+to+2016" title="Share on Facebook." id="service-links-facebook-9" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/facebook.png" alt="Facebook" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="http://reddit.com/submit?url=http%3A%2F%2Fmotherjones.com%2Fkevin-drum%2F2012%2F03%2Flooking-ahead-2016&amp;amp;title=Looking+Ahead+to+2016" title="Submit this post on reddit.com." id="service-links-reddit-9" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/reddit.png" alt="Reddit" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fmotherjones.com%2Fkevin-drum%2F2012%2F03%2Flooking-ahead-2016&amp;amp;title=Looking+Ahead+to+2016" title="Thumb this up at StumbleUpon" id="service-links-stumbleupon-9" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/stumbleit.png" alt="StumbleUpon" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;</description>
<category domain="http://motherjones.com/category/blog-sections/kevin-drum">Kevin Drum</category>
<pubDate>Thu, 08 Mar 2012 15:43:02 +0000</pubDate>
<dc:creator>Kevin Drum</dc:creator>
<guid isPermaLink="false">166811 at http://motherjones.com</guid>
</item>
<item>
<title>We're Still at War: Photo of the Day for March 8, 2012</title>
<link>http://motherjones.com/mojo/2012/03/were-still-war-photo-day-march-8-2012</link>
<description>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"&gt;
&lt;html&gt;&lt;body&gt;&lt;p class="rtecenter"&gt;&lt;span class="inline inline-center"&gt;&lt;img width="626" height="418" class="image image-preview " title="" alt="" src="https://motherjones.com/files/images/weapons-make.jpg"&gt;&lt;/span&gt;&lt;em&gt;Senior Airman Daniel Stehley, of the &lt;a href="http://www.shaw.af.mil/units/index.asp" target="_blank"&gt;20th Equipment Maintenance Squadron&lt;/a&gt; munitions flight, spray paints build codes on inert guided bomb units after helping assemble each weapon at Shaw Air Force Base, S.C., February 27, 2012. The weapons were assembled in preparation for an upcoming Operational Readiness Exercise. (US Air Force &lt;a href="http://www.af.mil/shared/media/photodb/photos/120227-F-CJ989-906.jpg" target="_blank"&gt;photo&lt;/a&gt;/Senior Airman Kenny Holston)&lt;/em&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;
&lt;div class="service-links"&gt;&lt;span&gt;&lt;a href="http://digg.com/submit?phase=2&amp;amp;url=http%3A%2F%2Fmotherjones.com%2Fmojo%2F2012%2F03%2Fwere-still-war-photo-day-march-8-2012&amp;amp;title=We%27re+Still+at+War%3A+Photo+of+the+Day+for+March+8%2C+2012" title="Digg this post on digg.com" id="service-links-digg-11" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/digg.png" alt="Digg" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fmotherjones.com%2Fmojo%2F2012%2F03%2Fwere-still-war-photo-day-march-8-2012&amp;amp;t=We%27re+Still+at+War%3A+Photo+of+the+Day+for+March+8%2C+2012" title="Share on Facebook." id="service-links-facebook-11" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/facebook.png" alt="Facebook" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="http://reddit.com/submit?url=http%3A%2F%2Fmotherjones.com%2Fmojo%2F2012%2F03%2Fwere-still-war-photo-day-march-8-2012&amp;amp;title=We%27re+Still+at+War%3A+Photo+of+the+Day+for+March+8%2C+2012" title="Submit this post on reddit.com." id="service-links-reddit-11" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/reddit.png" alt="Reddit" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fmotherjones.com%2Fmojo%2F2012%2F03%2Fwere-still-war-photo-day-march-8-2012&amp;amp;title=We%27re+Still+at+War%3A+Photo+of+the+Day+for+March+8%2C+2012" title="Thumb this up at StumbleUpon" id="service-links-stumbleupon-11" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/stumbleit.png" alt="StumbleUpon" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;</description>
<category domain="http://motherjones.com/category/blog-sections/mojo">MoJo</category>
<pubDate>Thu, 08 Mar 2012 15:21:34 +0000</pubDate>
<dc:creator />
<guid isPermaLink="false">166806 at http://motherjones.com</guid>
</item>
<item>
<title>Targeted Ads Are the Least of Our Online Worries</title>
<link>http://motherjones.com/kevin-drum/2012/03/targeted-ads-are-least-our-online-worries</link>
<description>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"&gt;
&lt;html&gt;&lt;body&gt;
&lt;p&gt;Katherine Mangu-Ward thinks people are freaking out way too much over Google's plan to aggregate personal information about its users &lt;a target="_blank" href="http://www.theatlantic.com/business/archive/2012/03/take-my-privacy-please-a-defense-of-google/254159/"&gt;across all its platforms:&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;As it happens, we know how much people value their privacy: They'll sell information about every prescription they fill at CVS &amp;mdash; or every pint of Haagen Dazs at Safeway &amp;mdash; in exchange for a steady infusion of $1 coupons. They'll hand &lt;img align="right" style="border: 1px solid black; margin: 20px 20px 15px 30px;" class="image image-_original" alt="" src="http://www.motherjones.com/files/images/blog_surveillance_0.jpg"&gt;off information about the timing of their daily commute in exchange for a couple of minutes saved at a toll booth every day. They'll let Amazon track their diaper and book purchases because they would rather not re-enter their credit card number every time they want to buy something.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This is totally true. I happen to think that most people don't take this seriously enough, but who cares what I think? If you're willing to sell information about your buying habits to the highest bidder, there's no reason I should be able to stop you. She's also right about this:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;But if you're more skeeved than pleased, consider letting your brain overpower your gut here. This is a fact you cannot change: All the free stuff on the Internet is possible because you slap your eyeballs on some ads from time to time. If Google and other retailers can't scrape and sort your data to offer a few well targeted ads, there are two other viable choices: 1) Less of the free stuff you like. Like this blog. It might stop being free. For instance. 2) More ads in the throw-spaghetti-at-the-wall-and-see-what-sticks school. Think: those annoying dancing silhouette gals selling cheap mortgages.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;In fact, because of the fundamental failure of the online advertising model, more and more of the web is inaccessible all the time. Archives are unavailable, news sites are behind paywalls, etc. That's a pain in the ass for someone like me.&lt;/p&gt;
&lt;p&gt;So, yeah, maybe some targeted ads are a small price to pay for all this stuff being collected. And if targeted ads were the only thing to be worried about, I wouldn't be worried. But I don't think you need to have a very active imagination to figure out that both the public and private sectors can eventually do a whole lot more with this stuff than learn what brand of ice cream you like. Just as they can use it to offer you services, they can also use it to deny you services. They can use it to discriminate in subtle ways that are putatively based on data mining, not race/sex/ethnicity. They can use it to make decisions about who should and shouldn't be allowed to fly on airplanes. They can sell it to marketers &lt;a target="_blank" href="http://motherjones.com/kevin-drum/2012/02/why-i-dont-want-target-know-quite-so-much-about-me"&gt;somewhat less scrupulous&lt;/a&gt; than Procter &amp;amp;&amp;nbsp;Gamble. They can subpoena it in divorce cases. They can make it a part of massive NSA-run surveillance programs.&lt;/p&gt;
&lt;p&gt;It's not the targeted ads I mind. It's everything that comes &lt;em&gt;after&lt;/em&gt; targeted ads that I mind. I'd suggest that the rest of us ought to mind it a little more too.&lt;/p&gt;
&lt;/body&gt;&lt;/html&gt;
&lt;div class="service-links"&gt;&lt;span&gt;&lt;a href="http://digg.com/submit?phase=2&amp;amp;url=http%3A%2F%2Fmotherjones.com%2Fkevin-drum%2F2012%2F03%2Ftargeted-ads-are-least-our-online-worries&amp;amp;title=Targeted+Ads+Are+the+Least+of+Our+Online+Worries" title="Digg this post on digg.com" id="service-links-digg-13" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/digg.png" alt="Digg" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fmotherjones.com%2Fkevin-drum%2F2012%2F03%2Ftargeted-ads-are-least-our-online-worries&amp;amp;t=Targeted+Ads+Are+the+Least+of+Our+Online+Worries" title="Share on Facebook." id="service-links-facebook-13" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/facebook.png" alt="Facebook" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="http://reddit.com/submit?url=http%3A%2F%2Fmotherjones.com%2Fkevin-drum%2F2012%2F03%2Ftargeted-ads-are-least-our-online-worries&amp;amp;title=Targeted+Ads+Are+the+Least+of+Our+Online+Worries" title="Submit this post on reddit.com." id="service-links-reddit-13" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/reddit.png" alt="Reddit" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fmotherjones.com%2Fkevin-drum%2F2012%2F03%2Ftargeted-ads-are-least-our-online-worries&amp;amp;title=Targeted+Ads+Are+the+Least+of+Our+Online+Worries" title="Thumb this up at StumbleUpon" id="service-links-stumbleupon-13" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/stumbleit.png" alt="StumbleUpon" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;</description>
<category domain="http://motherjones.com/category/blog-sections/kevin-drum">Kevin Drum</category>
<pubDate>Thu, 08 Mar 2012 15:19:03 +0000</pubDate>
<dc:creator>Kevin Drum</dc:creator>
<guid isPermaLink="false">166801 at http://motherjones.com</guid>
</item>
<item>
<title>Book Review: House of Stone</title>
<link>http://motherjones.com/mixed-media/2012/03/review-anthony-shadid-house-stone-memoir</link>
<description>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"&gt;
&lt;html&gt;&lt;body&gt;
&lt;h3&gt;&lt;a target="_blank" href="http://anthonyshadid.com/house-of-stone-a-memoir-of-home-family-and-a-lost-middle-east/"&gt;&lt;span class="inline inline-left"&gt;&lt;img width="200" height="305" class="image image-preview " title="" alt="" src="https://motherjones.com/files/images/house_stone.jpg"&gt;&lt;/span&gt;House of Stone: A Memoir of Home, Family, and a Lost Middle East&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;By Anthony Shadid&lt;/p&gt;
&lt;p&gt;HOUGHTON MIFFLIN HARCOURT&lt;/p&gt;
&lt;p&gt;In his &lt;em&gt;New York Times&lt;/em&gt; dispatches from across the Middle East, Anthony Shadid&amp;mdash;a two-time Pulitzer Prize winner&amp;mdash;cuts a swashbuckling figure. In the last year alone, he braved tear gas and live fire in &lt;a target="_blank" href="http://motherjones.com/mojo/2011/01/whats-happening-egypt-explained"&gt;Egypt&lt;/a&gt;, was &lt;a target="_blank" href="http://motherjones.com/mojo/2011/02/whats-happening-libya-explained"&gt;kidnapped by Qaddafi's thugs in Libya&lt;/a&gt;, and &lt;a target="_blank" href="http://www.nytimes.com/2011/09/04/magazine/syrias-sons-of-no-one.html?_r=1&amp;amp;pagewanted=all"&gt;secretly traversed Syria's killing fields&lt;/a&gt; by motorcycle. &lt;em&gt;House of Stone&lt;/em&gt; casts the correspondent in a softer light, recalling his 2007 return to his ancestral village in southern Lebanon to rebuild his great-grandfather's abandoned home&amp;mdash;and perhaps piece together his own wayward life in the process. At once outsider and native son, Shadid elegantly reflects on the violent splintering of the once-vibrant Levant and its uphill struggle to reclaim its dwindling notions of regional identity.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;Editor's Note&lt;/em&gt;&lt;/strong&gt;&lt;em&gt;: &lt;/em&gt;Anthony Shadid &lt;a target="_blank" href="http://www.nytimes.com/2012/02/17/world/middleeast/anthony-shadid-a-new-york-times-reporter-dies-in-syria.html"&gt;died of an asthma attack&lt;/a&gt; in February while reporting for the &lt;em&gt;New York Times &lt;/em&gt;inside Syria. Shortly before his death, he spoke with &lt;em&gt;Mother Jones&lt;/em&gt; about &lt;em&gt;House of Stone&lt;/em&gt;, Syria's future, and the high cost of getting the story in a war zone. &lt;a target="_blank" href="http://motherjones.com/politics/2012/01/anthony-shadid-libya-syria-house-of-stone"&gt;You can read Shadid's interview with &lt;em&gt;Mother Jones&lt;/em&gt; here&lt;/a&gt;.&lt;/p&gt;
&lt;/body&gt;&lt;/html&gt;
&lt;div class="service-links"&gt;&lt;span&gt;&lt;a href="http://digg.com/submit?phase=2&amp;amp;url=http%3A%2F%2Fmotherjones.com%2Fmixed-media%2F2012%2F03%2Freview-anthony-shadid-house-stone-memoir&amp;amp;title=Book+Review%3A+House+of+Stone" title="Digg this post on digg.com" id="service-links-digg-15" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/digg.png" alt="Digg" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fmotherjones.com%2Fmixed-media%2F2012%2F03%2Freview-anthony-shadid-house-stone-memoir&amp;amp;t=Book+Review%3A+House+of+Stone" title="Share on Facebook." id="service-links-facebook-15" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/facebook.png" alt="Facebook" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="http://reddit.com/submit?url=http%3A%2F%2Fmotherjones.com%2Fmixed-media%2F2012%2F03%2Freview-anthony-shadid-house-stone-memoir&amp;amp;title=Book+Review%3A+House+of+Stone" title="Submit this post on reddit.com." id="service-links-reddit-15" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/reddit.png" alt="Reddit" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fmotherjones.com%2Fmixed-media%2F2012%2F03%2Freview-anthony-shadid-house-stone-memoir&amp;amp;title=Book+Review%3A+House+of+Stone" title="Thumb this up at StumbleUpon" id="service-links-stumbleupon-15" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/stumbleit.png" alt="StumbleUpon" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;</description>
<category domain="http://motherjones.com/category/blog-sections/mixed-media">Mixed Media</category>
<category domain="http://motherjones.com/category/primary-tags/books">Books</category>
<category domain="http://motherjones.com/category/primary-tags/culture">Culture</category>
<category domain="http://motherjones.com/category/primary-tags/foreign-policy">Foreign Policy</category>
<category domain="http://motherjones.com/category/primary-tags/human-rights">Human Rights</category>
<category domain="http://motherjones.com/category/primary-tags/international">International</category>
<category domain="http://motherjones.com/category/primary-tags/media">Media</category>
<pubDate>Thu, 08 Mar 2012 11:00:00 +0000</pubDate>
<dc:creator>Aaron Ross</dc:creator>
<guid isPermaLink="false">160041 at http://motherjones.com</guid>
</item>
<item>
<title>Insane Sex Laws Inspired by Republicans</title>
<link>http://motherjones.com/mojo/2012/03/birth-control-viagra-vasectomy-laws</link>
<description>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"&gt;
&lt;html&gt;&lt;body&gt;
&lt;p&gt;As Republican lawmakers have pushed ever &lt;a target="_blank" href="http://motherjones.com/mojo/2012/03/transvaginal-ultrasounds-coming-soon-state-near-you"&gt;more intrusive&lt;/a&gt; and &lt;a target="_blank" href="http://motherjones.com/politics/2012/02/republican-war-birth-control-contraception"&gt;expansive&lt;/a&gt; uterus-related legislation, some of their colleagues across the aisle have fired back with intentionally and equally ridiculous counterproposals. From mandatory rectal exams for guys seeking Viagra to prohibitions on sperm-stifling vasectomies, most of these male-only provisions have, unsurprisingly, flopped. But they've scored big as symbolic gestures, spotlighting the inherent sexism of laws that only regulate lady parts.&lt;/p&gt;
&lt;p&gt;Some of the tongue-in-cheek ideas introduced across the country:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Delaware:&lt;/strong&gt; By an 8 to 4 vote, the Wilmington, Delaware, city council &lt;a target="_blank" href="http://www.huffingtonpost.com/2012/03/02/wilmington-city-council-sperm-egg-personhood_n_1316924.html%20"&gt;recognized the personhood of semen&lt;/a&gt; because "each 'egg person' and each 'sperm person' should be deemed equal in the eyes of the government."&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Virginia:&lt;/b&gt; As the state Senate debated &lt;a target="_blank" href="http://motherjones.com/mojo/2012/03/why-virginias-new-mandatory-ultrasound-law-still-sucks"&gt;requiring transvaginal ultrasounds&lt;/a&gt; for women seeking abortions, Sen. Janet Howell proposed mandating rectal exams and cardiac stress tests for men seeking erectile dysfunction meds. Her amendment failed by just two votes.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Georgia:&lt;/strong&gt;&amp;nbsp;Responding to a Georgia&lt;b&gt; &lt;/b&gt;house bill banning abortions after 20 weeks of pregnancy, Rep. Yasmin Neal wrote a bill &lt;span&gt;outlawing most vasectomies because they leave "&lt;a target="_blank" href="http://www1.legis.ga.gov/legis/2011_12/versions/hb1116_LC_21_1703_a_2.htm%20"&gt;thousands of children&amp;hellip;deprived of birth.&lt;/a&gt;"&lt;/span&gt;&lt;/p&gt;
&lt;div class="sidebar-small-right"&gt;&lt;em&gt;&lt;strong&gt;Does Limbaugh think &lt;a href="http://motherjones.com/mojo/2012/03/rush-limbaugh-does-not-understand-how-birth-control-works" target="_blank"&gt;birth control pills work like Viagra?&lt;/a&gt;&amp;nbsp;Plus: &lt;a href="http://motherjones.com/politics/2012/02/calculator-birth-control-expensive-really-cost" target="_blank"&gt;our handy calculator&lt;/a&gt; shows how much you'll spend on birth control over a lifetime.&lt;/strong&gt;&lt;/em&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;&lt;span&gt;Ohio: &lt;/span&gt;&lt;/strong&gt;&lt;span&gt;A bill introduced by state Sen. Nina Turner would compel men to get psychological screenings before getting prescriptions for impotence meds. &lt;/span&gt;&lt;span&gt;"&lt;/span&gt;We must advocate for the traditional family," Turner &lt;a target="_blank" href="http://www.progressohio.org/blog/2012/03/senator-turner-introduces-legislation-to-protect-mens-health.html"&gt;said&lt;/a&gt;, "and ensure that all men using PDE-5 inhibitors are healthy, stable, and educated about their options&amp;mdash;including celibacy as a viable life choice.&lt;span&gt;"&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Illinois&lt;/strong&gt;&lt;strong&gt;:&lt;/strong&gt; State &lt;span&gt;Rep. Kelly Cassidy proposed requiring men seeking Viagra to watch a video showing &lt;a target="_blank" href="http://chicago.cbslocal.com/2012/03/02/lawmaker-men-who-want-viagra-should-have-to-watch-graphic-side-effects-video/"&gt;the treatment for persistent erections&lt;/a&gt;, an occasional side effect of the little blue pill. As she explained, "&lt;/span&gt;It's not a pretty procedure to watch."&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Missouri:&amp;nbsp;&lt;/strong&gt;Protesting the legislature's vote to reject &lt;a target="_blank" href="http://motherjones.com/mojo/2012/02/obama-birth-control-rule-change-why-its-not-cave"&gt;Obama's contraception coverage mandate&lt;/a&gt;, nine female lawmakers cosponsored a bill &lt;a target="_blank" href="http://www.kansascity.com/2012/03/02/3465617/female-legislators-introduce-cheeky.html"&gt;restricting access to vasectomies&lt;/a&gt; except for men risking death or serious bodily harm. "In determining whether a vasectomy is necessary," the bill reads, "no regard shall be made to the desire of a man to father children, his economic situation, his age, the number of children he is currently responsible for, or any danger to his wife or partner in the event a child is conceived."&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Oklahoma:&lt;/strong&gt; When a zygote-personhood bill came before the state Senate, Sen. Constance Johnson penned an amendment&lt;strong&gt; &lt;/strong&gt;declaring that &lt;a target="_blank" href="http://thinkprogress.org/health/2012/02/08/421018/oklahoma-democrat-adds-every-sperm-is-sacred-amendment-to-personhood-bill/"&gt;ejaculating anywhere outside a woman's vagina&lt;/a&gt; constitutes "an action against an unborn child." Bonus:&amp;nbsp;Johnson &lt;a href="http://www.oklegislature.gov/BillInfo.aspx?Bill=sb1433%20" target="_blank"&gt;also suggested&lt;/a&gt; that any man who impregnates a woman without her permission should pay a $25,000 fine, support the child until age 21, and get a vasectomy, "in the spirit of shared responsibility." &lt;span&gt;In response to the same bill, state Sen. Jim Wilson &lt;a href="http://www.tulsaworld.com/news/article.aspx?subjectid=336&amp;amp;articleid=20120207_16_A5_OKLAHO862914&amp;amp;r=7811" target="_blank"&gt;proposed&lt;/a&gt; an amendment requiring the father of an unborn child to be financially responsible for its mother's health care, housing, transportation, and nourishment during pregnancy.&lt;/span&gt;&lt;strong&gt;&lt;br&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Texas:&amp;nbsp;&lt;/strong&gt;Contesting a bill mandating sonograms before abortions, Rep. Harold Dutton unsuccessfully offered&lt;span style="font-style: italic;"&gt; &lt;/span&gt;three amendments in a row. The first would have required the state to pay the college tuition of children born to women who decide against an abortion after seeing a required ultrasound image. The second would have subsidized the children's health care costs until age 18. When that failed, he lowered the age to 6. &lt;a href="http://www.texastribune.org/texas-legislature/2011-abortion-sonogram-bill/democrats-attack-abortion-sonogram-bill/" target="_blank"&gt;That didn't fly, either&lt;/a&gt;.&lt;strong&gt;&lt;br&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;/body&gt;&lt;/html&gt;
&lt;div class="service-links"&gt;&lt;span&gt;&lt;a href="http://digg.com/submit?phase=2&amp;amp;url=http%3A%2F%2Fmotherjones.com%2Fmojo%2F2012%2F03%2Fbirth-control-viagra-vasectomy-laws&amp;amp;title=Insane+Sex+Laws+Inspired+by+Republicans" title="Digg this post on digg.com" id="service-links-digg-17" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/digg.png" alt="Digg" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fmotherjones.com%2Fmojo%2F2012%2F03%2Fbirth-control-viagra-vasectomy-laws&amp;amp;t=Insane+Sex+Laws+Inspired+by+Republicans" title="Share on Facebook." id="service-links-facebook-17" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/facebook.png" alt="Facebook" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="http://reddit.com/submit?url=http%3A%2F%2Fmotherjones.com%2Fmojo%2F2012%2F03%2Fbirth-control-viagra-vasectomy-laws&amp;amp;title=Insane+Sex+Laws+Inspired+by+Republicans" title="Submit this post on reddit.com." id="service-links-reddit-17" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/reddit.png" alt="Reddit" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fmotherjones.com%2Fmojo%2F2012%2F03%2Fbirth-control-viagra-vasectomy-laws&amp;amp;title=Insane+Sex+Laws+Inspired+by+Republicans" title="Thumb this up at StumbleUpon" id="service-links-stumbleupon-17" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/stumbleit.png" alt="StumbleUpon" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;</description>
<category domain="http://motherjones.com/category/blog-sections/mojo">MoJo</category>
<category domain="http://motherjones.com/category/primary-tags/health">Health</category>
<category domain="http://motherjones.com/category/primary-tags/politics">Politics</category>
<category domain="http://motherjones.com/category/primary-tags/reproductive-rights">Reproductive Rights</category>
<category domain="http://motherjones.com/category/primary-tags/sex-and-gender">Sex and Gender</category>
<category domain="http://motherjones.com/category/primary-tags/top-stories">Top Stories</category>
<pubDate>Thu, 08 Mar 2012 11:00:00 +0000</pubDate>
<dc:creator>Hannah Levintova</dc:creator>
<guid isPermaLink="false">166741 at http://motherjones.com</guid>
</item>
<item>
<title>"Game Change": A Remake of Frankenstein, Featuring Sarah Palin</title>
<link>http://motherjones.com/politics/2012/03/game-change-frankenstein-remake-sarah-palin</link>
<description>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"&gt;
&lt;html&gt;&lt;body&gt;
&lt;p&gt;&lt;a target="_blank" href="http://www.metacritic.com/tv/game-change/season-1"&gt;&lt;em&gt;&lt;strong&gt;Game Change&lt;/strong&gt;&lt;/em&gt;&lt;strong&gt;&lt;br&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;HBO Films&lt;br&gt;
115 minutes&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;At its core,&lt;em&gt; Game Change &lt;/em&gt;is a Gothic fable in the most classic and traditional sense: A well-intentioned (&lt;a href="http://politicalticker.blogs.cnn.com/category/steve-schmidt/" target="_blank"&gt;political&lt;/a&gt;) scientist sets out to perform a feat of &lt;a href="http://www.thedailybeast.com/newsweek/2008/11/05/back-from-the-dead.html" target="_blank"&gt;tremendous galvanism&lt;/a&gt;. In his pursuit of this &lt;a href="http://douthat.blogs.nytimes.com/2011/10/11/dreams-of-a-mccain-presidency/" target="_blank"&gt;big dream&lt;/a&gt;, he inadvertently creates a monster&amp;mdash;one he comes to disown. In a flash, the &lt;a href="http://books.google.com/books?id=2Zc3AAAAYAAJ&amp;amp;q=daemon#v=onepage&amp;amp;q=the%20beauty%20of%20the%20dream%20vanished%2C%20and%20breathless%20horror%20and%20disgust%20filled%20my%20heart&amp;amp;f=false" target="_blank"&gt;beauty of the dream vanishes, and breathless horror and disgust fills the creator's heart&lt;/a&gt;. But too late! The monster is unleashed on the world, leaving a trail of chaos, defeat, and bewilderment in its wake. The scientist later &lt;a href="http://www.politico.com/news/stories/0110/31335.html" target="_blank"&gt;confesses&lt;/a&gt; at length his confounding regret.&lt;/p&gt;
&lt;p&gt;In this version, campaign strategist Steve Schmidt is Dr. Victor Frankenstein, John McCain is the corporation that he works for, all of America is the unsuspecting village people, and Sarah Palin is [&lt;a target="_blank" href="http://www.youtube.com/watch?v=FeZftK2kO6U"&gt;cue the music&lt;/a&gt;....] the &lt;a target="_blank" href="http://en.wikipedia.org/wiki/Frankenstein#Name_origins"&gt;Adam&lt;/a&gt; of Schmidt's labors.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Game Change&lt;/em&gt;, which premieres on HBO on Saturday March 10 at 9 p.m. EST to a flurry of Beltway &lt;a href="http://www.politico.com/news/stories/0312/73591.html" target="_blank"&gt;anticipation&lt;/a&gt;, zeros in on the more depressing chapters of the 2008 presidential campaign, namely the &lt;a href="http://motherjones.com/politics/2011/09/joe-mcginniss-sarah-palin-the-rogue" target="_blank"&gt;former governor of Alaska and mayor of Wasilla&lt;/a&gt;. In adapting the &lt;a href="http://www.nytimes.com/2010/01/11/books/11book.html" target="_blank"&gt;bestseller&lt;/a&gt; by &lt;a target="_blank" href="https://twitter.com/#!/jheil"&gt;John Heilemann&lt;/a&gt; and &lt;a target="_blank" href="http://thepage.time.com/"&gt;Mark Halperin&lt;/a&gt;, the filmmakers jettison much of the 2010 book's inside scoopage&amp;mdash;on the Obama camp, Rudy Giuliani, the Clintons, John Edwards &lt;a href="http://books.google.com/books?id=T2Mp9EEd3ncC&amp;amp;q=john+edwards#v=snippet&amp;amp;q=john%20edwards%20affair&amp;amp;f=false" target="_blank"&gt;messin' 'round&lt;/a&gt;&amp;mdash;to focus exclusively on the fumbling, dysfunctional McCain campaign.&lt;/p&gt;
&lt;p&gt;Senior adviser Steve Schmidt (played by a feisty, riveting &lt;a target="_blank" href="http://www.mediaite.com/online/woody-harrelson-ama-ask-me-anything-goes-disastrously-wrong-on-reddit/"&gt;Woody Harrelson&lt;/a&gt;) is the story's reluctant protagonist. He's brought aboard the McCain Train to tighten up messaging and restore a sense of discipline. His signature master stroke comes just days before the nominating convention, in which he leads the push to scrap McCain's original &lt;a href="http://www.nytimes.com/2008/08/31/us/politics/31reconstruct.html" target="_blank"&gt;post-partisan plan&lt;/a&gt; to tap Joe Lieberman as his running mate. McCain's one-sentence directive for locking down an emergency replacement?&lt;/p&gt;
&lt;p&gt;"Find me a woman."&lt;/p&gt;
&lt;p&gt;And thus enters "game-changer" Palin&amp;mdash;in top hockey-momming form&amp;mdash;with her poise and social-conservative street cred. McCain gets a bump in the polls, the Republican base gets a &lt;a href="http://www.huffingtonpost.com/2008/08/28/barack-obama-democratic-c_n_122224.html" target="_blank"&gt;much-needed&lt;/a&gt; shot of energy.&lt;/p&gt;
&lt;/body&gt;&lt;/html&gt;
&lt;p style="font-size: 1.083em;"&gt;&lt;a href="/politics/2012/03/game-change-frankenstein-remake-sarah-palin"&gt;&lt;strong&gt;&lt;em&gt;Continue Reading &amp;raquo;&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="service-links"&gt;&lt;span&gt;&lt;a href="http://digg.com/submit?phase=2&amp;amp;url=http%3A%2F%2Fmotherjones.com%2Fpolitics%2F2012%2F03%2Fgame-change-frankenstein-remake-sarah-palin&amp;amp;title=%22Game+Change%22%3A+A+Remake+of+Frankenstein%2C+Featuring+Sarah+Palin" title="Digg this post on digg.com" id="service-links-digg-19" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/digg.png" alt="Digg" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fmotherjones.com%2Fpolitics%2F2012%2F03%2Fgame-change-frankenstein-remake-sarah-palin&amp;amp;t=%22Game+Change%22%3A+A+Remake+of+Frankenstein%2C+Featuring+Sarah+Palin" title="Share on Facebook." id="service-links-facebook-19" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/facebook.png" alt="Facebook" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="http://reddit.com/submit?url=http%3A%2F%2Fmotherjones.com%2Fpolitics%2F2012%2F03%2Fgame-change-frankenstein-remake-sarah-palin&amp;amp;title=%22Game+Change%22%3A+A+Remake+of+Frankenstein%2C+Featuring+Sarah+Palin" title="Submit this post on reddit.com." id="service-links-reddit-19" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/reddit.png" alt="Reddit" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fmotherjones.com%2Fpolitics%2F2012%2F03%2Fgame-change-frankenstein-remake-sarah-palin&amp;amp;title=%22Game+Change%22%3A+A+Remake+of+Frankenstein%2C+Featuring+Sarah+Palin" title="Thumb this up at StumbleUpon" id="service-links-stumbleupon-19" rel="nofollow" target="_blank"&gt;&lt;img src="/sites/all/modules/patched/service_links/images/stumbleit.png" alt="StumbleUpon" title="" width="16" height="16" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;</description>
<category domain="http://motherjones.com/category/sections/politics">Politics</category>
<category domain="http://motherjones.com/category/primary-tags/books">Books</category>
<category domain="http://motherjones.com/category/primary-tags/culture">Culture</category>
<category domain="http://motherjones.com/category/primary-tags/elections">Elections</category>
<category domain="http://motherjones.com/category/primary-tags/film">Film</category>
<category domain="http://motherjones.com/category/primary-tags/media">Media</category>
<category domain="http://motherjones.com/category/primary-tags/politics">Politics</category>
<category domain="http://motherjones.com/category/primary-tags/right">The Right</category>
<category domain="http://motherjones.com/category/primary-tags/top-stories">Top Stories</category>
<category domain="http://motherjones.com/category/primary-tags/video">Video</category>
<pubDate>Thu, 08 Mar 2012 11:00:00 +0000</pubDate>
<dc:creator>Asawin Suebsaeng</dc:creator>
<guid isPermaLink="false">166176 at http://motherjones.com</guid>
</item>
</channel>
</rss>

View file

@ -93,6 +93,21 @@
"last_read_date": "2009-07-28 23:17:27"
}
},
{
"pk": 7,
"model": "reader.usersubscription",
"fields": {
"feed": 7,
"active": true,
"unread_count_updated": "2009-08-01 00:23:42",
"mark_read_date": "2009-07-28 23:17:27",
"unread_count_neutral": 0,
"unread_count_positive": 0,
"unread_count_negative": 0,
"user": 1,
"last_read_date": "2009-07-28 23:17:27"
}
},

View file

@ -7,6 +7,7 @@
"days_to_trim": 90,
"feed_link": "%(NEWSBLUR_DIR)s/apps/rss_feeds/fixtures/slashdot1.html",
"feed_link_locked": true,
"fetched_once": true,
"num_subscribers": 1,
"active_subscribers": 1,
"creation": "2009-01-12",

File diff suppressed because one or more lines are too long

View file

@ -7,6 +7,7 @@
"days_to_trim": 90,
"feed_link": "%(NEWSBLUR_DIR)s/apps/rss_feeds/fixtures/slashdot1.html",
"feed_link_locked": true,
"fetched_once": true,
"num_subscribers": 0,
"creation": "2009-01-12",
"feed_title": "Slashdot",

File diff suppressed because one or more lines are too long

View file

@ -19,7 +19,7 @@ from mongoengine.base import ValidationError
from apps.rss_feeds.tasks import UpdateFeeds
from celery.task import Task
from utils import json_functions as json
from utils import feedfinder
from utils import feedfinder, feedparser
from utils import urlnorm
from utils import log as logging
from utils.fields import AutoOneToOneField
@ -187,7 +187,15 @@ class Feed(models.Model):
if feed and len(feed) > offset:
feed = feed[offset]
elif create:
create_okay = False
if feedfinder.isFeed(url):
create_okay = True
elif aggressive:
# Could still be a feed. Just check if there are entries
fp = feedparser.parse(url)
if len(fp.entries):
create_okay = True
if create_okay:
feed = cls.objects.create(feed_address=url)
feed = feed.update()
@ -608,13 +616,10 @@ class Feed(models.Model):
from utils import feed_fetcher
if not options:
options = {}
if settings.DEBUG:
if getattr(settings, 'TEST_DEBUG', False):
self.feed_address = self.feed_address % {'NEWSBLUR_DIR': settings.NEWSBLUR_DIR}
self.feed_link = self.feed_link % {'NEWSBLUR_DIR': settings.NEWSBLUR_DIR}
self.last_update = datetime.datetime.utcnow()
self.set_next_scheduled_update()
options.update({
'verbose': verbose,
'timeout': 10,
@ -626,16 +631,19 @@ class Feed(models.Model):
})
disp = feed_fetcher.Dispatcher(options, 1)
disp.add_jobs([[self.pk]])
disp.run_jobs()
feed = disp.run_jobs()
feed.last_update = datetime.datetime.utcnow()
feed.set_next_scheduled_update()
try:
feed = Feed.objects.get(pk=self.pk)
feed = Feed.objects.get(pk=feed.pk)
except Feed.DoesNotExist:
# Feed has been merged after updating. Find the right feed.
duplicate_feeds = DuplicateFeed.objects.filter(duplicate_feed_id=self.pk)
duplicate_feeds = DuplicateFeed.objects.filter(duplicate_feed_id=feed.pk)
if duplicate_feeds:
feed = duplicate_feeds[0].feed
return feed
def add_update_stories(self, stories, existing_stories, verbose=False):
@ -645,97 +653,101 @@ class Feed(models.Model):
ENTRY_SAME:0,
ENTRY_ERR:0
}
for story in stories:
story = pre_process_story(story)
if story.get('title'):
story_content = story.get('story_content')
story_tags = self.get_tags(story)
story_link = self.get_permalink(story)
existing_story, story_has_changed = self._exists_story(story, story_content, existing_stories)
if existing_story is None:
s = MStory(story_feed_id = self.pk,
story_date = story.get('published'),
story_title = story.get('title'),
story_content = story_content,
story_author_name = story.get('author'),
story_permalink = story_link,
story_guid = story.get('guid'),
story_tags = story_tags
)
try:
s.save()
ret_values[ENTRY_NEW] += 1
except (IntegrityError, OperationError), e:
ret_values[ENTRY_ERR] += 1
if verbose:
logging.info('Saving new story, IntegrityError: %s - %s: %s' % (self.feed_title, story.get('title'), e))
elif existing_story and story_has_changed:
# update story
# logging.debug('- Updated story in feed (%s - %s): %s / %s' % (self.feed_title, story.get('title'), len(existing_story.story_content), len(story_content)))
original_content = None
try:
if existing_story and existing_story.id:
try:
existing_story = MStory.objects.get(story_feed_id=existing_story.story_feed_id,
id=existing_story.id)
except ValidationError:
existing_story = MStory.objects.get(story_feed_id=existing_story.story_feed_id,
story_guid=existing_story.id)
elif existing_story and existing_story.story_guid:
existing_story = MStory.objects.get(story_feed_id=existing_story.story_feed_id,
story_guid=existing_story.story_guid)
else:
raise MStory.DoesNotExist
except (MStory.DoesNotExist, OperationError), e:
ret_values[ENTRY_ERR] += 1
if verbose:
logging.info('Saving existing story, OperationError: %s - %s: %s' % (self.feed_title, story.get('title'), e))
continue
if existing_story.story_original_content_z:
original_content = zlib.decompress(existing_story.story_original_content_z)
elif existing_story.story_content_z:
original_content = zlib.decompress(existing_story.story_content_z)
# print 'Type: %s %s' % (type(original_content), type(story_content))
if story_content and len(story_content) > 10:
diff = HTMLDiff(unicode(original_content), story_content)
story_content_diff = diff.getDiff()
if not story.get('title'):
continue
story_content = story.get('story_content')
story_tags = self.get_tags(story)
story_link = self.get_permalink(story)
existing_story, story_has_changed = self._exists_story(story, story_content, existing_stories)
if existing_story is None:
s = MStory(story_feed_id = self.pk,
story_date = story.get('published'),
story_title = story.get('title'),
story_content = story_content,
story_author_name = story.get('author'),
story_permalink = story_link,
story_guid = story.get('guid'),
story_tags = story_tags
)
try:
s.save()
ret_values[ENTRY_NEW] += 1
except (IntegrityError, OperationError), e:
ret_values[ENTRY_ERR] += 1
if verbose:
logging.info('Saving new story, IntegrityError: %s - %s: %s' % (self.feed_title, story.get('title'), e))
elif existing_story and story_has_changed:
# update story
# logging.debug('- Updated story in feed (%s - %s): %s / %s' % (self.feed_title, story.get('title'), len(existing_story.story_content), len(story_content)))
original_content = None
try:
if existing_story and existing_story.id:
try:
existing_story = MStory.objects.get(story_feed_id=existing_story.story_feed_id,
id=existing_story.id)
except ValidationError:
existing_story = MStory.objects.get(story_feed_id=existing_story.story_feed_id,
story_guid=existing_story.id)
elif existing_story and existing_story.story_guid:
existing_story = MStory.objects.get(story_feed_id=existing_story.story_feed_id,
story_guid=existing_story.story_guid)
else:
story_content_diff = original_content
# logging.debug("\t\tDiff: %s %s %s" % diff.getStats())
# logging.debug("\t\tDiff content: %s" % diff.getDiff())
# if existing_story.story_title != story.get('title'):
# logging.debug('\tExisting title / New: : \n\t\t- %s\n\t\t- %s' % (existing_story.story_title, story.get('title')))
if existing_story.story_guid != story.get('guid'):
self.update_read_stories_with_new_guid(existing_story.story_guid, story.get('guid'))
existing_story.story_feed = self.pk
existing_story.story_date = story.get('published')
existing_story.story_title = story.get('title')
existing_story.story_content = story_content_diff
existing_story.story_original_content = original_content
existing_story.story_author_name = story.get('author')
existing_story.story_permalink = story_link
existing_story.story_guid = story.get('guid')
existing_story.story_tags = story_tags
try:
existing_story.save()
ret_values[ENTRY_UPDATED] += 1
except (IntegrityError, OperationError):
ret_values[ENTRY_ERR] += 1
if verbose:
logging.info('Saving updated story, IntegrityError: %s - %s' % (self.feed_title, story.get('title')))
except ValidationError, e:
ret_values[ENTRY_ERR] += 1
if verbose:
logging.info('Saving updated story, ValidationError: %s - %s: %s' % (self.feed_title, story.get('title'), e))
raise MStory.DoesNotExist
except (MStory.DoesNotExist, OperationError), e:
ret_values[ENTRY_ERR] += 1
if verbose:
logging.info('Saving existing story, OperationError: %s - %s: %s' % (self.feed_title, story.get('title'), e))
continue
if existing_story.story_original_content_z:
original_content = zlib.decompress(existing_story.story_original_content_z)
elif existing_story.story_content_z:
original_content = zlib.decompress(existing_story.story_content_z)
# print 'Type: %s %s' % (type(original_content), type(story_content))
if story_content and len(story_content) > 10:
diff = HTMLDiff(unicode(original_content), story_content)
story_content_diff = diff.getDiff()
else:
ret_values[ENTRY_SAME] += 1
# logging.debug("Unchanged story: %s " % story.get('title'))
story_content_diff = original_content
# logging.debug("\t\tDiff: %s %s %s" % diff.getStats())
# logging.debug("\t\tDiff content: %s" % diff.getDiff())
# if existing_story.story_title != story.get('title'):
# logging.debug('\tExisting title / New: : \n\t\t- %s\n\t\t- %s' % (existing_story.story_title, story.get('title')))
if existing_story.story_guid != story.get('guid'):
self.update_read_stories_with_new_guid(existing_story.story_guid, story.get('guid'))
existing_story.story_feed = self.pk
# Do not allow publishers to change the story date once a story is published.
# Leads to incorrect unread story counts.
# existing_story.story_date = story.get('published')
existing_story.story_title = story.get('title')
existing_story.story_content = story_content_diff
existing_story.story_original_content = original_content
existing_story.story_author_name = story.get('author')
existing_story.story_permalink = story_link
existing_story.story_guid = story.get('guid')
existing_story.story_tags = story_tags
try:
existing_story.save()
ret_values[ENTRY_UPDATED] += 1
except (IntegrityError, OperationError):
ret_values[ENTRY_ERR] += 1
if verbose:
logging.info('Saving updated story, IntegrityError: %s - %s' % (self.feed_title, story.get('title')))
except ValidationError, e:
ret_values[ENTRY_ERR] += 1
if verbose:
logging.info('Saving updated story, ValidationError: %s - %s: %s' % (self.feed_title, story.get('title'), e))
else:
ret_values[ENTRY_SAME] += 1
# logging.debug("Unchanged story: %s " % story.get('title'))
return ret_values
def update_read_stories_with_new_guid(self, old_story_guid, new_story_guid):
@ -743,8 +755,12 @@ class Feed(models.Model):
read_stories = MUserStory.objects.filter(feed_id=self.pk, story_id=old_story_guid)
for story in read_stories:
story.story_id = new_story_guid
story.save()
try:
story.save()
except OperationError:
# User read both new and old. Just toss.
pass
def save_popular_tags(self, feed_tags=None, verbose=False):
if not feed_tags:
all_tags = MStory.objects(story_feed_id=self.pk, story_tags__exists=True).item_frequencies('story_tags')
@ -913,8 +929,9 @@ class Feed(models.Model):
story_link = self.get_permalink(story)
start_date = story_pub_date - datetime.timedelta(hours=8)
end_date = story_pub_date + datetime.timedelta(hours=8)
for existing_story in existing_stories:
content_ratio = 0
existing_story_pub_date = existing_story.story_date
# print 'Story pub date: %s %s' % (story_published_now, story_pub_date)

View file

@ -37,7 +37,7 @@ class FeedTest(TestCase):
url = reverse('load-single-feed', kwargs=dict(feed_id=1))
response = self.client.get(url)
feed = json.decode(response.content)
self.assertEquals(len(feed['stories']), 12)
self.assertEquals(len(feed['stories']), 6)
def test_load_feeds__gothamist(self):
self.client.login(username='conesus', password='test')
@ -55,7 +55,7 @@ class FeedTest(TestCase):
url = reverse('load-single-feed', kwargs=dict(feed_id=4))
response = self.client.get(url)
content = json.decode(response.content)
self.assertEquals(len(content['stories']), 12)
self.assertEquals(len(content['stories']), 6)
management.call_command('loaddata', 'gothamist_aug_2009_2.json', verbosity=0)
management.call_command('refresh_feed', force=1, feed=4, single_threaded=True, daemonize=False)
@ -68,13 +68,12 @@ class FeedTest(TestCase):
# print [c['story_title'] for c in json.decode(response.content)]
content = json.decode(response.content)
# Test: 1 changed char in title
self.assertEquals(len(content['stories']), 12)
self.assertEquals(len(content['stories']), 6)
def test_load_feeds__slashdot(self):
self.client.login(username='conesus', password='test')
old_story_guid = "{'original-id': u'http://yro.slashdot.org/story/09/09/05/0112254/Court-Allows-Microsoft-To-Sell-Word-During-Appeal?from=rss', 'gr:original-id': u'http://yro.slashdot.org/story/09/09/05/0112254/Court-Allows-Microsoft-To-Sell-Word-During-Appeal?from=rss'}"
new_story_guid = "{'original-id': u'http://yro.slashdot.org/story/09/09/05/0112254/Court-Allows-Microsoft-To-Sell-Word-During-Appeal?from=rss!!', 'gr:original-id': u'http://yro.slashdot.org/story/09/09/05/0112254/Court-Allows-Microsoft-To-Sell-Word-During-Appeal?from=rss!!'}"
old_story_guid = "tag:google.com,2005:reader/item/4528442633bc7b2b"
management.call_command('loaddata', 'slashdot1.json', verbosity=0)
@ -90,7 +89,7 @@ class FeedTest(TestCase):
response = self.client.get(reverse('load-feeds'))
content = json.decode(response.content)
self.assertEquals(content['feeds']['5']['nt'], 38)
self.client.post(reverse('mark-story-as-read'), {'story_id': old_story_guid, 'feed_id': 5})
response = self.client.get(reverse('refresh-feeds'))
@ -110,12 +109,56 @@ class FeedTest(TestCase):
feed = json.decode(response.content)
# Test: 1 changed char in title
self.assertEquals(len(feed['stories']), 12)
self.assertEquals(len(feed['stories']), 6)
response = self.client.get(reverse('refresh-feeds'))
content = json.decode(response.content)
self.assertEquals(content['feeds']['5']['nt'], 37)
def test_load_feeds__motherjones(self):
self.client.login(username='conesus', password='test')
management.call_command('loaddata', 'motherjones1.json', verbosity=0)
feed = Feed.objects.get(feed_link__contains='motherjones')
stories = MStory.objects(story_feed_id=feed.pk)
self.assertEquals(stories.count(), 0)
management.call_command('refresh_feed', force=1, feed=feed.pk, single_threaded=True, daemonize=False)
stories = MStory.objects(story_feed_id=feed.pk)
self.assertEquals(stories.count(), 10)
response = self.client.get(reverse('load-feeds'))
content = json.decode(response.content)
self.assertEquals(content['feeds'][str(feed.pk)]['nt'], 10)
self.client.post(reverse('mark-story-as-read'), {'story_id': stories[0].story_guid, 'feed_id': feed.pk})
response = self.client.get(reverse('refresh-feeds'))
content = json.decode(response.content)
self.assertEquals(content['feeds'][str(feed.pk)]['nt'], 9)
management.call_command('loaddata', 'motherjones2.json', verbosity=0)
management.call_command('refresh_feed', force=1, feed=feed.pk, single_threaded=True, daemonize=False)
stories = MStory.objects(story_feed_id=feed.pk)
self.assertEquals(stories.count(), 10)
url = reverse('load-single-feed', kwargs=dict(feed_id=feed.pk))
response = self.client.get(url)
# pprint([c['story_title'] for c in json.decode(response.content)])
feed = json.decode(response.content)
# Test: 1 changed char in title
self.assertEquals(len(feed['stories']), 6)
response = self.client.get(reverse('refresh-feeds'))
content = json.decode(response.content)
self.assertEquals(content['feeds'][str(feed['feed_id'])]['nt'], 9)
def test_load_feeds__brokelyn__invalid_xml(self):
self.client.login(username='conesus', password='test')
@ -129,7 +172,7 @@ class FeedTest(TestCase):
feed = json.decode(response.content)
# Test: 1 changed char in title
self.assertEquals(len(feed['stories']), 10)
self.assertEquals(len(feed['stories']), 6)
def test_all_feeds(self):
pass

View file

@ -201,7 +201,6 @@ def exception_change_feed_address(request):
feed = feed.update()
feed = Feed.objects.get(pk=feed.pk)
usersub = UserSubscription.objects.get(user=request.user, feed=original_feed)
if usersub:
usersub.switch_feed(feed, original_feed)

View file

@ -50,6 +50,7 @@ javascripts:
- media/js/jquery.flot.js
- media/js/jquery.tipsy.js
- media/js/jquery.chosen.js
- media/js/jquery.linkify.js
- media/js/audio.js
- media/js/socket.io-client.0.8.7.js
- media/js/inflector.js

View file

@ -5537,6 +5537,13 @@ background: transparent;
margin: 0 6px 0 0;
background: transparent url('/media/embed/mobile/android.png') no-repeat 0 0;
}
.NB-modal-goodies .NB-goodies-nokia {
float: right;
width: 28px;
height: 28px;
margin: 0 6px 0 0;
background: transparent url('/media/embed/mobile/nokia.png') no-repeat 0 0;
}
/* ============================ */
/* = Keyboard Shortcuts Modal = */

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

BIN
media/img/mobile/nokia.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 539 B

After

Width:  |  Height:  |  Size: 1.1 KiB

View file

@ -237,15 +237,20 @@
[appDelegate.dictFoldersArray addObject:f];
NSArray *folder = [appDelegate.dictFolders objectForKey:f];
sortedArray = [folder sortedArrayUsingComparator:^NSComparisonResult(id id1, id id2) {
return [[[appDelegate.dictFeeds objectForKey:[NSString stringWithFormat:@"%@", id1]] objectForKey:@"feed_title"]
caseInsensitiveCompare:[[appDelegate.dictFeeds objectForKey:[NSString stringWithFormat:@"%@", id2]] objectForKey:@"feed_title"]];
NSString *feedTitleA = [[appDelegate.dictFeeds
objectForKey:[NSString stringWithFormat:@"%@", id1]]
objectForKey:@"feed_title"];
NSString *feedTitleB = [[appDelegate.dictFeeds
objectForKey:[NSString stringWithFormat:@"%@", id2]]
objectForKey:@"feed_title"];
return [feedTitleA caseInsensitiveCompare:feedTitleB];
}];
[sortedFolders setValue:sortedArray forKey:f];
}
appDelegate.dictFolders = sortedFolders;
[appDelegate.dictFoldersArray sortUsingSelector:@selector(caseInsensitiveCompare:)];
NSLog(@"Folders: %@, Array: %@", appDelegate.dictFolders, appDelegate.dictFoldersArray);
[self calculateFeedLocations:YES];
[self.feedTitlesTable reloadData];

View file

@ -15,7 +15,7 @@
// #define BACKGROUND_REFRESH_SECONDS -5
#define BACKGROUND_REFRESH_SECONDS -10*60
// #define NEWSBLUR_URL [NSString stringWithFormat:@"nb.local.host:8000"]
#define NEWSBLUR_URL [NSString stringWithFormat:@"www.newsblur.com"]
#define NEWSBLUR_URL [NSString stringWithFormat:@"nb.local.host:8000"]
// #define NEWSBLUR_URL [NSString stringWithFormat:@"www.newsblur.com"]
#endif

192
media/js/jquery.linkify.js Normal file
View file

@ -0,0 +1,192 @@
/* encoding: utf-8
**** linkify plugin for jQuery - automatically finds and changes URLs in text content into proper hyperlinks ****
Version: 1.0
Copyright (c) 2009
Már Örlygsson (http://mar.anomy.net/) &
Hugsmiðjan ehf. (http://www.hugsmidjan.is)
Dual licensed under a MIT licence (http://en.wikipedia.org/wiki/MIT_License)
and GPL 2.0 or above (http://www.gnu.org/licenses/old-licenses/gpl-2.0.html).
-----------------------------------------------------------------------------
Demo and Qunit-tests:
* <./jquery.linkify-1.0-demo.html>
* <./jquery.linkify-1.0-test.html>
Documentation:
* ...
Get updates from:
* <http://github.com/maranomynet/linkify/>
* <git://github.com/maranomynet/linkify.git>
-----------------------------------------------------------------------------
Requires:
* jQuery (1.2.6 or later)
Usage:
jQuery('.articlebody').linkify();
// adding plugins:
jQuery.extend( jQuery.fn.linkify.plugins, {
name1: {
re: RegExp
tmpl: String/Function
},
name2: function(html){ return html; }
});
// Uses all plugins by default:
jQuery('.articlebody').linkify();
// Use only certain plugins:
jQuery('.articlebody').linkify( 'name1,name2' );
jQuery('.articlebody').linkify({ use: 'name1,name2' });
jQuery('.articlebody').linkify({ use: ['name1','name2'] });
// Explicitly use all plugins:
jQuery('.articlebody').linkify('*');
jQuery('.articlebody').linkify({ use: '*' });
jQuery('.articlebody').linkify({ use: ['*'] });
// Use no plugins:
jQuery('.articlebody').linkify('');
jQuery('.articlebody').linkify({ use: '' });
jQuery('.articlebody').linkify({ use: [] });
jQuery('.articlebody').linkify({ use: [''] });
// Perfmorm actions on all newly created links:
jQuery('.articlebody').linkify( function (links){ links.addClass('linkified'); } );
jQuery('.articlebody').linkify({ handleLinks: function (links){ links.addClass('linkified'); } });
*/
(function($){
var noProtocolUrl = /(^|["'(\s]|&lt;)(www\..+?\..+?)((?:[:?]|\.+)?(?:\s|$)|&gt;|[)"',])/g,
httpOrMailtoUrl = /(^|["'(\s]|&lt;)((?:(?:https?|ftp):\/\/|mailto:).+?)((?:[:?]|\.+)?(?:\s|$)|&gt;|[)"',])/g,
linkifier = function ( html ) {
return html
.replace( noProtocolUrl, '$1<a href="<``>://$2">$2</a>$3' ) // NOTE: we escape `"http` as `"<``>` to make sure `httpOrMailtoUrl` below doesn't find it as a false-positive
.replace( httpOrMailtoUrl, '$1<a href="$2">$2</a>$3' )
.replace( /"<``>/g, '"http' ); // reinsert `"http`
},
linkify = $.fn.linkify = function ( cfg ) {
if ( !$.isPlainObject( cfg ) )
{
cfg = {
use: (typeof cfg == 'string') ? cfg : undefined,
handleLinks: $.isFunction(cfg) ? cfg : arguments[1]
};
}
var use = cfg.use,
allPlugins = linkify.plugins || {},
plugins = [linkifier],
tmpCont,
newLinks = [],
callback = cfg.handleLinks;
if ( use == undefined || use == '*' ) // use === undefined || use === null
{
for ( var name in allPlugins )
{
plugins.push( allPlugins[name] );
}
}
else
{
use = $.isArray( use ) ? use : $.trim(use).split( / *, */ );
var plugin,
name;
for ( var i=0, l=use.length; i<l; i++ )
{
name = use[i];
plugin = allPlugins[name];
if ( plugin )
{
plugins.push( plugin );
}
}
}
this.each(function () {
var childNodes = this.childNodes,
i = childNodes.length;
while ( i-- )
{
var n = childNodes[i];
if ( n.nodeType == 3 )
{
var html = n.nodeValue;
if ( html.length>1 && /\S/.test(html) )
{
var htmlChanged,
preHtml;
tmpCont = tmpCont || $('<div/>')[0];
tmpCont.innerHTML = '';
tmpCont.appendChild( n.cloneNode(false) );
var tmpContNodes = tmpCont.childNodes;
for (var j=0, plugin; (plugin = plugins[j]); j++)
{
var k = tmpContNodes.length,
tmpNode;
while ( k-- )
{
tmpNode = tmpContNodes[k];
if ( tmpNode.nodeType == 3 )
{
html = tmpNode.nodeValue;
if ( html.length>1 && /\S/.test(html) )
{
preHtml = html;
html = html
.replace( /&/g, '&amp;' )
.replace( /</g, '&lt;' )
.replace( />/g, '&gt;' );
html = $.isFunction( plugin ) ?
plugin( html ):
html.replace( plugin.re, plugin.tmpl );
htmlChanged = htmlChanged || preHtml!=html;
preHtml!=html && $(tmpNode).after(html).remove();
}
}
}
}
html = tmpCont.innerHTML;
if ( callback )
{
html = $('<div/>').html(html);
//newLinks.push.apply( newLinks, html.find('a').toArray() );
newLinks = newLinks.concat( html.find('a').toArray().reverse() );
html = html.contents();
}
htmlChanged && $(n).after(html).remove();
}
}
else if ( n.nodeType == 1 && !/^(a|button|textarea|code|pre)$/i.test(n.tagName) )
{
arguments.callee.call( n );
}
};
});
callback && callback( $(newLinks.reverse()) );
return this;
};
linkify.plugins = {
// default mailto: plugin
mailto: {
re: /(^|["'(\s]|&lt;)([^"'(\s&]+?@.+\.[a-z]{2,7})(([:?]|\.+)?(\s|$)|&gt;|[)"',])/gi,
tmpl: '$1<a href="mailto:$2">$2</a>$3'
}
};
})(jQuery);

View file

@ -33,23 +33,6 @@ NEWSBLUR.log = function(msg) {
$.fn.extend({
autolink: function() {
return this.each(function(){
var $desc = $(this);
$desc.textNodes().each(function(){
var text = $(this);
if(text && text.parent() && text.parent()[0] && text.parent()[0].nodeName != 'A') {
if (this.data.indexOf('http') != -1) {
text.replaceWith(this.data.replace(URL_REGEX, function($0, $1) {
console.log(["Replacing text link", $0]);
return '<a href="' + $0 +'">' + $0 + '</a>';
}));
}
}
});
});
},
textNodes: function() {
var ret = [];

View file

@ -186,7 +186,7 @@
maxWidth: null,
autoResize: true,
autoPosition: true,
zIndex: 1000,
zIndex: 10000,
close: true,
closeHTML: '<a class="modalCloseImg" title="Close"></a>',
closeClass: 'simplemodal-close',

View file

@ -2783,7 +2783,7 @@
send_story_to_readability: function(story_id) {
var story = this.model.get_story(story_id);
var url = 'https://readability.com/save';
var url = 'http://www.readability.com/save';
var readability_url = [
url,
'?url=',
@ -3672,6 +3672,7 @@
}
return true;
});
$('.NB-feed-story-content', $story).linkify();
})($story, story, image_count);
}
}
@ -3687,7 +3688,7 @@
},
make_story_content: function(story_content) {
var $story_content = $('<div>').html(story_content).autolink();
var $story_content = $('<div>').html(story_content);
return $story_content;
},
@ -4463,11 +4464,11 @@
}, this)).bind('mouseleave', _.bind(function(e) {
$(e.target).siblings('.NB-menu-manage-title').text('Email story').parent().removeClass('NB-menu-manage-highlight-instapaper');
}, this))),
// (NEWSBLUR.Preferences['story_share_readability'] && $.make('div', { className: 'NB-menu-manage-thirdparty-icon NB-menu-manage-thirdparty-readability'}).bind('mouseenter', _.bind(function(e) {
// $(e.target).siblings('.NB-menu-manage-title').text('Readability').parent().addClass('NB-menu-manage-highlight-readability');
// }, this)).bind('mouseleave', _.bind(function(e) {
// $(e.target).siblings('.NB-menu-manage-title').text('Email story').parent().removeClass('NB-menu-manage-highlight-readability');
// }, this))),
(NEWSBLUR.Preferences['story_share_readability'] && $.make('div', { className: 'NB-menu-manage-thirdparty-icon NB-menu-manage-thirdparty-readability'}).bind('mouseenter', _.bind(function(e) {
$(e.target).siblings('.NB-menu-manage-title').text('Readability').parent().addClass('NB-menu-manage-highlight-readability');
}, this)).bind('mouseleave', _.bind(function(e) {
$(e.target).siblings('.NB-menu-manage-title').text('Email story').parent().removeClass('NB-menu-manage-highlight-readability');
}, this))),
$.make('div', { className: 'NB-menu-manage-image' }),
$.make('div', { className: 'NB-menu-manage-title' }, 'Email story')
]).bind('click', _.bind(function(e) {

View file

@ -86,6 +86,14 @@ NEWSBLUR.ReaderGoodies.prototype = {
}, 'View in Android Market'),
$.make('div', { className: 'NB-goodies-android' }),
$.make('div', { className: 'NB-goodies-title' }, 'Blar: User-Created Android App')
]),
$.make('div', { className: 'NB-goodies-group NB-modal-submit' }, [
$.make('a', {
className: 'NB-goodies-mobile-link NB-modal-submit-button NB-modal-submit-green',
href: 'http://projects.developer.nokia.com/feed_reader'
}, 'View in Nokia Store'),
$.make('div', { className: 'NB-goodies-nokia' }),
$.make('div', { className: 'NB-goodies-title' }, 'Web Feeds: User-Created MeeGo App')
])
]);
},

View file

@ -203,6 +203,16 @@ NEWSBLUR.ReaderKeyboard.prototype = {
'm'
])
])
]),
$.make('div', { className: 'NB-keyboard-group' }, [
$.make('div', { className: 'NB-keyboard-shortcut' }, [
$.make('div', { className: 'NB-keyboard-shortcut-explanation' }, 'Toggle read/unread'),
$.make('div', { className: 'NB-keyboard-shortcut-key' }, [
'shift',
$.make('span', '+'),
'u'
])
])
])
]);
},
@ -259,4 +269,4 @@ NEWSBLUR.ReaderKeyboard.prototype = {
});
}
};
};

View file

@ -450,10 +450,10 @@ _.extend(NEWSBLUR.ReaderPreferences.prototype, {
$.make('input', { type: 'checkbox', id: 'NB-preference-story-share-facebook', name: 'story_share_facebook' }),
$.make('label', { 'for': 'NB-preference-story-share-facebook' })
]),
// $.make('div', { className: 'NB-preference-option', title: 'Readability' }, [
// $.make('input', { type: 'checkbox', id: 'NB-preference-story-share-readability', name: 'story_share_readability' }),
// $.make('label', { 'for': 'NB-preference-story-share-readability' })
// ]),
$.make('div', { className: 'NB-preference-option', title: 'Readability' }, [
$.make('input', { type: 'checkbox', id: 'NB-preference-story-share-readability', name: 'story_share_readability' }),
$.make('label', { 'for': 'NB-preference-story-share-readability' })
]),
$.make('div', { className: 'NB-preference-option', title: 'Instapaper' }, [
$.make('input', { type: 'checkbox', id: 'NB-preference-story-share-instapaper', name: 'story_share_instapaper' }),
$.make('label', { 'for': 'NB-preference-story-share-instapaper' })

View file

@ -375,7 +375,7 @@
<a href="/iphone/" class="NB-splash-link">See the free NewsBlur iPhone App</a>
</div>
</div>
<div class="NB-module-item NB-last {% if user_profile.hide_mobile %}NB-hidden{% endif %}">
<div class="NB-module-item {% if user_profile.hide_mobile %}NB-hidden{% endif %}">
<div class="NB-module-mobile-image">
<img src="{{ MEDIA_URL }}/img/mobile/android-icon-blar.png" />
</div>
@ -391,6 +391,22 @@
<a href="https://market.android.com/details?id=bitwrit.Blar" class="NB-splash-link">Download Blar on the Android Market</a>
</div>
</div>
<div class="NB-module-item NB-last {% if user_profile.hide_mobile %}NB-hidden{% endif %}">
<div class="NB-module-mobile-image">
<img src="{{ MEDIA_URL }}/img/mobile/meego-icon-webfeeds.png" />
</div>
<h3 class="NB-module-content-header">
<span class="NB-module-content-subtitle">
User-Built Client
</span>
<div class="NB-module-mobile-title">Web Feeds</div>
<div class="NB-module-mobile-device">Nokia MeeGo</div>
</h3>
<div class="NB-module-item-title">
<span class="NB-raquo">&raquo;</span>
<a href="http://projects.developer.nokia.com/feed_reader" class="NB-splash-link">Download Web Feeds on the Nokia Store</a>
</div>
</div>
</div>
{% endif %}

View file

@ -74,6 +74,10 @@
</div>
{% endblock content %}
{% block extra_head_js %}
<script>
$(document).ready(function() {
var $features = $('.NB-iphone-main .NB-iphone-feature');
@ -146,4 +150,4 @@ $(document).ready(function() {
});
</script>
{% endblock content %}
{% endblock %}

View file

@ -164,6 +164,14 @@
Aug 24, 2010
</span>
</li>
<li>
<a href="http://www.baixaki.com.br/download/newsblur.htm">NewsBlur: Visualize página inteiras em um completo leitor de RSS integrado ao Chrome.</a>
<span class="NB-press-publisher">
<img src="http://www.baixaki.com.br/favicon.ico">
Baixaki</span>,
<span class="NB-press-author">Gratuito</span>,
<span class="NB-press-date">Sept 26, 2011</span>
</li>
<li>
<a href="http://tecnologia7.net/servicios-web/newsblur-lector-feeds-rss-google-reader/?utm_source=feedburner&utm_medium=twitter&utm_campaign=Feed%3A+Tecnologia7+%28Tecnolog%C3%ADa+7%29">
NewsBlur lector de feeds como Google Reader

View file

@ -179,7 +179,8 @@ class ProcessFeed:
self.fpf.entries = self.fpf.entries[:50]
self.feed.feed_title = self.fpf.feed.get('title', self.feed.feed_title)
if self.fpf.feed.get('title'):
self.feed.feed_title = self.fpf.feed.get('title')
tagline = self.fpf.feed.get('tagline', self.feed.data.feed_tagline)
if tagline:
self.feed.data.feed_tagline = utf8encode(tagline)
@ -208,7 +209,7 @@ class ProcessFeed:
# if story.get('published') > end_date:
# end_date = story.get('published')
story_guids.append(story.get('guid') or story.get('link'))
existing_stories = list(MStory.objects(
# story_guid__in=story_guids,
story_date__gte=start_date,
@ -408,6 +409,9 @@ class Dispatcher:
self.feed_stats[ret_feed] += 1
for key, val in ret_entries.items():
self.entry_stats[key] += val
if len(feed_queue) == 1:
return feed
# time_taken = datetime.datetime.utcnow() - self.time_start
@ -451,7 +455,7 @@ class Dispatcher:
def run_jobs(self):
if self.options['single_threaded']:
self.process_feed_wrapper(self.feeds_queue[0])
return self.process_feed_wrapper(self.feeds_queue[0])
else:
for i in range(self.num_threads):
feed_queue = self.feeds_queue[i]

View file

@ -47,6 +47,7 @@ Also Jason Diamond, Brian Lalor for bug reporting and patches"""
_debug = 0
import sgmllib, urllib, urlparse, re, sys, robotparser
import requests
from StringIO import StringIO
from lxml import etree
@ -75,7 +76,8 @@ class URLGatekeeper:
self.urlopener = urllib.FancyURLopener()
self.urlopener.version = "NewsBlur Feed Finder (Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_1) AppleWebKit/534.48.3 (KHTML, like Gecko) Version/5.1 Safari/534.48.3)"
_debuglog(self.urlopener.version)
self.urlopener.addheaders = [('User-agent', self.urlopener.version)]
self.urlopener.addheaders = [('User-Agent', self.urlopener.version)]
# self.urlopener.addheaders = [('User-Agent', self.urlopener.version), ('Accept', '*')]
robotparser.URLopener.version = self.urlopener.version
robotparser.URLopener.addheaders = self.urlopener.addheaders
@ -103,7 +105,7 @@ class URLGatekeeper:
def get(self, url, check=True):
if check and not self.can_fetch(url): return ''
try:
return self.urlopener.open(url).read()
return requests.get(url, headers=dict(self.urlopener.addheaders)).content
except:
return ''
@ -292,6 +294,7 @@ def feeds(uri, all=False, querySyndic8=False, _recurs=None):
if all or not outfeeds:
_debuglog('no A tags, guessing')
suffixes = [ # filenames used by popular software:
'feed/', # obvious
'atom.xml', # blogger, TypePad
'index.atom', # MT, apparently
'index.rdf', # MT

View file

@ -15,7 +15,7 @@ MONGO_DB = {
}
TEST_DATABASE_NAME = ":memory:"
DAYS_OF_UNREAD = 9999
TEST_DEBUG = True
# from django.db import connection