tag:blogger.com,1999:blog-233268602009-07-02T13:45:40.078+01:00Kvardek DuLuíshttp://www.blogger.com/profile/04787580931645750027noreply@blogger.comBlogger46125tag:blogger.com,1999:blog-23326860.post-53618919506699345302009-06-24T20:41:00.005+01:002009-06-24T21:35:33.102+01:00Illustrating SBCL's build process<p>A while back I read <a href="http://www.advogato.org/person/crhodes/">Christophe Rhodes</a>'s paper “<a href="http://www.doc.gold.ac.uk/~mas01cr/papers/s32008/sbcl.pdf">SBCL: A Sanely-Bootstrappable Common Lisp</a>” which describes <a href="http://www.sbcl.org/">SBCL</a>'s bootstrap procedures.</p>
<p>The paper includes a bunch of diagrams for each build stage. These were pretty helpful in improving my understanding of the build process. So, I tried to take them a step further and create a single diagram that provides a global overview of the build process:</p>
<p style="text-align: center"><img src="http://lh4.ggpht.com/_RNP4gnlxdnU/SkKB7vLrpOI/AAAAAAAAATk/cAlHgbmsqno/s800/sbcl-build7.png" /></p>
<p>I'm interested in hearing any comments you might have. If you already know how the build process works, does it make you cringe? If you are vaguely familiar with (parts of) the process, does it provide you with some sort of new insight? Given that I haven't included a legend, does it make any sense at all?</p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23326860-5361891950669934530?l=kvardek-du.kerno.org'/></div>Luíshttp://www.blogger.com/profile/04787580931645750027noreply@blogger.com14tag:blogger.com,1999:blog-23326860.post-28075601366525757382008-12-06T13:34:00.004Z2008-12-06T14:11:06.611ZTobias Rittweiller's SLIME talk<p>Tobias has posted the slides from his <a href="http://trittweiler.blogspot.com/2008/12/last-wednesday-i-gave-talk-to-munich.html">SLIME talk</a> at a recent <a href="http://xach.livejournal.com/199730.html">Munich Lisp Group meeting</a>. Besides presenting a nice overview of SLIME's internals and features, it includes a bunch of useful tips and tricks.</p>
<p>For instance, did you know that you can recompile a frame with higher debug settings right from the debugger? Or that, after changing some macro in your code, you can recompile all functions that use it with just a few keystrokes?</p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23326860-2807560136652575738?l=kvardek-du.kerno.org'/></div>Luíshttp://www.blogger.com/profile/04787580931645750027noreply@blogger.com0tag:blogger.com,1999:blog-23326860.post-72193564404923826752008-09-16T18:42:00.007+01:002008-09-16T22:27:23.464+01:00Lisp at Stack Overflow<p><a href="http://1.bp.blogspot.com/_RNP4gnlxdnU/SM_w2igx10I/AAAAAAAAAKc/PWQq2hoOKTY/s1600-h/automotivator.jpg" title="poster adapted from Jeff Atwood's announcement, built with Xach's Auto Motivator"><img style="display:block; margin:0px auto 10px; text-align:center;" src="http://1.bp.blogspot.com/_RNP4gnlxdnU/SM_w2igx10I/AAAAAAAAAKc/PWQq2hoOKTY/s400/automotivator.jpg" border="0" alt="Motivational Poster saying: Stack Overflow, none of us is as dumb as all of us" id="BLOGGER_PHOTO_ID_5246676910677808962" /></a></p>
<p><a href="http://stackoverflow.com">Stack Overflow</a> is a new programming-oriented Q&A website recently launched by well-known bloggers <a href="http://www.codinghorror.com/blog/archives/001169.html">Jeff Atwood</a> and <a href="http://www.joelonsoftware.com/items/2008/09/15.html">Joel Spolsky</a>.</p>
<p>So far, there's only a handful <a href="http://stackoverflow.com/questions/tagged/lisp">Lisp-related questions</a> with a couple of answers, some better than others.</p>
<p>I hate web forums as much as the next guy. Long live <a href="http://www.tfeb.org/lisp/mad-people.html" title="Mad people of comp.lang.lisp">comp.lang.lisp</a> and all that. However, it's not really just a web forum; it features Reddit/Digg-like voting mechanism and wiki-style editing and it might be a good way of building a (better) Lisp FAQ of sorts, collaboratively. Seems <a href="http://stackoverflow.com/users/login">worth a try</a>.</p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23326860-7219356440492382675?l=kvardek-du.kerno.org'/></div>Luíshttp://www.blogger.com/profile/04787580931645750027noreply@blogger.com2tag:blogger.com,1999:blog-23326860.post-69594391702871625952008-08-20T14:50:00.009+01:002008-08-20T16:09:45.027+01:00Internacia Konferenco de Fizik-Studentoj 2008<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_RNP4gnlxdnU/SKwxjGm_kEI/AAAAAAAAAJ0/esfS5Xp9WB4/s1600-h/dsc_0305.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_RNP4gnlxdnU/SKwxjGm_kEI/AAAAAAAAAJ0/esfS5Xp9WB4/s400/dsc_0305.jpg" alt="" id="BLOGGER_PHOTO_ID_5236614945864388674" border="0" /></a>
<p>Ĉi-somere mi ne partoprenis Esperantan konferencon. Anstataŭe, mi vojaĝis al Pollando por la Internacia Konferenco por Fizik-Studentoj en Krakovo (<a href="http://www.icps.agh.edu.pl/">ICPS 2008</a>), kvankam mi fakte ne studas fizikon.</p>
<p>Utilis ke mi partoprenis <a href="http://kvardek-du.kerno.org/2006/11/novaoj.html">IJK-on 2006</a> en Sarajevo ĉar estas kelkaj vortoj similaj inter la pola kaj la bosna lingvoj, <em>pivo</em> kaj <em>piwo</em> (biero), interalie. Mi ne lernis multe pli ol simplaj vortoj, sed mi lernis iomete pri la kompleksa pola alfabeto kaj amuziĝis legante hazardajn vortojn ĉe la stratoj.</p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_RNP4gnlxdnU/SKwxjQKH_vI/AAAAAAAAAJ8/Mb0Csdogonc/s1600-h/IMG_0263.jpg"><img style="margin: 10px 20px 10px 10px; float: left; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_RNP4gnlxdnU/SKwxjQKH_vI/AAAAAAAAAJ8/Mb0Csdogonc/s400/IMG_0263.jpg" alt="" id="BLOGGER_PHOTO_ID_5236614948427661042" border="0" /></a>
<p>Kvankam ĉi tiaj konferencoj temas precipe pri festumado, la oficiala temo estis fiziko. Kelkaj prelegoj estis tre interesaj, kvankam mi ne komprenis amason da aferoj. Mi venis hejmen kun la volo lerni iomete pli pri fiziko, tamen.</p>
<p>Estis ankaŭ alia grava simileco inter la du konferencoj: ambaŭ havis tre internaciajn etosojn. (Fakte, IKFS-partoprenintoj venis el pli da landoj ol IJK-partoprenintoj, mi kredas, kvankam la plejmulto venis el Eŭropaj landoj, en ambaŭ kazoj.) Sed, la oficiala lingvo estis, kompreneble, la angla kaj mi bone sentis kelkajn aspektojn de tiu lingva malneŭtraleco. La britoj havis grandegan avantaĝon: ili sinesprimis ege pli flue ol la ceteraj partoprenintoj kaj tio donis al ili pli altan statuson.</p>
<p>Kaj mi ne havas klarigon por la jeno: la konferenco atrofiigis niajn denaskajn lingvojn. Multaj portugaloj uzis anglajn vortojn en siaj paroladoj, pli ofte ol kutime. Se mi bone memoras, tio tute ne okazis al mi post IJK.</p>
<p>Nu, tre interesa konferenco ĝenerale. Konis multajn interesajn homojn kaj verŝajne partoprenos denove <a href="http://icps2009.hfd.hr/">venontjare en Kroatio</a>.</p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23326860-6959439170287162595?l=kvardek-du.kerno.org'/></div>Luíshttp://www.blogger.com/profile/04787580931645750027noreply@blogger.com0tag:blogger.com,1999:blog-23326860.post-78913051761134832732008-08-20T14:30:00.005+01:002008-08-20T15:09:59.303+01:00The features of Common Lisp<p>Abhishek Reddy has compiled an interesting <a href="http://abhishek.geek.nz/docs/features-of-common-lisp">list of Common Lisp features</a>. It's quite concise and includes examples for almost every feature described. It'll come in handy next time someone asks you what is it that attracts you to Lisp.</p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23326860-7891305176113483273?l=kvardek-du.kerno.org'/></div>Luíshttp://www.blogger.com/profile/04787580931645750027noreply@blogger.com0tag:blogger.com,1999:blog-23326860.post-30322993674818560462008-07-29T23:24:00.006+01:002008-08-20T20:55:13.135+01:00CFFI 0.10.0 released!<p>It's been a while since <a href="http://common-lisp.net/project/cffi/">CFFI</a>'s previous release, almost two years. During this period, a lot of development work happened and lots of cool new features were implemented. Here's a brief highlight of some of the important changes:</p>
<ul>
<li><a href="http://common-lisp.net/project/cffi/manual/html_node/Strings.html">foreign string encodings</a> using <a href="http://common-lisp.net/project/babel/">Babel</a>. UTF-8 becomes the default encoding for foreign strings.</li>
<li>improved <a href="http://common-lisp.net/project/cffi/manual/html_node/Foreign-Types.html">foreign type system</a> that takes better advantage of CLOS features.</li>
<li>emulated <code>:long-long</code> types on Lisps whose native FFI doesn't support these types.</li>
<li>integrated a <a href="http://common-lisp.net/project/cffi/manual/html_node/The-Groveller.html">groveller</a> inspired by SBCL's <code>sb-grovel</code>.</li>
<li>support for the <em>stdcall</em> calling convention.</li>
<li>removed finalizer-related code in favour of <a href="http://cliki.net/trivial-garbage">trivial-garbage</a>.</li>
<li>function and variable lookups can now be linked to a specific foreign library instead of assuming a global namespace.</li>
<li>the <code>cffi-features</code> package has been deprecated in favour of <a href="http://cliki.net/trivial-features">trivial-features</a>. <a href="http://common-lisp.net/project/cffi/manual/html_node/Platform_002dspecific-features.html">CFFI-specific features</a> are now interned in the <code>CFFI-SYS</code> package.</li>
<li>dozens of bug fixes and minor enhancements.</li>
</ul>
<p>The long hiatus between releases caused all sorts of problems and confusions. Hopefully that won't happen again and you'll see more frequent CFFI releases in the future.</p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23326860-3032299367481856046?l=kvardek-du.kerno.org'/></div>Luíshttp://www.blogger.com/profile/04787580931645750027noreply@blogger.com0tag:blogger.com,1999:blog-23326860.post-23615233745060644092008-05-23T09:55:00.004+01:002008-05-23T10:12:02.862+01:00Paneo E-planedaPro fuŝo mia, <a href="http://e-planedo.kerno.org">E-planedo</a> estis neatingebla ĉi-nokte. Dankon al Kalle Kniivilä pro la atentigo. Ĉio enordas denove, mi esperas.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23326860-2361523374506064409?l=kvardek-du.kerno.org'/></div>Luíshttp://www.blogger.com/profile/04787580931645750027noreply@blogger.com0tag:blogger.com,1999:blog-23326860.post-58821299379809991982008-01-27T14:04:00.001Z2008-01-27T14:08:20.332ZMensagem dos Amigos da Cultura<p>«Um grupo de pessoas de Coimbra resolveu juntar-se para manifestar o seu descontentamento com o rumo da política cultural em Coimbra, tendo daí surgido o texto “<a href="http://amigosdacultura2008.blogspot.com/2008/01/pelo-direito-cultura-e-pelo-dever-de.html">Pelo direito à cultura e pelo dever de cultura!</a>”.</p>
<p>A sua apresentação pública e dos nomes dos 160 subscritores iniciais foi feita em conferência de imprensa no Café-Teatro do Teatro Académico de Gil Vicente, na quarta-feira passada. Em resultado, foi criado um <a href="http://www.amigosdacultura2008.blogspot.com">blogue</a> que está disponível para acolher novos subscritores e para publicar os depoimentos pessoais de todos quantos queiram enriquecer a discussão pública agora iniciada.</p>
<p>Foi igualmente anunciada a data do debate com o qual se pretende dar seguimento a esta iniciativa. Terá lugar no próximo dia 20 de Fevereiro, a partir das 17:00h, no Teatro Académico de Gil Vicente. A sua participação é essencial. Se tal como nós, entende que é urgente voltar a tomar posição pública sobre esta matéria que a todos/as nós diz respeito, visite o blogue e assine.»</p>
<p style="text-size: smaller"><em>originalmente publicado no <a href="http://sitio-de-sons.org/blog">blogue do Sítio de Sons</a></em></p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23326860-5882129937980999198?l=kvardek-du.kerno.org'/></div>Luíshttp://www.blogger.com/profile/04787580931645750027noreply@blogger.com0tag:blogger.com,1999:blog-23326860.post-42804583860766804562008-01-01T21:32:00.000Z2008-01-02T01:23:28.549ZPodcasts sobre música e músicos<p>Certamente muitos já conhecem o programa de rádio «Pessoal e... Transmissível» da TSF, que está também disponível em formato de <a href="http://www.tsf.pt/online/podcasting/xml/pet.xml">podcast</a>, mas que infelizmente não contém o nome dos entrevistados ou qualquer outra informação acerca dos conteúdos dos programas. O <a href="http://www.tsf.pt/online/radio/index.asp?Pagina=pessoal03">arquivo</a>, por outro lado, embora tenha uma descrição de cada programa, não tem os ficheiros num formato que possa ser ouvido num <em>iPod</em>, por exemplo.</p>
<p>Digo isto porque neste programa de Carlos Vaz Marques houve já imensas entrevistas com excelentes músicos portugueses e estrangeiros que merecem ser republicadas e ouvidas com atenção. Seguem-se então as ligações para os ficheiros MP3 de algumas destas excelentes entrevistas: <a href="http://wpc2548.amenworld.com/podcast/pet_20070417.mp3">Maria João</a>, <a href="http://wpc2548.amenworld.com/podcast/pet_20070419.mp3">Mário Laginha</a>, <a href="http://wpc2548.amenworld.com/podcast/pet_20061207.mp3">Gary Burton</a>, <a href="http://wpc2548.amenworld.com/podcast/pet_20061024.mp3">Carlos Bica</a>, <a href="http://wpc2548.amenworld.com/podcast/pet_20060427.mp3">Hermeto Pascoal</a>, <a href="http://wpc2548.amenworld.com/podcast/pet_20060420.mp3">Afonso Pais</a>, <a href="http://wpc2548.amenworld.com/podcast/pet_20060323.mp3">Sofia Ribeiro</a>, <a href="http://www.tsf.pt/online/radio/interior.asp?id_artigo=TSF156376">Egberto Gismonti</a>, <a href="http://www.tsf.pt/online/radio/interior.asp?id_artigo=TSF155939">Zé Eduardo</a> e <a href="http://tsf.sapo.pt/online/radio/interior.asp?id_artigo=TSF122488">Pat Metheny</a>.</p>
<p>A entrevista com o Hermeto Pascoal é particularmente fascinante.</p>
<p style="font-size: smaller"><em>(originalmente publicado no <a href="http://sitio-de-sons.org/blog/">blogue do Sítio de Sons</a>)</em></p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23326860-4280458386076680456?l=kvardek-du.kerno.org'/></div>Luíshttp://www.blogger.com/profile/04787580931645750027noreply@blogger.com1tag:blogger.com,1999:blog-23326860.post-10319089562458599852008-01-01T17:13:00.000Z2008-01-01T17:32:06.285ZE-planedo legebla per retpoŝto<p>Ekde nun, eblas <a href="http://www.feedburner.com/fb/a/emailverifySubmit?feedId=775288">legi e-planedon per retpoŝto</a>, se vi tion preferas. Se vi aliĝos, vi ricevos retpoŝtajn mesaĝojn po maksimume unu ĉiutage kun ĉiuj afiŝoj de la koncerna tago.</p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23326860-1031908956245859985?l=kvardek-du.kerno.org'/></div>Luíshttp://www.blogger.com/profile/04787580931645750027noreply@blogger.com0tag:blogger.com,1999:blog-23326860.post-63558378185146773252007-12-31T00:20:00.002Z2008-05-23T17:42:45.942+01:00Dolĉa Rizo, Koimbro-stila recepto<p>Kiel <a href="http://kvardek-du.kerno.org/2007/12/dola-rizo.html">promesite</a>, jen la recepto por prepari Dolĉan Rizon.</p>
<h4>Ingrediencoj</h4>
<p><em>por 6 personoj</em></p>
<ul>
<li>250 g da rizo</li>
<li>1.5 l da lakto</li>
<li>100 g da sukero</li>
<li>citronŝelo</li>
<li>pulvora cinamo</li>
</ul>
<h4>Preparado</h4>
<ol>
<li>Boligu la lakton kun la citronŝelo.</li>
<li>Dume, varmigu 2 dl-ojn da akvo en poto. Kiam ĝi boliĝas, aldonu la rizon.</li>
<li>Post bolkuiri ĝin dum 3 aŭ 4 minutoj ekaldonu la lakton. Dum oni malrapide aldonadas la lakton, nepras ĉiam kirli (malrapide, per lignkulero). Tio daŭros pli ol unu horo.</li>
<li>Iam aldonu la sukeron. Atentu, tiam la rizo ne plu bolkuiriĝos, kaj bona rezulto estos rizo nek tro mola nek tro malmola.</li>
<li>Daŭre bolkuiru la miksaĵon. Ĝi iĝos pli kaj pli densa. Denove, tio estas arto; ĝi estu nek tro flua nek tro densa. Vi devas <strong>ĉiam</strong> kirli aŭ ĝi gluiĝos al la poto. Uzu malfortan fajron. Postulas multe da pacienco tiu ĉi dolĉaĵo.</li>
<li>Finfine surŝutu ĝin sur telerojn kaj aldonu la cinamon.</li>
</ol>
<h4>Frandumado</h4>
<p>Manĝu ĝin tuj varman, manĝu ĝin poste malvarman, manĝu ĝin eĉ post unu aŭ du tagoj. Tiu ĉi dolĉaĵo, kiam bone preparita, bongustas ĉiam kaj ĉiel.</p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23326860-6355837818514677325?l=kvardek-du.kerno.org'/></div>Luíshttp://www.blogger.com/profile/04787580931645750027noreply@blogger.com2tag:blogger.com,1999:blog-23326860.post-40504319127490601982007-12-26T13:30:00.000Z2007-12-31T00:18:51.752ZDolĉa Rizo<p>Iam mi scipovos kuiri! Dume, mi faras provojn. Jen la unua fojo, ke mi faras la tradician dolĉaĵon “Dolĉa Rizo”. (Internacie konata kiel “Rizpudingo”, mi kredas.) Ĝi tradicias ĉe mia regiono verŝajne pro la rivero <a href="http://pt.wikipedia.org/wiki/Rio_Mondego">Mondego</a> kaj siaj rizkampoj.</p>
<p style="text-align:center"><a href="http://www.flickr.com/photos/luismbo/2138306308/" title="Arroz Doce"><img src="http://farm3.static.flickr.com/2058/2138306308_cc6570a092.jpg" width="500" height="333" alt="Arroz Doce" /></a></p>
<p>Ĉifoje, mankis iom da rizo — mia patrino informas min, ke la recepto kiun mi uzis malĝustas kaj mi devintus uzi trifoje pli da rizo — kaj, kompreneble, ĝi ne estis tiel bongusta kiel tiu de mia patrino aŭ mia avino. Tiu ĉi dolĉaĵo postulas multe da pacienco kaj iom da sperto. Paciencon mi havis, antaŭsperton tute ne. Venontfoje, se la kuirado estos pli sukcesa, mi skribos pri la recepto. Tamen, sciu jam, ke tiu ĉi <a href="http://eo.wikipedia.org/wiki/Koimbro">Koimbro</a>-stila versio ne enhavas ovojn; tiujn kun ovoj mi tute ne ŝatas. :-)</p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23326860-4050431912749060198?l=kvardek-du.kerno.org'/></div>Luíshttp://www.blogger.com/profile/04787580931645750027noreply@blogger.com2tag:blogger.com,1999:blog-23326860.post-37401073295673465882007-10-29T22:42:00.000Z2007-11-01T13:44:11.300ZGuglo sugestas studi Esperanton<p>En sia ĉefa blogo, Guglo priskribas <a href="http://googleblog.blogspot.com/2007/10/its-not-about-spam.html">la spam-sistemon de sia retpoŝtservo</a>, Gmail. Tiu blogero inkluzivas <a href="http://www.google.com/mail/help/fightspam/getstarted.html">amuzan videon</a> pri la sistemo. Per la tempo kiun oni ne plu malŝparas forviŝante spamojn, ili sugestas danci kaj... studi Esperanton!</p>
<object width="425" height="366"><param name="movie" value="http://www.youtube.com/v/8FVme_xIRYk&rel=1&border=0"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/8FVme_xIRYk&rel=1&border=0" type="application/x-shockwave-flash" wmode="transparent" width="425" height="366"></embed></object><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23326860-3740107329567346588?l=kvardek-du.kerno.org'/></div>Luíshttp://www.blogger.com/profile/04787580931645750027noreply@blogger.com5tag:blogger.com,1999:blog-23326860.post-51884802183931971172007-09-23T18:00:00.000+01:002007-09-24T13:51:55.103+01:00Practical Common Lisp<p>Just recently, I have <em>finally</em> bought Peter Seibel's book <em>Practical Common Lisp</em>.<p>
<p>I had already read most of it on the web. The chapters on CLOS and LOOP were particularly useful for me since the previous Lisp book I had read, Paul Graham's <em>ANSI Common Lisp</em>, largely neglects these important features.</p>
<p>What can I say? It's a great <a href="http://gigamonkeys.com/book/">common lisp tutorial</a>.</p>
<p><strong>Update:</strong> as someone kindly mentioned in the comments, Seibel's book has a chapter dealing with CL's condition system, aptly named <a href="http://www.gigamonkeys.com/book/beyond-exception-handling-conditions-and-restarts.html"><em>“Beyond Exception Handling: Conditions and Restarts”</em></a>. This <em>very</em> important feature is also neglected by pretty much every other book about Lisp.</p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23326860-5188480218393197117?l=kvardek-du.kerno.org'/></div>Luíshttp://www.blogger.com/profile/04787580931645750027noreply@blogger.com2tag:blogger.com,1999:blog-23326860.post-60094357062703094752007-08-31T16:07:00.000+01:002007-08-31T23:43:14.176+01:00Dia do Blogue / BlogTago / BlogDay<p style="text-align: center;"><a href="http://www.blogday.org/"><img src="http://www.blogday.org/images/badge_green.gif" alt="Blog Day 2007" width="155" height="130"></a><a href="http://technorati.com/tag/BlogDay2007" rel="tag"></a>
</p>
<p>[pt] Esta entrada trilingue comemora o <a href="http://www.blogday.org/pt.htm">3.º Dia do Blogue</a> divulgando alguns dos meus blogues preferidos.</p>
<p>[eo] Per la jena trilingva blogaĵo mi celebras la <a href="http://www.blogday.org/eo.htm">3-an BlogTagon</a> diskonigante kelkajn blogojn kiuj plej plaĉas al mi.</p>
<p>[en] This trilingual post celebrates the <a href="http://www.blogday.org/">3rd BlogDay</a> by promoting some of my favourite blogs.</p>
<dl>
<dt><a href="http://ktreta.blogspot.com/">Que Treta!</a> (pt)</dt>
<dd><p>[pt] Este blogue português da autoria de Ludwig Krippahl é impecável. Trata temas que vão da biologia à política passando pela religião e a ciência. Faz pensar, e o cérebro agradece. É a minha recomendação #1.</p>
<p>[eo] Tiun ĉi blogon verkas portugale Ludwig Krippahl, kaj ĝi bonegas. Ĝi pritraktas temojn kiel biologio, politiko kaj religio. Pensigas, kaj la cerbo dankas. Mia rekomendo #1.</p>
<p>[en] This portuguese blog by Ludwig Krippahl is most excellent. It approaches subjects ranging from biology and science to politics and religion. Lots of food for thought here. My #1 recommendation.</p></dd>
<dt><a href="http://e-planedo.kerno.org/">E-planedo</a> (eo)</dt>
<dd><p>[pt] Aqui são agregados vários blogues espalhados um pouco por todo o mundo, cujos autores escrevem em <a href="http://esperanto.net/">esperanto</a>, uma língua auxiliar internacional.</p>
<p>[eo] Vi certe jam konas E-planedon. :-)</p>
<p>[en] This page aggregates various blogs spread all over the world, whose authors write in <a href="http://esperanto.net/">Esperanto</a>, an international auxiliary language.</p></dd>
<dt><a href="http://planet.lisp.org/">Planet Lisp</a> (en)</dt>
<dd><p>[pt] Outro agregador de blogues. O tema deste é a minha linguagem de programação preferida, o <a href="http://pt.wikipedia.org/wiki/Lisp">Common Lisp</a>.</p>
<p>[eo] Alia blogaro. Ties temo esta la programlinvgo kiun mi plej ŝatas, <em><a href="http://eo.wikipedia.org/wiki/LISP_%28programlingvo%29">Common Lisp</a></em>.</p>
<p>[en] Another blog aggregator. This one's about <a href="http://en.wikipedia.org/wiki/Common_Lisp">Common Lisp</a>, my favourite programming language.</p></dd>
<dt><a href="http://www.schneier.com/blog/">Schneier on Security</a> (en)</dt>
<dd><p>[pt] A segurança, nomeadamente no que diz respeito ao terrorismo, é um tópico quente nos dias que correm. Schneier sabe do que fala e não tem papas na língua para criticar as más práticas de segurança, mentiras, mitos, etc.</p>
<p>[eo] Sekureco, nome rilate al terorismo, estas grava temo hodiaŭe. Schneier spertas pri tiu temo kaj ne hezitas kritiki malbonajn sekurec-praktikojn, mensogojn, mitojn, ktp.</p>
<p>[en] Security, namely terrorism-related issues, is a hot topic these days. Schneier is a security expert who doesn't hesitate to criticize bad security practices, lies, myths, etc.</p></dd>
<dt><a href="http://tedblog.typepad.com/">TED Blog</a> (en)</dt>
<dd><p>[pt] TED significa tecnologia, entertenimento e <em>design</em>. São esses os temas desta conferência anual onde participam pessoas como James Watson, Richard Dawkins ou Bill Cliton só para mencionar alguns nomes proeminentes. Entre outras coisas, neste blogue são divulgados regularmente vídeos com apresentações extremamente interessantes de conferências passadas.</p>
<p>[eo] TED signifas teknologion, amuziĝon kaj dezejnon. Pri tio temas tiu ĉi ĉiujara konferenco kiun partoprenas homoj kiel James Watson, Richard Dawkins aŭ Bill Cliton nur menciante kelkajn elstarajn nomojn. Interalie, tiu ĉi blogo ofte disponigas videojn kun ege interesaj prezentoj de pasintaj konferencoj. TED <strong>ja</strong> ne tedas.</p>
<p>[en] TED stands for technology, entertainment, and design. Those are the subjects of this yearly conference that features participations from people like James Watson, Richard Dawkins or Bill Clinton just to mention a few prominent names. Among other things, this blog regularly makes available extremely interesting video presentations from past conferences.</p></dd>
</dl>
<p>[pt] Dado que não participei nas duas edições anteriores deste evento, aqui ficam mais dez blogues que me agradam:</p>
<p>[eo] Pro tio ke mi ne partoprenis la du antaŭajn eldonojn de tiu ĉi evento, jen pliaj dek blogoj kiujn mi ŝatas:</p>
<p>[en] Since I didn't participate in the previous two editions of this event, here are ten more blogs I like:</p>
<ul>
<li><a href="http://bramcohen.livejournal.com/">Bram Cohen</a> (en)</li>
<li><a href="http://www.codinghorror.com/blog/">Coding Horror</a> (en)</li>
<li><a href="http://www.sinosplice.com/life/">Sinosplice</a> (en)</li>
<li><a href="http://www.joelonsoftware.com/">Joel on Software</a> (en)</li>
<li><a href="http://www.norvig.com/">Peter Norvig</a> (en)</li>
<li><a href="http://blogs.law.harvard.edu/philg">Philip Greenspun</a> (en)</li>
<li><a href="http://steve-yegge.blogspot.com/">Steve Yegge</a> (en)</li>
<li><a href="http://dilbertblog.typepad.com/the_dilbert_blog/">The Dilbert Blog</a> (en)</li>
<li><a href="http://obsecado.blogspot.com/">Obsecado</a> (pt)</li>
<li><a href="http://olho-e-meio.blogspot.com/">Olho e Meio</a> (pt)</li>
</ul><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23326860-6009435706270309475?l=kvardek-du.kerno.org'/></div>Luíshttp://www.blogger.com/profile/04787580931645750027noreply@blogger.com0tag:blogger.com,1999:blog-23326860.post-36291830707510067642007-08-28T23:42:00.000+01:002007-08-29T00:12:12.016+01:00trivial-features 0.1<p>Google's <a href="http://code.google.com/soc/2007/">Summer of Code 2007</a> is over so, over the next few weeks I'll be releasing the various stuff I worked on this summer.</p>
<p>First up is <a href="http://cliki.net/trivial-features">trivial-features</a> which ensures consistent <code>*FEATURES*</code> across multiple Common Lisp implementations. Well, it tries to; patches for exotic Lisps, operating systems, and CPUs are welcome. Comments and suggestions are welcome too. Consult <a href="http://cliki.net/trivial-features">its cliki page</a> for more details.</p>
<p>While we're on the subject of features, <a href="http://www-jcsu.jesus.cam.ac.uk/~csr21/papers/features.pdf">“Maintaining Portable Lisp Programs”</a> is an interesting paper by Christophe Rhodes that discusses common pitfalls when using read-time feature conditionals and suggests some good practices.</p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23326860-3629183070751006764?l=kvardek-du.kerno.org'/></div>Luíshttp://www.blogger.com/profile/04787580931645750027noreply@blogger.com2tag:blogger.com,1999:blog-23326860.post-61961111066189569612007-08-06T02:22:00.000+01:002007-08-06T06:11:21.034+01:00My blog got comments<p>Whoo hoo! My last few posts got some interesting comments, one of which mentions <a href="http://chneukirchen.org/repos/darcsum/darcsum.el">darcsum.el</a> which is a nice Darcs mode for Emacs. My first impression with <code>M-x darcsum-whatsnew</code> is that it's not as nice as <code>git-citool</code> in one important way: it doesn't let me easily write my changelog while simultaneously picking what changes should be recorded. But it has some advantages too: its convenient keyboard shortcuts don't make me have to reach for the mouse and, hey, it's an Emacs mode. Still, no <code>gitk</code>-like repository browsing functionality.</p>
<p>Apparently, I'm not a Star Wars geek since I completely missed the <em>“elegant weapons”</em> reference in that <a href="http://kvardek-du.kerno.org/2007/08/lisp-featured-in-xkcd-again.html">xkcd comic about Lisp</a>. Some people were upset about that.</p>
<p>Finally, it appears that <a href="http://kvardek-du.kerno.org/2007/08/quick-opinion-poll-regarding-style.html">dots in package or system names</a> are generally disliked though it seems that's not something most people feel very strongly about. I don't like them.</p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23326860-6196111106618956961?l=kvardek-du.kerno.org'/></div>Luíshttp://www.blogger.com/profile/04787580931645750027noreply@blogger.com0tag:blogger.com,1999:blog-23326860.post-10700766289209190932007-08-04T05:30:00.000+01:002007-08-04T16:39:05.078+01:00Quick opinion poll regarding style<p>Do you like dots in package or ASDF system names?</p>
<ol>
<li>I do like them. (Please explain why.)</li>
<li>I hate them. They break the pleasant symmetries formed by parentheses, dashes, and colons. E.g., <code>(foo-bar-quux:frob-baz-now)</code> vs. <code>(foo.bar-quux:frob-baz-now)</code></li>
<li>I don't care.</li>
</ol>
<p>Please leave your answer in the comment form. Thank you.</p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23326860-1070076628920919093?l=kvardek-du.kerno.org'/></div>Luíshttp://www.blogger.com/profile/04787580931645750027noreply@blogger.com27tag:blogger.com,1999:blog-23326860.post-1566736501284287802007-08-01T05:43:00.000+01:002007-08-01T06:01:29.535+01:00Lisp featured in xkcd, again<a href="http://xkcd.com/297/"><img style="display: block; margin:0px auto 10px; text-align:center;" src="http://imgs.xkcd.com/comics/lisp_cycles.png" /></a>
<p><a href="http://xkcd.com/">xkcd</a> has mentioned Lisp <a href="http://xkcd.com/224/">before</a>, but smug Lisp weenies will probably find this one funnier. As a bonus for Lispers who like to waste time playing Nethack — and there are quite a few, myself included — this comic includes a funny reference to the <a href="http://en.wikipedia.org/wiki/Nethack#Graphics">game</a>, hah.</p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23326860-156673650128428780?l=kvardek-du.kerno.org'/></div>Luíshttp://www.blogger.com/profile/04787580931645750027noreply@blogger.com2tag:blogger.com,1999:blog-23326860.post-51386467480255343602007-07-31T16:07:00.000+01:002007-07-31T18:40:52.277+01:00All the cool kids are using Git<p>Yes, it used to be true that <a href="http://bc.tech.coop/blog/050710.html">all the the cool kids were using darcs</a>. Darcs is so 2005, though, so I've decided to take <a href="http://git.or.cz/">Git</a> for a spin. Here's what I'm enjoying the most so far:</p>
<ul>
<li><code>git-citool</code> is a very cool GUI for picking what changes you want to commit, write the commit message, commit, push to a remote repository, and more. I love this little application. It lets me go through my changes in any order, go back to Emacs and fix any mistakes without losing my commit message or the list of changes I've already marked for commit. Love it.</li>
<li><code>gitk</code> lets me visualize the repository history. All the patches, all the branches, all the diffs, all the commit logs, easily accessible within a few clicks. It's quite fast too.</li>
<li>Another useful feature <code>git-citool</code> has is a history browser that lets me browse my repository and see each file's history, which patches change which lines, navigate through the various past states of a file, etc.</li>
</ul>
<p>And, of course, Git has all those great characteristics of a distributed VCS. I've missed some things from Darcs though:</p>
<ul>
<li>For smaller changes I prefer <code>darcs record</code> over having to reach for the mouse with <code>git-citool</code> and <code>git-add -i</code> isn't as nice.</li>
<li><code>darcs revert</code> allows me to revert individual hunks within a file, with a nice interface too.</li>
<li><code>darcs unpull</code> and <code>darcs unrecord</code> allow me to get rid of patches without having to generate a reversion patch (which is what Git does if the patch you want to revert is not the very latest patch). Also, they keep any local changes untouched.</li>
<li><code>darcs pull</code> lets me pull only the patches I want from another repository. I haven't found a way to do that in Git.</li>
<li>Darcs's no effort <a href="http://wiki.darcs.net/DarcsWiki/SpontaneousBranches">spontaneous branches</a> are a joy. No need for explicit branch creation. You just create copies of your trees and move individual patches around whenever you feel like doing so. This way you can easily, say, merge only some of the changes from one branch into another, quickly discard a branch, etc.</li>
</ul>
<p>Darcs has well-known performance issues, I've watched it sit forever trying to apply some patch. This hasn't been a great problem for me with the small projects I usually work on though, so I don't really regard that as a bit advantage of Git's.</p>
<p>For me, it's the tools. I have moved some of my stuff over to Git but I still like a lot of aspects of Darcs's workflow. Perhaps some more experience with Git will change my mind, or perhaps <a href="http://wiki.darcs.net/DarcsWiki/DarcsGit">Darcs-Git</a> will be the VCS really cool kids will be using in the future. We'll see.</p>
<p>If you're interested in trying Git out, have a look at <a href="http://repo.or.cz/w/sbcl/nikodemus.git?a=blob_plain;f=doc/GIT-FOR-SBCL-HACKERS.txt;hb=sbcl-in-git">Git For SBCL Hackers</a> and <a href="http://www.kernel.org/pub/software/scm/git/docs/everyday.html">Everyday GIT With 20 Commands Or So</a>.</p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23326860-5138646748025534360?l=kvardek-du.kerno.org'/></div>Luíshttp://www.blogger.com/profile/04787580931645750027noreply@blogger.com5tag:blogger.com,1999:blog-23326860.post-85527185961584985122007-07-25T17:40:00.000+01:002007-07-25T18:02:21.581+01:00#lisp tip of the dayEver recompiled a function hoping to fix some bug only to find out nothing changed? Perhaps you passed #'some-function around and your live code is still dealing with the old definition? How to tell? Here's an example with SBCL:
<pre>
* (values (symbol-function (defun foo ()))
(symbol-function (defun foo ())))
STYLE-WARNING: redefining FOO in DEFUN
#<FUNCTION FOO {11E47CDD}>
#<FUNCTION FOO>
</pre>
The old version is printed with its object identity (#x11e47cdd in this example), whereas the current global definition is printed without it allowing you to quickly tell which is which. This behaviour is not standard but, for example, OpenMCL provides similar information:
<pre>
? (values (symbol-function (defun foo ()))
(symbol-function (defun foo ())))
#<Compiled-function FOO (Non-Global) #x85AE40E>
#<Compiled-function FOO #x85ADB06>
</pre>
Your favourite Lisp might also do something along these lines. Great tip by <a href="http://www.advogato.org/person/crhodes/">Xof</a>.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23326860-8552718596158498512?l=kvardek-du.kerno.org'/></div>Luíshttp://www.blogger.com/profile/04787580931645750027noreply@blogger.com0tag:blogger.com,1999:blog-23326860.post-19297624047072871312007-04-24T04:17:00.000+01:002007-04-24T04:48:19.319+01:00On UTF-16 vs. UTF-32<blockquote>
It'd be more space-efficient [to use UTF-16] in most cases, and less time-efficient in all cases (either "somewhat so" or "grossly so".) Using UTF-16 internally is probably not nearly as far down the Bad Idea scale as... oh, Huffman-coded arrays would be. ("Newly created arrays are full of 0s! Why waste 31 or 63 extra bits? Of course, this makes (SETF AREF) hard, but you could have a bit somewhere!")
</blockquote>
<p>Gary Byers in openmcl-devel, discussing (<a href="http://thread.gmane.org/gmane.lisp.openmcl.devel/1756">here</a> and <a href="http://thread.gmane.org/gmane.lisp.openmcl.devel/1753">here</a>) why variable-length encodings are a bad idea for the internal representation of Lisp strings. An enlightening read, as usual.</p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23326860-1929762404707287131?l=kvardek-du.kerno.org'/></div>Luíshttp://www.blogger.com/profile/04787580931645750027noreply@blogger.com0tag:blogger.com,1999:blog-23326860.post-43259214162072925092007-04-12T05:50:00.000+01:002007-04-12T06:07:35.497+01:00Gugla Kodsomero 2007<p>Mi ĝojas pro tio, ke mi estis akceptita de <a href="http://google.com/">Guglo</a> por partopreni ties programon <a href="http://code.google.com/soc">Kodsomero 2007</a>. Tio estas programo kies celo estas doni eblon al studentoj labori en liber-programaraj projektoj ricevante iom da mono dum la (nord-hemisfera) somero.</p>
<p>Mi jam partoprenis antaŭe, en 2005, kaj estis bonege. <a href="http://kvardek-du.kerno.org/2007/04/sweet-summer-of-lisp.html">Ĉi tiu blogero</a>, en la angla, havas pliajn detalojn pri mia <a href="http://code.google.com/soc/lispnyc/appinfo.html?csaid=D0B8FCB13E51EAC1">ĉi-jara projekto</a>. Ĉu partoprenos ankaŭ aliaj esperantistoj?</p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23326860-4325921416207292509?l=kvardek-du.kerno.org'/></div>Luíshttp://www.blogger.com/profile/04787580931645750027noreply@blogger.com1tag:blogger.com,1999:blog-23326860.post-38776393274155877272007-04-12T00:11:00.000+01:002007-04-12T03:23:35.201+01:00Sweet Summer of Lisp<p>Yay! I have been accepted into Google's <a href="http://code.google.com/soc">Summer of Code 2007</a> thanks to <a href="http://www.lispnyc.org/">LispNYC</a>. The project I will be working on is <a href="http://common-lisp.net/project/iolib/">IOLib</a> and you can check out my <a href="http://common-lisp.net/~loliveira/tmp/iolib-proposal.txt">proposal</a>. Any suggestions you may have for this project are welcome!</p>
<p>If I had to pick the single most important event during my participation in the 2005 edition, it would have to be when <a href="http://www.advogato.org/person/crhodes/">Christophe Rhodes</a> suggested I should have a look at James Bielman's then recent project <a href="http://common-lisp.net/project/cffi/">CFFI</a>. Hadn't he done that, I wouldn't have had the great pleasure of getting to know James, working with him, learning from his code, etc... So, please, send those great suggestions to luismbo at gmail dot com!</p>
<p>I had sent another proposal, <a href="http://common-lisp.net/~loliveira/tmp/sealing-proposal.txt">“Metaobject Sealing for CLOS”</a>, which was a very cool idea suggested by Christophe (again) and I was actually expecting that one would be picked instead. I already had some code and was avidly reading the <a href="http://www.amazon.com/Art-Metaobject-Protocol-Gregor-Kiczales/dp/0262610744">AMOP</a>, not to mention that I even printed out SBCL's PCL source code. Oh well. If nobody picks that idea up, I would love to work on that after the summer. <strong><code><blink></code></strong>Perhaps ITA or Clozure could fund that.<strong><code></blink></code></strong></p>
<p>You can see the list of accepted Lisp projects <a href="http://code.google.com/soc/lispnyc/about.html">here</a>.</p>
<p>One last thought. While I realize that it's not easy for Google to work around this, I find it pretty sad that students from Iran, Syria, Cuba, Sudan, North Korea or Burma aren't allowed to participate in this program. I sure hate politics.</p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23326860-3877639327415587727?l=kvardek-du.kerno.org'/></div>Luíshttp://www.blogger.com/profile/04787580931645750027noreply@blogger.com0tag:blogger.com,1999:blog-23326860.post-65032507192558002062007-04-07T15:01:00.000+01:002007-04-07T16:13:01.142+01:00XCL<p>Peter Graves, of <a href="http://armedbear.org/">ABCL</a> fame, has been working on this new Common Lisp compiler for a while now. Here's how he <a href="http://article.gmane.org/gmane.editors.j.devel/1267">describes</a> it:</p>
<blockquote>
<p>XCL is a new, native-code CL implementation that features a kernel
written in a very restricted subset of C++ and an optimizing compiler,
written in Lisp, with backends for x86 and x86-64. It runs on Linux and
Windows [...]</p>
<p>XCL supports threads on both Linux and Windows, and in principle the
compiler is re-entrant.</p>
</blockquote>
<p>Recently, and this is the actual news, Peter made available a link to a <a href="http://armedbear.org/xcl.tar.gz">source code snapshot</a> in <code>#lisp</code>. I couldn't resist trying it out, so here are some superficial first impressions:</p>
<ul>
<li><p>It has an interpreter written in C++ and it uses that to bootstrap itself. This is similar to what ABCL does, though it seems that, at this point, it doesn't actually compile (all of?) its own Lisp code. Also, Peter says he's working on getting it to bootstrap SBCL.</p></li>
<li><p>Friendly REPL similar to Allegro's.</p></li>
<li><p>It features a neat, readable disassembler.</p>
<pre>CL-USER(10): (disassemble (compile (defun inc (x) (1+ x))))
; Compiling INC
; Disassembly of #<FUNCTION INC {F84820}>
; Constants:
NIL
; Code:
E1BF50: 55 push %rbp
E1BF51: 48 89 E5 mov %rsp,%rbp
E1BF54: 57 push %rdi
E1BF55: 48 83 EC 08 sub $0x8,%rsp
E1BF59: 48 89 F8 mov %rdi,%rax
E1BF5C: 48 89 C7 mov %rax,%rdi
E1BF5F: A8 03 test $0x3,%al
E1BF61: 75 08 jne L0
E1BF63: 48 83 C0 04 add $0x4,%rax
E1BF67: 70 02 jo L0
E1BF69: C9 leave
E1BF6A: C3 retq
L0:
E1BF6B: BE 04 00 00 00 mov $0x4,%esi
E1BF70: E8 AB 47 60 FF callq 0x420720 ; SYSTEM:TWO-ARG-+
E1BF75: C9 leave
E1BF76: C3 retq
; 39 bytes
NIL</pre></li>
<li><p>Similarly to CLISP, its fasls are <code>read</code>able S-exps and pretty short too. They even start with <code>-*- Mode: Lisp -*-</code>, heh. The actual assembly code looks something like this:</p>
<pre>
(COMPILER::GENERATE-CODE-VECTOR
'((:BYTE 1 85)
(:BYTES 3 (72 137 229))
...
(:JMP-SHORT 2 (:NZ #$G7248))
...
(:EXIT 2 (201 195))
(:LABEL 0 (#$G7248))
(:BYTE 1 190) ...)</pre>
</li>
<li><p>It managed to load ASDF—though not yet compile it—and use that to load and compile a simple system such as <code>split-sequence</code>. Given that <code>(lisp-implementation-version)</code> returns <code>"0.0.0"</code>, and comparing to <a href="http://www.cormanlisp.com/">some other lisps</a> that crash so easily with ASDF, I find this very impressive.</p></li>
</ul>
<p>Incidentally, this is my first post to <a href="http://planet.lisp.org/">Planet Lisp</a>. Hello world! I'm sure I've screwed it up in some way or another. In case you're wondering, the rest of <a href="http://kvardek-du.kerno.org/">my blog</a> is in <a href="http://esperanto.net/info/index_en.html">Esperanto</a>.</p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23326860-6503250719255800206?l=kvardek-du.kerno.org'/></div>Luíshttp://www.blogger.com/profile/04787580931645750027noreply@blogger.com2