<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1947405997418753543</id><updated>2012-02-16T10:31:51.691+01:00</updated><category term='noweb'/><category term='knuth'/><category term='croquet'/><category term='squeak'/><category term='tex'/><category term='scons'/><category term='python'/><category term='kay'/><category term='latex'/><title type='text'>On Giants' Shoulders</title><subtitle type='html'>Inspiration comes from great minds and from how they invented our future.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://ongiantsshoulders.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1947405997418753543/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://ongiantsshoulders.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>espin</name><uri>http://www.blogger.com/profile/02060167018046130752</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://1.bp.blogspot.com/_J7VupgD0jMo/SVn5E8L-s2I/AAAAAAAAAII/ZfL6ZHxBLRM/S220/me2007_clean.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>11</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1947405997418753543.post-668260247104145680</id><published>2012-02-06T10:36:00.000+01:00</published><updated>2012-02-06T10:36:30.457+01:00</updated><title type='text'>Git and RSA identities</title><content type='html'>Here is the solution I found to be able to use &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;git&lt;/span&gt; with a different RSA identity than the &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;rsa_id&lt;/span&gt; default one.&lt;br /&gt;&lt;br /&gt;My repo on github is &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;logback-android&lt;/span&gt; and my user account is &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;espinielli&lt;/span&gt;.&lt;br /&gt;I did generate an SSH key as per github help and named it &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;github_rsa&lt;/span&gt;:&lt;br /&gt;&lt;code&gt;$ ssh-keygen -t rsa -C "your_email@youremail.com" -f github_rsa&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;I then added the following section in &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;~/.ssh/config&lt;/span&gt;&lt;br /&gt;&lt;code&gt;# github for espinielli&lt;br /&gt;Host github&lt;br /&gt;HostName github.com&lt;br /&gt;User espinielli&lt;br /&gt;IdentityFile /Users/espin/.ssh/github_rsa&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;From within the repo directory (I cloned it before via http):&lt;br /&gt;&lt;code&gt;$ git remote add gh ssh://git@github.com/espinielli/logback-android.git&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;And finally I am able to use it like this:&lt;br /&gt;&lt;code&gt;$ git push gh master&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1947405997418753543-668260247104145680?l=ongiantsshoulders.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ongiantsshoulders.blogspot.com/feeds/668260247104145680/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ongiantsshoulders.blogspot.com/2012/02/git-and-rsa-identities.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1947405997418753543/posts/default/668260247104145680'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1947405997418753543/posts/default/668260247104145680'/><link rel='alternate' type='text/html' href='http://ongiantsshoulders.blogspot.com/2012/02/git-and-rsa-identities.html' title='Git and RSA identities'/><author><name>espin</name><uri>http://www.blogger.com/profile/02060167018046130752</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://1.bp.blogspot.com/_J7VupgD0jMo/SVn5E8L-s2I/AAAAAAAAAII/ZfL6ZHxBLRM/S220/me2007_clean.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1947405997418753543.post-6540830835006758234</id><published>2012-01-20T16:30:00.001+01:00</published><updated>2012-01-20T16:32:59.816+01:00</updated><title type='text'>LaTeX on Blogger again</title><content type='html'>&lt;a href="http://ongiantsshoulders.blogspot.com/2009/11/text-on-latex-snippet-in-blogger-from.html"&gt;My previous post&lt;/a&gt;&amp;nbsp;about&amp;nbsp;LaTeX&amp;nbsp;&amp;nbsp;on Blogger&amp;nbsp;reported that the solution described there did not work anymore...&lt;br /&gt;Now I found &lt;a href="http://irrep.blogspot.com/2011/07/mathjax-in-blogger-ii.html"&gt;a new solution&lt;/a&gt; based on &lt;a href="http://www.mathjax.org/"&gt;mathjax&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;So let's try it straight away with inline math, like the great equation \(e^{-2\pi}\), and with displayed math like the following:&lt;br /&gt;\[ \left [ - \frac{\hbar^2}{2 m} \frac{\partial^2}{\partial x^2} + V \right ] \Psi&lt;br /&gt;= i \hbar \frac{\partial}{\partial t} \Psi \]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1947405997418753543-6540830835006758234?l=ongiantsshoulders.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ongiantsshoulders.blogspot.com/feeds/6540830835006758234/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ongiantsshoulders.blogspot.com/2012/01/latex-on-blogger-again.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1947405997418753543/posts/default/6540830835006758234'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1947405997418753543/posts/default/6540830835006758234'/><link rel='alternate' type='text/html' href='http://ongiantsshoulders.blogspot.com/2012/01/latex-on-blogger-again.html' title='LaTeX on Blogger again'/><author><name>espin</name><uri>http://www.blogger.com/profile/02060167018046130752</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://1.bp.blogspot.com/_J7VupgD0jMo/SVn5E8L-s2I/AAAAAAAAAII/ZfL6ZHxBLRM/S220/me2007_clean.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1947405997418753543.post-6495698211884574537</id><published>2011-03-26T21:15:00.000+01:00</published><updated>2011-03-26T21:15:43.123+01:00</updated><title type='text'>(What was) Croquet is maybe still alive</title><content type='html'>It seems there is still some hope to see &lt;a href="http://www.opencroquet.org/"&gt;Croquet&lt;/a&gt; (or, &lt;a href="http://www.opencobalt.org/"&gt;OpenCobalt&lt;/a&gt; which took off from where Croquet stopped) alive and based on latest &lt;a href="http://www.squeak.org/"&gt;Squeak&lt;/a&gt;&amp;nbsp;and more importantly using Cog VM.&lt;br /&gt;Matthew Fulmer reports it &lt;a href="http://lists.squeakfoundation.org/pipermail/squeak-dev/2011-March/158209.html"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The potentials are magical as explained by &lt;a href="http://inventing-the-future.wetmachine.com/content/controlling-time-teatime"&gt;Howard Stearns&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1947405997418753543-6495698211884574537?l=ongiantsshoulders.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ongiantsshoulders.blogspot.com/feeds/6495698211884574537/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ongiantsshoulders.blogspot.com/2011/03/what-was-croquet-is-maybe-still-alive.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1947405997418753543/posts/default/6495698211884574537'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1947405997418753543/posts/default/6495698211884574537'/><link rel='alternate' type='text/html' href='http://ongiantsshoulders.blogspot.com/2011/03/what-was-croquet-is-maybe-still-alive.html' title='(What was) Croquet is maybe still alive'/><author><name>espin</name><uri>http://www.blogger.com/profile/02060167018046130752</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://1.bp.blogspot.com/_J7VupgD0jMo/SVn5E8L-s2I/AAAAAAAAAII/ZfL6ZHxBLRM/S220/me2007_clean.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1947405997418753543.post-7670146392801443094</id><published>2010-10-31T16:22:00.002+01:00</published><updated>2010-10-31T16:22:51.539+01:00</updated><title type='text'>Investigating Pier</title><content type='html'>I have been playing around with &lt;a href="http://www.piercms.com/"&gt;Pier&lt;/a&gt;.&lt;br /&gt;It is fun,&amp;nbsp;especially&amp;nbsp;when you can extend it to show LaTeX formulae (this is still work in progress given I am using the js from &lt;a href="http://www.mathjax.org/"&gt;MathJax&lt;/a&gt; [even if forbidden], but hey I wanted a proof of concept!)&lt;br /&gt;&lt;br /&gt;I will try to complete it: whatch out 'Beautiful Math for Pier' on &lt;a href="http://www.squeaksource.com/"&gt;squeaksource&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1947405997418753543-7670146392801443094?l=ongiantsshoulders.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ongiantsshoulders.blogspot.com/feeds/7670146392801443094/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ongiantsshoulders.blogspot.com/2010/10/investigating-pier.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1947405997418753543/posts/default/7670146392801443094'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1947405997418753543/posts/default/7670146392801443094'/><link rel='alternate' type='text/html' href='http://ongiantsshoulders.blogspot.com/2010/10/investigating-pier.html' title='Investigating Pier'/><author><name>espin</name><uri>http://www.blogger.com/profile/02060167018046130752</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://1.bp.blogspot.com/_J7VupgD0jMo/SVn5E8L-s2I/AAAAAAAAAII/ZfL6ZHxBLRM/S220/me2007_clean.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1947405997418753543.post-2169705162801637844</id><published>2009-11-11T15:39:00.006+01:00</published><updated>2010-10-31T16:07:11.615+01:00</updated><title type='text'>LaTeX on Blogger</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Times, 'Times New Roman', serif;"&gt;An inline snippet of LaTeX &lt;span style="color: #333333;"&gt;$e^{\pi i}+1=0\$&amp;nbsp;&lt;span style="color: black;"&gt;in blogger (from&amp;nbsp;&lt;a href="http://watchmath.com/vlog/?p=438"&gt;http://watchmath.com/vlog/?p=438&lt;/a&gt;&amp;nbsp;but it now, Oct 2010, shows crap!).&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #333333;"&gt;&lt;span class="Apple-style-span" style="font-family: Times, 'Times New Roman', serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #333333;"&gt;&lt;span class="Apple-style-span" style="font-family: Times, 'Times New Roman', serif;"&gt;You can as well have it in display style:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #333333;"&gt;&lt;span class="Apple-style-span" style="font-family: Times, 'Times New Roman', serif;"&gt;\[e^{\pi i}+1=0\\]&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1947405997418753543-2169705162801637844?l=ongiantsshoulders.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ongiantsshoulders.blogspot.com/feeds/2169705162801637844/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ongiantsshoulders.blogspot.com/2009/11/text-on-latex-snippet-in-blogger-from.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1947405997418753543/posts/default/2169705162801637844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1947405997418753543/posts/default/2169705162801637844'/><link rel='alternate' type='text/html' href='http://ongiantsshoulders.blogspot.com/2009/11/text-on-latex-snippet-in-blogger-from.html' title='LaTeX on Blogger'/><author><name>espin</name><uri>http://www.blogger.com/profile/02060167018046130752</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://1.bp.blogspot.com/_J7VupgD0jMo/SVn5E8L-s2I/AAAAAAAAAII/ZfL6ZHxBLRM/S220/me2007_clean.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1947405997418753543.post-89677465580500019</id><published>2009-10-27T23:56:00.003+01:00</published><updated>2009-10-28T00:23:10.297+01:00</updated><title type='text'>Geomapping: what a wonderful world!</title><content type='html'>Suppose you have a set of lat/lon points, where do you find out their elevation?&lt;br /&gt;Simple, let say you have the following coordinates (a cross in concrete on the top of the hill in front of my parents' place):&lt;br /&gt;&lt;verbatim&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;45.469678, 10.970527  (I got these from 'Get Directions from here' in google maps)&lt;/verbatim&gt;&lt;br /&gt;Then call a USGS' web service from the URL below.&lt;br /&gt;It says&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;getElevation&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;for Latitude 45.46                   --&gt; Y_Value=45.469678&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;for Longitude 10.97                --&gt; X_Value=10.970527&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;return result in meters            --&gt; Elevation_Units=METERS&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;use the best survey available --&gt; Source_Layer=-1&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;not other additional info        --&gt; Elevation_Only=true&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.blogger.com/getElevation?Y_Value=45.469678&amp;amp;X_Value=10.970527&amp;amp;Elevation_Units=METERS&amp;amp;Source_Layer=-1&amp;amp;Elevation_Only=true"&gt;http://gisdata.usgs.gov/xmlwebservices2/elevation_service.asmx/getElevation?Y_Value=45.469678&amp;amp;X_Value=10.970527&amp;amp;Elevation_Units=METERS&amp;amp;Source_Layer=-1&amp;amp;Elevation_Only=true&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Why would you want elevations?&lt;/div&gt;&lt;div&gt;To plot an elevation chart of a bike or hiking tour.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Amazing what you can find around...&lt;/div&gt;&lt;div&gt;(This was inspired by &lt;a href="http://econym.org.uk/gmap/altitude.htm"&gt;http://econym.org.uk/gmap/altitude.htm&lt;/a&gt;)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1947405997418753543-89677465580500019?l=ongiantsshoulders.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ongiantsshoulders.blogspot.com/feeds/89677465580500019/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ongiantsshoulders.blogspot.com/2009/10/geomapping-what-wonderful-world.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1947405997418753543/posts/default/89677465580500019'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1947405997418753543/posts/default/89677465580500019'/><link rel='alternate' type='text/html' href='http://ongiantsshoulders.blogspot.com/2009/10/geomapping-what-wonderful-world.html' title='Geomapping: what a wonderful world!'/><author><name>espin</name><uri>http://www.blogger.com/profile/02060167018046130752</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://1.bp.blogspot.com/_J7VupgD0jMo/SVn5E8L-s2I/AAAAAAAAAII/ZfL6ZHxBLRM/S220/me2007_clean.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1947405997418753543.post-3868800001246262745</id><published>2009-10-26T15:44:00.002+01:00</published><updated>2009-10-26T15:49:18.035+01:00</updated><title type='text'>PyCalCal is out!</title><content type='html'>I finally set to put &lt;a href="http://code.google.com/p/pycalcal/"&gt;PyCalCal&lt;/a&gt; out in the open.&lt;br /&gt;I will need to finalize and perfect it but that is a good starting point.&lt;br /&gt;I also added a &lt;a href="http://code.google.com/p/pycalcal/"&gt;demo web app&lt;/a&gt; using it.&lt;br /&gt;&lt;br /&gt;My idea is for PyCalCal to be used as a Python library and as such use it to provide calendrica calculations as web services.&lt;br /&gt;Stay tuned if you are interested.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1947405997418753543-3868800001246262745?l=ongiantsshoulders.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ongiantsshoulders.blogspot.com/feeds/3868800001246262745/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ongiantsshoulders.blogspot.com/2009/10/pycalcal-is-out.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1947405997418753543/posts/default/3868800001246262745'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1947405997418753543/posts/default/3868800001246262745'/><link rel='alternate' type='text/html' href='http://ongiantsshoulders.blogspot.com/2009/10/pycalcal-is-out.html' title='PyCalCal is out!'/><author><name>espin</name><uri>http://www.blogger.com/profile/02060167018046130752</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://1.bp.blogspot.com/_J7VupgD0jMo/SVn5E8L-s2I/AAAAAAAAAII/ZfL6ZHxBLRM/S220/me2007_clean.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1947405997418753543.post-4328571631056794641</id><published>2009-07-28T23:56:00.002+02:00</published><updated>2009-07-29T00:00:42.698+02:00</updated><title type='text'>Giants' Shoulders in music</title><content type='html'>A nice song about a great Giant, Galileo, by the Chromatics.&lt;br /&gt;Read text and listen to music, &lt;a href="http://www.astrocappella.com/shoulders.shtml"&gt;here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1947405997418753543-4328571631056794641?l=ongiantsshoulders.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ongiantsshoulders.blogspot.com/feeds/4328571631056794641/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ongiantsshoulders.blogspot.com/2009/07/giants-shoulders-in-music.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1947405997418753543/posts/default/4328571631056794641'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1947405997418753543/posts/default/4328571631056794641'/><link rel='alternate' type='text/html' href='http://ongiantsshoulders.blogspot.com/2009/07/giants-shoulders-in-music.html' title='Giants&apos; Shoulders in music'/><author><name>espin</name><uri>http://www.blogger.com/profile/02060167018046130752</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://1.bp.blogspot.com/_J7VupgD0jMo/SVn5E8L-s2I/AAAAAAAAAII/ZfL6ZHxBLRM/S220/me2007_clean.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1947405997418753543.post-287329049599051800</id><published>2009-06-14T11:21:00.006+02:00</published><updated>2009-07-07T21:47:13.133+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='scons'/><category scheme='http://www.blogger.com/atom/ns#' term='latex'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><category scheme='http://www.blogger.com/atom/ns#' term='noweb'/><title type='text'>Scons and noweb</title><content type='html'>I was curious to see how I could integrate noweb and Scons.&lt;div&gt;You can download my little Sconstruct for this, &lt;a href="http://enrico.spinielli.googlepages.com/Sconstruct.example"&gt;Sconstruct.example&lt;/a&gt;. It defines two builders. NoWeave is used to produce TeX or LaTeX documents, while NoTangle extracts the non-document artefacts, i.e. programs, config files, scripts ... It also includes productions for generating a sample program about Ackermann function:&lt;/div&gt;&lt;code&gt;&lt;br /&gt;ackdoc  = env.NoWeave('ack.tex', 'ack.nw')&lt;br /&gt;ackcode = env.NoTangle('ack.py', 'ack.nw')&lt;br /&gt;acktest = env.NoTangle('ackTest.py', 'ack.nw')&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;div&gt;The noweb source is &lt;a href="http://enrico.spinielli.googlepages.com/ack.nw"&gt;ack.nw&lt;/a&gt; and the companion BibTeX file is &lt;a href="http://enrico.spinielli.googlepages.com/ack.bib"&gt;ack.bib&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;It contains the doc chunks describing the function, the source code chunck for the relevant Python code and the code chunk for the unit test&lt;/div&gt;&lt;br /&gt;&lt;div&gt;You can try it out executing&lt;/div&gt;&lt;br /&gt;&lt;code&gt;$ scons -f Sconstruct.example&lt;/code&gt;&lt;br /&gt;&lt;div&gt;You will get the following artefacts, &lt;a href="http://enrico.spinielli.googlepages.com/ack.py"&gt;ack.py&lt;/a&gt;, &lt;a href="http://enrico.spinielli.googlepages.com/ack.tex"&gt;ack.tex&lt;/a&gt;, &lt;a href="http://enrico.spinielli.googlepages.com/ackTest.py"&gt;ackTest.py&lt;/a&gt; and &lt;a href="http://enrico.spinielli.googlepages.com/ack.pdf"&gt;ack.pdf&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Remember to run BibTeX first...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1947405997418753543-287329049599051800?l=ongiantsshoulders.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ongiantsshoulders.blogspot.com/feeds/287329049599051800/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ongiantsshoulders.blogspot.com/2009/06/scons-and-noweb.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1947405997418753543/posts/default/287329049599051800'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1947405997418753543/posts/default/287329049599051800'/><link rel='alternate' type='text/html' href='http://ongiantsshoulders.blogspot.com/2009/06/scons-and-noweb.html' title='Scons and noweb'/><author><name>espin</name><uri>http://www.blogger.com/profile/02060167018046130752</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://1.bp.blogspot.com/_J7VupgD0jMo/SVn5E8L-s2I/AAAAAAAAAII/ZfL6ZHxBLRM/S220/me2007_clean.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1947405997418753543.post-6109535931094595422</id><published>2009-02-24T10:45:00.001+01:00</published><updated>2009-07-07T22:13:58.026+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='scons'/><category scheme='http://www.blogger.com/atom/ns#' term='latex'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><title type='text'>LaTeX, Python and Literate Programming</title><content type='html'>In my spare time (a couple of hours per weekend...!) I am implementing calcal, a Python version of calendrica-3.0.cl, the Common Lisp implementation of the calendars from &lt;a href="http://www.math.tau.ac.il/%7Enachumd/"&gt;N. Dershowitz&lt;/a&gt;, &lt;a href="http://emr.cs.iit.edu/%7Ereingold/"&gt;E. M. Reingold&lt;/a&gt; &lt;a href="http://www.cambridge.org/uk/catalogue/catalogue.asp?isbn=9780521702386"&gt;&lt;i&gt;Calendrical Calculations&lt;/i&gt;, 3rd Edition&lt;/a&gt;. (In case you are interested you can find a preview in &lt;a href="http://enrico.spinielli.googlepages.com/"&gt;my google page&lt;/a&gt;.)&lt;br /&gt;At some point I decided to go Literate [Programming] using &lt;a href="http://www.cs.tufts.edu/%7Enr/noweb/"&gt;noweb&lt;/a&gt;. This is an experiment in the experiment but so far it has been a good choice because I can define all I need in the same place and generate documentation, source code (Python, shell scripts ...) from the same source.&lt;br /&gt;I also found something interesting (on a now disappeared blog ttp://usefreetools.blogspot.com): &lt;a href="http://nix-tips.blogspot.com/2008/09/python-inside-latex-and-sage-too.html"&gt;executing Python from within LaTex&lt;/a&gt;! I could use it to avoid to hardcode results in my doc and just calculate them on the fly...&lt;br /&gt;The same blog was showing &lt;a href="http://usefreetools.blogspot.com/2008/07/auto-building-latex-documents-with.html"&gt;how to build LaTeX docs using SCons&lt;/a&gt;: I will defenitly use it; my Makefile isn't that great nor easy to mantain.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1947405997418753543-6109535931094595422?l=ongiantsshoulders.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ongiantsshoulders.blogspot.com/feeds/6109535931094595422/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ongiantsshoulders.blogspot.com/2009/02/latex-python-and-literate-programming.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1947405997418753543/posts/default/6109535931094595422'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1947405997418753543/posts/default/6109535931094595422'/><link rel='alternate' type='text/html' href='http://ongiantsshoulders.blogspot.com/2009/02/latex-python-and-literate-programming.html' title='LaTeX, Python and Literate Programming'/><author><name>espin</name><uri>http://www.blogger.com/profile/02060167018046130752</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://1.bp.blogspot.com/_J7VupgD0jMo/SVn5E8L-s2I/AAAAAAAAAII/ZfL6ZHxBLRM/S220/me2007_clean.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1947405997418753543.post-1883437193742052867</id><published>2009-02-23T14:51:00.005+01:00</published><updated>2009-07-28T23:44:08.681+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='latex'/><category scheme='http://www.blogger.com/atom/ns#' term='kay'/><category scheme='http://www.blogger.com/atom/ns#' term='croquet'/><category scheme='http://www.blogger.com/atom/ns#' term='tex'/><category scheme='http://www.blogger.com/atom/ns#' term='knuth'/><category scheme='http://www.blogger.com/atom/ns#' term='squeak'/><title type='text'>My Giants</title><content type='html'>I am probably too selective, anyway my models for computer science/software engineering (one of them would disagree on both definitions) are just two: &lt;a href="http://www-cs-faculty.stanford.edu/~uno/"&gt;Donald E. Knuth&lt;/a&gt; and &lt;a href="http://www.vpri.org/html/people/founders.htm"&gt;Alan Kay&lt;/a&gt;.&lt;br /&gt;The first one continues to surprise me with the depth, clarity and joy of his works: from TeX (well, I use LaTex but it does not exist without TeX) to The Art of Computer Programming to Literate Programming.&lt;br /&gt;About the latter, I was one of the blessed to be present to &lt;a href="http://awards.acm.org/citation.cfm?id=3972189&amp;amp;srt=year&amp;amp;year=2003&amp;amp;aw=140&amp;amp;ao=AMTURING"&gt;his Turing Award Lecture&lt;/a&gt;: he shocked me to the point I had two sleepless nights so angry I was about having wasted so much time in useless (computer) matters! After that I have been studying and using a lot of what he wrote and presented from Squeak to Croquet to the Burroughs B5000 and stack computers to his recent line of &lt;a href="http://www.vpri.org/html/work/ifnct.htm"&gt;exploration&lt;/a&gt; and the proposal to NSF about &lt;a href="http://www.vpri.org/pdf/rn2006002_nsfprop.pdf"&gt;reinventing programming (PDF)&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1947405997418753543-1883437193742052867?l=ongiantsshoulders.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ongiantsshoulders.blogspot.com/feeds/1883437193742052867/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ongiantsshoulders.blogspot.com/2009/02/my-giants.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1947405997418753543/posts/default/1883437193742052867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1947405997418753543/posts/default/1883437193742052867'/><link rel='alternate' type='text/html' href='http://ongiantsshoulders.blogspot.com/2009/02/my-giants.html' title='My Giants'/><author><name>espin</name><uri>http://www.blogger.com/profile/02060167018046130752</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://1.bp.blogspot.com/_J7VupgD0jMo/SVn5E8L-s2I/AAAAAAAAAII/ZfL6ZHxBLRM/S220/me2007_clean.png'/></author><thr:total>0</thr:total></entry></feed>
