<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>WebLog Pro Olivier Berger</title>
	<atom:link href="http://www-public.telecom-sudparis.eu/~berger_o/weblog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www-public.telecom-sudparis.eu/~berger_o/weblog</link>
	<description>My WebLog at Intitut Mines-Telecom, Télécom SudParis</description>
	<lastBuildDate>Fri, 12 Apr 2013 05:00:54 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Slides + Manual + programs generated from single org-mode source</title>
		<link>http://www-public.telecom-sudparis.eu/~berger_o/weblog/2013/04/11/slides-manual-programs-generated-from-single-org-mode-source/</link>
		<comments>http://www-public.telecom-sudparis.eu/~berger_o/weblog/2013/04/11/slides-manual-programs-generated-from-single-org-mode-source/#comments</comments>
		<pubDate>Thu, 11 Apr 2013 21:22:29 +0000</pubDate>
		<dc:creator>Olivier Berger</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[babel]]></category>
		<category><![CDATA[beamer]]></category>
		<category><![CDATA[debian-en]]></category>
		<category><![CDATA[emacs]]></category>
		<category><![CDATA[latex]]></category>
		<category><![CDATA[org-mode]]></category>

		<guid isPermaLink="false">http://www-public.telecom-sudparis.eu/~berger_o/weblog/?p=1070</guid>
		<description><![CDATA[I&#8217;ve been working on maintaining lecture slides and a manual, by writing a single source org-mode file. From a single source I want to be able to generate different output PDFs, only changing a few switches : slides deck a &#8230; <a href="http://www-public.telecom-sudparis.eu/~berger_o/weblog/2013/04/11/slides-manual-programs-generated-from-single-org-mode-source/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve been working on maintaining lecture slides and a manual, by writing a single source <a href="http://orgmode.org/">org-mode</a> file.</p>
<p>From a single source I want to be able to generate different output PDFs, only changing a few switches :</p>
<ul>
<li>slides deck</li>
<li>a manual document</li>
<li>source files for examples</li>
</ul>
<p>The slides may contain notes.</p>
<p>Here&#8217;s <a href="http://www-public.telecom-sudparis.eu/~berger_o/org-examples/org-latex-multi.tar.gz">an archive</a> that contains an example document and complementary files. See <a href="http://www-public.telecom-sudparis.eu/~berger_o/org-examples/latex-multi.pdf">this documentation document</a> for more details (itself maintained with <a href="http://www-public.telecom-sudparis.eu/~berger_o/org-examples/latex-multi.org">such an .org source</a>).</p>
]]></content:encoded>
			<wfw:commentRss>http://www-public.telecom-sudparis.eu/~berger_o/weblog/2013/04/11/slides-manual-programs-generated-from-single-org-mode-source/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>&#8220;Using RDF metadata for traceability among projects and distributions&#8221; presented at DistroRecipes 2013</title>
		<link>http://www-public.telecom-sudparis.eu/~berger_o/weblog/2013/04/05/using-rdf-metadata-for-traceability-among-projects-and-distributions-presented-at-distrorecipes-2013/</link>
		<comments>http://www-public.telecom-sudparis.eu/~berger_o/weblog/2013/04/05/using-rdf-metadata-for-traceability-among-projects-and-distributions-presented-at-distrorecipes-2013/#comments</comments>
		<pubDate>Fri, 05 Apr 2013 09:12:57 +0000</pubDate>
		<dc:creator>Olivier Berger</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[debian-en]]></category>
		<category><![CDATA[distro recipes]]></category>
		<category><![CDATA[interoperability]]></category>
		<category><![CDATA[linked data]]></category>
		<category><![CDATA[metadata]]></category>
		<category><![CDATA[RDF]]></category>
		<category><![CDATA[semantic web]]></category>

		<guid isPermaLink="false">http://www-public.telecom-sudparis.eu/~berger_o/weblog/?p=1059</guid>
		<description><![CDATA[I&#8217;ve given a lightning talk at Distro Recipes 2013 about what I&#8217;ve been working on for several months: adding Semantic meta-data to Debian PTS, and stuff. Here are my slides : An in PDF. Thanks to the Hupstream staff and &#8230; <a href="http://www-public.telecom-sudparis.eu/~berger_o/weblog/2013/04/05/using-rdf-metadata-for-traceability-among-projects-and-distributions-presented-at-distrorecipes-2013/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve given a <a href="https://distro-recipes.org/en/lightning/metadata-and-traceability/">lightning talk</a> at Distro Recipes 2013 about what I&#8217;ve been working on for several months: adding Semantic meta-data to Debian PTS, and stuff.</p>
<p>Here are my slides :<br />
<iframe src="http://www.slideshare.net/slideshow/embed_code/18183576" width="427" height="356" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC;border-width:1px 1px 0;margin-bottom:5px" allowfullscreen webkitallowfullscreen mozallowfullscreen> </iframe></p>
<p>An <a href="http://www-public.telecom-sudparis.eu/~berger_o/presentation-DistroRecipes-2013.pdf" title="Conférence “L’économie du logiciel libre et la percée d’OpenStack dans le cloud” le 27/03 à Évry">in PDF</a>.</p>
<p>Thanks to the Hupstream staff and other participants of Distro Recipes for the interesting discussions and contacts. Looking forward to participating to the next edition.</p>
]]></content:encoded>
			<wfw:commentRss>http://www-public.telecom-sudparis.eu/~berger_o/weblog/2013/04/05/using-rdf-metadata-for-traceability-among-projects-and-distributions-presented-at-distrorecipes-2013/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Managing Python code with UTF-8 (french chars) in org-mode + babel + minted for LaTeX export</title>
		<link>http://www-public.telecom-sudparis.eu/~berger_o/weblog/2013/03/29/managing-python-code-with-utf-8-french-chars-in-org-mode-babel-minted-for-latex-export/</link>
		<comments>http://www-public.telecom-sudparis.eu/~berger_o/weblog/2013/03/29/managing-python-code-with-utf-8-french-chars-in-org-mode-babel-minted-for-latex-export/#comments</comments>
		<pubDate>Fri, 29 Mar 2013 10:44:43 +0000</pubDate>
		<dc:creator>Olivier Berger</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[babel]]></category>
		<category><![CDATA[debian-en]]></category>
		<category><![CDATA[debian-fr]]></category>
		<category><![CDATA[emacs]]></category>
		<category><![CDATA[french]]></category>
		<category><![CDATA[highlighting]]></category>
		<category><![CDATA[litterate programming]]></category>
		<category><![CDATA[minted]]></category>
		<category><![CDATA[org-mode]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://www-public.telecom-sudparis.eu/~berger_o/weblog/?p=1050</guid>
		<description><![CDATA[The goal of this article is to illustrate how to manage Python code which includes comments in UTF-8 characters inside a latin-1 source org-mode for LaTeX export. Note that I&#8217;ve pasted in wordpress the HTML generated by org-mode, so I &#8230; <a href="http://www-public.telecom-sudparis.eu/~berger_o/weblog/2013/03/29/managing-python-code-with-utf-8-french-chars-in-org-mode-babel-minted-for-latex-export/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>
The goal of this article is to illustrate how to manage Python code which includes comments in UTF-8 characters inside a latin-1 source org-mode for LaTeX export.
</p>
<p>Note that I&#8217;ve pasted in wordpress the HTML generated by org-mode, so I hope it isn&#8217;t broken too much.</p>
<p>
My typical use case is a french lecture on Python where the text is written in french, as well as some of the code comments and examples
</p>
<p>
We&#8217;ll use org-mode&#8217;s babel module to include and manage the Python<br />
examples. The goal is to write the source of the Python programs<br />
directly in the same org source as the class book&#8217;s text, and to extract them into a subdir (with the &#8220;tangle&#8221; feature), so that they can be shipped to the students to experiment with.
</p>
<p>
The <code>minted</code> LaTeX environment is used, for babel, to make the Python syntax highlighting.
</p>
<p><span id="more-1050"></span></p>
<div id="outline-container-1-1" class="outline-3">
<h3 id="sec-1-1"><span class="section-number-3">1.1</span> Issues</h3>
<div class="outline-text-3" id="text-1-1">
<ul>
<li>The source org-mode is in latin-1 so that it compiles with pdflatex
</li>
<li>The examples source-code will be in UTF-8 so that Python 2.7 executes them well on a modern Linux desktop
</li>
<li>Minted relies on pygmentize wich doesn&#8217;t seem to handle UTF-8 so well
</li>
</ul>
</div>
</div>
<div id="outline-container-1-2" class="outline-3">
<h3 id="sec-1-2"><span class="section-number-3">1.2</span> Solution</h3>
<div class="outline-text-3" id="text-1-2">
<p>
We&#8217;ll show how to &#8220;patch&#8221; minted&#8217;s use of pygmentize to take advantage<br />
of its conversion capacity to convert the Python sources from UTF-8 to<br />
latin-1 at document rendering time (LaTeX compilation).
</p>
<p>
It&#8217;s a hack, but works.
</p>
<p>
The current document&#8217;s source shows how this works
</p>
</div>
<div id="outline-container-1-2-1" class="outline-4">
<h4 id="sec-1-2-1"><span class="section-number-4">1.2.1</span> Customization</h4>
<div class="outline-text-4" id="text-1-2-1">
<p>
The org document should contain the following headers :
</p>
<pre class="example">#+LANGUAGE:  fr
#+LaTeX_HEADER: \usepackage[latin1]{inputenc}
#+LaTeX_HEADER: \usepackage[french]{babel}
#+LaTeX_HEADER: \usepackage{color}\usepackage{minted}
</pre>
<p>
and the footers :
</p>
<pre class="example"># Local Variables:
# coding: latin-1
# org-src-preserve-indentation: true
# tab-width: 4
# End:
</pre>
<p>
Also note that pdflatex should use the <code>-shell-escape</code> option necessary for minted
</p>
<p>
Now, the document should also include the following &#8220;patch&#8221; for minted :
</p>
<pre class="example">#+LATEX_HEADER: \makeatletter
#+LATEX_HEADER: \renewcommand\minted@pygmentize[2][\jobname.pyg]{
#+LATEX_HEADER:   \def\minted@cmd{pygmentize -l #2 -f latex -F tokenmerge
#+LATEX_HEADER:     \minted@opt{gobble} \minted@opt{texcl} \minted@opt{mathescape}
#+LATEX_HEADER:     \minted@opt{startinline} \minted@opt{funcnamehighlighting}
#+LATEX_HEADER:     \minted@opt{linenos} -P "verboptions=\minted@opt{extra}"
#+LATEX_HEADER:     -O encoding=UTF-8,outencoding=iso-8859-1 -o \jobname.out.pyg #1}
#+LATEX_HEADER:   \immediate\write18{\minted@cmd}
#+LATEX_HEADER:   % For debugging, uncomment:
#+LATEX_HEADER:   %\immediate\typeout{\minted@cmd}
#+LATEX_HEADER:   \ifthenelse{\equal{\minted@opt@bgcolor}{}}
#+LATEX_HEADER:    {}
#+LATEX_HEADER:    {\begin{minted@colorbg}{\minted@opt@bgcolor}}
#+LATEX_HEADER:   \input{\jobname.out.pyg}
#+LATEX_HEADER:   \ifthenelse{\equal{\minted@opt@bgcolor}{}}
#+LATEX_HEADER:    {}
#+LATEX_HEADER:    {\end{minted@colorbg}}
#+LATEX_HEADER:   \DeleteFile{\jobname.out.pyg}}
#+LATEX_HEADER: \makeatother
</pre>
<p>
The important change is the addition of the <code>-O encoding=UTF-8,outencoding=iso-8859-1</code> option of pygmentize, that will convert the UTF-8 source code to latin-1.
</p>
<p>
Hopefully most of the characters will convert fine, for a document written in french.
</p>
</div>
</div>
</div>
<div id="outline-container-2" class="outline-2">
<h2 id="sec-2"><span class="section-number-2">2</span> Examples</h2>
<div class="outline-text-2" id="text-2">
</div>
<div id="outline-container-2-1" class="outline-3">
<h3 id="sec-2-1"><span class="section-number-3">2.1</span> Basic Python</h3>
<div class="outline-text-3" id="text-2-1">
<p>
This is a generic verbatim example, which doesn&#8217;t use babel / minted.
</p>
<pre class="example">$ python
Python 2.7.3 (default, Jan  2 2013, 16:53:07) 
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
&gt;&gt;&gt; print "Hello, world!"
Hello, world!
&gt;&gt;&gt;
</pre>
</div>
</div>
<div id="outline-container-2-2" class="outline-3">
<h3 id="sec-2-2"><span class="section-number-3">2.2</span> Python source code for french speakers</h3>
<div class="outline-text-3" id="text-2-2">
<p>
Here, we first include the source code, so that it can be exported to<br />
an <code>examples/</code> subdir, with the following (note that the <code>#+ BEGIN_src</code> / <code>#+ END_src</code> should be changed to get rid of the space<br />
character between <code>+</code> and <code>BEGIN</code> / <code>END</code>, and that the <code>:shebang</code> and following text should be on the <code>BEGIN_SRC</code> line&hellip; I seem to have not quoted<br />
these properly in this document):
</p>
<pre class="example">#+name: helloworld
#+ BEGIN_src python :tangle examples/helloworld.py :noweb yes \\
:shebang #!/usr/bin/python :padline no :exports none
# -*- coding: utf-8 -*-

# Ceci est un exemple d'affichage d'une chaîne accentuée

name = raw_input("Quel est vôtre nom ? ")

print "J'espère que ça va bien aujourd'hui", name
#+ END_src
</pre>
<p>
Editing it with &#8220;C-c &#8216;&#8221; will open an UTF-8 buffer, so hopefully, this will be consistent with the <code>utf-8</code> coding system declared on the second line.
</p>
<p>
The regeneration of the <code>examples/helloworld.py</code> file is made with <code>C-c C-v t</code> (babel &#8220;tangling&#8221;).
</p>
<p>
Note that we don&#8217;t add the <code>#!/usr/bin/python</code> first line in the source, as we want it to be added by the tangling process (which will also make the script executable).
</p>
<p>
Once this is done, the script may be run :
</p>
<pre class="example">$ python examples/helloworld.py 
Quel est vôtre nom ? François
J'espère que ça va bien aujourd'hui, cher François
</pre>
<p>
Now, to add the colorized rendering in the lecture book, we do (here again, remove the spaces):
</p>
<pre class="src src-org"><span style="color: #b22222;"># +BEGIN_latex</span>
\inputminted{python}{examples/helloworld.py}
<span style="color: #b22222;"># +END_latex</span>
</pre>
<p>
And here it is, rendered by minted:
</p>
<pre class="src src-python"><span style="color: #b22222;"># -*- coding: utf-8 -*-</span>

<span style="color: #b22222;"># Ceci est un exemple d'affichage d'une cha&#238;ne accentu&#233;e</span>

<span style="color: #a0522d;">name</span> = <span style="color: #7a378b;">raw_input</span>(<span style="color: #8b2252;">"Quel est v&#244;tre nom ? "</span>)

<span style="color: #a020f0;">print</span> <span style="color: #8b2252;">"J'esp&#232;re que &#231;a va bien aujourd'hui, cher"</span>, name
</pre>
<p>Here are links to : <a href="http://www-public.telecom-sudparis.eu/~berger_o/org-examples/post-managint-org-babel-python-french-minted.org">the source</a>, <a href="http://www-public.telecom-sudparis.eu/~berger_o/org-examples/post-managint-org-babel-python-french-minted.pdf">the PDF result</a>, and <a href="http://www-public.telecom-sudparis.eu/~berger_o/org-examples/examples/helloworld.py">the generated Python program</a>.</p>
</div>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www-public.telecom-sudparis.eu/~berger_o/weblog/2013/03/29/managing-python-code-with-utf-8-french-chars-in-org-mode-babel-minted-for-latex-export/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Conférence &#8220;L&#8217;économie du logiciel libre et la percée d&#8217;OpenStack dans le cloud&#8221; le 27/03 à Évry</title>
		<link>http://www-public.telecom-sudparis.eu/~berger_o/weblog/2013/03/18/conference-leconomie-du-logiciel-libre-et-la-percee-dopenstack-dans-le-cloud-le-2703-a-evry/</link>
		<comments>http://www-public.telecom-sudparis.eu/~berger_o/weblog/2013/03/18/conference-leconomie-du-logiciel-libre-et-la-percee-dopenstack-dans-le-cloud-le-2703-a-evry/#comments</comments>
		<pubDate>Mon, 18 Mar 2013 12:49:40 +0000</pubDate>
		<dc:creator>Olivier Berger</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[april]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[debian-fr]]></category>
		<category><![CDATA[logiciel libre]]></category>
		<category><![CDATA[openstack]]></category>

		<guid isPermaLink="false">http://www-public.telecom-sudparis.eu/~berger_o/weblog/?p=1046</guid>
		<description><![CDATA[L&#8217;association Minet organise une conférence le 27/03 dans les locaux de Télécom SudParis et Télécom École de Management à Évry, qui promet d&#8217;être intéressante. Elle portera à la fois sur l&#8217;économie du logiciel libre et sur l&#8217;essort d&#8217;OpenStack dans le &#8230; <a href="http://www-public.telecom-sudparis.eu/~berger_o/weblog/2013/03/18/conference-leconomie-du-logiciel-libre-et-la-percee-dopenstack-dans-le-cloud-le-2703-a-evry/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>L&#8217;association Minet organise une conférence le 27/03 dans les locaux de Télécom SudParis et Télécom École de Management à Évry, qui promet d&#8217;être intéressante.</p>
<p>Elle portera à la fois sur l&#8217;économie du logiciel libre et sur l&#8217;essort d&#8217;OpenStack dans le cloud.</p>
<p>N&#8217;hésitez pas à venir nombreux sur le campus pour écouter les interventions de Jonathan Le Lous, Julien Brichard et Raphaël Ferreira, et rencontrer votre serviteur <img src='http://www-public.telecom-sudparis.eu/~berger_o/weblog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Plus de détails <a href="http://conference.minet.net/2013">sur le site de Minet</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www-public.telecom-sudparis.eu/~berger_o/weblog/2013/03/18/conference-leconomie-du-logiciel-libre-et-la-percee-dopenstack-dans-le-cloud-le-2703-a-evry/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Python RDF example of a MySQL triple store thanks to redland/librdf</title>
		<link>http://www-public.telecom-sudparis.eu/~berger_o/weblog/2013/02/26/python-rdf-example-of-a-mysql-triple-store-thanks-to-redlandlibrdf/</link>
		<comments>http://www-public.telecom-sudparis.eu/~berger_o/weblog/2013/02/26/python-rdf-example-of-a-mysql-triple-store-thanks-to-redlandlibrdf/#comments</comments>
		<pubDate>Tue, 26 Feb 2013 16:02:47 +0000</pubDate>
		<dc:creator>Olivier Berger</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[debian-en]]></category>
		<category><![CDATA[librdf]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[RDF]]></category>
		<category><![CDATA[redland]]></category>
		<category><![CDATA[triples]]></category>

		<guid isPermaLink="false">http://www-public.telecom-sudparis.eu/~berger_o/weblog/?p=1041</guid>
		<description><![CDATA[In a way similar to my previous post about persisting graphs in PostGreSQL in PHP, here&#8217;s similar examples for Python and MySQL. Note that you may need to adjust the MySQL table creation templates if you&#8217;re running librdf version 1.0.16 &#8230; <a href="http://www-public.telecom-sudparis.eu/~berger_o/weblog/2013/02/26/python-rdf-example-of-a-mysql-triple-store-thanks-to-redlandlibrdf/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>In a way similar to my previous post about <a href="http://www-public.telecom-sudparis.eu/~berger_o/weblog/2013/02/08/rdf-development-in-php-with-a-postgresql-triple-store-thanks-to-the-librdf-oo-wrapper-for-redlandlibrdf/">persisting graphs in PostGreSQL in PHP</a>, here&#8217;s similar examples for Python and MySQL.</p>
<p>Note that you may need to adjust the MySQL table creation templates if you&#8217;re running librdf version 1.0.16 (see <a href="http://bugs.librdf.org/mantis/view.php?id=529">this bug</a> for details).</p>
<p>The <a href="https://raw.github.com/olberger/redland-bindings/master/python/example-fetch-and-save.py">first example</a> will load data from a file, and store the parsed model to the RDBMS, while the <a href="https://raw.github.com/olberger/redland-bindings/master/python/example-retrieve-from-saved.py">second example</a>, will reload the model and issue queries on it.</p>
<p>These examples don&#8217;t do much, but hopefully, they&#8217;ll help you get started if you&#8217;re interested in using redland/librdf.</p>
<p>One potential benefit can be interoperability with other languages like PHP, for instance if you&#8217;re running harvesters in Python that will save facts in a triple store, which is then accessed by a PHP application that will publish a Web interface.</p>
]]></content:encoded>
			<wfw:commentRss>http://www-public.telecom-sudparis.eu/~berger_o/weblog/2013/02/26/python-rdf-example-of-a-mysql-triple-store-thanks-to-redlandlibrdf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RDF development in PHP with a PostGreSQL triple store thanks to the LibRDF OO wrapper for redland/librdf</title>
		<link>http://www-public.telecom-sudparis.eu/~berger_o/weblog/2013/02/08/rdf-development-in-php-with-a-postgresql-triple-store-thanks-to-the-librdf-oo-wrapper-for-redlandlibrdf/</link>
		<comments>http://www-public.telecom-sudparis.eu/~berger_o/weblog/2013/02/08/rdf-development-in-php-with-a-postgresql-triple-store-thanks-to-the-librdf-oo-wrapper-for-redlandlibrdf/#comments</comments>
		<pubDate>Fri, 08 Feb 2013 10:40:17 +0000</pubDate>
		<dc:creator>Olivier Berger</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[debian-en]]></category>
		<category><![CDATA[librdf]]></category>
		<category><![CDATA[linked data]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[PostGreSQL]]></category>
		<category><![CDATA[RDF]]></category>
		<category><![CDATA[redland]]></category>

		<guid isPermaLink="false">http://www-public.telecom-sudparis.eu/~berger_o/weblog/?p=1034</guid>
		<description><![CDATA[Redland/librdf offers powerful features like being able to persist an RDF model to a relational database (only PostGreSQL seems to work on my setup with 1.0.16, but I may have misconfigured it). You can then do SPARQL queries over the &#8230; <a href="http://www-public.telecom-sudparis.eu/~berger_o/weblog/2013/02/08/rdf-development-in-php-with-a-postgresql-triple-store-thanks-to-the-librdf-oo-wrapper-for-redlandlibrdf/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><a href="http://librdf.org/">Redland/librdf</a> offers powerful features like being able to <a href="http://librdf.org/docs/api/redland-storage-modules.html">persist an RDF model to a relational database</a> (only PostGreSQL seems to work on my setup with 1.0.16, but I may have misconfigured it). You can then do SPARQL queries over the model, and lots of other nice things.</p>
<p>Unfortunately, the <a href="http://librdf.org/docs/php.html">default PHP bindings</a> are not really object-oriented, so <a href="http://clockwerx.blogspot.fr/2010/03/redland-in-php-ubuntu.html">the code isn&#8217;t looking so good</a>.</p>
<p>But thanks to a gentleman named David Shea, there is <a href="https://github.com/literarymachine/LibRDF">an object-oriented library named LibRDF</a> (case is sensitive), that helps write nice looking PHP.</p>
<p>I discovered it via the <a href="http://blog.literarymachine.net/?p=5">blog post</a> of Felix Ostrowski, who took over the maintenance of the LibRDF library (still the docs live <a href="http://reallylongword.org/projects/librdf-php/">on the original author&#8217;s site</a>).</p>
<p>In his post, Felix illustrates how you may use it to parse Richard Cyganiak&#8217;s FOAF profile.</p>
<p>But the examples he gives don&#8217;t illustrate the full potential of persistence of the RDF graph into the DB.</p>
<p>Here&#8217;s my contribution in 2 examples that will hopefully help : first, <a href="https://raw.github.com/olberger/LibRDF/master/examples/retrieve-from-saved.php">one that load Richard&#8217;s FOAF to the DB</a>, and one, that <a href="https://raw.github.com/olberger/LibRDF/master/examples/retrieve-from-saved.php">later retrieve the saved model and perform the same query</a> (both pushed to my github clone of the library).</p>
<p>There may be some problems with the use of librdf, including its availability, as it is not full PHP of course&#8230; and I&#8217;ve heard of memory management problems, but, depening on your needs, this may be quite handy for writing Linked Data applications.</p>
]]></content:encoded>
			<wfw:commentRss>http://www-public.telecom-sudparis.eu/~berger_o/weblog/2013/02/08/rdf-development-in-php-with-a-postgresql-triple-store-thanks-to-the-librdf-oo-wrapper-for-redlandlibrdf/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The Debian Package Tracking System now publishes Turtle RDF meta-data</title>
		<link>http://www-public.telecom-sudparis.eu/~berger_o/weblog/2013/02/01/the-debian-package-tracking-system-now-publishes-turtle-rdf-meta-data/</link>
		<comments>http://www-public.telecom-sudparis.eu/~berger_o/weblog/2013/02/01/the-debian-package-tracking-system-now-publishes-turtle-rdf-meta-data/#comments</comments>
		<pubDate>Fri, 01 Feb 2013 09:34:58 +0000</pubDate>
		<dc:creator>Olivier Berger</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[adms.sw]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[debian-en]]></category>
		<category><![CDATA[linked data]]></category>
		<category><![CDATA[package]]></category>
		<category><![CDATA[pts]]></category>
		<category><![CDATA[RDF]]></category>
		<category><![CDATA[semantic web]]></category>
		<category><![CDATA[Turtle]]></category>

		<guid isPermaLink="false">http://www-public.telecom-sudparis.eu/~berger_o/weblog/?p=1020</guid>
		<description><![CDATA[The Debian PTS now speaks the Turtle representation format for the export of RDF meta-data about Debian source packages. Alongside HTML pages for humans, and the RDF/XML that had already been added to it this means that a new flavour &#8230; <a href="http://www-public.telecom-sudparis.eu/~berger_o/weblog/2013/02/01/the-debian-package-tracking-system-now-publishes-turtle-rdf-meta-data/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>The <a href="http://packages.qa.debian.org/">Debian PTS</a> now speaks the Turtle representation format for the <a href="http://packages.qa.debian.org/common/RDF.html">export of RDF meta-data</a> about Debian source packages.</p>
<p>Alongside HTML pages for humans, and the <a href="http://www-public.telecom-sudparis.eu/~berger_o/weblog/2012/08/29/debian-package-tracking-system-now-produces-rdf-description-of-source-packages/">RDF/XML that had already been added to it</a> this means that a new flavour of RDF is now available.</p>
<p><a href="http://www.w3.org/TR/turtle/">The Turtle format</a> offers the benefits of both machine-readable meta-data, and a somehow human readable textual format too.</p>
<p>For instance, you may check the <a href="http://packages.qa.debian.org/a/apache2.ttl">apache2 Turtle meta-data</a> from the command-line with :<br />
<code>$ curl -L -s -H "Accept: text/turtle" http://packages.qa.debian.org/apache2</code></p>
<p>Here&#8217;s a link to a <a href="http://www-public.it-sudparis.eu/~berger_o/weblog/wp-content/uploads/2013/02/apache2.html">colorized HTML preview of http://packages.qa.debian.org/a/apache2.ttl</a>.</p>
<p>Under the hood, the XSLT stylesheets of the PTS have been reworked to produce the Turtle format by default, and later convert them to RDF/XML.</p>
<p>Every Debian source package then has a reference URI in the Linked Data word, in the form <code>http://packages.qa.debian.org/PACKAGE_NAME</code>, that redirects, through proper content-negociation (the HTTP <code>Accept</code> header) to the HTML, RDF/XML or Turtle documents. For apache2, these are, resp. at <a href="http://packages.qa.debian.org/a/apache2.html">http://packages.qa.debian.org/a/apache2.html</a>, <a href="http://packages.qa.debian.org/a/apache2.rdf">http://packages.qa.debian.org/a/apache2.rdf</a> and <a href="http://packages.qa.debian.org/a/apache2.ttl">http://packages.qa.debian.org/a/apache2.ttl</a>.</p>
<p>The meta-data uses the model of the <a href="https://joinup.ec.europa.eu/asset/adms_foss/release/release100">ADMS.SW ontology</a> (1.0), and the content has also been slightly updated to make it more conformant to the ADMS.SW specifications (checks done with the <a href="http://joinup.ec.europa.eu/asset/adms_foss/news/just-released-admssw-validator-verify-and-visualise-rdf-software-metadata">ADMS.SW validator</a>).</p>
<p>Let&#8217;s hope this makes RDF more familiar to Debian folks, and allows more Linked Data interlinking with other resources about FLOSS packages.</p>
]]></content:encoded>
			<wfw:commentRss>http://www-public.telecom-sudparis.eu/~berger_o/weblog/2013/02/01/the-debian-package-tracking-system-now-publishes-turtle-rdf-meta-data/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>A 30 minutes introduction to git</title>
		<link>http://www-public.telecom-sudparis.eu/~berger_o/weblog/2012/12/06/a-30-minutes-introduction-to-git/</link>
		<comments>http://www-public.telecom-sudparis.eu/~berger_o/weblog/2012/12/06/a-30-minutes-introduction-to-git/#comments</comments>
		<pubDate>Thu, 06 Dec 2012 14:18:27 +0000</pubDate>
		<dc:creator>Olivier Berger</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[debian-en]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[introduction]]></category>

		<guid isPermaLink="false">http://www-public.telecom-sudparis.eu/~berger_o/weblog/?p=1003</guid>
		<description><![CDATA[I&#8217;ve been looking for a set of slides that I could have reused to make a 30 minutes introduction to my colleagues at the computer science department. Finding none that would be suitable (i.e. including graphical examples and not only &#8230; <a href="http://www-public.telecom-sudparis.eu/~berger_o/weblog/2012/12/06/a-30-minutes-introduction-to-git/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve been looking for a set of slides that I could have reused to make a 30 minutes introduction to my colleagues at the computer science department.</p>
<p>Finding none that would be suitable (i.e. including graphical examples and not only being the canvas for a workshop), I tried to proceed with making one of my own.</p>
<p>I&#8217;ve reused the document <a href="http://sitaramc.github.com/gcs/">git concepts simplified</a>, whose content seemed quite good, and have converted it to a set of slides.</p>
<p>Here&#8217;s the result, which has been reworked a bit vs. the original &#8220;git concepts simplified&#8221; :</p>
<p><iframe src="http://www.slideshare.net/slideshow/embed_code/15517872" width="427" height="356" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC;border-width:1px 1px 0;margin-bottom:5px" allowfullscreen webkitallowfullscreen mozallowfullscreen> </iframe>
<div style="margin-bottom:5px"> <strong> <a href="http://www.slideshare.net/olberger/an-introduction-to-git-15517872" title="An introduction to git" target="_blank">An introduction to git</a> </strong> from <strong><a href="http://www.slideshare.net/olberger" target="_blank">olberger</a></strong> </div>
<p>Here&#8217;s the <a href="http://www-public.telecom-sudparis.eu/~berger_o/presentation-git-dpt-inf-1.pdf">PDF version</a>.</p>
<p>Note that if you prefer a version that aligns more with the original, here&#8217;s also an older version, in : <a href="https://github.com/olberger/git-notes/tree/master/gcs">https://github.com/olberger/git-notes/tree/master/gcs</a></p>
<p><strong>Update:</strong> For the lone reader that cannot attend my presentation, I should recommend to read first the HTML version by Sitaram at <a href="http://sitaramc.github.com/gcs/">git concepts simplified</a>, as the slides miss some details (which I&#8217;ve kept in the beamer notes only), then only refer to my slides in a second time, for some additions.</p>
<p>If you want the org-mode source (containing the dot source of the diagrams), contact me. I&#8217;ll maybe upload the source into some Git repo whan I have enough demand/time <img src='http://www-public.telecom-sudparis.eu/~berger_o/weblog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www-public.telecom-sudparis.eu/~berger_o/weblog/2012/12/06/a-30-minutes-introduction-to-git/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Presented &#8220;Generating Linked Data descriptions of Debian packages in the Debian PTS&#8221; at the Paris Mini DebConf</title>
		<link>http://www-public.telecom-sudparis.eu/~berger_o/weblog/2012/11/25/presented-generating-linked-data-descriptions-of-debian-packages-in-the-debian-pts-at-the-paris-mini-debconf/</link>
		<comments>http://www-public.telecom-sudparis.eu/~berger_o/weblog/2012/11/25/presented-generating-linked-data-descriptions-of-debian-packages-in-the-debian-pts-at-the-paris-mini-debconf/#comments</comments>
		<pubDate>Sun, 25 Nov 2012 14:40:51 +0000</pubDate>
		<dc:creator>Olivier Berger</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[adms.sw]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[debian-en]]></category>
		<category><![CDATA[package]]></category>
		<category><![CDATA[pts]]></category>
		<category><![CDATA[RDF]]></category>

		<guid isPermaLink="false">http://www-public.telecom-sudparis.eu/~berger_o/weblog/?p=994</guid>
		<description><![CDATA[I have made a presentation at the Paris MinDebconf 2012 about the work I&#8217;ve done to bring more semantic meta-data to the Debian PTS (see previous posts). Here are my slides : Generating Linked Data descriptions of Debian packages in &#8230; <a href="http://www-public.telecom-sudparis.eu/~berger_o/weblog/2012/11/25/presented-generating-linked-data-descriptions-of-debian-packages-in-the-debian-pts-at-the-paris-mini-debconf/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>I have made a presentation at the <a href="http://fr2012.mini.debconf.org/">Paris MinDebconf 2012</a> about the work I&#8217;ve done to bring more semantic meta-data to the Debian PTS (see <a href="http://www-public.telecom-sudparis.eu/~berger_o/weblog/2012/08/29/debian-package-tracking-system-now-produces-rdf-description-of-source-packages/">previous posts</a>).</p>
<p>Here are my slides :<br />
<iframe src="http://www.slideshare.net/slideshow/embed_code/15336720" width="427" height="356" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC;border-width:1px 1px 0;margin-bottom:5px" allowfullscreen webkitallowfullscreen mozallowfullscreen> </iframe>
<div style="margin-bottom:5px"> <strong> <a href="http://www.slideshare.net/olberger/generating-linked-data-descriptions-of-debian-packages-in-the-debian-pts" title="Generating Linked Data descriptions of Debian packages in the Debian PTS" target="_blank">Generating Linked Data descriptions of Debian packages in the Debian PTS</a> </strong> from <strong><a href="http://www.slideshare.net/olberger" target="_blank">olberger</a></strong> </div>
<p>Also <a href="http://www-public.telecom-sudparis.eu/~berger_o/presentation-MiniDebconf-Paris-2012.pdf">available here as PDF</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www-public.telecom-sudparis.eu/~berger_o/weblog/2012/11/25/presented-generating-linked-data-descriptions-of-debian-packages-in-the-debian-pts-at-the-paris-mini-debconf/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Debian Package Tracking System now produces RDF description of source packages</title>
		<link>http://www-public.telecom-sudparis.eu/~berger_o/weblog/2012/08/29/debian-package-tracking-system-now-produces-rdf-description-of-source-packages/</link>
		<comments>http://www-public.telecom-sudparis.eu/~berger_o/weblog/2012/08/29/debian-package-tracking-system-now-produces-rdf-description-of-source-packages/#comments</comments>
		<pubDate>Wed, 29 Aug 2012 16:36:41 +0000</pubDate>
		<dc:creator>Olivier Berger</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[adms.f/oss]]></category>
		<category><![CDATA[adms.sw]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[debian-en]]></category>
		<category><![CDATA[interoperability]]></category>
		<category><![CDATA[linked data]]></category>
		<category><![CDATA[linked open data]]></category>
		<category><![CDATA[pts]]></category>
		<category><![CDATA[RDF]]></category>

		<guid isPermaLink="false">http://www-public.it-sudparis.eu/~berger_o/weblog/?p=971</guid>
		<description><![CDATA[Here&#8217;s a second post on the subject of RDF descriptions for Debian source packages (see the previous post for some context). From now on, the Debian Package Tracking System (PTS) will produce, alongside HTML pages meant for humans, RDF pages &#8230; <a href="http://www-public.telecom-sudparis.eu/~berger_o/weblog/2012/08/29/debian-package-tracking-system-now-produces-rdf-description-of-source-packages/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Here&#8217;s a second post on the subject of <a href="http://www.w3.org/RDF/">RDF</a> descriptions for <a href="http://www.debian.org/doc/manuals/debian-faq/ch-pkg_basics.en.html">Debian source packages</a> (see the <a href="http://www-public.it-sudparis.eu/~berger_o/weblog/2012/08/24/generating-rdf-description-of-debian-package-sources-with-adms-sw/" title="Generating RDF description of Debian package sources with ADMS.SW">previous post</a> for some context).</p>
<p>From now on, the <a href="http://packages.qa.debian.org/">Debian Package Tracking System</a> (PTS) will produce, alongside HTML pages meant for humans, RDF pages meant for <a href="http://en.wikipedia.org/wiki/Linked_data">Linked Data / Semantic Web</a> aware applications.</p>
<p>Every Debian source package, which used to have an HTML page like <code>http://packages.qa.debian.org/packagename</code> now has a corresponding RDF/XML document available provided that the <code>application/rdf+xml</code> content-type is required (the HTTP client being redirected to the proper HTML or RDF document).<br />
<span id="more-971"></span><br />
The main objective is to try and produce (closest as possible from the source, at debian.org) an authoritative description of Debian&#8217;s packages in an interoperable format (RDF using the <a href="http://joinup.ec.europa.eu/asset/adms_foss/description">ADMS.SW 1.0 ontology</a>).</p>
<p>Thus, each package in Debian can be identified on the Semantic Web with a unique URI like <code>http://packages.qa.debian.org/apache2</code>, which is dereferenceable as RDF.</p>
<p>Here&#8217;s a graph representing the resources included in http://packages.qa.debian.org/apache2 (click on the image to load it) :<br />
<a href="http://www-public.it-sudparis.eu/~berger_o/apache2-source-graph-20120829.png"><img src="http://www-public.it-sudparis.eu/~berger_o/apache2-source-graph-20120829.png" width="600" height="333" alt="" /></a></p>
<p>You can see an example of such an RDF representation for the <code>apache2</code> source package in trying (with the &#8216;raptor2-utils&#8217; package installed):<br />
<code><br />
  $ rapper -o turtle http://packages.qa.debian.org/apache2<br />
</code></p>
<p>If you prefer more visual/navigatable versions, use one of the <a href="http://en.wikipedia.org/wiki/Linked_data#Browsers">Linked Data browsers referenced in wikipedia</a> or see <a href="http://www.w3.org/RDF/Validator/ARPServlet?URI=http%3A%2F%2Fpackages.qa.debian.org%2Fapache2&#038;PARSE=Parse+URI%3A+&#038;TRIPLES_AND_GRAPH=PRINT_GRAPH&#038;FORMAT=PNG_EMBED&#038;NTRIPLES=on&#038;NODE_COLOR=Black&#038;NODE_TEXT_COLOR=Blue&#038;EDGE_COLOR=Darkgreen&#038;EDGE_TEXT_COLOR=Red&#038;FONT_SIZE=10&#038;ORIENTATION=LR#graph">the output of the W3C RDF validator</a>.</p>
<p>For more details about the underlying format see a <a href="http://packages.qa.debian.org/a/apache2.rdf">raw RDF/XML dump</a> :<br />
<code><br />
 $ curl -L -v -H 'Accept: application/rdf+xml'  http://packages.qa.debian.org/apache2<br />
</code></p>
<p>Any Semantic Web application can then reference that resource, which becomes part of the <a href="http://linkeddata.org/">Linked Open Data</a> cloud.</p>
<p>There are probably lots of uses that could emerge from this, but the immediate I can think of is the matching of Debian packages with other packages/projects (upstream, downstream, other dists) in an interoperable way (see other projects like distromatch, etc.). At the moment, the <code>doap:homepage</code> of the upstream <code>SoftwareProject</code> resources generated by the PTS can be such a simple matching key (it&#8217;s actually much more complex than that, but will be the topic of further efforts).</p>
<p>AFAICT, this is the first large deployment of an ADMS.SW 1.0 implementation. On my machine, I&#8217;ve counted almost 1.5 million triples generated.</p>
<p>Stay tuned for more installments on similar topics.</p>
]]></content:encoded>
			<wfw:commentRss>http://www-public.telecom-sudparis.eu/~berger_o/weblog/2012/08/29/debian-package-tracking-system-now-produces-rdf-description-of-source-packages/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
