<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Web on Lorenzo Bolla</title><link>https://lbolla.info/tags/web/</link><description>Recent content in Web on Lorenzo Bolla</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Thu, 04 Jan 2018 00:00:00 +0000</lastBuildDate><atom:link href="https://lbolla.info/tags/web/index.xml" rel="self" type="application/rss+xml"/><item><title>org-based lbolla.info</title><link>https://lbolla.info/blog/org-based-lbolla.info/</link><pubDate>Thu, 04 Jan 2018 00:00:00 +0000</pubDate><guid>https://lbolla.info/blog/org-based-lbolla.info/</guid><description>&lt;p&gt;&lt;a href="https://lbolla.info"&gt;lbolla.info&lt;/a&gt; is now written in &lt;a href="http://orgmode.org/"&gt;Org&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I use &lt;code&gt;org-mode&lt;/code&gt; daily for all sorts of tasks:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;TODO list&lt;/li&gt;
&lt;li&gt;Keeping tracks of meetings, events, etc.&lt;/li&gt;
&lt;li&gt;Note taking&lt;/li&gt;
&lt;li&gt;Presentations&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It was annoying to have to switch to another markdown language for blogging. So, I looked into &lt;a href="https://orgmode.org/worg/org-tutorials/org-publish-html-tutorial.html"&gt;org-publish&lt;/a&gt; for a simple, no-frills way to write &lt;code&gt;.org&lt;/code&gt; files and convert them to &lt;code&gt;.html&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;My &lt;code&gt;org-publish-project-alist&lt;/code&gt; now contains these entries:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-lisp" data-lang="lisp"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;(&lt;span style="color:#e6db74"&gt;&amp;#34;lbolla.info&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;:components&lt;/span&gt; (&lt;span style="color:#e6db74"&gt;&amp;#34;lbolla.info-html&amp;#34;&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;lbolla.info-static&amp;#34;&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;lbolla.info-cv&amp;#34;&lt;/span&gt;))
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;(&lt;span style="color:#e6db74"&gt;&amp;#34;lbolla.info-static&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;:base-directory&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;~/src/lbolla.info/static/&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;:base-extension&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;png\\|jpg\\|\\|gif\\|gz\\|css&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;:publishing-directory&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;~/src/lbolla.info/html/&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;:recursive&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;t&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;:publishing-function&lt;/span&gt; org-publish-attachment)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;(&lt;span style="color:#e6db74"&gt;&amp;#34;lbolla.info-cv&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;:base-directory&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;~/src/lbolla.info/org/&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;:exclude&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;\\.*&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;:include&lt;/span&gt; (&lt;span style="color:#e6db74"&gt;&amp;#34;cv.org&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;:publishing-directory&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;~/src/lbolla.info/html/&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;:publishing-function&lt;/span&gt; org-latex-publish-to-pdf)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;(&lt;span style="color:#e6db74"&gt;&amp;#34;lbolla.info-html&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;:base-directory&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;~/src/lbolla.info/org/&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;:publishing-directory&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;~/src/lbolla.info/html/&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;:recursive&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;t&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;:section-numbers&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;nil&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;:auto-sitemap&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;t&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;:sitemap-format-entry&lt;/span&gt; lbolla.info/org-publish-sitemap-format-entry
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;:sitemap-function&lt;/span&gt; lbolla.info/org-publish-sitemap-function
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;:sitemap-sort-files&lt;/span&gt; anti-chronologically
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;:sitemap-style&lt;/span&gt; tree
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;:sitemap-title&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;Sitemap&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;:with-toc&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;nil&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;:html-doctype&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;html5&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;:html-head-include-default-style&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;nil&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;:html-head-include-scripts&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;nil&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;:html-link-home&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;&amp;lt;ignored&amp;gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;:html-link-up&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;&amp;lt;ignored&amp;gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;:html-home/up-format&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;&amp;lt;div id=\&amp;#34;org-div-home-and-up\&amp;#34;&amp;gt;&amp;lt;a accesskey=\&amp;#34;h\&amp;#34; href=\&amp;#34;/\&amp;#34;&amp;gt;Home&amp;lt;/a&amp;gt; | &amp;lt;a accesskey=\&amp;#34;a\&amp;#34; href=\&amp;#34;/articles\&amp;#34;&amp;gt;Articles&amp;lt;/a&amp;gt; | &amp;lt;a accesskey=\&amp;#34;c\&amp;#34; href=\&amp;#34;/cv\&amp;#34;&amp;gt;CV&amp;lt;/a&amp;gt; (&amp;lt;a href=\&amp;#34;/cv.pdf\&amp;#34;&amp;gt;pdf&amp;lt;/a&amp;gt;)&amp;lt;/div&amp;gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;:html-preamble&lt;/span&gt; lbolla.info/html-preamble
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;:html-postamble&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;nil&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;:html-head&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;&amp;lt;link rel=\&amp;#34;stylesheet\&amp;#34; href=\&amp;#34;./css/org.css\&amp;#34; type=\&amp;#34;text/css\&amp;#34;&amp;gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;:html-head-extra&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;&amp;lt;link rel=\&amp;#34;stylesheet\&amp;#34; href=\&amp;#34;./css/extra.css\&amp;#34; type=\&amp;#34;text/css\&amp;#34;&amp;gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;:publishing-function&lt;/span&gt; org-html-publish-to-html)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Style is &lt;a href="http://gongzhitaao.org/orgcss/"&gt;this one&lt;/a&gt;: some CSS rules made for org-generated HTML files.&lt;/p&gt;</description></item><item><title>lbolla.info is using HTTPS</title><link>https://lbolla.info/blog/lbolla.info-is-using-https/</link><pubDate>Fri, 04 Dec 2015 00:00:00 +0000</pubDate><guid>https://lbolla.info/blog/lbolla.info-is-using-https/</guid><description>&lt;p&gt;Today I have enabled &lt;code&gt;https&lt;/code&gt; on this website. I am using certificates issued by &lt;a href="https://letsencrypt.org/"&gt;Let's Encrypt&lt;/a&gt;, which is a new free, automated and open certificate authority.&lt;/p&gt;
&lt;p&gt;To manage the certificates, I am using &lt;a href="https://github.com/kuba/simp_le/"&gt;simp\&lt;del&gt;le&lt;/del&gt;&lt;/a&gt;, a simple command line client to issue and renew certificates using &lt;a href="https://letsencrypt.org/"&gt;Let's Encrypt&lt;/a&gt; API.&lt;/p&gt;
&lt;p&gt;All working fine, so far!&lt;/p&gt;</description></item><item><title>Simple Wordpress API lisp client</title><link>https://lbolla.info/blog/simple-wordpress-api-lisp-client/</link><pubDate>Wed, 04 Aug 2010 00:00:00 +0000</pubDate><guid>https://lbolla.info/blog/simple-wordpress-api-lisp-client/</guid><description>&lt;p&gt;I like old things, therefore I started to learn Lisp.&lt;/p&gt;
&lt;p&gt;There isn't a better way to learn than by doing, so I tried to implement a client for the &lt;a href="http://codex.wordpress.org/XML-RPC_Support"&gt;wordpress api&lt;/a&gt;. the result, even if not complete yet, it's so elegant that I'd like to &lt;a href="http://github.com/lbolla/junk/blob/master/lisp/wordpress.lisp"&gt;share it&lt;/a&gt;.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-lisp" data-lang="lisp"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;(&lt;span style="color:#a6e22e"&gt;require&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#39;s-xml-rpc&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;(defpackage &lt;span style="color:#e6db74"&gt;:wp&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (&lt;span style="color:#e6db74"&gt;:use&lt;/span&gt; &lt;span style="color:#e6db74"&gt;:cl&lt;/span&gt; &lt;span style="color:#e6db74"&gt;:cl-user&lt;/span&gt; &lt;span style="color:#e6db74"&gt;:s-xml-rpc&lt;/span&gt;))
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;(in-package &lt;span style="color:#e6db74"&gt;:wp&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;(defparameter +interfaces+
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#39;&lt;/span&gt;((get-blogs &lt;span style="color:#e6db74"&gt;&amp;#34;wp.getUsersBlogs&amp;#34;&lt;/span&gt; username password)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (get-tags &lt;span style="color:#e6db74"&gt;&amp;#34;wp.getTags&amp;#34;&lt;/span&gt; blog-id username password)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (get-comment-count &lt;span style="color:#e6db74"&gt;&amp;#34;wp.getCommentCount&amp;#34;&lt;/span&gt; blog-id username password post-id)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (get-post-status-list &lt;span style="color:#e6db74"&gt;&amp;#34;wp.getPostStatusList&amp;#34;&lt;/span&gt; blog-id username password)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (get-page-status-list &lt;span style="color:#e6db74"&gt;&amp;#34;wp.getPageStatusList&amp;#34;&lt;/span&gt; blog-id username password)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (get-page-templates &lt;span style="color:#e6db74"&gt;&amp;#34;wp.getPageTemplates&amp;#34;&lt;/span&gt; blog-id username password)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (get-options &lt;span style="color:#e6db74"&gt;&amp;#34;wp.getOptions&amp;#34;&lt;/span&gt; blog-id username password)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (delete-comment &lt;span style="color:#e6db74"&gt;&amp;#34;wp.deleteComment&amp;#34;&lt;/span&gt; blog-id username password comment-id)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (get-comment-status-list &lt;span style="color:#e6db74"&gt;&amp;#34;wp.getCommentStatusList&amp;#34;&lt;/span&gt; blog-id username password)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (get-page &lt;span style="color:#e6db74"&gt;&amp;#34;wp.getPage&amp;#34;&lt;/span&gt; blog-id page-id username password)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (get-pages &lt;span style="color:#e6db74"&gt;&amp;#34;wp.getPages&amp;#34;&lt;/span&gt; blog-id username password)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (get-page-list &lt;span style="color:#e6db74"&gt;&amp;#34;wp.getPageList&amp;#34;&lt;/span&gt; blog-id username password)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (delete-page &lt;span style="color:#e6db74"&gt;&amp;#34;wp.deletePage&amp;#34;&lt;/span&gt; blog-id username password page-id)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (get-authors &lt;span style="color:#e6db74"&gt;&amp;#34;wp.getAuthors&amp;#34;&lt;/span&gt; blog-id username password)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (get-categories &lt;span style="color:#e6db74"&gt;&amp;#34;wp.getCategories&amp;#34;&lt;/span&gt; blog-id username password)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (delete-category &lt;span style="color:#e6db74"&gt;&amp;#34;wp.deleteCategory&amp;#34;&lt;/span&gt; blog-id username password category-id)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (suggest-categories &lt;span style="color:#e6db74"&gt;&amp;#34;wp.suggestCategories&amp;#34;&lt;/span&gt; blog-id username password category max-results)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (get-comment &lt;span style="color:#e6db74"&gt;&amp;#34;wp.getComment&amp;#34;&lt;/span&gt; blog-id username password comment-id))
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;Interface definition to WP services&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;(defun defunwp (params)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (destructuring-bind (name service &lt;span style="color:#66d9ef"&gt;&amp;amp;rest&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;rest&lt;/span&gt;) params
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (setf (&lt;span style="color:#a6e22e"&gt;fdefinition&lt;/span&gt; name) (&lt;span style="color:#a6e22e"&gt;compile&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;nil&lt;/span&gt; &lt;span style="color:#f92672"&gt;`&lt;/span&gt;(lambda (host &lt;span style="color:#f92672"&gt;,@&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;rest&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;&amp;amp;optional&lt;/span&gt; (url &lt;span style="color:#e6db74"&gt;&amp;#34;/xmlrpc.php&amp;#34;&lt;/span&gt;))
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (&lt;span style="color:#66d9ef"&gt;block&lt;/span&gt; &lt;span style="color:#f92672"&gt;,&lt;/span&gt;name
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (xml-rpc-call
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (encode-xml-rpc-call &lt;span style="color:#f92672"&gt;,&lt;/span&gt;service &lt;span style="color:#f92672"&gt;,@&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;rest&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;:host&lt;/span&gt; host
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;:url&lt;/span&gt; url)))))
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; name))
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;(&lt;span style="color:#a6e22e"&gt;mapcar&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;#&amp;#39;&lt;/span&gt;(lambda (interface) (&lt;span style="color:#a6e22e"&gt;export&lt;/span&gt; (defunwp interface))) +interfaces+)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;It uses the &lt;a href="http://common-lisp.net/project/s-xml-rpc/"&gt;s-xml-rpc&lt;/a&gt; package and I've tested it with &lt;a href="http://www.sbcl.org/"&gt;SBCL&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>wordpress.com and text based web browsers</title><link>https://lbolla.info/blog/wordpress.com-and-text-based-web-browsers/</link><pubDate>Sat, 31 Jan 2009 00:00:00 +0000</pubDate><guid>https://lbolla.info/blog/wordpress.com-and-text-based-web-browsers/</guid><description>&lt;p&gt;Today, I was appreciating how well wordpress.com renders on text based web browsers (using &lt;a href="http://elinks.or.cz/"&gt;elinks&lt;/a&gt;). Unfortunately, even if reading posts looks great, posting does not. Actually, I've been able to delete one of my posts, while searching to edit it. Completely wiped out.&lt;/p&gt;
&lt;p&gt;Luckily, &lt;a href="http://www.googleguide.com/cached_pages.html"&gt;google cache&lt;/a&gt; saved my time and promptly found an older copy. Beware!&lt;/p&gt;</description></item><item><title>Command line HTML validator</title><link>https://lbolla.info/blog/command-line-html-validator/</link><pubDate>Fri, 30 Jan 2009 00:00:00 +0000</pubDate><guid>https://lbolla.info/blog/command-line-html-validator/</guid><description>&lt;p&gt;Valid HTML is something we should strive to achieve. &lt;a href="http://validator.w3.org/"&gt;W3C Validator&lt;/a&gt; is an invaluable tool to do just that. Unfortunately, validating a local file you are working on can be annoying after the 100th time you've uploaded it to the &lt;a href="http://validator.w3.org/"&gt;W3C website&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://raw.github.com/lbolla/junk/master/utils/w3c_validate.py"&gt;Here&lt;/a&gt; you can find a &lt;a href="https://raw.github.com/lbolla/junk/master/utils/w3c_validate.py"&gt;command line HTML validator&lt;/a&gt; that simply uploads anything passed to it from &lt;code&gt;stdin&lt;/code&gt; to the &lt;a href="http://validator.w3.org/"&gt;W3C Validator&lt;/a&gt;. The basic syntax is:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$&amp;gt; python validate.py &amp;lt; file_to_validate.html
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;It requires &lt;a href="http://www.aaronsw.com/2002/html2text/"&gt;html2text&lt;/a&gt; to print the detailed list of errors.&lt;/p&gt;</description></item><item><title>Trackback</title><link>https://lbolla.info/blog/trackback/</link><pubDate>Mon, 10 Sep 2007 00:00:00 +0000</pubDate><guid>https://lbolla.info/blog/trackback/</guid><description>&lt;p&gt;Today, I discovered a new cool feature of blogs: trackbacks!&lt;/p&gt;
&lt;p&gt;This is a test, to see if I got it right&amp;hellip;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.optiniche.com/blog/117/wordpress-trackback-tutorial/trackback/"&gt;Here&lt;/a&gt; is a clear explanation of trackbacks.&lt;/p&gt;</description></item></channel></rss>