<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>Advogato blog for ralsina</title>
    <link>http://www.advogato.org/person/ralsina/</link>
    <description>Advogato blog for ralsina</description>
    <language>en-us</language>
    <generator>mod_virgule</generator>
    <pubDate>Sun, 19 May 2013 16:51:27 GMT</pubDate>
    <item>
      <pubDate>Thu, 14 Mar 2013 11:08:55 GMT</pubDate>
      <title>Moving the feed off Feedburner</title>
      <link>http://www.advogato.org/person/ralsina/diary.html?start=702</link>
      <guid>http://feedproxy.google.com/~r/LateralOpinion/~3/eWy52ROERBw/moving-the-feed-off-feedburner.html</guid>
      <description>&lt;p&gt;Since Google seems to be leaving behind RSS and they own Feedburner, and this site's feed is hosted there, I am regaining
control of it starting now. If you are reading this site via feedburner, the &lt;a href="http://ralsina.com.ar/weblog/rss.xml" &gt;new RSS feed is here&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I am stopping the feedburner updates so this will be visible there as long as the service stays up.&lt;/p&gt;</description>
    </item>
    <item>
      <pubDate>Wed, 13 Mar 2013 23:07:55 GMT</pubDate>
      <title>No, no hablo de eso.</title>
      <link>http://www.advogato.org/person/ralsina/diary.html?start=701</link>
      <guid>http://feedproxy.google.com/~r/LateralOpinion/~3/njQMyTY3MQM/no-no-hablo-de-eso.html</guid>
      <description>&lt;p&gt;As&#xED; que Bergoglio es papa. S&#xED;, Bergoglio, el que dijo que en el matrimonio igualitario
"est&#xE1; la envidia del Demonio que pretende destruir la imagen de Dios", porque la
imagen de su dios discrimina.&lt;/p&gt;
&lt;p&gt;S&#xED;, el Bergoglio que dice que ve prostitutas de once a&#xF1;os en la calle, pero en vez de hacer
una denuncia policial lo que hace es un discurso.&lt;/p&gt;
&lt;p&gt;Si, el Bergoglio que dijo "hay dos proyectos: el de nuestra fe, que reconoce a Dios
como Padre, y hay justicia y hay hermanos. Y otro proyecto, el que enga&#xF1;osamente nos
pone el enemigo, que es el del Dios ausente, la ley del m&#xE1;s fuerte, o el del
relativismo sin br&#xFA;jula" como si porque no creo en su dios soy una herramienta
de su demonio, y mala persona.&lt;/p&gt;
&lt;p&gt;S&#xED;, el Bergoglio que dijo "Lo peor que le puede pasar a un ser humano es dejarse
arrastrar inadecuadamente por las luces de la raz&#xF3;n", y que obviamente ha resistido
esa tentaci&#xF3;n por m&#xE1;s de setenta a&#xF1;os.&lt;/p&gt;
&lt;p&gt;Si, ese Bergoglio ahora es el soberano absoluto de la ciudad estado del Vaticano.
No, no tengo nada que decir al respecto.&lt;/p&gt;</description>
    </item>
    <item>
      <pubDate>Wed, 13 Mar 2013 00:09:50 GMT</pubDate>
      <title>Standalone Search in Nikola</title>
      <link>http://www.advogato.org/person/ralsina/diary.html?start=700</link>
      <guid>http://feedproxy.google.com/~r/LateralOpinion/~3/5HplLQX_BfM/standalone-search-in-nikola.html</guid>
      <description>&lt;p&gt;This has been in the master branch of &lt;a href="http://nikola.ralsina.com.ar" &gt;Nikola&lt;/a&gt; for a while
but only now have I tried to fully integrate it, and polish all (most) of the rough edges.&lt;/p&gt;
&lt;p&gt;By default, Nikola comes with support for search forms using Google and Duckduckgo. Some
people disapprove of them for different reasons &lt;a href="http://www.advogato.org/weblog/posts/standalone-search-in-nikola.html#id2" &gt;[1]&lt;/a&gt; so there was a request about supporting
a standalone search engine.&lt;/p&gt;
&lt;p&gt;The best of breed of those things seems to be &lt;a href="http://tipue.com" &gt;Tipue&lt;/a&gt; so that's what I
supported.&lt;/p&gt;
&lt;p&gt;To use this, you need to enable a plugin, and do some configuration changes.&lt;/p&gt;
&lt;p&gt;The plugin is called &lt;tt&gt;task_localsearch&lt;/tt&gt; and you can find it in
&lt;a href="https://github.com/ralsina/nikola/tree/master/extra_plugins" &gt;the Nikola source tree&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Suppose your site is in a folder called &lt;tt&gt;mysite&lt;/tt&gt; then to enable this plugin you need
to create &lt;tt&gt;mysite/plugins&lt;/tt&gt; and then copy &lt;tt&gt;task_localsearch.plugin&lt;/tt&gt; and &lt;tt&gt;task_localsearch&lt;/tt&gt;
in there.&lt;/p&gt;
&lt;p&gt;Then, in your site's &lt;tt&gt;conf.py&lt;/tt&gt; find these options and change them accordingly:&lt;/p&gt;
&lt;pre&gt;
SEARCH_FORM = """
&amp;lt;form action="#" class="navbar-form pull-left"&amp;gt;
&amp;lt;input type="text" id="tipue_search_input"&amp;gt;
&amp;lt;/form&amp;gt;"""

ANALYTICS = """
&amp;lt;script type="text/javascript" src="/assets/js/tipuesearch_set.js"&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script type="text/javascript" src="/assets/js/tipuesearch.js"&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script type="text/javascript"&amp;gt;
$(document).ready(function() {
    $('#tipue_search_input').tipuesearch({
        'mode': 'json',
        'contentLocation': '/assets/js/tipuesearch_content.json',
        'showUrl': false
    });
});
&amp;lt;/script&amp;gt;
"""

EXTRA_HEAD_DATA = """
&amp;lt;link rel="stylesheet" type="text/css" href="/assets/css/tipuesearch.css"&amp;gt;
&amp;lt;div id="tipue_search_content" style="margin-left: auto; margin-right: auto; padding: 20px;"&amp;gt;&amp;lt;/div&amp;gt;
"""
&lt;/pre&gt;
&lt;p&gt;How does it work? Here's a &lt;a href="http://localsearch.ralsina.com.ar" &gt;demo site&lt;/a&gt; for you to try!&lt;/p&gt;
&lt;p&gt;I would not recommend doing this for a big site, since it may load a multi-megabyte javascript file when you
search, but for small to medium sites, it may be ok.&lt;/p&gt;
&lt;table&gt;
  &lt;colgroup&gt;
    &lt;col class="label"/&gt;
    &lt;col/&gt;
  &lt;/colgroup&gt;
  &lt;tbody valign="top"&gt;
    &lt;tr&gt;&lt;td&gt;
        &lt;a href="http://www.advogato.org/weblog/posts/standalone-search-in-nikola.html#id1" &gt;[1]&lt;/a&gt;
      &lt;/td&gt;
      &lt;td&gt;My own reason for disapproving of duckduckgo site search? It finds nothing.&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;</description>
    </item>
    <item>
      <pubDate>Mon, 11 Mar 2013 22:06:28 GMT</pubDate>
      <title>Unfortunate Phrases by Famous People</title>
      <link>http://www.advogato.org/person/ralsina/diary.html?start=699</link>
      <guid>http://feedproxy.google.com/~r/LateralOpinion/~3/GnE4HUrzy5I/unfortunate-phrases-by-famous-people.html</guid>
      <description>&lt;p&gt;Like this one:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;When your country is at risk, everything is allowed, except not defending it.&lt;/p&gt;
&lt;p&gt;&#x2014;Jos&#xE9; de San Mart&#xED;n&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;For non-argentinian readers, imagine if that was said by a combination Washington/Lincoln
level figure famous for leading three countries to get rid of the spaniards and also for
a list of advices for young ladies, whose biography is titled "The saint with a sword".&lt;/p&gt;
&lt;p&gt;So, anyway, he said that. And that phrase is bad, bad, bad, unfortunate and horrible.&lt;/p&gt;
&lt;p&gt;It's &lt;em&gt;that&lt;/em&gt; bad because while a nice slogan to rally farmers into becoming soldiers in
the army of a nation that doesn't quite exist yet, it's awful advice for people who
live in an actual nation, with actual laws, an actual army, and people who worship
whatever crap you happened to say, Jos&#xE9;.&lt;/p&gt;
&lt;p&gt;It starts with the flaky premise "when your country is at risk" which means too
little, or too much, depending on just how much you need an excuse to do something
horrible.&lt;/p&gt;
&lt;p&gt;If you really want to be a bad person, I am sure you can convince yourself that
gays, immigrants, foreigners, muslims, jews, the young are &lt;em&gt;all&lt;/em&gt; a danger to your
country, somehow. You just need to stretch "danger" a little or maybe push "your country"
somewhat.&lt;/p&gt;
&lt;p&gt;And once you jumped that hurdle, and you are convinced your "country" is "at risk",
why, then you can do &lt;strong&gt;anything&lt;/strong&gt;. Unsurprisingly this stupid line is often framed
in military offices, and is a tired trope in military speeches.&lt;/p&gt;
&lt;p&gt;I quite like Jos&#xE9; de San Mart&#xED;n. This quote, however, is unfortunate.&lt;/p&gt;</description>
    </item>
    <item>
      <pubDate>Mon, 11 Mar 2013 01:06:08 GMT</pubDate>
      <title>Doing Your Homework, With Style</title>
      <link>http://www.advogato.org/person/ralsina/diary.html?start=698</link>
      <guid>http://feedproxy.google.com/~r/LateralOpinion/~3/fbuJrrNd_Kk/doing-your-homework-with-style.html</guid>
      <description>&lt;div&gt;
&lt;p&gt;Note&lt;/p&gt;
&lt;p&gt;The original poster claims this is not a school homework. Accepting that, it still doesn't
mean how to answer to homework requests is not worthy of discussion.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;As usual in all programming lists, every once in a while someone will post a question
in the Python Argentina list which is &lt;em&gt;obviously&lt;/em&gt; his homework. To handle that there are
two schools of thought.&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;Telling the student how to do it is helping them cheat.&lt;/li&gt;
&lt;li&gt;Telling the student how to do it is teaching him.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;I tend more towards 1) but I think I have discovered a middle road:&lt;/p&gt;
&lt;p&gt;1.5) Tell the student a solution that's more complicated than the problem.&lt;/p&gt;
&lt;p&gt;That way, if he figures out the solution, he has done the work, and if he doesn't
figure it out, it's going to be so obviously beyond his skill the teacher will
never accept it as an answer.&lt;/p&gt;
&lt;p&gt;As an example, here's the problem for which help was requested:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Given an unsorted list of two-letter elements (une lowercase, one uppercase), for example:&lt;/p&gt;
&lt;pre&gt;
['eD', 'fC', 'hC', 'iC', 'jD', 'bD', 'fH', 'mS', 'aS', 'mD']
&lt;/pre&gt;
&lt;p&gt;Sort it by these criteria:&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;&lt;p&gt;Create subsets according to the uppercase letter, and sort them by the number of members
in ascending order, like this:&lt;/p&gt;
&lt;pre&gt;
['fH', 'mS', 'aS', 'fC', 'hC', 'iC', 'jD', 'bD', 'eD', 'mD']
&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Then sort each subset in ascending order of the lowercase letter, like this:&lt;/p&gt;
&lt;pre&gt;
['fH', 'aS', 'mS', 'fC', 'hC', 'iC', 'bD', 'eD', 'jD', 'mD']
&lt;/pre&gt;
&lt;/li&gt;
&lt;/ol&gt;&lt;/blockquote&gt;
&lt;p&gt;Ignoring that the problem is not correctly written (there are at least two ways
to read it, probably more), I proposed this solution, which requires python 3:&lt;/p&gt;
&lt;pre&gt;
&lt;span&gt;from&lt;/span&gt; &lt;span&gt;collections&lt;/span&gt; &lt;span&gt;import&lt;/span&gt; &lt;span&gt;defaultdict&lt;/span&gt;
&lt;span&gt;d1&lt;/span&gt; &lt;span&gt;=&lt;/span&gt; &lt;span&gt;defaultdict&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;list&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;
&lt;span&gt;[&lt;/span&gt;&lt;span&gt;d1&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;i&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;]]&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;append&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;i&lt;/span&gt;&lt;span&gt;)&lt;/span&gt; &lt;span&gt;for&lt;/span&gt; &lt;span&gt;i&lt;/span&gt; &lt;span&gt;in&lt;/span&gt;  &lt;span&gt;[&lt;/span&gt;&lt;span&gt;'eD'&lt;/span&gt;&lt;span&gt;,&lt;/span&gt; &lt;span&gt;'fC'&lt;/span&gt;&lt;span&gt;,&lt;/span&gt; &lt;span&gt;'hC'&lt;/span&gt;&lt;span&gt;,&lt;/span&gt; &lt;span&gt;'iC'&lt;/span&gt;&lt;span&gt;,&lt;/span&gt; &lt;span&gt;'jD'&lt;/span&gt;&lt;span&gt;,&lt;/span&gt; &lt;span&gt;'bD'&lt;/span&gt;&lt;span&gt;,&lt;/span&gt; &lt;span&gt;'fH'&lt;/span&gt;&lt;span&gt;,&lt;/span&gt; &lt;span&gt;'mS'&lt;/span&gt;&lt;span&gt;,&lt;/span&gt; &lt;span&gt;'aS'&lt;/span&gt;&lt;span&gt;,&lt;/span&gt; &lt;span&gt;'mD'&lt;/span&gt;&lt;span&gt;]]&lt;/span&gt;
&lt;span&gt;{&lt;/span&gt;&lt;span&gt;i&lt;/span&gt;&lt;span&gt;:&lt;/span&gt; &lt;span&gt;d1&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;i&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;sort&lt;/span&gt;&lt;span&gt;()&lt;/span&gt; &lt;span&gt;for&lt;/span&gt; &lt;span&gt;i&lt;/span&gt; &lt;span&gt;in&lt;/span&gt; &lt;span&gt;d1&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;
&lt;span&gt;d2&lt;/span&gt; &lt;span&gt;=&lt;/span&gt; &lt;span&gt;{&lt;/span&gt;&lt;span&gt;len&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;d1&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;i&lt;/span&gt;&lt;span&gt;]):&lt;/span&gt; &lt;span&gt;d1&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;i&lt;/span&gt;&lt;span&gt;]&lt;/span&gt; &lt;span&gt;for&lt;/span&gt; &lt;span&gt;i&lt;/span&gt; &lt;span&gt;in&lt;/span&gt; &lt;span&gt;d1&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;
&lt;span&gt;print&lt;/span&gt;&lt;span&gt;([&lt;/span&gt;&lt;span&gt;item&lt;/span&gt; &lt;span&gt;for&lt;/span&gt; &lt;span&gt;sublist&lt;/span&gt; &lt;span&gt;in&lt;/span&gt; &lt;span&gt;[&lt;/span&gt;&lt;span&gt;d2&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;i&lt;/span&gt;&lt;span&gt;]&lt;/span&gt; &lt;span&gt;for&lt;/span&gt; &lt;span&gt;i&lt;/span&gt; &lt;span&gt;in&lt;/span&gt; &lt;span&gt;sorted&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;d2&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;keys&lt;/span&gt;&lt;span&gt;())]&lt;/span&gt; &lt;span&gt;for&lt;/span&gt; &lt;span&gt;item&lt;/span&gt; &lt;span&gt;in&lt;/span&gt; &lt;span&gt;sublist&lt;/span&gt;&lt;span&gt;])&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;This produces the desired result: &lt;tt&gt;['fH', 'aS', 'mS', 'fC', 'hC', 'iC', 'bD', 'eD', 'jD', 'mD']&lt;/tt&gt;
but it's done in such a way that to understand it, the student will need to understand roughly
three or four things he has probably not been taught yet.&lt;/p&gt;</description>
    </item>
    <item>
      <pubDate>Sun, 10 Mar 2013 14:06:11 GMT</pubDate>
      <title>A Django Le Salt&#xF3; La Cadena</title>
      <link>http://www.advogato.org/person/ralsina/diary.html?start=697</link>
      <guid>http://feedproxy.google.com/~r/LateralOpinion/~3/3gSaUHPsZ0o/a-django-le-salto-la-cadena.html</guid>
      <description>&lt;p&gt;Sorry, spanish only post!&lt;/p&gt;</description>
    </item>
    <item>
      <pubDate>Sun, 10 Mar 2013 02:07:14 GMT</pubDate>
      <title>A Few Problems with A Song Of Ice and Fire</title>
      <link>http://www.advogato.org/person/ralsina/diary.html?start=696</link>
      <guid>http://feedproxy.google.com/~r/LateralOpinion/~3/AdOPYKzvdIE/a-few-problems-with-a-song-of-ice-and-fire.html</guid>
      <description>&lt;p&gt;I read all of it, one book after the other, and ended a month ago. And since then, I have
had a couple of things about it bothering me. Let's see if they make some sense. Mind you,
I am going to read volumes six and seven, because these books are addictive as crack in
ebook-form.&lt;/p&gt;
&lt;p&gt;But, just like crack, they have some worrisome features.&lt;/p&gt;
&lt;div&gt;
&lt;h2&gt;There May Be No Plan&lt;/h2&gt;
&lt;p&gt;We are five books (and a couple of chapters) into it. It's supposed to be a seven book
series. And nothing has happened. You may say a lot &lt;em&gt;has&lt;/em&gt;, like "this character got killed"
and "that other character got killed" (and a hundred other characters got killed), yeah.&lt;/p&gt;
&lt;p&gt;But what has changed in the five kingdoms?&lt;/p&gt;
&lt;p&gt;It's starting to feel, these many pages later, as if ... well, who cares what happens? The
five kingdoms will have a king, or another. There will be dragons (which will support a
king or another), there is war and everyone is having a crappy time, but hey, all that
happened five times in the last hundred years or so already.&lt;/p&gt;
&lt;p&gt;The hand of the king was killed? Well, so were five of the last seven hands.&lt;/p&gt;
&lt;p&gt;A Targaryen may come, lay waste to all the armies of the realm and be crowned? Well,
that already happened in the field of fire, and they had Targaryens for a while, until
they ran out of dragons.&lt;/p&gt;
&lt;p&gt;The Ironmen may conquer the north? Well, they already had conquered it a couple centuries
ago, and then they lost it.&lt;/p&gt;
&lt;p&gt;And so on: any of the payoffs of the book series has already happened, some of it more than
once. So, what's special about this time around?&lt;/p&gt;
&lt;p&gt;Does the author &lt;em&gt;have&lt;/em&gt; a plan, something up his sleeve that's going to be a shock? I don't
know, but the tricks are starting to get repetitive.&lt;/p&gt;
&lt;p&gt;What would happen if, after seven books, it turns out that there's nothing special?&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;h2&gt;It's Too Earth-Like&lt;/h2&gt;
&lt;p&gt;The five kingdoms. Scotland, England, Wales, Ireland and which one? Isle of Man?
Because, come on. There's these people who are almost exactly Mongols, except they
have bells in their hair. There's the pseudo-viking, the pseudo-scots, the ersatz-irish,
the fake-italians, the I-can't-believe-it's-not-chinese and so on.&lt;/p&gt;
&lt;p&gt;There are knights, whose armour is &lt;em&gt;exactly&lt;/em&gt; medieval armour. There's the seafaring
raiders, on their longships. Etcetera, etcetera, et-freaking-cetera. It's like whenever
the author needs to add an "exotic" character, he just throws a dart at the map,
then another, creates a mix 80% one, 20% the other, makes up some silly ortography rule
for names, and that's it.&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;h2&gt;The Magic is Lazy&lt;/h2&gt;
&lt;p&gt;So, dragons. And of course, dragons create magic (you can see how lots of magical gizmos
start working since the dragons came).&lt;/p&gt;
&lt;p&gt;So, let's make magic everything. Want to have legendary swords? Then they are made of Valyrian
steel. That's magical steel, which is why it seems to never need sharpening. That's why you can
have family heirloom swords. Because they are &lt;em&gt;magical&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;And there's a magical door, made of magical wood. The magical wood comes, of course, from magical
trees.&lt;/p&gt;
&lt;p&gt;And there's fake magical swords, made by real eastern magic. And there's magical assassins.
And magical coins, magical candles. And so on, and so forth. You can't paint yourself into
corners when you can count on there being a magical paintbrush that lays down paint that
doesn't stain the magical shoes of the painters of the magical land of Paintheria, whose
names always have a double laryngeal consonant in the middle.&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;h2&gt;More is More is More is Less&lt;/h2&gt;
&lt;p&gt;The first book manages to tell roughly a (earth) year of story. The fourth and fifth,
&lt;strong&gt;together&lt;/strong&gt; because they happen simultaneously, cover perhaps three months. And there
are characters we have not seen since book three, when they were just about to say
something. We are currently entering the third book waiting to know what the maiden
of Tarth said at &lt;em&gt;that&lt;/em&gt; moment.&lt;/p&gt;
&lt;p&gt;There are books that are about one character, there are those that are about a dozen,
there are those that are about one hundred. None of the latter is any good. The story
keeps expanding and slowing down. At this step, all of book seven is going to be about
a single day in the lifes of 50 first-person characters, and each one will describe
their breakfast, before we unexpectedly get promised (very soon now) an eight book
which will cover their post-breakfast craps and clear every question we may have had about
the subject.&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;h2&gt;Fan Service&lt;/h2&gt;
&lt;p&gt;You, who know &lt;em&gt;what&lt;/em&gt; was in the pies served in the feast at Winterfell in volume 5,
you are being spoonfed that kind of thing to make you feel smart and knowledgeable.
If you &lt;em&gt;don't&lt;/em&gt; know what was in that pie... well, YOU MISSED IT.&lt;/p&gt;
&lt;p&gt;And how is it a good idea to write three pages that (if you have a good memory)
&lt;em&gt;shout&lt;/em&gt; what was in that pie, when it's a story about a third-line and fourth-line
characters whose names noone will remember?&lt;/p&gt;
&lt;p&gt;Well, it's a good idea because it's fan service, and fans love being served.
But it's a cynical, calculating move. You are being served bad pie there, fans.&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;h2&gt;So, Are the Books Good?&lt;/h2&gt;
&lt;p&gt;They are awesome. I can't wait for the sixth volume. George RR Martin, here's my money.
Tell me a story.&lt;/p&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <pubDate>Sat, 9 Mar 2013 16:07:16 GMT</pubDate>
      <title>Twitter Off</title>
      <link>http://www.advogato.org/person/ralsina/diary.html?start=695</link>
      <guid>http://feedproxy.google.com/~r/LateralOpinion/~3/QD3uMD8KMHo/twitter-off.html</guid>
      <description>&lt;p&gt;A week ago, I took a decision I had not seen coming. I shut down comments on this blog unless
the post was technical. Because I could not stand some of the comments anymore. I said
"comments down for a month, and then I'll see if I miss them".&lt;/p&gt;
&lt;p&gt;Well, so far I don't, as you can see by this post having comments disabled.&lt;/p&gt;
&lt;p&gt;Today, I am removing the comment track of my life. I an shutting down my
twitter account.  Some automatic posts will go out, but I am not reading it
and am not notified of anything. Again, it's "twitter down for a month, and then I'll see if I miss it&#x385;.&lt;/p&gt;
&lt;p&gt;Hopefully I will not.&lt;/p&gt;</description>
    </item>
    <item>
      <pubDate>Fri, 8 Mar 2013 22:07:24 GMT</pubDate>
      <title>Python Trick: the Fundict (or the Diction)</title>
      <link>http://www.advogato.org/person/ralsina/diary.html?start=694</link>
      <guid>http://feedproxy.google.com/~r/LateralOpinion/~3/RSKfU_L1IWA/python-trick-the-fundict-or-the-diction.html</guid>
      <description>&lt;p&gt;Suppose you have made the choice in the past of exposing a dictionary as
part of an object's interface. So, people are doing things like:&lt;/p&gt;
&lt;pre&gt;
object.data[foo]['bar']
&lt;/pre&gt;
&lt;p&gt;And now you want people to not have to specify &lt;tt&gt;foo&lt;/tt&gt; because it can be obtained
from somewhere else. In fact, what you want now is to expose something like this:&lt;/p&gt;
&lt;pre&gt;
object.data(bar, foo='foo')
&lt;/pre&gt;
&lt;p&gt;Here's an idea on how to do that &lt;em&gt;without breaking the old code&lt;/em&gt;:&lt;/p&gt;
&lt;pre&gt;
&lt;span&gt;class&lt;/span&gt; &lt;span&gt;fundict&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;dict&lt;/span&gt;&lt;span&gt;):&lt;/span&gt;
    &lt;span&gt;def&lt;/span&gt; &lt;span&gt;__call__&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;self&lt;/span&gt;&lt;span&gt;,&lt;/span&gt; &lt;span&gt;bar&lt;/span&gt;&lt;span&gt;,&lt;/span&gt; &lt;span&gt;foo&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;'foo'&lt;/span&gt;&lt;span&gt;):&lt;/span&gt;
        &lt;span&gt;return&lt;/span&gt; &lt;span&gt;self&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;foo&lt;/span&gt;&lt;span&gt;][&lt;/span&gt;&lt;span&gt;bar&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;That's a dictionary that's also a callable, and thus indistinguishable from a function.
A function-dictionary. A fundict.  And of couse, you could also do it the other way
around, and implement a function that works as a dictionary. A dictionary-function,
a diction. But since that's more work, I used this one.&lt;/p&gt;</description>
    </item>
    <item>
      <pubDate>Tue, 5 Mar 2013 10:09:06 GMT</pubDate>
      <title>Twitter Card Support in Nikola</title>
      <link>http://www.advogato.org/person/ralsina/diary.html?start=693</link>
      <guid>http://feedproxy.google.com/~r/LateralOpinion/~3/cF9DSw_QpVc/twitter-card-support-in-nikola.html</guid>
      <description>&lt;p&gt;This feature for &lt;a href="http://nikola.ralsina.com.ar" &gt;Nikola&lt;/a&gt; was implemented by @amokleben,
and now, if you &lt;a href="https://dev.twitter.com/docs/cards" &gt;ask twitter&lt;/a&gt; your site can have
it too.&lt;/p&gt;
&lt;p&gt;What are Twitter Cards? Did you notice that for some sites, when you click on tweets
that have links, you get a small preview of the content? Well, that's a twitter card.&lt;/p&gt;
&lt;p&gt;This still needs a little improvement to support the richer "media" cards, but it does work:&lt;/p&gt;
&lt;div&gt;
&lt;img alt="http://direct.ralsina.com.ar/galleries/random/twitter-card.png" src="http://direct.ralsina.com.ar/galleries/random/twitter-card.png"/&gt;&lt;/div&gt;
&lt;p&gt;You don't have to do anything in your site, but setting the "description" metadata to your
posts helps make this more accurate (and it also works for google+)&lt;/p&gt;&lt;div&gt;
&lt;a href="http://feeds.feedburner.com/~ff/LateralOpinion?a=cF9DSw_QpVc:KfkkBJ-rg9s:yIl2AUoC8zA" &gt;&lt;img src="http://feeds.feedburner.com/~ff/LateralOpinion?d=yIl2AUoC8zA" border="0"/&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/LateralOpinion?a=cF9DSw_QpVc:KfkkBJ-rg9s:bcOpcFrp8Mo" &gt;&lt;img src="http://feeds.feedburner.com/~ff/LateralOpinion?d=bcOpcFrp8Mo" border="0"/&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/LateralOpinion?a=cF9DSw_QpVc:KfkkBJ-rg9s:M-N1vXRXMXk" &gt;&lt;img src="http://feeds.feedburner.com/~ff/LateralOpinion?i=cF9DSw_QpVc:KfkkBJ-rg9s:M-N1vXRXMXk" border="0"/&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/LateralOpinion/~4/cF9DSw_QpVc" height="1" width="1"/&gt;</description>
    </item>
  </channel>
</rss>
