{% extends "!layout.html" %}
+{% block extrahead %}
+<script type="text/javascript">
+/* <![CDATA[ */
+ (function() {
+ var s = document.createElement('script'), t = document.getElementsByTagName('script')[0];
+ s.type = 'text/javascript';
+ s.async = true;
+ s.src = 'http://api.flattr.com/js/0.6/load.js?mode=auto&uid=llucax&language=en&popout=0';
+ t.parentNode.insertBefore(s, t);
+ })();
+/* ]]> */</script>
+{% endblock %}
+
{% block header %}
<div style="background-color: white; text-align: left; font-size: xx-large; padding: 10px 10px 15px 15px">
<a href="/">Leandro Lucarella's Home Page</a>
+
+ <a class="FlattrButton" style="display:none;" rev="flattr;button:compact;" href="http://www.llucax.com.ar/"></a>
+ <noscript>
+ <a href="http://flattr.com/thing/1141602/Leandro-Lucarellas-Home-Page" target="_blank">
+ <img src="http://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" border="0" />
+ </a>
+ </noscript>
</div>
{% endblock %}
--- /dev/null
+<div class="article">
+<h2><a href="%(url)s/post/%(uuid)s">%(arttitle)s</a>
+
+ %(flattrbtn)s
+</h2>
+<span class="artinfo" style="vertical-align: middle">
+ by %(author)s on <span class="date">
+
+<a class="date" href="%(url)s/%(cyear)d/">%(cyear)04d</a>-
+<a class="date" href="%(url)s/%(cyear)d/%(cmonth)d/">%(cmonth)02d</a>-
+<a class="date" href="%(url)s/%(cyear)d/%(cmonth)d/%(cday)d/">%(cday)02d</a>
+ %(chour)02d:%(cminute)02d</span>
+ (updated on <span class="date">
+<a class="date" href="%(url)s/%(uyear)d/">%(uyear)04d</a>-
+<a class="date" href="%(url)s/%(uyear)d/%(umonth)d/">%(umonth)02d</a>-
+<a class="date" href="%(url)s/%(uyear)d/%(umonth)d/%(uday)d/">%(uday)02d</a>
+ %(uhour)02d:%(uminute)02d)</span><br/>
+ <span class="tags">tagged %(tags)s</span> -
+ <span class="comments">with %(comments)s
+ <a href="%(url)s/post/%(uuid)s#comments">comment(s)</a></span>
+</span>
+<p/>
+<div class="artbody">
'uuid': self.uuid,
'tags': self.get_tags_links(),
'comments': len(self.comments),
+ 'flattrbtn': self.get_flattr_btn(),
'created': self.created.isoformat(' '),
'ciso': self.created.isoformat(),
(blog_url, urllib.quote(t), sanitize(t) ))
return ', '.join(l)
+ def get_flattr_btn(self):
+ v = dict()
+ v['tags'] = ','.join([sanitize(tag) for tag in self.tags])
+ v['tags'] = v['tags'].replace('"', '-').replace(':', '-')
+ v['tags'] = v['tags'].replace(';', '-')
+ v['title'] = sanitize(self.title)
+ v['qtitle'] = title.replace('"', '')
+ v['url'] = full_url + '/post/' + self.uuid
+ v['furl'] = 'https://flattr.com/submit/auto?' + urllib.urlencode(
+ dict(user_id='llucax', url=v['url'],
+ title=self.title,
+ description="Blog article titled: " +
+ self.title,
+ language='en', tags=','.join(self.tags),
+ category='text'))
+ return '''
+<a class="FlattrButton" style="display:none;"
+ rel="flattr;uid:llucax;category:text;tags:%(tags)s;button:compact;"
+ title="%(qtitle)s" lang="en"
+ href="%(url)s">Blog article titled: %(title)s</a>
+<noscript><a href="%(furl)s" target="_blank">
+ <img src="http://api.flattr.com/button/flattr-badge-large.png"
+ alt="Flattr this" title="Flattr this" border="0" />
+ </a>
+</noscript>
+''' % v
+
class ArticleDB (object):
def __init__(self, dbpath):
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<link rel="alternate" title="%(title)s" href="%(fullurl)s/atom"
+ type="application/atom+xml" />
+<link href="%(css_url)s" rel="stylesheet" type="text/css" />
+<title>%(title)s</title>
+<script type="text/javascript">
+/* <![CDATA[ */
+ (function() {
+ var s = document.createElement('script'), t = document.getElementsByTagName('script')[0];
+ s.type = 'text/javascript';
+ s.async = true;
+ s.src = 'http://api.flattr.com/js/0.6/load.js?mode=auto&uid=llucax&language=en&popout=0';
+ t.parentNode.insertBefore(s, t);
+ })();
+/* ]]> */</script>
+</head>
+
+<body>
+
+<h1>
+ <a href="%(url)s">%(title)s</a>
+
+ <a class="FlattrButton" style="display:none;" rev="flattr;button:compact;" href="http://www.llucax.com.ar/blog/"></a>
+ <noscript>
+ <a href="http://flattr.com/thing/1141821/Lucas-meaningless-thoughts" target="_blank">
+ <img src="http://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" border="0" />
+ </a>
+ </noscript>
+</h1>
+
+<div class="content">
-Subproject commit c830ac2bd3344cf0b4dca1dcd381b1c0f32f3191
+Subproject commit ce0d94d8448e25b18e3628265e612283c6932921
+.. raw:: html
+
+ <div style="width: 220px; height: 330px; float: right; margin-left: 1em; margin-top: 1em">
+ <iframe width="220" height="330" style="border: none; outline: none" src="http://tools.flattr.net/widgets/thing.html?thing=1141780"></iframe>
+ </div>
+
=====================================
D Concurrent Garbage Collector (CDGC)
=====================================
+.. raw:: html
+
+ <div style="width: 220px; height: 270px; float: right; margin-left: 1em; margin-top: 1em">
+ <iframe width="220" height="270" style="border: none; outline: none" src="http://tools.flattr.net/widgets/thing.html?thing=1141689"></iframe>
+ </div>
+
+
========
Etherled
========
+.. raw:: html
+
+ <div style="width: 220px; height: 270px; float: right; margin-left: 1em; margin-top: 1em">
+ <iframe width="220" height="270" style="border: none; outline: none" src="http://tools.flattr.net/widgets/thing.html?thing=1141689"></iframe>
+ </div>
+
Photos
======
+.. raw:: html
+
+ <div style="width: 220px; height: 270px; float: right; margin-left: 1em; margin-top: 1em">
+ <iframe width="220" height="270" style="border: none; outline: none" src="http://tools.flattr.net/widgets/thing.html?thing=1141695"></iframe>
+ </div>
+
+
====
ev.d
====
-Subproject commit 37861e1d6e11093b628afe7c4fbc9271c26eff8e
+Subproject commit 6f8cd16a462861f35d97eb8ba6ee56f0333a5e21
eventxx_
A simple, direct, one-header inline C++ wrapper for libevent_.
+ |flattr-eventxx|
+
+ .. |flattr-eventxx| raw:: html
+
+ <br />
+ <a class="FlattrButton" style="display:none;" rev="flattr;button:compact;" href="http://www.llucax.com.ar/proj/eventxx/"></a>
+ <noscript><a href="http://flattr.com/thing/1141699/eventxx" target="_blank">
+ <img src="http://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" border="0" /></a></noscript>
mutest_
A micro unit testing framework for C (with some C++ support).
+ |flattr-mutest|
+
+ .. |flattr-mutest| raw:: html
+
+ <br />
+ <a class="FlattrButton" style="display:none;" rev="flattr;button:compact;" href="http://www.llucax.com.ar/proj/mutest/"></a>
+ <noscript><a href="http://flattr.com/thing/1141711/mutest" target="_blank">
+ <img src="http://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" border="0" /></a></noscript>
:doc:`etherled/index`
A remote controlled, programable stroboscopic image projector using an
8051-family microcontroller.
+ |flattr-etherled|
+
+ .. |flattr-etherled| raw:: html
+
+ <br />
+ <a class="FlattrButton" style="display:none;" rev="flattr;button:compact;" href="http://www.llucax.com.ar/proj/etherled/"></a>
+ <noscript><a href="http://flattr.com/thing/1141689/Etherled" target="_blank">
+ <img src="http://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" border="0" /></a></noscript>
:doc:`ev.d/index`
A low and high level libev_ bindings for the `D Programming Language`_.
+ |flattr-ev.d|
+
+ .. |flattr-ev.d| raw:: html
+
+ <br />
+ <a class="FlattrButton" style="display:none;" rev="flattr;button:compact;" href="http://www.llucax.com.ar/proj/ev.d/"></a>
+ <noscript><a href="http://flattr.com/thing/1141695/ev-d" target="_blank">
+ <img src="http://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" border="0" /></a></noscript>
:doc:`pymin/index`
A router administration tool.
+ |flattr-pymin|
+
+ .. |flattr-pymin| raw:: html
+
+ <br />
+ <a class="FlattrButton" style="display:none;" rev="flattr;button:compact;" href="http://www.llucax.com.ar/proj/pymin/"></a>
+ <noscript><a href="http://flattr.com/thing/1141778/pymin" target="_blank">
+ <img src="http://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" border="0" /></a></noscript>
:doc:`dgc/index`
Research on improvements to the `D Programming Language`_ `garbage
collector`_ (my Informatics Engineer thesis).
+ |flattr-dgc|
+
+ .. |flattr-dgc| raw:: html
+
+ <br />
+ <a class="FlattrButton" style="display:none;" rev="flattr;button:compact;" href="http://www.llucax.com.ar/proj/dgc/"></a>
+ <noscript><a href="http://flattr.com/thing/1141780/dgc" target="_blank">
+ <img src="http://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" border="0" /></a></noscript>
sphinxcontrib-aafig_
A Sphinx_ extension for embedding ASCII art that is rendered as nice
looking images using aafigure_.
+ |flattr-sphinxcontrib-aafig|
+
+ .. |flattr-sphinxcontrib-aafig| raw:: html
+
+ <br />
+ <a class="FlattrButton" style="display:none;" rev="flattr;button:compact;" href="http://pythonhosted.org/sphinxcontrib-aafig/"></a>
+ <noscript><a href="http://flattr.com/thing/1141787/sphinxcontrib-aafig" target="_blank">
+ <img src="http://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" border="0" /></a></noscript>
sphinxcontrib-mscgen_
A Sphinx_ extension for embedding text-formatted
:abbr:`MSC (Message Sequence Chart)` diagrams that are rendered as nice
looking images using Mscgen_.
+ |flattr-sphinxcontrib-mscgen|
+
+ .. |flattr-sphinxcontrib-mscgen| raw:: html
+
+ <br />
+ <a class="FlattrButton" style="display:none;" rev="flattr;button:compact;" href="http://pythonhosted.org/sphinxcontrib-mscgen/"></a>
+ <noscript><a href="http://flattr.com/thing/1141792/sphinxcontrib-mscgen" target="_blank">
+ <img src="http://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" border="0" /></a></noscript>
:doc:`mutt-nntp-debian/index`
Debian_ package for Mutt_ with the `NNTP support patch`__ applied.
+ |flattr-mutt-nntp-debian|
+
+ .. |flattr-mutt-nntp-debian| raw:: html
+
+ <br />
+ <a class="FlattrButton" style="display:none;" rev="flattr;button:compact;" href="http://www.llucax.com.ar/proj/mutt-nntp-debian/"></a>
+ <noscript><a href="http://flattr.com/thing/1141799/mutt-nntp-debian" target="_blank">
+ <img src="http://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" border="0" /></a></noscript>
__ http://mutt.org.ua/download/mutt-1.5.20/
:doc:`bacap/index`
A very simple script (~100 SLOC_ of Bash_) to do an incremental backup
that saves space using rsync_ and hard-links.
+ |flattr-bacap|
+
+ .. |flattr-bacap| raw:: html
+
+ <br />
+ <a class="FlattrButton" style="display:none;" rev="flattr;button:compact;" href="http://www.llucax.com.ar/proj/bacap/"></a>
+ <noscript><a href="http://flattr.com/thing/1141801/bacap" target="_blank">
+ <img src="http://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" border="0" /></a></noscript>
:doc:`sadba/index`
A simple plugin for Maemo_\ 's Hildon_ status area to control display
blanking.
+ |flattr-sadba|
+
+ .. |flattr-sadba| raw:: html
+ <br />
+ <a class="FlattrButton" style="display:none;" rev="flattr;button:compact;" href="http://www.llucax.com.ar/proj/sadba/"></a>
+ <noscript><a href="http://flattr.com/thing/1141801/sadba" target="_blank">
+ <img src="http://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" border="0" /></a></noscript>
.. _eventxx: eventxx/
.. _libevent: http://monkey.org/~provos/libevent/
+.. raw:: html
+
+ <div style="width: 220px; height: 330px; float: right; margin-left: 1em; margin-top: 1em">
+ <iframe width="220" height="330" style="border: none; outline: none" src="http://tools.flattr.net/widgets/thing.html?thing=1141799"></iframe>
+ </div>
+
+
=======================================
Debian package for Mutt with NNTP patch
=======================================
+.. raw:: html
+
+ <div style="width: 220px; height: 270px; float: right; margin-left: 1em; margin-top: 1em">
+ <iframe width="220" height="270" style="border: none; outline: none" src="http://tools.flattr.net/widgets/thing.html?thing=1141778"></iframe>
+ </div>
+
=====
Pymin
=====
+.. raw:: html
+
+ <div style="width: 280px; height: 310px; float: right; margin-left: 1em; margin-top: 1em">
+ <iframe width="280" height="310" style="border: none; outline: none" src="http://tools.flattr.net/widgets/thing.html?thing=1141802"></iframe>
+ </div>
+
=============================================
Status Area Display Blanking Applet for Maemo
=============================================