<?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-35239346</id><updated>2012-02-03T11:55:18.820+01:00</updated><category term='mobile'/><category term='rsync'/><category term='gentoo'/><category term='bugs'/><category term='C'/><category term='latex'/><category term='junit'/><category term='boost'/><category term='cups'/><category term='my programs'/><category term='firefox'/><category term='dell'/><category term='iceweasel'/><category term='audio'/><category term='doublecpp'/><category term='foomatic'/><category term='qsource-highlight'/><category term='printer'/><category term='Featherweight Java'/><category term='cakephp'/><category term='PC'/><category term='gengen'/><category term='jaunty'/><category term='eclipse'/><category term='foxmarks'/><category term='cron'/><category term='laptop'/><category term='backup'/><category term='n900'/><category term='mysql'/><category term='java'/><category term='wifi'/><category term='myiptrack'/><category term='qt-mobility'/><category term='ipaq'/><category term='natty'/><category term='flex'/><category term='networking'/><category term='sony vaio'/><category term='maemo'/><category term='automake'/><category term='tutorials'/><category term='palm'/><category term='xbase'/><category term='fun'/><category term='subtitles'/><category term='ubuntu'/><category term='static typing'/><category term='nvidia'/><category term='karmic'/><category term='svn'/><category term='msoma'/><category term='autotools'/><category term='autoconf'/><category term='divx'/><category term='imp'/><category term='javascript'/><category term='unit tests'/><category term='maverick'/><category term='lucid'/><category term='skype'/><category term='qtfindreplacedialog'/><category term='gengetopt'/><category term='gnome'/><category term='C++'/><category term='klcddimmer'/><category term='mingw'/><category term='phpbibliography'/><category term='nokia'/><category term='adsl'/><category term='n800'/><category term='pdt'/><category term='debian'/><category term='xtext'/><category term='windows'/><category term='gengetopt_eclipse'/><category term='compiz'/><category term='phpide'/><category term='mint'/><category term='thunderbird'/><category term='kdevelop'/><category term='stl'/><category term='linux'/><category term='apache'/><category term='cvs'/><category term='research'/><category term='mylyn'/><category term='kubuntu'/><category term='php'/><category term='familiar linux'/><category term='texlipse'/><category term='modem'/><category term='configure'/><category term='source-highlight-qt'/><category term='kde'/><category term='sourcehighlightide'/><category term='source-highlight'/><category term='bluetooth'/><category term='xerox'/><category term='open office'/><category term='sabayon'/><category term='ipod'/><category term='imap'/><category term='code2blog'/><category term='getopt'/><category term='pocketpc'/><category term='kernel'/><category term='xdebug'/><category term='horde'/><category term='qt'/><title type='text'>TronProg: Programming and Computers</title><subtitle type='html'>Talking about Programming, Computers, and Computer Science stuff in general.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default?start-index=101&amp;max-results=100'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>148</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-35239346.post-2227321774787466649</id><published>2012-02-03T11:54:00.000+01:00</published><updated>2012-02-03T11:55:18.830+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='junit'/><title type='text'>Closing the Eclipse Welcome screen programmatically</title><content type='html'>When writing Junit plugin tests in Eclipse I wanted to close the welcome page programmatically before starting the tests; looks like it's pretty easy :) Just use this @BeforeClass static method and you'll be fine!&lt;br /&gt;&lt;br /&gt;   &lt;pre&gt;&lt;br /&gt;   @BeforeClass&lt;br /&gt;   public static void closeWelcome() {&lt;br /&gt;       final IIntroManager introManager = &lt;br /&gt;           PlatformUI.getWorkbench().getIntroManager();&lt;br /&gt;       IIntroPart part = introManager.getIntro();&lt;br /&gt;       introManager.closeIntro(part);&lt;br /&gt;   }&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35239346-2227321774787466649?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/2227321774787466649/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=2227321774787466649' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/2227321774787466649'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/2227321774787466649'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2012/02/closing-eclipse-welcome-screen.html' title='Closing the Eclipse Welcome screen programmatically'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-8253511995559862354</id><published>2011-12-26T10:43:00.001+01:00</published><updated>2011-12-26T10:45:06.720+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='xbase'/><category scheme='http://www.blogger.com/atom/ns#' term='xtext'/><title type='text'>Xtext 2.1: using Xbase variables</title><content type='html'>See the original post here:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.rcp-vision.com/?p=1796"&gt;Xtext 2.1: using Xbase variables&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;In this post, I’d like to continue to inspect how to use only a small  part of  Xbase and still have the control on the generation part: in  particular  (for other projects) I would like to retain the control on  the  generation for my model, while relying on the Xbase generation for  the  Xbase parts. Thus, in this post I’ll describe:&lt;/p&gt; &lt;ul&gt;&lt;li&gt;how to integrate Xbase variables (&lt;em&gt;XVariableDeclaration&lt;/em&gt;) and expressions (&lt;em&gt;XExpression&lt;/em&gt;) in your DSL&lt;/li&gt;&lt;li&gt;how to extend Xbase scoping for making the variables visible in the expressions&lt;/li&gt;&lt;li&gt;write a generator for your DSL and reuse the XbaseCompiler for the code of XVariableDeclaration and XExpressions&lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35239346-8253511995559862354?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/8253511995559862354/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=8253511995559862354' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/8253511995559862354'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/8253511995559862354'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2011/12/xtext-21-using-xbase-variables.html' title='Xtext 2.1: using Xbase variables'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-1999591574823758915</id><published>2011-11-23T15:01:00.002+01:00</published><updated>2011-11-23T15:04:12.900+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='xbase'/><category scheme='http://www.blogger.com/atom/ns#' term='xtext'/><title type='text'>Xtext 2.1: using Xbase expressions</title><content type='html'>See the whole blog post here:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.rcp-vision.com/?p=1640"&gt;Xtext 2.1: using Xbase expressions&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;I’d like to inspect how to use only a small part of Xbase and still  have the control on the generation part: in particular (for other  projects) I would like to retain the control on the generation for my  model, while relying on the Xbase generation for the Xbase parts. Thus,  in this post I’ll describe: &lt;ul&gt;&lt;li&gt;how to integrate Xbase expressions (XExpression) in your DSL&lt;/li&gt;&lt;li&gt;write a generator for your DSL and reuse the XbaseCompiler for the code of XExpressions&lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35239346-1999591574823758915?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/1999591574823758915/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=1999591574823758915' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/1999591574823758915'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/1999591574823758915'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2011/11/xtext-21-using-xbase-expressions.html' title='Xtext 2.1: using Xbase expressions'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-5958349897288517542</id><published>2011-11-21T18:23:00.001+01:00</published><updated>2011-11-23T15:03:12.423+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='xbase'/><category scheme='http://www.blogger.com/atom/ns#' term='xtext'/><title type='text'>Using JVM Types in Xtext 2.1 and the ImportManager</title><content type='html'>&lt;a href="http://www.rcp-vision.com/?p=1573&amp;amp;amp;lang=en"&gt;Using JVM Types in Xtext 2.1 and the ImportManager&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35239346-5958349897288517542?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/5958349897288517542/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=5958349897288517542' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/5958349897288517542'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/5958349897288517542'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2011/11/using-jvm-types-in-xtext-21-and.html' title='Using JVM Types in Xtext 2.1 and the ImportManager'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-1815591918217533657</id><published>2011-10-30T15:43:00.002+01:00</published><updated>2011-10-30T15:46:14.456+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='unit tests'/><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><title type='text'>Testing the Eclipse StatusLineManager</title><content type='html'>Here's the link to a new post, where I explain how to test the current text of the Status Line in Eclipse&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.rcp-vision.com/?p=1437"&gt;Testing the Eclipse StatusLineManager&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35239346-1815591918217533657?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/1815591918217533657/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=1815591918217533657' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/1815591918217533657'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/1815591918217533657'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2011/10/testing-eclipse-statuslinemanager.html' title='Testing the Eclipse StatusLineManager'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-5677565955662431186</id><published>2011-05-25T13:53:00.004+02:00</published><updated>2011-05-25T14:06:12.692+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='phpbibliography'/><title type='text'>PhpBibliography goes International</title><content type='html'>The new version of &lt;a href="http://phpbibliography.sourceforge.net/"&gt;PhpBibliography&lt;/a&gt;, 1.1.1, provides a new feature: Internationalization!&lt;br /&gt;&lt;br /&gt;2 languages, besides English, are now supported: Italian and French.&lt;br /&gt;&lt;br /&gt;I must thank &lt;a href="http://www.onera.fr/staff/david-chemouil/"&gt;David CHEMOUIL&lt;/a&gt;, who opened a &lt;a href="https://sourceforge.net/tracker/?func=detail&amp;amp;aid=3279344&amp;amp;group_id=166172&amp;amp;atid=837965"&gt;feature request&lt;/a&gt;, and provided the French translation (of course, I did the Italian one :)&lt;br /&gt;&lt;br /&gt;Now, the phpbibliography user can choose the language using the three flags on the top right corner; switching language will lead you to the same page you were visiting but in the selected language. The chosen language will be remembered, so you can keep surfing (or editing) the site with the selected language.&lt;br /&gt;&lt;br /&gt;Here are some screenshots:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/-1Tw9S_OpnXo/TdzwbEPDeMI/AAAAAAAAB7E/b6Bvppnj2M4/s1600/phpbibliography-lang.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 189px;" src="http://2.bp.blogspot.com/-1Tw9S_OpnXo/TdzwbEPDeMI/AAAAAAAAB7E/b6Bvppnj2M4/s400/phpbibliography-lang.png" alt="" id="BLOGGER_PHOTO_ID_5610623583580813506" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-5ZHf-8FApKo/TdzwhIHs5DI/AAAAAAAAB7M/ZNVjSGPsdLk/s1600/phpbibliography-lang1.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 190px;" src="http://3.bp.blogspot.com/-5ZHf-8FApKo/TdzwhIHs5DI/AAAAAAAAB7M/ZNVjSGPsdLk/s400/phpbibliography-lang1.png" alt="" id="BLOGGER_PHOTO_ID_5610623687702930482" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-iGd9kTv85qw/Tdzwm3zl7VI/AAAAAAAAB7U/YzB21isP3zk/s1600/phpbibliography-lang2.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 188px;" src="http://3.bp.blogspot.com/-iGd9kTv85qw/Tdzwm3zl7VI/AAAAAAAAB7U/YzB21isP3zk/s400/phpbibliography-lang2.png" alt="" id="BLOGGER_PHOTO_ID_5610623786402835794" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35239346-5677565955662431186?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/5677565955662431186/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=5677565955662431186' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/5677565955662431186'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/5677565955662431186'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2011/05/phpbibliography-goes-international.html' title='PhpBibliography goes International'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-1Tw9S_OpnXo/TdzwbEPDeMI/AAAAAAAAB7E/b6Bvppnj2M4/s72-c/phpbibliography-lang.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-5588849617632939938</id><published>2011-05-24T11:43:00.007+02:00</published><updated>2011-05-24T11:56:43.273+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='skype'/><category scheme='http://www.blogger.com/atom/ns#' term='natty'/><category scheme='http://www.blogger.com/atom/ns#' term='audio'/><category scheme='http://www.blogger.com/atom/ns#' term='kubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Making microphone work in Kubuntu Natty</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-R3JEgYRBJE0/Tdt-sNJCCFI/AAAAAAAAB6s/ekcucPU04lA/s1600/kubuntu-natty-narwhal-release-1.jpg"&gt;&lt;img style="float: right; margin: 0pt 0pt 10px 10px; cursor: pointer; width: 86px; height: 86px;" src="http://4.bp.blogspot.com/-R3JEgYRBJE0/Tdt-sNJCCFI/AAAAAAAAB6s/ekcucPU04lA/s200/kubuntu-natty-narwhal-release-1.jpg" alt="" id="BLOGGER_PHOTO_ID_5610217058726971474" border="0" /&gt;&lt;/a&gt;After I switched to Kubuntu Natty 11.04, my microphone stopped working (especially in Skype). I tried to adjust the microphone settings in Phonon System Settings, but, besides having too many devices to choose from, that settings dialog seems to have a &lt;a href="https://bugs.launchpad.net/ubuntu/+source/phonon/+bug/769274"&gt;bug which prevents the preferences to being saved&lt;/a&gt;. Not to mention that there is no way to test the input device from that setting dialog!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/--R3w0Zc3d3Y/Tdt-bRJPGmI/AAAAAAAAB6k/hwigIIotn2I/s1600/phonon.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 306px;" src="http://2.bp.blogspot.com/--R3w0Zc3d3Y/Tdt-bRJPGmI/AAAAAAAAB6k/hwigIIotn2I/s400/phonon.png" alt="" id="BLOGGER_PHOTO_ID_5610216767743793762" border="0" /&gt;&lt;/a&gt;Luckily, in that bug report I also found the solution to have microphone work!&lt;br /&gt;&lt;br /&gt;The solution consists in installing the package &lt;a href="http://0pointer.de/lennart/projects/pavucontrol/"&gt;pavucontrol&lt;/a&gt;, which provides a comfortable &lt;span style="font-style: italic;"&gt;PulseAudio Volume Control dialog&lt;/span&gt;, which also gives you immediate feedback to see whether the microphone is working, and reduces the number of devices to choose from!&lt;br /&gt;&lt;br /&gt;After you installed that package, Skype options dialog presents a button to open that volume control dialog&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-B3Aedsb1ehE/Tdt_rmwjdXI/AAAAAAAAB60/NI2IgNYfyj4/s1600/skype-options.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 268px;" src="http://3.bp.blogspot.com/-B3Aedsb1ehE/Tdt_rmwjdXI/AAAAAAAAB60/NI2IgNYfyj4/s400/skype-options.png" alt="" id="BLOGGER_PHOTO_ID_5610218147935384946" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;If you click the button you'll get the pavucontrol dialog, and in "Input Devices" tab you can choose the input device from the list and instantly check whether that's the right device: just speak in the microphone, and see whether the horizontal bar moves while you're speaking.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/-M6HhzxVBA4M/TduAaO1i6qI/AAAAAAAAB68/TBEu1_F94og/s1600/pavucontrol.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 339px;" src="http://4.bp.blogspot.com/-M6HhzxVBA4M/TduAaO1i6qI/AAAAAAAAB68/TBEu1_F94og/s400/pavucontrol.png" alt="" id="BLOGGER_PHOTO_ID_5610218948967721634" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;That's all! Now you're microphone is set correctly. :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35239346-5588849617632939938?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/5588849617632939938/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=5588849617632939938' title='16 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/5588849617632939938'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/5588849617632939938'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2011/05/making-microphone-work-in-kubuntu-natty.html' title='Making microphone work in Kubuntu Natty'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-R3JEgYRBJE0/Tdt-sNJCCFI/AAAAAAAAB6s/ekcucPU04lA/s72-c/kubuntu-natty-narwhal-release-1.jpg' height='72' width='72'/><thr:total>16</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-4679885084873837285</id><published>2011-05-22T12:47:00.014+02:00</published><updated>2011-05-22T15:39:26.476+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='mylyn'/><title type='text'>Using Savannah with Mylyn</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-KhXwANmkfgc/TdkPj7gwcqI/AAAAAAAAB6M/sbHpCaNxleY/s1600/savannah.png"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 148px; height: 125px;" src="http://3.bp.blogspot.com/-KhXwANmkfgc/TdkPj7gwcqI/AAAAAAAAB6M/sbHpCaNxleY/s200/savannah.png" alt="" id="BLOGGER_PHOTO_ID_5609531920811586210" border="0" /&gt;&lt;/a&gt;The GNU software I maintain, &lt;a href="http://www.gnu.org/software/src-highlite/"&gt;Source-Highlight&lt;/a&gt;, &lt;a href="http://www.gnu.org/software/gengetopt/"&gt;Gengetopt&lt;/a&gt; and &lt;a href="http://www.gnu.org/software/gengen/"&gt;Gengen&lt;/a&gt;, are hosted on &lt;a href="http://savannah.gnu.org/"&gt;Savannah&lt;/a&gt;, which has its own bug tracking system. Recently I've started to use the wonderful &lt;a href="http://www.eclipse.org/mylyn/"&gt;Mylyn&lt;/a&gt; tool under Eclipse for but and feature tracking (in general, "tasks"), and I wanted to use it also with Savannah, but since there is no specific connector, we can use the generic web connector (actually, having a specific connector would be better, but for the moment, that's better than nothing ;)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-PLG718eIr6A/TdkPsaHw_9I/AAAAAAAAB6U/8rncEj77rt4/s1600/mylyn-logo.png"&gt;&lt;img style="float: right; margin: 0pt 0pt 10px 10px; cursor: pointer; width: 48px; height: 48px;" src="http://1.bp.blogspot.com/-PLG718eIr6A/TdkPsaHw_9I/AAAAAAAAB6U/8rncEj77rt4/s200/mylyn-logo.png" alt="" id="BLOGGER_PHOTO_ID_5609532066467217362" border="0" /&gt;&lt;/a&gt;Since there is not a template ready to use for accessing Savannah from Mylyn, I thought I could blog about my experience, hoping that it's useful to others.&lt;br /&gt;&lt;br /&gt;First of all, you need mylyn in eclipse together with its ui functionalities (but if you downloaded an eclipse distribution you'll likely have it already); then you need to install the &lt;span style="font-weight: bold;"&gt;Web Templates Connector&lt;/span&gt;, from the update site &lt;span style="font-weight: bold;"&gt;http://download.eclipse.org/tools/mylyn/update/incubator&lt;/span&gt; (add a repository)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-bMSqq4eXdiA/TdkQIHKBEkI/AAAAAAAAB6c/2SFinG3Z5cs/s1600/savannah-mylyn-install.jpeg"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 151px;" src="http://1.bp.blogspot.com/-bMSqq4eXdiA/TdkQIHKBEkI/AAAAAAAAB6c/2SFinG3Z5cs/s400/savannah-mylyn-install.jpeg" alt="" id="BLOGGER_PHOTO_ID_5609532542412722754" border="0" /&gt;&lt;/a&gt;&lt;a href="http://3.bp.blogspot.com/-DLX8NcSwHRw/TdjtDwMNFLI/AAAAAAAAB5M/5hz-4JYMgQs/s1600/savannah-mylyn-install.jpeg"&gt;&lt;br /&gt;&lt;/a&gt;&lt;a href="http://3.bp.blogspot.com/-YLxBTulNwOI/TdjtdN4gJTI/AAAAAAAAB5U/p4Pq_zkVvMs/s1600/savannah-mylyn-install1.jpeg"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 298px;" src="http://3.bp.blogspot.com/-YLxBTulNwOI/TdjtdN4gJTI/AAAAAAAAB5U/p4Pq_zkVvMs/s400/savannah-mylyn-install1.jpeg" alt="" id="BLOGGER_PHOTO_ID_5609494422088590642" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Then, after you restarted eclipse, open the &lt;span style="font-weight: bold;"&gt;Task Repositories View&lt;/span&gt;, choose &lt;span style="font-weight: bold;"&gt;Add Task Repository&lt;/span&gt;, and select &lt;span style="font-weight: bold;"&gt;Web Template&lt;/span&gt;,&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/-3WhqcSMiFrM/TdkGQ6I7EHI/AAAAAAAAB5c/F34vlgc9mtE/s1600/savannah-mylyn-install2.jpeg"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 305px;" src="http://2.bp.blogspot.com/-3WhqcSMiFrM/TdkGQ6I7EHI/AAAAAAAAB5c/F34vlgc9mtE/s400/savannah-mylyn-install2.jpeg" alt="" id="BLOGGER_PHOTO_ID_5609521698421018738" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;For this tutorial I will use my GNU project Source-Highlight as an example:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Server: &lt;span style="font-family:courier new;"&gt;https://savannah.gnu.org/bugs/?group=src-highlite&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Label: choose a label to represent your task repository&lt;/li&gt;&lt;li&gt;put your savannah username and password&lt;/li&gt;&lt;li&gt;Additional Settings&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Add two parameters:&lt;br /&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;group&lt;/span&gt; with value the name of the project on savannah (in my case it's src-highlite)&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;tracker&lt;/span&gt; with the specific kind of tasks you want to follow on savannah (e.g., bugs, or patches, etc.)&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;li&gt;Advanced Configuration&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Task URL: &lt;span style="font-family:courier new;"&gt;https://savannah.gnu.org/${tracker}/?&lt;/span&gt;&lt;/li&gt;&lt;li&gt;New Task URL: &lt;span style="font-family:courier new;"&gt;${serverUrl}&amp;amp;func=additem&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Query Request Pattern: &lt;span style="font-family:courier new;"&gt;${serverUrl}&amp;amp;chunksz=150&amp;amp;report_id=100&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Query Pattern:&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;&amp;lt;td.*?#({Id}[0-9]+).*?/td&amp;gt;\n&amp;lt;td &amp;gt;&amp;lt;a.*?&amp;gt;({Description}.*?)&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/-50jsGLozpMI/TdkLg46zqAI/AAAAAAAAB5s/DSkWiDAn3SQ/s1600/savannah-mylyn-install4.jpeg"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 385px; height: 400px;" src="http://2.bp.blogspot.com/-50jsGLozpMI/TdkLg46zqAI/AAAAAAAAB5s/DSkWiDAn3SQ/s400/savannah-mylyn-install4.jpeg" alt="" id="BLOGGER_PHOTO_ID_5609527470529423362" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;When you click Finish, also accepts to add a query for the repository.&lt;br /&gt;&lt;br /&gt;In the query properties dialog you can check whether all the inserted parameters for the task repository are correct, by clicking on the preview button (you should see a list of bugs, otherwise the dialog should tell you that query is not correct and cannot produce results)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/-xTAilFF6Z58/TdkMs8e_JeI/AAAAAAAAB50/IacksJZPlVs/s1600/savannah-mylyn-install5.jpeg"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 337px;" src="http://2.bp.blogspot.com/-xTAilFF6Z58/TdkMs8e_JeI/AAAAAAAAB50/IacksJZPlVs/s400/savannah-mylyn-install5.jpeg" alt="" id="BLOGGER_PHOTO_ID_5609528777156535778" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Now, if you open the view Task List, you should see the bugs related to your query.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/-N3XPAGPlrug/TdkONNe2J0I/AAAAAAAAB58/8E6X875COJ8/s1600/savannah-mylyn-install6.jpeg"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 358px; height: 400px;" src="http://2.bp.blogspot.com/-N3XPAGPlrug/TdkONNe2J0I/AAAAAAAAB58/8E6X875COJ8/s400/savannah-mylyn-install6.jpeg" alt="" id="BLOGGER_PHOTO_ID_5609530430986790722" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Now clicking on a bug will open a browser editor window in eclipse and you access that bug page. Remember that, since you access the savannah repository through a generic web connector you won't be able to enjoy the typical Mylyn rich editor for bugs, like the ones for bugzilla and trac). However, you'll still have the context tab and the private tab.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-DcuHLsjHhuw/TdkOl-C4UXI/AAAAAAAAB6E/PCQ70XtVPpQ/s1600/savannah-mylyn-install7.jpeg"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 234px;" src="http://3.bp.blogspot.com/-DcuHLsjHhuw/TdkOl-C4UXI/AAAAAAAAB6E/PCQ70XtVPpQ/s400/savannah-mylyn-install7.jpeg" alt="" id="BLOGGER_PHOTO_ID_5609530856339689842" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Hope this helps :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35239346-4679885084873837285?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/4679885084873837285/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=4679885084873837285' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/4679885084873837285'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/4679885084873837285'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2011/05/using-savannah-with-mylyn.html' title='Using Savannah with Mylyn'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-KhXwANmkfgc/TdkPj7gwcqI/AAAAAAAAB6M/sbHpCaNxleY/s72-c/savannah.png' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-3050947711107863071</id><published>2011-03-22T16:45:00.002+01:00</published><updated>2011-03-22T16:54:33.818+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='audio'/><category scheme='http://www.blogger.com/atom/ns#' term='kubuntu'/><title type='text'>Problems with microphone in Linux</title><content type='html'>I was experiencing problems with the microphone (in Skype) in Kubuntu Maverick 10.10: no input was received by the microphone, either in Skype or using the arecord. The soundcard is an&lt;br /&gt;&lt;blockquote&gt;Intel [HDA Intel], device 0: AD198x Analog [AD198x Analog]&lt;/blockquote&gt;and kmix was showing the capture device's volume at the maximum.&lt;br /&gt;&lt;br /&gt;I don't know whether KDE configuration was spoiled by something, e.g., an update. However, I solved the problem by setting the capture source to the front mic, using &lt;span style="font-weight: bold;"&gt;alsamixer&lt;/span&gt; command line command (kmix does not seem to show any option about this).&lt;br /&gt;&lt;br /&gt;So, if you have similar problem, run alsamixer from the command line, press F4 so that it shows only the Capture devices, set the volume of the capture devices (in my case Front mic) as high, and, most importantly, set the Input sources of capture (in my case Front mic).&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/-g3PFPHEVMjg/TYjGFubxg5I/AAAAAAAAB48/Y9sB02zakmk/s1600/alsamixer.jpeg"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 353px;" src="http://2.bp.blogspot.com/-g3PFPHEVMjg/TYjGFubxg5I/AAAAAAAAB48/Y9sB02zakmk/s400/alsamixer.jpeg" alt="" id="BLOGGER_PHOTO_ID_5586933139419267986" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Now your mic should work!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35239346-3050947711107863071?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/3050947711107863071/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=3050947711107863071' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/3050947711107863071'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/3050947711107863071'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2011/03/problems-with-microphone-in-linux.html' title='Problems with microphone in Linux'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-g3PFPHEVMjg/TYjGFubxg5I/AAAAAAAAB48/Y9sB02zakmk/s72-c/alsamixer.jpeg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-7810974787393299755</id><published>2011-02-08T10:38:00.002+01:00</published><updated>2011-02-08T10:42:16.816+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Find and Rename files in Linux</title><content type='html'>I had to rename many files (in particular their extensions) which were spread throughout many folders.&lt;br /&gt;&lt;br /&gt;I already knew &lt;span style="font-weight: bold;"&gt;find&lt;/span&gt; and &lt;span style="font-weight: bold;"&gt;rename&lt;/span&gt; utilities but I had never used them together...&lt;br /&gt;&lt;br /&gt;here's the command line to rename all files in all the folders of the current directory with extension &lt;span style="font-weight: bold;"&gt;.first&lt;/span&gt; to &lt;span style="font-weight: bold;"&gt;.second&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;find . -name "*.first" -exec rename -v 's/\.first$/\.second/' {} + &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;hope this helps :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35239346-7810974787393299755?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/7810974787393299755/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=7810974787393299755' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/7810974787393299755'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/7810974787393299755'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2011/02/find-and-rename-files-in-linux.html' title='Find and Rename files in Linux'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-5359371175263518677</id><published>2011-01-13T12:50:00.014+01:00</published><updated>2011-01-13T13:15:55.866+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='kernel'/><category scheme='http://www.blogger.com/atom/ns#' term='kubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='nvidia'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Compile Linux Kernel in Ubuntu with KernelCheck (and Nvidia drivers)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_UtmZWQ8OFEM/TS7s1MI5xPI/AAAAAAAAB4w/hfBlc5Ral0g/s1600/kernelcheck-icon.png"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 80px; height: 80px;" src="http://2.bp.blogspot.com/_UtmZWQ8OFEM/TS7s1MI5xPI/AAAAAAAAB4w/hfBlc5Ral0g/s200/kernelcheck-icon.png" alt="" id="BLOGGER_PHOTO_ID_5561642988384929010" border="0" /&gt;&lt;/a&gt;I've always recompiled Linux kernel on all my Linux installations, starting from the kernel sources of the Ubuntu repositories. Then I've heard about the famous &lt;a href="http://www.phoronix.com/scan.php?page=article&amp;amp;item=linux_2637_video&amp;amp;num=1"&gt;200 lines kernel patch&lt;/a&gt;, that I wanted to try, but it doesn't seem to apply to ubuntu linux sources (or at least I had this impression), and I didn't want to try the &lt;a href="http://www.webupd8.org/2010/11/alternative-to-200-lines-kernel-patch.html"&gt;alternatives&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Then I stumbled upon this nice &lt;a href="http://www.webupd8.org/2010/12/how-to-compile-kernel-in-ubuntu-easy.html"&gt;article&lt;/a&gt; about using &lt;a href="http://kcheck.sourceforge.net/"&gt;KernelCheck&lt;/a&gt; (which I didn't know) to compile the linux kernel (not from the ubuntu repositories):&lt;br /&gt;&lt;blockquote&gt;a graphical user interface program designed to make the kernel-compiling process as easy as the click of a button. KernelCheck will fetch the latest information from http://www.kernel.org, which hosts the source packages for the Linux kernel, and ask the user which one they would like to compile into a .deb package (with the option of installing the kernel after the compilation).&lt;/blockquote&gt;The article also applies the 200 lines patch, so I decided to give it a try! The articles shows a video, but I'd like to blog about my experience with some screenshots.&lt;br /&gt;&lt;br /&gt;Most important, I decided to blog about my experience because of the &lt;span style="font-weight: bold;"&gt;Nvidia drivers&lt;/span&gt; I have on some of my Linux computers, since the &lt;span style="font-weight: bold;"&gt;first experience with KernelCheck and nvidia drivers was really bad&lt;/span&gt;. I think I found a solution to deal with these drivers, so that I can compile the kernel, the patch, and have nvidia drivers work without a problem :)&lt;br /&gt;&lt;br /&gt;After you installed kernelcheck, and run it you'll have some screens, and first of all you must retrieve available kernel information:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_UtmZWQ8OFEM/TS7pJGSCjgI/AAAAAAAAB3I/DuHZCfuIMoM/s1600/kernelcheck%2B1.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 317px;" src="http://3.bp.blogspot.com/_UtmZWQ8OFEM/TS7pJGSCjgI/AAAAAAAAB3I/DuHZCfuIMoM/s400/kernelcheck%2B1.png" alt="" id="BLOGGER_PHOTO_ID_5561638932363513346" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_UtmZWQ8OFEM/TS7pQsBYC3I/AAAAAAAAB3Q/h0rKt-v_pyU/s1600/kernelcheck%2B2.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 317px;" src="http://3.bp.blogspot.com/_UtmZWQ8OFEM/TS7pQsBYC3I/AAAAAAAAB3Q/h0rKt-v_pyU/s400/kernelcheck%2B2.png" alt="" id="BLOGGER_PHOTO_ID_5561639062753250162" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Then I select the custom compilation&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_UtmZWQ8OFEM/TS7pZ9Ti6ZI/AAAAAAAAB3Y/P9dtdaIn5Wg/s1600/kernelcheck%2B3.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 317px;" src="http://2.bp.blogspot.com/_UtmZWQ8OFEM/TS7pZ9Ti6ZI/AAAAAAAAB3Y/P9dtdaIn5Wg/s400/kernelcheck%2B3.png" alt="" id="BLOGGER_PHOTO_ID_5561639222011685266" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_UtmZWQ8OFEM/TS7pfNFzhMI/AAAAAAAAB3g/xCuk9aW647E/s1600/kernelcheck%2B4.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 317px;" src="http://4.bp.blogspot.com/_UtmZWQ8OFEM/TS7pfNFzhMI/AAAAAAAAB3g/xCuk9aW647E/s400/kernelcheck%2B4.png" alt="" id="BLOGGER_PHOTO_ID_5561639312148366530" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_UtmZWQ8OFEM/TS7pjpQ-7CI/AAAAAAAAB3o/c_cQRw-Os-8/s1600/kernelcheck%2B5.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 317px;" src="http://1.bp.blogspot.com/_UtmZWQ8OFEM/TS7pjpQ-7CI/AAAAAAAAB3o/c_cQRw-Os-8/s400/kernelcheck%2B5.png" alt="" id="BLOGGER_PHOTO_ID_5561639388430920738" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Now, you can select some options.&lt;br /&gt;&lt;br /&gt;At this point, it is crucial&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;NOT&lt;/span&gt; to select the reconfiguration of X server&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;NOT&lt;/span&gt; to install the nvidia driver&lt;/li&gt;&lt;li&gt;to select "apply custom patch to the kernel" (if you want to try the 200 lines patch)&lt;/li&gt;&lt;li&gt;I prefer not to install the kernel package after compilation: I'll do that myself&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_UtmZWQ8OFEM/TS7prZsc7_I/AAAAAAAAB3w/9EI1mXK26Cs/s1600/kernelcheck%2B6.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 317px;" src="http://2.bp.blogspot.com/_UtmZWQ8OFEM/TS7prZsc7_I/AAAAAAAAB3w/9EI1mXK26Cs/s400/kernelcheck%2B6.png" alt="" id="BLOGGER_PHOTO_ID_5561639521690120178" border="0" /&gt;&lt;/a&gt;&lt;a href="http://4.bp.blogspot.com/_UtmZWQ8OFEM/TS7qOzx4SLI/AAAAAAAAB34/0l1dF0bMFvw/s1600/kernelcheck%2B7.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 317px;" src="http://4.bp.blogspot.com/_UtmZWQ8OFEM/TS7qOzx4SLI/AAAAAAAAB34/0l1dF0bMFvw/s400/kernelcheck%2B7.png" alt="" id="BLOGGER_PHOTO_ID_5561640129987627186" border="0" /&gt;&lt;/a&gt;&lt;a href="http://2.bp.blogspot.com/_UtmZWQ8OFEM/TS7qUiajk_I/AAAAAAAAB4A/cjQE0EcCdwU/s1600/kernelcheck%2B8.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 375px; height: 400px;" src="http://2.bp.blogspot.com/_UtmZWQ8OFEM/TS7qUiajk_I/AAAAAAAAB4A/cjQE0EcCdwU/s400/kernelcheck%2B8.png" alt="" id="BLOGGER_PHOTO_ID_5561640228405613554" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;After the download of the needed packages is finished, you'll get a terminal window where you can apply manually the patch (that you can &lt;a href="https://patchwork.kernel.org/patch/337311/raw"&gt;download it from here&lt;/a&gt;), and apply it, as it is shown in the screenshot (then you need to close the terminal window)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_UtmZWQ8OFEM/TS7qaVq_nDI/AAAAAAAAB4I/lczVlvZk97A/s1600/kernelcheck%2B9.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 258px;" src="http://1.bp.blogspot.com/_UtmZWQ8OFEM/TS7qaVq_nDI/AAAAAAAAB4I/lczVlvZk97A/s400/kernelcheck%2B9.png" alt="" id="BLOGGER_PHOTO_ID_5561640328064113714" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Then, you'll get the chance to configure the kernel before compilation. Make sure you have all the options you need set (it looks like kernelcheck starts from the current configuration, so, for instance, the processor family is already set as your current configuration).&lt;br /&gt;&lt;br /&gt;To enjoy the 200 lines kernel patch, you must enable &lt;span style="font-weight: bold;"&gt;"Automatic process group scheduling"&lt;/span&gt; under "General setup", as shown in the following screenshot:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_UtmZWQ8OFEM/TS7qycM9CTI/AAAAAAAAB4Q/vaw38lzkUiw/s1600/kernelcheck%2B10.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 252px;" src="http://3.bp.blogspot.com/_UtmZWQ8OFEM/TS7qycM9CTI/AAAAAAAAB4Q/vaw38lzkUiw/s400/kernelcheck%2B10.png" alt="" id="BLOGGER_PHOTO_ID_5561640742134024498" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Then, the compilation starts, and, you know, it might take some time (though for my computer, and configuration it takes less than 1 hour)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_UtmZWQ8OFEM/TS7rdf8g8cI/AAAAAAAAB4Y/wfHbmHYkmjc/s1600/kernelcheck%2B11.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 375px; height: 400px;" src="http://2.bp.blogspot.com/_UtmZWQ8OFEM/TS7rdf8g8cI/AAAAAAAAB4Y/wfHbmHYkmjc/s400/kernelcheck%2B11.png" alt="" id="BLOGGER_PHOTO_ID_5561641481873191362" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Then, you'll be suggested to reconfigure the X server... &lt;span style="font-weight: bold;"&gt;DON'T DO THIS&lt;/span&gt;, and answer no&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_UtmZWQ8OFEM/TS7rriB_loI/AAAAAAAAB4g/mq5pSb8VaU8/s1600/kernelcheck%2B12.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 375px; height: 400px;" src="http://2.bp.blogspot.com/_UtmZWQ8OFEM/TS7rriB_loI/AAAAAAAAB4g/mq5pSb8VaU8/s400/kernelcheck%2B12.png" alt="" id="BLOGGER_PHOTO_ID_5561641722951210626" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Then, the kernel deb packages (-image and -headers) will be ready in /usr/src, and you can manually install them.&lt;br /&gt;&lt;br /&gt;Note that, during the installation, the Ubuntu kernel utilities will smartly &lt;span style="font-weight: bold;"&gt;compile and configure the current nvidia modules for you&lt;/span&gt;!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_UtmZWQ8OFEM/TS7r3TWAWuI/AAAAAAAAB4o/hkLbpf59EmQ/s1600/kernelcheck%2B13.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 358px; height: 400px;" src="http://2.bp.blogspot.com/_UtmZWQ8OFEM/TS7r3TWAWuI/AAAAAAAAB4o/hkLbpf59EmQ/s400/kernelcheck%2B13.png" alt="" id="BLOGGER_PHOTO_ID_5561641925167045346" border="0" /&gt;&lt;/a&gt;Now, reboot and enjoy :)&lt;br /&gt;&lt;br /&gt;P.S. I cannot swear my computer is faster now with the 200 lines kernel patch... but I have the impression it is :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35239346-5359371175263518677?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/5359371175263518677/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=5359371175263518677' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/5359371175263518677'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/5359371175263518677'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2011/01/compile-linux-kernel-in-ubuntu-with.html' title='Compile Linux Kernel in Ubuntu with KernelCheck (and Nvidia drivers)'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_UtmZWQ8OFEM/TS7s1MI5xPI/AAAAAAAAB4w/hfBlc5Ral0g/s72-c/kernelcheck-icon.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-8591915865621083471</id><published>2010-11-22T15:22:00.004+01:00</published><updated>2010-11-22T15:34:32.282+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bugs'/><category scheme='http://www.blogger.com/atom/ns#' term='maverick'/><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='gnome'/><title type='text'>Eclipse icons in menus are not showing in Ubuntu Maverick Linux</title><content type='html'>I don't like Gnome and I usually use KDE, but on a specific computer I have to use Gnome, and I noted that after switching to Ubuntu Maverick, icons on eclipse menus were not showing anymore.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_UtmZWQ8OFEM/TOp-G2hoMpI/AAAAAAAAB2s/XcMWHX6FD1A/s1600/Screenshot-Java%2B-%2BEclipse%2BSDK%2B.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 246px;" src="http://4.bp.blogspot.com/_UtmZWQ8OFEM/TOp-G2hoMpI/AAAAAAAAB2s/XcMWHX6FD1A/s400/Screenshot-Java%2B-%2BEclipse%2BSDK%2B.png" alt="" id="BLOGGER_PHOTO_ID_5542380947613692562" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I asked on some newsgroups with no luck, then on IRC I was pointed to &lt;a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=293720"&gt;this bug&lt;/a&gt;, which solved my issue :)&lt;br /&gt;&lt;br /&gt;You need to enable icons in menus with gnome configuration. You find some ways to do that on that bug report, but I simply ran &lt;span style="font-weight: bold;"&gt;gconf-editor&lt;/span&gt; on the command line, and enabled that checkbox:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_UtmZWQ8OFEM/TOp-n58E_OI/AAAAAAAAB20/lNY-51eXZNg/s1600/Screenshot-Configuration%2BEditor%2B-%2Binterface.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 286px;" src="http://4.bp.blogspot.com/_UtmZWQ8OFEM/TOp-n58E_OI/AAAAAAAAB20/lNY-51eXZNg/s400/Screenshot-Configuration%2BEditor%2B-%2Binterface.png" alt="" id="BLOGGER_PHOTO_ID_5542381515465620706" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Now my icons in menus are back :)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_UtmZWQ8OFEM/TOp_Xi8-EQI/AAAAAAAAB28/7hRuJ0EMJ7Q/s1600/Eclipse%2BMenu%2BIcons%2BScreenshot.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 238px;" src="http://1.bp.blogspot.com/_UtmZWQ8OFEM/TOp_Xi8-EQI/AAAAAAAAB28/7hRuJ0EMJ7Q/s400/Eclipse%2BMenu%2BIcons%2BScreenshot.png" alt="" id="BLOGGER_PHOTO_ID_5542382333929066754" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35239346-8591915865621083471?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/8591915865621083471/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=8591915865621083471' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/8591915865621083471'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/8591915865621083471'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2010/11/eclipse-icons-in-menus-are-not-showing.html' title='Eclipse icons in menus are not showing in Ubuntu Maverick Linux'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_UtmZWQ8OFEM/TOp-G2hoMpI/AAAAAAAAB2s/XcMWHX6FD1A/s72-c/Screenshot-Java%2B-%2BEclipse%2BSDK%2B.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-8026095204577371172</id><published>2010-10-13T12:08:00.009+02:00</published><updated>2010-10-13T12:39:48.304+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='compiz'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='kde'/><title type='text'>Using Compiz in KDE 4</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_UtmZWQ8OFEM/TLWGuZQiVvI/AAAAAAAAB2M/XmvBO98OYkk/s1600/compiz_fusion_logo.png"&gt;&lt;img style="float: right; margin: 0pt 0pt 10px 10px; cursor: pointer; width: 194px; height: 200px;" src="http://3.bp.blogspot.com/_UtmZWQ8OFEM/TLWGuZQiVvI/AAAAAAAAB2M/XmvBO98OYkk/s200/compiz_fusion_logo.png" alt="" id="BLOGGER_PHOTO_ID_5527472249279502066" border="0" /&gt;&lt;/a&gt;I've been using KDE 4 for some time now, and I was pretty happy with its own desktop effects. However, lately, I started to notice that kwin and xorg process were taking some CPU usage, and with graphic cards such as Intel GMA and ATI, the effects were not so smooth (while in Gnome with compiz they were much better). So I decided to try and use compiz with KDE as well; here's my (positive) installation and configuration experience.&lt;br /&gt;&lt;br /&gt;First of all I installed all these packages&lt;br /&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;emerald libemeraldengine0 compiz compizconfig-settings-manager compiz-kde compiz-fusion-plugins-main compiz-fusion-plugins-extra fusion-icon&lt;/blockquote&gt;Then you found the &lt;span style="font-weight: bold;"&gt;compiz-fusion&lt;/span&gt; application in my KDE menu, in System. Run it, and you can set some configuration options with that icon, in particular, you need to change the &lt;span style="font-style: italic;"&gt;window decoration&lt;/span&gt; to &lt;span style="font-weight: bold;"&gt;emerald&lt;/span&gt;, and the window manager (to compiz). Then you must select &lt;span style="font-style: italic;"&gt;reload window manager&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_UtmZWQ8OFEM/TLWLIZoaNjI/AAAAAAAAB2U/3ZT5WgIn3CU/s1600/compiz+KDE+1.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 177px;" src="http://3.bp.blogspot.com/_UtmZWQ8OFEM/TLWLIZoaNjI/AAAAAAAAB2U/3ZT5WgIn3CU/s400/compiz+KDE+1.png" alt="" id="BLOGGER_PHOTO_ID_5527477094102742578" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_UtmZWQ8OFEM/TLWLPDB2N2I/AAAAAAAAB2c/_dqEOkWWJFc/s1600/compiz+KDE+2.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 379px; height: 197px;" src="http://2.bp.blogspot.com/_UtmZWQ8OFEM/TLWLPDB2N2I/AAAAAAAAB2c/_dqEOkWWJFc/s400/compiz+KDE+2.png" alt="" id="BLOGGER_PHOTO_ID_5527477208294504290" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;To keep compiz as the default window manager when KDE starts, you need to change System Settings -&gt; Default Applications -&gt; Window Manager (by selecting Compiz).&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_UtmZWQ8OFEM/TLWLpFtoOWI/AAAAAAAAB2k/XAIldSQ3Mso/s1600/compiz+KDE+3.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 288px;" src="http://4.bp.blogspot.com/_UtmZWQ8OFEM/TLWLpFtoOWI/AAAAAAAAB2k/XAIldSQ3Mso/s400/compiz+KDE+3.png" alt="" id="BLOGGER_PHOTO_ID_5527477655691606370" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Of course, now you can configure compiz settings with its setting manager, but I suggest you to use the simpler configuration manager, &lt;span style="font-weight: bold;"&gt;simple-ccsm&lt;/span&gt;, as illustrated &lt;a href="http://www.unixmen.com/linux-distributions/4-ubuntu/1223--custom-compiz-effects-configuration-in-ubuntu"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Now enjoy compiz! :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35239346-8026095204577371172?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/8026095204577371172/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=8026095204577371172' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/8026095204577371172'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/8026095204577371172'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2010/10/using-compiz-in-kde-4.html' title='Using Compiz in KDE 4'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_UtmZWQ8OFEM/TLWGuZQiVvI/AAAAAAAAB2M/XmvBO98OYkk/s72-c/compiz_fusion_logo.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-4876935198556682236</id><published>2010-08-03T16:32:00.003+02:00</published><updated>2010-08-03T16:39:03.364+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='phpbibliography'/><title type='text'>PhpBibliography 1.1.0</title><content type='html'>This new release of &lt;a href="http://phpbibliography.sourceforge.net/"&gt;PhpBibliography&lt;/a&gt; features some nice features:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;First of all, themes are now supported so that the user can create his own theme (which will not be overwritten during phpbibliography updates), see this &lt;a href="http://sourceforge.net/apps/mediawiki/phpbibliography/index.php?title=Customization:Themes_in_PhpBibliography"&gt;wiki page&lt;/a&gt;&lt;/li&gt;&lt;li&gt;icons for known file extensions are shown for uploaded papers (see the screenshot)&lt;/li&gt;&lt;li&gt;uploaded papers can be removed during editing&lt;/li&gt;&lt;li&gt;the action menu was improved with tooltips&lt;/li&gt;&lt;li&gt;search results can be shown also as bibtex&lt;/li&gt;&lt;/ol&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_UtmZWQ8OFEM/TFgp6X0lW2I/AAAAAAAAB14/tO4msKVXjB4/s1600/phpbibliography_icons.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 218px;" src="http://1.bp.blogspot.com/_UtmZWQ8OFEM/TFgp6X0lW2I/AAAAAAAAB14/tO4msKVXjB4/s400/phpbibliography_icons.png" alt="" id="BLOGGER_PHOTO_ID_5501193027636779874" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35239346-4876935198556682236?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/4876935198556682236/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=4876935198556682236' title='20 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/4876935198556682236'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/4876935198556682236'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2010/08/phpbibliography-110.html' title='PhpBibliography 1.1.0'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_UtmZWQ8OFEM/TFgp6X0lW2I/AAAAAAAAB14/tO4msKVXjB4/s72-c/phpbibliography_icons.png' height='72' width='72'/><thr:total>20</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-6341758832216600559</id><published>2010-07-28T17:19:00.004+02:00</published><updated>2010-07-28T17:29:15.177+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='subtitles'/><category scheme='http://www.blogger.com/atom/ns#' term='divx'/><title type='text'>Merging Subtitles in Video Files with DivXConverter</title><content type='html'>I recently discovered this cool program, &lt;a href="http://code.google.com/p/foxoman/wiki/DivXConverter"&gt;DivXConverter&lt;/a&gt;, which I didn't find in my Ubuntu distribution (you can download the .deb file, though, and install the required dependencies), but that's really useful and easy to use.&lt;br /&gt;&lt;blockquote&gt;"DivX converter is a simple Mencoder frontend to Produce DivX Player  Compatible AVI video format with the ability to merge subtitles . It  support many video and audio filters and many presets."&lt;/blockquote&gt;Now, the interesting features I've just used is the ability of merging a subtitle file (typically .srt) into a corresponding AVI file.&lt;br /&gt;&lt;br /&gt;Here's what to do (see also the following screenshot):&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Add the avi file (and select the output folder and the compression, I left the default Normal compression)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Make sure to select Xvid in the "Video Filters" tab to make sure the resulting avi is compatible with dvd/divx readers (at least the with ones I own)&lt;/li&gt;&lt;li&gt;You can leave the default settings for Audio&lt;/li&gt;&lt;li&gt;Select the subtitle file (I set ASCII as the encoding)&lt;/li&gt;&lt;li&gt;Go back to the main window&lt;/li&gt;&lt;li&gt;Press "Convert" and enjoy the resulting AVI file&lt;/li&gt;&lt;/ol&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_UtmZWQ8OFEM/TFBMQpkHnZI/AAAAAAAAB0w/IL61bXN2U0o/s1600/divxconverter1.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 290px; height: 400px;" src="http://4.bp.blogspot.com/_UtmZWQ8OFEM/TFBMQpkHnZI/AAAAAAAAB0w/IL61bXN2U0o/s400/divxconverter1.png" alt="" id="BLOGGER_PHOTO_ID_5498978993938341266" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_UtmZWQ8OFEM/TFBMYT5wUjI/AAAAAAAAB04/HNW0cSZE5rQ/s1600/divxconverter2.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 290px; height: 400px;" src="http://4.bp.blogspot.com/_UtmZWQ8OFEM/TFBMYT5wUjI/AAAAAAAAB04/HNW0cSZE5rQ/s400/divxconverter2.png" alt="" id="BLOGGER_PHOTO_ID_5498979125562462770" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_UtmZWQ8OFEM/TFBMeHz4s7I/AAAAAAAAB1A/LdVRz9wmCww/s1600/divxconverter3.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 290px; height: 400px;" src="http://3.bp.blogspot.com/_UtmZWQ8OFEM/TFBMeHz4s7I/AAAAAAAAB1A/LdVRz9wmCww/s400/divxconverter3.png" alt="" id="BLOGGER_PHOTO_ID_5498979225395835826" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_UtmZWQ8OFEM/TFBMi6tTnOI/AAAAAAAAB1I/IqHZyhDEfzY/s1600/divxconverter4.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 290px; height: 400px;" src="http://1.bp.blogspot.com/_UtmZWQ8OFEM/TFBMi6tTnOI/AAAAAAAAB1I/IqHZyhDEfzY/s400/divxconverter4.png" alt="" id="BLOGGER_PHOTO_ID_5498979307777924322" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_UtmZWQ8OFEM/TFBMoF3tvcI/AAAAAAAAB1Q/opwcWFKKlGA/s1600/divxconverter5.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 281px;" src="http://4.bp.blogspot.com/_UtmZWQ8OFEM/TFBMoF3tvcI/AAAAAAAAB1Q/opwcWFKKlGA/s400/divxconverter5.png" alt="" id="BLOGGER_PHOTO_ID_5498979396673715650" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35239346-6341758832216600559?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/6341758832216600559/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=6341758832216600559' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/6341758832216600559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/6341758832216600559'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2010/07/merging-subtitles-in-video-files-with.html' title='Merging Subtitles in Video Files with DivXConverter'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_UtmZWQ8OFEM/TFBMQpkHnZI/AAAAAAAAB0w/IL61bXN2U0o/s72-c/divxconverter1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-3239100111371759450</id><published>2010-07-09T15:00:00.002+02:00</published><updated>2010-07-09T15:03:02.751+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='kernel'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>mounting none on /dev failed: No such device</title><content type='html'>If you're experiencing this error message at boot in Linux (e.g., after you recompiled the kernel in Ubuntu Lucid)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;mounting none on /dev failed: No such device&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;don't be scared, the boot will continue and there'll be no problem (at least, I read in some posts); I never experienced problems even with this error at boot.&lt;br /&gt;But if you want to get rid of it, just make sure that you have&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;CONFIG_DEVTMPFS=y&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;in your .config file of your kernel source directory.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35239346-3239100111371759450?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/3239100111371759450/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=3239100111371759450' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/3239100111371759450'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/3239100111371759450'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2010/07/mounting-none-on-dev-failed-no-such.html' title='mounting none on /dev failed: No such device'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-2534000164531994019</id><published>2010-07-07T10:12:00.007+02:00</published><updated>2010-07-07T10:33:50.495+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nokia'/><category scheme='http://www.blogger.com/atom/ns#' term='qt-mobility'/><category scheme='http://www.blogger.com/atom/ns#' term='msoma'/><category scheme='http://www.blogger.com/atom/ns#' term='qt'/><category scheme='http://www.blogger.com/atom/ns#' term='my programs'/><category scheme='http://www.blogger.com/atom/ns#' term='maemo'/><category scheme='http://www.blogger.com/atom/ns#' term='n900'/><title type='text'>mSoma a Qt client for SomaFM</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_UtmZWQ8OFEM/TDQ3zP4BLtI/AAAAAAAAB0Q/EjulfptUgVk/s1600/msoma_64x64.png"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 64px; height: 64px;" src="http://4.bp.blogspot.com/_UtmZWQ8OFEM/TDQ3zP4BLtI/AAAAAAAAB0Q/EjulfptUgVk/s200/msoma_64x64.png" alt="" id="BLOGGER_PHOTO_ID_5491075199245823698" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.andreagrandi.it/"&gt;Andrea Grandi&lt;/a&gt; proposed me a few weeks ago to try and develop a client for &lt;a href="http://somafm.com/"&gt;SomaFM&lt;/a&gt;, a streaming radio with near 16  different channels, available for free. Indeed we wanted to try to develop an application for our cool Nokia N900 smartphone. Since this phone is now based on my beloved &lt;a href="http://qt.nokia.com/"&gt;Qt framework&lt;/a&gt;, I accepted with much pleasure.&lt;br /&gt;&lt;br /&gt;The really cool thing was that, by relying on the qt-mobility APIs (new Qt APIs for mobile application developers), we could enjoy cross-platform developing: all the code that I wrote for this player was tested and debuged on my computer, as a desktop application. Then, we deployed on the Nokia N900 and tried it there (and it worked seamlessly).&lt;br /&gt;&lt;br /&gt;For instance, this are some screenshots of msoma running as a desktop application (in Linux in this case):&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_UtmZWQ8OFEM/TDQ5MQDdJ2I/AAAAAAAAB0Y/1U-fHXoajiM/s1600/msoma_desktop1.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 251px;" src="http://1.bp.blogspot.com/_UtmZWQ8OFEM/TDQ5MQDdJ2I/AAAAAAAAB0Y/1U-fHXoajiM/s400/msoma_desktop1.png" alt="" id="BLOGGER_PHOTO_ID_5491076728302151522" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_UtmZWQ8OFEM/TDQ5XMjrwrI/AAAAAAAAB0g/Dy6xTZY1S1A/s1600/msoma_desktop2.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 251px;" src="http://2.bp.blogspot.com/_UtmZWQ8OFEM/TDQ5XMjrwrI/AAAAAAAAB0g/Dy6xTZY1S1A/s400/msoma_desktop2.png" alt="" id="BLOGGER_PHOTO_ID_5491076916342145714" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;And this is a screenshot of the application running in the N900 (taken from &lt;a href="http://www.andreagrandi.it/2010/07/03/announcing-msoma-maemomeego-client-for-somafm/"&gt;Andrea's blog post&lt;/a&gt;):&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_UtmZWQ8OFEM/TDQ5sStdRFI/AAAAAAAAB0o/a8YNvEDAdY0/s1600/msoma_0.1.2.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 240px;" src="http://1.bp.blogspot.com/_UtmZWQ8OFEM/TDQ5sStdRFI/AAAAAAAAB0o/a8YNvEDAdY0/s400/msoma_0.1.2.png" alt="" id="BLOGGER_PHOTO_ID_5491077278771004498" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Which is just a recompilation targeting Maemo (with this respect, the &lt;a href="http://www.forum.nokia.com/info/sw.nokia.com/id/e920da1a-5b18-42df-82c3-907413e525fb/Nokia_Qt_SDK.html"&gt;Nokia Qt SDK&lt;/a&gt;, based on QtCreator, is really helpful when developing).&lt;br /&gt;&lt;br /&gt;Of course, this is the very first version of this application, and surely the UI should be different in the desktop application with respect to the cellphone version (in order to be more usable in the mobile devices). But, as it is, it's already enjoyable (but I may be biased ;)&lt;br /&gt;&lt;br /&gt;Source code is available on &lt;a href="http://gitorious.org/msoma"&gt;Gitorious&lt;/a&gt;  and it's always updated with latest version we're working on. If  someone want to test the application, it's available in &lt;strong&gt;extras-devel&lt;/strong&gt;  repository  ("msoma" under Multimedia section) of N900.&lt;br /&gt;&lt;br /&gt;In case you want to use it as a desktop application, please remember that you need qt-mobility. I &lt;a href="http://tronprog.blogspot.com/2010/06/building-qt-mobility-in-ubuntu.html"&gt;blogged about the installation of qt-mobility in Linux&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;We really want to thank, &lt;a href="http://somafm.com/blogs/rusty/"&gt;&lt;span style="font-weight: bold;"&gt;Rusty Hodge&lt;/span&gt;&lt;/a&gt;, SomaFM's founder, who provided so many details about SomaFM for developing our application (and of course we thank him also for SomaFM itself :)&lt;br /&gt;&lt;br /&gt;We look forward to receiving feedback, patches, suggestions, and help! :)&lt;br /&gt;&lt;br /&gt;Our maemo profiles:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a style="font-weight: bold;" href="http://maemo.org/profile/view/andy80"&gt;Andrea Grandi&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://maemo.org/profile/view/lorebett"&gt;&lt;strong&gt;Lorenzo Bettini&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35239346-2534000164531994019?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/2534000164531994019/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=2534000164531994019' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/2534000164531994019'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/2534000164531994019'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2010/07/msoma-qt-client-for-somafm.html' title='mSoma a Qt client for SomaFM'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_UtmZWQ8OFEM/TDQ3zP4BLtI/AAAAAAAAB0Q/EjulfptUgVk/s72-c/msoma_64x64.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-7721848301970803584</id><published>2010-06-18T11:05:00.010+02:00</published><updated>2010-07-07T10:49:06.922+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='qt-mobility'/><category scheme='http://www.blogger.com/atom/ns#' term='qt'/><category scheme='http://www.blogger.com/atom/ns#' term='kubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='maemo'/><title type='text'>Building Qt-Mobility in Ubuntu</title><content type='html'>Lately I started to try to develop applications for the Nokia N900, and the Maemo platform uses my beloved framework Qt :)&lt;br /&gt;&lt;br /&gt;In particular, Nokia started to develop the Qt-Mobility Framework. Quoting from their white paper:&lt;br /&gt;&lt;blockquote&gt;The Qt Mobility Project presents a collection of related software frameworks and interfaces. The objective being to deliver new Qt APIs for mobile application developers. Using these new APIs, developers will be able to create cross-platform applications targeting Maemo, Symbian and other platforms. This suite of features also has components that will be desirable to all users, not just those with mobile devices, so Mobility has advantages even for the desktop user.&lt;br /&gt;&lt;/blockquote&gt;Thus, I wanted to try this project also on my Desktop (after all the intent of this framework is cross-platform development), and tried to compile qt-mobility on my Ubuntu/Kubuntu desktop. Unfortunately, I experienced many problems which now I seem to have solved, thus I'd like to share the steps to build qt-mobility from sources.&lt;br /&gt;&lt;br /&gt;First of all, when installing qt-mobility after compilation, some files will be created in your current Qt installation. Thus, since I wouldn't want to spoil my qt installation from ubuntu packages, which is installed in system path, I downloaded the new qt framework 4.6.3 from the &lt;a href="http://qt.nokia.com/downloads"&gt;Nokia download site&lt;/a&gt;, and installed it in a path of my home: &lt;span style="font-weight: bold;"&gt;~/usr/local/Trolltech/qtsdk-2010.03&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Then, I installed some packages that are useful to build qt-mobility and to enjoy media contents such as mp3 and videos, relying on gstreamer (not all these packages may be necessary, but after some tests, at least these packages will make things work):&lt;br /&gt;&lt;blockquote&gt;sudo apt-get install libasound2-dev libbluetooth-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev network-manager-dev libxv-dev gstreamer-tools gstreamer0.10-plugins-base gstreamer0.10-ffmpeg w32codecs ubuntu-restricted-extras gstreamer0.10-plugins-good freeglut3-dev&lt;/blockquote&gt;Then, you need to get the sources of qt-mobility, and I got them from the git repository&lt;br /&gt;&lt;blockquote&gt;git clone git://gitorious.org/qt-mobility/qt-mobility.git&lt;/blockquote&gt;&lt;br /&gt;However, you may want to get the stable sources (e.g., from &lt;a href="http://qt.nokia.com/products/appdev/add-on-products/catalog/4/new-qt-apis/mobility"&gt;qt-mobility download&lt;/a&gt;).&lt;br /&gt;Since I'm a big fan of "shadow builds" which won't spoil your source directory, I built qt-mobility in another directory of my home, separate from the directory where I have the sources of qt-mobility (in this example the sources are in &lt;span style="font-weight: bold;"&gt;~/install/qt-mobility&lt;/span&gt;): &lt;span style="font-weight: bold;"&gt;~/build/qt-mobility/qt-4.6.3&lt;/span&gt; (I specified the qt version I'm building qt-mobility with, since I may want to experiment with different qt versions):&lt;br /&gt;&lt;ul style="font-family: courier new;"&gt;&lt;li&gt;cd ~/build/qt-mobility/qt-4.6.3&lt;/li&gt;&lt;li&gt;PATH=~/usr/local/Trolltech/qtsdk-2010.03/qt/bin:$PATH ~/install/qt-mobility/configure -examples -prefix ~/usr/local/Trolltech/qt-mobility &gt; output.txt&lt;/li&gt;&lt;/ul&gt;Note that I temporarily change the PATH environment variable so that the configure script will use my local qt installation; I specify that I want to build the examples, and I redirect the output in a text file. This will also allows you to see possible errors during the configuration step (e.g., missing packages). Note also that I will install (once built) qt-mobility in my home directory in &lt;span style="font-weight: bold;"&gt;~/usr/local/Trolltech/qt-mobility&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Once the configuration step is successful, you can start building qt-mobility and then install it:&lt;br /&gt;&lt;ul style="font-family: courier new;"&gt;&lt;li&gt;make&lt;/li&gt;&lt;li&gt;make install&lt;/li&gt;&lt;/ul&gt;During the installation, if you take a look at the output, you will note that some files will be added to your qt installation, e.g.,&lt;br /&gt;&lt;ul&gt;&lt;li&gt;install -m 644 -p /home/bettini/build/qt-mobility/qt-4.6.3/features/mobility.prf /home/bettini/usr/local/Trolltech/qtsdk-2010.03/qt/mkspecs/features/&lt;/li&gt;&lt;li&gt;install -m 644 -p /home/bettini/build/qt-mobility/qt-4.6.3/features/mobilityconfig.prf /home/bettini/usr/local/Trolltech/qtsdk-2010.03/qt/mkspecs/features/&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;This way qt-mobility will be integrated in your qt framework (at least, this is what I presume).&lt;br /&gt;&lt;br /&gt;Now, you can test your qt-installation by running an example (which was built and installed), for instance the player demo or the weather demo:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;~/usr/local/Trolltech/qt-mobility/bin/player&lt;/li&gt;&lt;li&gt;~/usr/local/Trolltech/qt-mobility/bin/weatherinfo_with_location&lt;/li&gt;&lt;/ul&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_UtmZWQ8OFEM/TBs7hS05qLI/AAAAAAAAB0A/y518fdvoyzg/s1600/qt-mobility1.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 200px;" src="http://4.bp.blogspot.com/_UtmZWQ8OFEM/TBs7hS05qLI/AAAAAAAAB0A/y518fdvoyzg/s400/qt-mobility1.png" alt="" id="BLOGGER_PHOTO_ID_5484042414429153458" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_UtmZWQ8OFEM/TBs7rB0cE3I/AAAAAAAAB0I/2iSmY9cOmNA/s1600/qt-mobility.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 242px;" src="http://2.bp.blogspot.com/_UtmZWQ8OFEM/TBs7rB0cE3I/AAAAAAAAB0I/2iSmY9cOmNA/s400/qt-mobility.png" alt="" id="BLOGGER_PHOTO_ID_5484042581662503794" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Now, let's try to see whether we're able to use qt-mobility in our programs.&lt;br /&gt;&lt;br /&gt;We'll try to compile a very simple qt program using a class from the qt-mobility framework (QVideoWidget), though we won't do anything with that (just to see whether we can build the application).&lt;br /&gt;&lt;br /&gt;here's the files of our project&lt;br /&gt;&lt;br /&gt;myvideowidget.pro&lt;table nosave=""&gt;&lt;br /&gt;&lt;tbody&gt;&lt;tr nosave=""&gt;&lt;br /&gt;&lt;td nosave=""&gt;&lt;br /&gt;&lt;pre&gt;&lt;tt&gt;QT       += core gui&lt;br /&gt;&lt;br /&gt;TARGET = myvideowidget&lt;br /&gt;TEMPLATE = app&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SOURCES += main.cpp\&lt;br /&gt;       mainwindow.cpp&lt;br /&gt;&lt;br /&gt;HEADERS  += mainwindow.h&lt;br /&gt;&lt;br /&gt;CONFIG += mobility&lt;br /&gt;MOBILITY = multimedia&lt;br /&gt;&lt;/tt&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/tbody&gt;&lt;/table&gt;mainwindow.h&lt;table nosave="" bg style="color:white;"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;tr nosave=""&gt;&lt;br /&gt;&lt;td nosave=""&gt;&lt;br /&gt;&lt;pre&gt;&lt;tt&gt;&lt;b&gt;&lt;span style="color:#000080;"&gt;#ifndef&lt;/span&gt;&lt;/b&gt; MAINWINDOW_H&lt;br /&gt;&lt;b&gt;&lt;span style="color:#000080;"&gt;#define&lt;/span&gt;&lt;/b&gt; MAINWINDOW_H&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="color:#000080;"&gt;#include&lt;/span&gt;&lt;/b&gt; &lt;span style="color:#ff0000;"&gt;&amp;lt;QMainWindow&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="color:#0000ff;"&gt;class&lt;/span&gt;&lt;/b&gt; &lt;span style="color:#008080;"&gt;QVideoWidget&lt;/span&gt;&lt;span style="color:#990000;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="color:#0000ff;"&gt;class&lt;/span&gt;&lt;/b&gt; &lt;span style="color:#008080;"&gt;QMediaPlayer&lt;/span&gt;&lt;span style="color:#990000;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="color:#0000ff;"&gt;class&lt;/span&gt;&lt;/b&gt; &lt;span style="color:#008080;"&gt;MainWindow&lt;/span&gt; &lt;span style="color:#990000;"&gt;:&lt;/span&gt; &lt;b&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt;&lt;/b&gt; QMainWindow&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;{&lt;/span&gt;&lt;br /&gt;   Q_OBJECT&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#990000;"&gt;:&lt;/span&gt;&lt;br /&gt;   &lt;b&gt;&lt;span style="color:#0000ff;"&gt;explicit&lt;/span&gt;&lt;/b&gt; &lt;b&gt;&lt;span style="color:#000000;"&gt;MainWindow&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#990000;"&gt;(&lt;/span&gt;&lt;span style="color:#008080;"&gt;QWidget&lt;/span&gt; &lt;span style="color:#990000;"&gt;*&lt;/span&gt;parent &lt;span style="color:#990000;"&gt;=&lt;/span&gt; &lt;span style="color:#993399;"&gt;0&lt;/span&gt;&lt;span style="color:#990000;"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="color:#0000ff;"&gt;private&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#990000;"&gt;:&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:#008080;"&gt;QVideoWidget&lt;/span&gt; &lt;span style="color:#990000;"&gt;*&lt;/span&gt;videoWidget&lt;span style="color:#990000;"&gt;;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:#008080;"&gt;QMediaPlayer&lt;/span&gt; &lt;span style="color:#990000;"&gt;*&lt;/span&gt;player&lt;span style="color:#990000;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;}&lt;/span&gt;&lt;span style="color:#990000;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="color:#000080;"&gt;#endif&lt;/span&gt;&lt;/b&gt; &lt;i&gt;&lt;span style="color:#9a1900;"&gt;// MAINWINDOW_H&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;/tt&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/tbody&gt;&lt;/table&gt;mainwindow.cpp&lt;table nosave="" bg style="color:white;"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;tr nosave=""&gt;&lt;br /&gt;&lt;td nosave=""&gt;&lt;br /&gt;&lt;pre&gt;&lt;tt&gt;&lt;b&gt;&lt;span style="color:#000080;"&gt;#include&lt;/span&gt;&lt;/b&gt; &lt;span style="color:#ff0000;"&gt;&amp;lt;QMediaPlayer&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="color:#000080;"&gt;#include&lt;/span&gt;&lt;/b&gt; &lt;span style="color:#ff0000;"&gt;&amp;lt;QVideoWidget&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="color:#000080;"&gt;#include&lt;/span&gt;&lt;/b&gt; &lt;span style="color:#ff0000;"&gt;&amp;lt;QTextEdit&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="color:#000080;"&gt;#include&lt;/span&gt;&lt;/b&gt; &lt;span style="color:#ff0000;"&gt;"mainwindow.h"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;MainWindow&lt;span style="color:#990000;"&gt;::&lt;/span&gt;&lt;b&gt;&lt;span style="color:#000000;"&gt;MainWindow&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#990000;"&gt;(&lt;/span&gt;&lt;span style="color:#008080;"&gt;QWidget&lt;/span&gt; &lt;span style="color:#990000;"&gt;*&lt;/span&gt;parent&lt;span style="color:#990000;"&gt;)&lt;/span&gt; &lt;span style="color:#990000;"&gt;:&lt;/span&gt;&lt;br /&gt;   &lt;b&gt;&lt;span style="color:#000000;"&gt;QMainWindow&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#990000;"&gt;(&lt;/span&gt;parent&lt;span style="color:#990000;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;{&lt;/span&gt;&lt;br /&gt;   videoWidget &lt;span style="color:#990000;"&gt;=&lt;/span&gt; &lt;b&gt;&lt;span style="color:#0000ff;"&gt;new&lt;/span&gt;&lt;/b&gt; &lt;b&gt;&lt;span style="color:#000000;"&gt;QVideoWidget&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#990000;"&gt;(&lt;/span&gt;&lt;b&gt;&lt;span style="color:#0000ff;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#990000;"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;   &lt;b&gt;&lt;span style="color:#000000;"&gt;setCentralWidget&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#990000;"&gt;(&lt;/span&gt;videoWidget&lt;span style="color:#990000;"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/tt&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;main.cpp&lt;br /&gt;&lt;table nosave="" bg style="color:white;"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;tr nosave=""&gt;&lt;br /&gt;&lt;td nosave=""&gt;&lt;br /&gt;&lt;pre&gt;&lt;tt&gt;&lt;b&gt;&lt;span style="color:#000080;"&gt;#include&lt;/span&gt;&lt;/b&gt; &lt;span style="color:#ff0000;"&gt;&amp;lt;QtGui/QApplication&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="color:#000080;"&gt;#include&lt;/span&gt;&lt;/b&gt; &lt;span style="color:#ff0000;"&gt;"mainwindow.h"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#009900;"&gt;int&lt;/span&gt; &lt;b&gt;&lt;span style="color:#000000;"&gt;main&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#990000;"&gt;(&lt;/span&gt;&lt;span style="color:#009900;"&gt;int&lt;/span&gt; argc&lt;span style="color:#990000;"&gt;,&lt;/span&gt; &lt;span style="color:#009900;"&gt;char&lt;/span&gt; &lt;span style="color:#990000;"&gt;*&lt;/span&gt;argv&lt;span style="color:#990000;"&gt;[])&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;{&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:#008080;"&gt;QApplication&lt;/span&gt; &lt;b&gt;&lt;span style="color:#000000;"&gt;a&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#990000;"&gt;(&lt;/span&gt;argc&lt;span style="color:#990000;"&gt;,&lt;/span&gt; argv&lt;span style="color:#990000;"&gt;);&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:#008080;"&gt;MainWindow&lt;/span&gt; w&lt;span style="color:#990000;"&gt;;&lt;/span&gt;&lt;br /&gt;   w&lt;span style="color:#990000;"&gt;.&lt;/span&gt;&lt;b&gt;&lt;span style="color:#000000;"&gt;show&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#990000;"&gt;();&lt;/span&gt;&lt;br /&gt;   &lt;b&gt;&lt;span style="color:#0000ff;"&gt;return&lt;/span&gt;&lt;/b&gt; a&lt;span style="color:#990000;"&gt;.&lt;/span&gt;&lt;b&gt;&lt;span style="color:#000000;"&gt;exec&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#990000;"&gt;();&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/tt&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;now, you should run the qmake of your qt installation you've used to build qt-mobility, thus&lt;br /&gt;&lt;ul style="font-family: courier new;"&gt;&lt;li&gt;~/usr/local/Trolltech/qtsdk-2010.03/qt/bin/qmake myvideowidget.pro&lt;/li&gt;&lt;/ul&gt;and then run make, hopefully you should get no error. Note that we haven't named our qt-mobility installation directory anywhere here; there's no need to, since your qt installation was modified by qt-mobility, so that qmake will set all the variables for include files and libraries also for the qt-mobility path! In fact, you should see these compilation command lines:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I../../../../usr/local/Trolltech/qtsdk-2010.03/qt/mkspecs/linux-g++ -I../../myvideowidget -I../../../../usr/local/Trolltech/qtsdk-2010.03/qt/include/QtCore -I../../../../usr/local/Trolltech/qtsdk-2010.03/qt/include/QtNetwork -I../../../../usr/local/Trolltech/qtsdk-2010.03/qt/include/QtGui -I../../../../usr/local/Trolltech/qtsdk-2010.03/qt/include/QtOpenGL -I../../../../usr/local/Trolltech/qtsdk-2010.03/qt/include -I/home/bettini/usr/local/Trolltech/qtsdk-2010.03/qt/include/QtMultimediaKit &lt;span style="font-weight: bold;"&gt;-I../../../../usr/local/Trolltech/qt-mobility/include -I../../../../usr/local/Trolltech/qt-mobility/include/QtMultimediaKit&lt;/span&gt; -I/usr/X11R6/include -I. -I../../myvideowidget -I. -o mainwindow.o ../../myvideowidget/mainwindow.cpp&lt;/li&gt;&lt;li&gt;g++ -Wl,-O1 -Wl,-rpath,/home/bettini/usr/local/Trolltech/qtsdk-2010.03/qt/lib -Wl,-rpath,/home/bettini/usr/local/Trolltech/qt-mobility/lib -o myvideowidget main.o mainwindow.o moc_mainwindow.o    -L/home/bettini/usr/local/Trolltech/qtsdk-2010.03/qt/lib -L/usr/X11R6/lib &lt;span style="font-weight: bold;"&gt;-L/home/bettini/usr/local/Trolltech/qt-mobility/lib&lt;/span&gt; -lQtMultimediaKit -lQtOpenGL -L/home/bettini/usr/local/Trolltech/qtsdk-2010.03/qt/lib -L/usr/X11R6/lib -lQtGui -lQtNetwork -lQtCore -lGLU -lGL -lpthread&lt;/li&gt;&lt;/ul&gt;Now you can enjoy qt-mobility in your desktop :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35239346-7721848301970803584?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/7721848301970803584/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=7721848301970803584' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/7721848301970803584'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/7721848301970803584'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2010/06/building-qt-mobility-in-ubuntu.html' title='Building Qt-Mobility in Ubuntu'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_UtmZWQ8OFEM/TBs7hS05qLI/AAAAAAAAB0A/y518fdvoyzg/s72-c/qt-mobility1.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-2666836889376575410</id><published>2010-05-11T21:14:00.004+02:00</published><updated>2010-05-11T21:18:34.692+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='lucid'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Eclipse internal Web Browser in Ubuntu Lucid</title><content type='html'>After switching to Ubuntu Lucid I noted that in my eclipse php installation the internal web browser was not working anymore since it was lacking some mozilla libraries.&lt;br /&gt;&lt;br /&gt;In that case, it is enough to install the current xulrunner:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;sudo apt-get install xulrunner-1.9.2&lt;/blockquote&gt;&lt;br /&gt;and the internal web browser in eclipse will work again! :)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_UtmZWQ8OFEM/S-mtUb7BwKI/AAAAAAAABz4/c2Ssszcm_Hc/s1600/eclipse_web_browser.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 293px;" src="http://2.bp.blogspot.com/_UtmZWQ8OFEM/S-mtUb7BwKI/AAAAAAAABz4/c2Ssszcm_Hc/s400/eclipse_web_browser.png" alt="" id="BLOGGER_PHOTO_ID_5470093789022503074" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35239346-2666836889376575410?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/2666836889376575410/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=2666836889376575410' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/2666836889376575410'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/2666836889376575410'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2010/05/eclipse-internal-web-browser-in-ubuntu.html' title='Eclipse internal Web Browser in Ubuntu Lucid'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_UtmZWQ8OFEM/S-mtUb7BwKI/AAAAAAAABz4/c2Ssszcm_Hc/s72-c/eclipse_web_browser.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-3131121122763114118</id><published>2010-05-05T18:18:00.011+02:00</published><updated>2010-05-05T18:35:57.524+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cakephp'/><category scheme='http://www.blogger.com/atom/ns#' term='phpbibliography'/><title type='text'>PhpBibliography 1.0 - using CakePhp</title><content type='html'>The brand new release of &lt;a href="http://phpbibliography.sourceforge.net/"&gt;PhpBibliography&lt;/a&gt;  is out!&lt;br /&gt;&lt;br /&gt;PhpBibliography allows you to publish your bibliography online (and to edit it via web).&lt;br /&gt;It is implemented in &lt;span style="font-weight: bold;"&gt;Php 5&lt;/span&gt; and uses &lt;span style="font-weight: bold;"&gt;MySql 5&lt;/span&gt; (however, it might work also with Php 4, and also with MySql 4, but I'm not testing this).&lt;br /&gt;&lt;br /&gt;&lt;span class="attention"&gt;This is a complete rewriting using &lt;a href="http://www.cakephp.org/"&gt;CakePhp&lt;/a&gt;&lt;/span&gt;, the old version site  is available &lt;a href="http://phpbibliography.sourceforge.net/phpbibliography-old/"&gt;here&lt;/a&gt;.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_UtmZWQ8OFEM/S45Oek6lxhI/AAAAAAAAByY/n1WGjjdMxQ0/s200/cake-logo.png"&gt;&lt;img style="float: right; margin: 0pt 0pt 10px 10px; cursor: pointer; width: 111px; height: 111px;" src="http://4.bp.blogspot.com/_UtmZWQ8OFEM/S45Oek6lxhI/AAAAAAAAByY/n1WGjjdMxQ0/s200/cake-logo.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;CakePhp is really a wonderful framework and I really enjoyed using it for PhpBibliography.&lt;br /&gt;&lt;br /&gt;Hopefully, PhpBibliography is now more stable, relying on many mechanisms offered by CakePhp, and it looks nicer (in my opinion at least).&lt;br /&gt;&lt;br /&gt;In the near future, I'm also planning to allow customization of the look by relying on CakePhp themes.&lt;br /&gt;&lt;br /&gt;&lt;span class="attention"&gt;If you have an already installed version of PhpBibliography (earlier than version 1.x) you will need to follow the instructions you find at this &lt;/span&gt;&lt;a href="http://phpbibliography.sourceforge.net/phpbibliography-old/upgrade_to_1.html"&gt;link&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;PhpBibliography now comes with a web based installation procedure which should minimize the efforts of the user who installs it (hopefully).&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_UtmZWQ8OFEM/S-GbHHEyurI/AAAAAAAAByw/HXIVcwzt3xc/s1600/install_1.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 313px;" src="http://2.bp.blogspot.com/_UtmZWQ8OFEM/S-GbHHEyurI/AAAAAAAAByw/HXIVcwzt3xc/s400/install_1.png" alt="" id="BLOGGER_PHOTO_ID_5467821969065032370" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;These are the main features provided by PhpBibliography:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Automatic generation of bibtex for papers (unless a manual bib  item is specified when editing the paper).&lt;/li&gt;&lt;li&gt;For each paper two files can be uploaded and two links can be  specified.&lt;/li&gt;&lt;li&gt;Papers can be searched with criteria about their fields.&lt;/li&gt;&lt;li&gt;Besides standard fields, new &lt;span style="font-style: italic;"&gt;attributes&lt;/span&gt;  can be specified for papers; attributes can be &lt;span style="font-style: italic;"&gt;selectable&lt;/span&gt;, i.e., the logged user can choose among a(n  extensible) set of values and &lt;span style="font-style: italic;"&gt;multiple&lt;/span&gt;, i.e., a paper can be given several values for that attribute; an example of selectable/single attribute is "Publisher", an example of selectable/multiple attribute is "Keyword", and an example of non-selectable attribute is "DOI".&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Papers can be specified as &lt;span style="font-style: italic;"&gt;private&lt;/span&gt;  (visible only to logged users).&lt;/li&gt;&lt;li&gt;Reports can be generated by filtering by author, by value and by grouping up to two levels (e.g., show only papers of a given authors, grouped by year and by paper type).&lt;/li&gt;&lt;li&gt;RSS feeds are available for search results, reports and paper  lists.&lt;/li&gt;&lt;li&gt;Lists of papers, and results of reports and searches can be  included in other webpages (by using the &lt;span style="font-style: italic;"&gt;bare&lt;/span&gt; layout).&lt;/li&gt;&lt;li&gt;Papers can be imported from &lt;a href="http://www.informatik.uni-trier.de/%7Eley/db/index.html"&gt;DBLP&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Searches for possible duplicate papers.&lt;/li&gt;&lt;li&gt;Papers can be inserted through bibtex items and bibtex files.&lt;/li&gt;&lt;/ul&gt;And here are some screenshots of the new interface:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_UtmZWQ8OFEM/S-Gc2JHwIkI/AAAAAAAABy4/QvVzNva1M_Y/s1600/phpbibliography.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 334px;" src="http://4.bp.blogspot.com/_UtmZWQ8OFEM/S-Gc2JHwIkI/AAAAAAAABy4/QvVzNva1M_Y/s400/phpbibliography.png" alt="" id="BLOGGER_PHOTO_ID_5467823876579795522" border="0" /&gt;&lt;/a&gt;The main paper view&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_UtmZWQ8OFEM/S-Gc9STTl2I/AAAAAAAABzA/uT2pdETmLn4/s1600/phpbibliography1.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 334px;" src="http://4.bp.blogspot.com/_UtmZWQ8OFEM/S-Gc9STTl2I/AAAAAAAABzA/uT2pdETmLn4/s400/phpbibliography1.png" alt="" id="BLOGGER_PHOTO_ID_5467823999303260002" border="0" /&gt;&lt;/a&gt;Recently modified papers&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_UtmZWQ8OFEM/S-GdDRQixXI/AAAAAAAABzI/TeO7_JIb45A/s1600/phpbibliography2.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 334px;" src="http://3.bp.blogspot.com/_UtmZWQ8OFEM/S-GdDRQixXI/AAAAAAAABzI/TeO7_JIb45A/s400/phpbibliography2.png" alt="" id="BLOGGER_PHOTO_ID_5467824102102451570" border="0" /&gt;&lt;/a&gt;Let's generate a report...&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_UtmZWQ8OFEM/S-GdHgZtzXI/AAAAAAAABzQ/6JQ68FtlwPI/s1600/phpbibliography3.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 334px;" src="http://3.bp.blogspot.com/_UtmZWQ8OFEM/S-GdHgZtzXI/AAAAAAAABzQ/6JQ68FtlwPI/s400/phpbibliography3.png" alt="" id="BLOGGER_PHOTO_ID_5467824174886931826" border="0" /&gt;&lt;/a&gt;...and this is the result.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_UtmZWQ8OFEM/S-GdLvtjYnI/AAAAAAAABzY/wHV7O51TGXo/s1600/phpbibliography4.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 334px;" src="http://1.bp.blogspot.com/_UtmZWQ8OFEM/S-GdLvtjYnI/AAAAAAAABzY/wHV7O51TGXo/s400/phpbibliography4.png" alt="" id="BLOGGER_PHOTO_ID_5467824247716143730" border="0" /&gt;&lt;/a&gt;The administrative interface (for logged users)&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_UtmZWQ8OFEM/S-GdP-ozNCI/AAAAAAAABzg/ixEac3Vbih8/s1600/phpbibliography5.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 334px;" src="http://2.bp.blogspot.com/_UtmZWQ8OFEM/S-GdP-ozNCI/AAAAAAAABzg/ixEac3Vbih8/s400/phpbibliography5.png" alt="" id="BLOGGER_PHOTO_ID_5467824320442217506" border="0" /&gt;&lt;/a&gt;Papers shown in a table ready to be edited or deleted.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_UtmZWQ8OFEM/S-GdUEszdRI/AAAAAAAABzo/8BEq-k_3-os/s1600/phpbibliography6.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 334px;" src="http://3.bp.blogspot.com/_UtmZWQ8OFEM/S-GdUEszdRI/AAAAAAAABzo/8BEq-k_3-os/s400/phpbibliography6.png" alt="" id="BLOGGER_PHOTO_ID_5467824390789100818" border="0" /&gt;&lt;/a&gt;The view of a paper&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_UtmZWQ8OFEM/S-GdYVRW36I/AAAAAAAABzw/xxwz0HMcR30/s1600/phpbibliography7.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 334px;" src="http://3.bp.blogspot.com/_UtmZWQ8OFEM/S-GdYVRW36I/AAAAAAAABzw/xxwz0HMcR30/s400/phpbibliography7.png" alt="" id="BLOGGER_PHOTO_ID_5467824463956860834" border="0" /&gt;&lt;/a&gt;The co-authors of an author&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35239346-3131121122763114118?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/3131121122763114118/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=3131121122763114118' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/3131121122763114118'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/3131121122763114118'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2010/05/phpbibliography-10-using-cakephp.html' title='PhpBibliography 1.0 - using CakePhp'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_UtmZWQ8OFEM/S45Oek6lxhI/AAAAAAAAByY/n1WGjjdMxQ0/s72-c/cake-logo.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-4519513851661688014</id><published>2010-05-03T14:07:00.002+02:00</published><updated>2010-05-03T14:10:18.152+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='lucid'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Package php-doc missing in Ubuntu Lucid</title><content type='html'>After installing the new Ubuntu Lucid I discovered that the package php-doc is not available anymore. Since I often work offline, having the php documentation installed to be browsed offline is a must for me.&lt;br /&gt;&lt;br /&gt;It looks like for the moment that package is &lt;a href="https://lists.ubuntu.com/archives/ubuntu-devel-announce/2010-April/000700.html"&gt;not available due to build failures&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Fortunately, the package for karmic can be installed without any problem, and you can &lt;a href="http://packages.ubuntu.com/karmic/all/php-doc/download"&gt;download it from here&lt;/a&gt;. :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35239346-4519513851661688014?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/4519513851661688014/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=4519513851661688014' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/4519513851661688014'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/4519513851661688014'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2010/05/package-php-doc-missing-in-ubuntu-lucid.html' title='Package php-doc missing in Ubuntu Lucid'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-2297988879848364489</id><published>2010-03-11T22:39:00.002+01:00</published><updated>2010-03-11T22:45:01.149+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sourcehighlightide'/><category scheme='http://www.blogger.com/atom/ns#' term='source-highlight'/><title type='text'>Source-Highlight-Ide 1.0</title><content type='html'>I've just released a new version of &lt;span style="font-weight: bold;"&gt;Source-Highlight-IDE&lt;/span&gt;, an IDE for &lt;a href="http://www.gnu.org/software/src-highlite"&gt;GNU  Source-highlight&lt;/a&gt; (given a source file, produces a document with syntax highlighting).&lt;br /&gt;&lt;br /&gt;Sourcehighlightide home page is &lt;a href="http://srchighliteide.sourceforge.net/"&gt;http://srchighliteide.sourceforge.net&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;This new version is a complete rewriting using Qt4 (instead of KDE3) and it is based on Source-Highlight-Qt (&lt;a href="http://tronprog.blogspot.com/2009/07/source-highlight-qt-library-for.html"&gt;which I've already blogged about&lt;/a&gt;) additional library, &lt;a href="http://srchiliteqt.sourceforge.net/"&gt;http://srchiliteqt.sourceforge.net&lt;/a&gt;, which provides highlighting in Qt relying on GNU Source-Highlight.&lt;br /&gt;&lt;br /&gt;Sourcehighlightide is useful when you have to develop a new language definition file for source-highlight. A language definition file makes use of regular expressions, and if they become complex it might be hard to understand how they are matched. Source-highlight already provides some mechanisms for debugging a language definition file; Sourcehighlightide provides a graphical interface to debug a language definition file: it will show which regular expression is matched during the formatting of the input file, and you can process the input file step by step (i.e., an expression at time), and you can also see the output while it is produced.&lt;br /&gt;&lt;br /&gt;As you can see from the following screenshot, Sourcehighlightide is a MDI (Multi Document Interface) application, so you can have many files open at one time. Moreover, it provides the basic commands that are common to every GUI application, so we will assume their knowledge throughout this manual.&lt;br /&gt;&lt;br /&gt;The online manual is available &lt;a href="http://srchighliteide.sourceforge.net/doc/index.html"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_UtmZWQ8OFEM/S5ljyUqPWII/AAAAAAAAByg/o1SSyUWfVxM/s1600-h/source-highlight-ide.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 305px;" src="http://4.bp.blogspot.com/_UtmZWQ8OFEM/S5ljyUqPWII/AAAAAAAAByg/o1SSyUWfVxM/s400/source-highlight-ide.png" alt="" id="BLOGGER_PHOTO_ID_5447494940471810178" border="0" /&gt;&lt;/a&gt;The main window&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_UtmZWQ8OFEM/S5lj34LO6lI/AAAAAAAAByo/T8SRU_uBkRk/s1600-h/source-highlight-ide-debug.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 305px;" src="http://1.bp.blogspot.com/_UtmZWQ8OFEM/S5lj34LO6lI/AAAAAAAAByo/T8SRU_uBkRk/s400/source-highlight-ide-debug.png" alt="" id="BLOGGER_PHOTO_ID_5447495035904780882" border="0" /&gt;&lt;/a&gt;Debugging a language definition file&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35239346-2297988879848364489?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/2297988879848364489/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=2297988879848364489' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/2297988879848364489'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/2297988879848364489'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2010/03/source-highlight-ide-10.html' title='Source-Highlight-Ide 1.0'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_UtmZWQ8OFEM/S5ljyUqPWII/AAAAAAAAByg/o1SSyUWfVxM/s72-c/source-highlight-ide.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-7866827421543998297</id><published>2010-03-03T12:55:00.004+01:00</published><updated>2010-03-03T13:08:01.579+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cakephp'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>CakePhp and SSL connections (https)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_UtmZWQ8OFEM/S45Oek6lxhI/AAAAAAAAByY/n1WGjjdMxQ0/s1600-h/cake-logo.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 95px; height: 95px;" src="http://4.bp.blogspot.com/_UtmZWQ8OFEM/S45Oek6lxhI/AAAAAAAAByY/n1WGjjdMxQ0/s200/cake-logo.png" alt="" id="BLOGGER_PHOTO_ID_5444375286749971986" border="0" /&gt;&lt;/a&gt;I've been playing with &lt;a href="http://cakephp.org/"&gt;CakePhp&lt;/a&gt; for some time now (and really enjoyed and enjoying it), since I'm turning my bibliography system, &lt;a href="http://phpbibliography.sourceforge.net/"&gt;PhpBibliography&lt;/a&gt;, to use it (I've rewritten it basically from scratch using cakephp, and hopefully the new version will be out soon).&lt;br /&gt;&lt;br /&gt;What I've been struggling with was the https ssl connections which didn't seem to work: I was getting page not found errors, and even after the ssl site was working, only the home page seemed to respond, but no css style was applied.&lt;br /&gt;&lt;br /&gt;The problem was due to the rewriting engine on which cakephp is based on, and I had not configured it correctly in the apache site (so cakephp was not to blame). I document my experience here hoping it can help others.&lt;br /&gt;&lt;br /&gt;I'm using Ubuntu 9.10, so what follows was done on such system.&lt;br /&gt;&lt;br /&gt;First of all, you need to enable ssl in apache; To enable SSL, type (as user root, e.g., with sudo):&lt;br /&gt;&lt;br /&gt;     &lt;span style="font-family:courier new;"&gt;a2ensite default-ssl&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   a2enmod ssl&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Note that I'm not interested here in creating a specific certificate, so I'm using the default one.&lt;br /&gt;&lt;br /&gt;Then, you need to make the mod_rewrite work also for the ssl site: you need to edit &lt;span style="font-family:courier new;"&gt;/etc/apache2/sites-enabled/default-ssl&lt;/span&gt; and make sure that AllowOverride is set (in my case I only need that in /var/www):&lt;br /&gt;&lt;br /&gt;&amp;lt;Directory /var/www/&amp;gt;&lt;br /&gt; Options Indexes FollowSymLinks MultiViews&lt;br /&gt; AllowOverride All&lt;br /&gt; Order allow,deny&lt;br /&gt; allow from all&lt;br /&gt;&amp;lt;/Directory&amp;gt;&lt;br /&gt;&lt;br /&gt;Then, restart apache and your cakephp will work with https as well.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35239346-7866827421543998297?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/7866827421543998297/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=7866827421543998297' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/7866827421543998297'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/7866827421543998297'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2010/03/cakephp-and-ssl-connections-https.html' title='CakePhp and SSL connections (https)'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_UtmZWQ8OFEM/S45Oek6lxhI/AAAAAAAAByY/n1WGjjdMxQ0/s72-c/cake-logo.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-500349975711097626</id><published>2009-12-23T17:02:00.004+01:00</published><updated>2009-12-23T18:06:29.776+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='source-highlight'/><title type='text'>GNU Source-Highlight 3.1.2</title><content type='html'>In this new version of &lt;a href="http://www.gnu.org/software/src-highlite/"&gt;GNU Source-Highlight&lt;/a&gt; some new features were added:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;infer language for files starting with &amp;lt;? and &amp;lt;!doctype&lt;/li&gt;&lt;li&gt;qmake based build system available is available to be used as an alternative to the configure based one; this is useful to compile source-highlight with MSVC for instance&lt;/li&gt;&lt;li&gt;searches for home directory correctly also on Windows systems&lt;/li&gt;&lt;/ul&gt;Besides this, many new language definitions were added:&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;asm&lt;/span&gt;&lt;table  BGCOLOR="white" NOSAVE &gt;&lt;br /&gt;&lt;tr NOSAVE&gt;&lt;br /&gt;&lt;td NOSAVE&gt;&lt;br /&gt;&lt;pre&gt;&lt;tt&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;;&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;; screen handling primitives&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;;&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#000080"&gt;.model&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;large&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#000080"&gt;.data&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;vseg    &lt;b&gt;&lt;font color="#0000FF"&gt;dw&lt;/font&gt;&lt;/b&gt;      &lt;font color="#993399"&gt;0b000h&lt;/font&gt;&lt;br /&gt;vmode   &lt;b&gt;&lt;font color="#0000FF"&gt;db&lt;/font&gt;&lt;/b&gt;      &lt;font color="#990000"&gt;?&lt;/font&gt;&lt;br /&gt;x       &lt;b&gt;&lt;font color="#0000FF"&gt;dw&lt;/font&gt;&lt;/b&gt;      &lt;font color="#993399"&gt;0&lt;/font&gt;&lt;br /&gt;y       &lt;b&gt;&lt;font color="#0000FF"&gt;dw&lt;/font&gt;&lt;/b&gt;      &lt;font color="#993399"&gt;0&lt;/font&gt;&lt;br /&gt;color   &lt;b&gt;&lt;font color="#0000FF"&gt;db&lt;/font&gt;&lt;/b&gt;      &lt;font color="#993399"&gt;07h&lt;/font&gt;&lt;br /&gt;ofs     &lt;b&gt;&lt;font color="#0000FF"&gt;dw&lt;/font&gt;&lt;/b&gt;      &lt;font color="#993399"&gt;0&lt;/font&gt;&lt;br /&gt;xhite   &lt;b&gt;&lt;font color="#0000FF"&gt;db&lt;/font&gt;&lt;/b&gt;      &lt;font color="#993399"&gt;8&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;; video information block&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;/tt&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;applescript&lt;/span&gt;&lt;table  BGCOLOR="white" NOSAVE &gt;&lt;br /&gt;&lt;tr NOSAVE&gt;&lt;br /&gt;&lt;td NOSAVE&gt;&lt;br /&gt;&lt;pre&gt;&lt;tt&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;(*&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;b&gt;TODO&lt;/b&gt;&lt;i&gt;&lt;font color="#9A1900"&gt; just a comment&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;foo bar&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;*)&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#000000"&gt;displayName&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;(&lt;/font&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;choose&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;file&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;with&lt;/font&gt;&lt;/b&gt; prompt &lt;font color="#FF0000"&gt;"Select a file:"&lt;/font&gt;&lt;font color="#990000"&gt;)&lt;/font&gt; &lt;i&gt;&lt;font color="#9A1900"&gt;--if double-clicked&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;return&lt;/font&gt;&lt;/b&gt; &lt;i&gt;&lt;font color="#9A1900"&gt;-- not needed, but shows that the script stops here when "run"&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;on&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;open&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;of&lt;/font&gt;&lt;/b&gt; finderObjects &lt;i&gt;&lt;font color="#9A1900"&gt;-- "open" handler triggered by drag'n'drop launches&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;  &lt;b&gt;&lt;font color="#0000FF"&gt;repeat&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;with&lt;/font&gt;&lt;/b&gt; i &lt;b&gt;&lt;font color="#0000FF"&gt;in&lt;/font&gt;&lt;/b&gt; &lt;font color="#990000"&gt;(&lt;/font&gt;finderObjects&lt;font color="#990000"&gt;)&lt;/font&gt; &lt;i&gt;&lt;font color="#9A1900"&gt;-- in case multiple objects dropped on applet&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;    &lt;b&gt;&lt;font color="#000000"&gt;displayName&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;(&lt;/font&gt;i&lt;font color="#990000"&gt;)&lt;/font&gt; &lt;i&gt;&lt;font color="#9A1900"&gt;-- show file/folder's info&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;    &lt;b&gt;&lt;font color="#0000FF"&gt;if&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;folder&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;of&lt;/font&gt;&lt;/b&gt; &lt;font color="#990000"&gt;(&lt;/font&gt;info &lt;b&gt;&lt;font color="#0000FF"&gt;for&lt;/font&gt;&lt;/b&gt; i&lt;font color="#990000"&gt;)&lt;/font&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;is&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;true&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;then&lt;/font&gt;&lt;/b&gt; &lt;i&gt;&lt;font color="#9A1900"&gt;-- process folder's contents too&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;      &lt;b&gt;&lt;font color="#0000FF"&gt;tell&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;application&lt;/font&gt;&lt;/b&gt; &lt;font color="#FF0000"&gt;"Finder"&lt;/font&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;to&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;set&lt;/font&gt;&lt;/b&gt; temp &lt;b&gt;&lt;font color="#0000FF"&gt;to&lt;/font&gt;&lt;/b&gt; &lt;font color="#990000"&gt;(&lt;/font&gt;entire &lt;b&gt;&lt;font color="#0000FF"&gt;contents&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;of&lt;/font&gt;&lt;/b&gt; i&lt;font color="#990000"&gt;)&lt;/font&gt;&lt;br /&gt;      &lt;b&gt;&lt;font color="#0000FF"&gt;repeat&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;with&lt;/font&gt;&lt;/b&gt; j &lt;b&gt;&lt;font color="#0000FF"&gt;in&lt;/font&gt;&lt;/b&gt; &lt;font color="#990000"&gt;(&lt;/font&gt;temp&lt;font color="#990000"&gt;)&lt;/font&gt;&lt;br /&gt;        &lt;b&gt;&lt;font color="#0000FF"&gt;display&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;dialog&lt;/font&gt;&lt;/b&gt; j &lt;b&gt;&lt;font color="#0000FF"&gt;as&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;string&lt;/font&gt;&lt;/b&gt; &lt;i&gt;&lt;font color="#9A1900"&gt;-- example of doing something with each item&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;      &lt;b&gt;&lt;font color="#0000FF"&gt;end&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;repeat&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;    &lt;b&gt;&lt;font color="#0000FF"&gt;end&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;if&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;  &lt;b&gt;&lt;font color="#0000FF"&gt;end&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;repeat&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;end&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;open&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;if&lt;/font&gt;&lt;/b&gt; CurState &lt;b&gt;&lt;font color="#0000FF"&gt;is&lt;/font&gt;&lt;/b&gt; &lt;font color="#993399"&gt;0&lt;/font&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;then&lt;/font&gt;&lt;/b&gt;&lt;br /&gt; connect configuration &lt;font color="#FF0000"&gt;"pccard-serial"&lt;/font&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;end&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;if&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;on&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#000000"&gt;GetParentPath&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;(&lt;/font&gt;myPath&lt;font color="#990000"&gt;)&lt;/font&gt;&lt;br /&gt;  &lt;b&gt;&lt;font color="#0000FF"&gt;set&lt;/font&gt;&lt;/b&gt; oldDelimiters &lt;b&gt;&lt;font color="#0000FF"&gt;to&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;AppleScript&lt;/font&gt;&lt;/b&gt;'s &lt;b&gt;&lt;font color="#0000FF"&gt;text&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;item&lt;/font&gt;&lt;/b&gt; delimiters &lt;i&gt;&lt;font color="#9A1900"&gt;-- always preserve original delimiters&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;  &lt;b&gt;&lt;font color="#0000FF"&gt;set&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;AppleScript&lt;/font&gt;&lt;/b&gt;'s &lt;b&gt;&lt;font color="#0000FF"&gt;text&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;item&lt;/font&gt;&lt;/b&gt; delimiters &lt;b&gt;&lt;font color="#0000FF"&gt;to&lt;/font&gt;&lt;/b&gt; &lt;font color="#FF0000"&gt;{&lt;/font&gt;&lt;font color="#FF0000"&gt;":"&lt;/font&gt;&lt;font color="#FF0000"&gt;}&lt;/font&gt;&lt;br /&gt;  &lt;b&gt;&lt;font color="#0000FF"&gt;set&lt;/font&gt;&lt;/b&gt; pathItems &lt;b&gt;&lt;font color="#0000FF"&gt;to&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;text&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;items&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;of&lt;/font&gt;&lt;/b&gt; &lt;font color="#990000"&gt;(&lt;/font&gt;myPath &lt;b&gt;&lt;font color="#0000FF"&gt;as&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;text&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;)&lt;/font&gt;&lt;br /&gt;  &lt;b&gt;&lt;font color="#0000FF"&gt;if&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;last&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;item&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;of&lt;/font&gt;&lt;/b&gt; pathItems &lt;b&gt;&lt;font color="#0000FF"&gt;is&lt;/font&gt;&lt;/b&gt; &lt;font color="#FF0000"&gt;""&lt;/font&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;then&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;set&lt;/font&gt;&lt;/b&gt; pathItems &lt;b&gt;&lt;font color="#0000FF"&gt;to&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;items&lt;/font&gt;&lt;/b&gt; &lt;font color="#993399"&gt;1&lt;/font&gt; thru &lt;font color="#990000"&gt;-&lt;/font&gt;&lt;font color="#993399"&gt;2&lt;/font&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;of&lt;/font&gt;&lt;/b&gt; pathItems &lt;i&gt;&lt;font color="#9A1900"&gt;-- its a folder&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;  &lt;b&gt;&lt;font color="#0000FF"&gt;set&lt;/font&gt;&lt;/b&gt; parentPath &lt;b&gt;&lt;font color="#0000FF"&gt;to&lt;/font&gt;&lt;/b&gt; &lt;font color="#990000"&gt;((&lt;/font&gt;reverse &lt;b&gt;&lt;font color="#0000FF"&gt;of&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;the&lt;/font&gt;&lt;/b&gt; rest &lt;b&gt;&lt;font color="#0000FF"&gt;of&lt;/font&gt;&lt;/b&gt; reverse &lt;b&gt;&lt;font color="#0000FF"&gt;of&lt;/font&gt;&lt;/b&gt; pathItems&lt;font color="#990000"&gt;)&lt;/font&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;as&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;string&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;)&lt;/font&gt; &lt;font color="#990000"&gt;&amp;amp;&lt;/font&gt; &lt;font color="#FF0000"&gt;":"&lt;/font&gt;&lt;br /&gt;  &lt;i&gt;&lt;font color="#9A1900"&gt;(* The above line works better than the more obvious set parentPath to ((items 1 thru -2 of pathItems) as string) &amp;amp; ":"&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;     because it will not return an error when passed a path for a volume, i.e., "Macintosh HD:", but rather will return ":"&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;     indicating the desktop is the root of the given path. Andy Bachorski &lt;/font&gt;&lt;/i&gt;&lt;u&gt;&lt;font color="#0000FF"&gt;&amp;lt;andyb@APPLE.COM&amp;gt;&lt;/font&gt;&lt;/u&gt;&lt;i&gt;&lt;font color="#9A1900"&gt; *)&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;  &lt;b&gt;&lt;font color="#0000FF"&gt;set&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;AppleScript&lt;/font&gt;&lt;/b&gt;'s &lt;b&gt;&lt;font color="#0000FF"&gt;text&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;item&lt;/font&gt;&lt;/b&gt; delimiters &lt;b&gt;&lt;font color="#0000FF"&gt;to&lt;/font&gt;&lt;/b&gt; oldDelimiters &lt;i&gt;&lt;font color="#9A1900"&gt;-- always restore original delimiters&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;  &lt;b&gt;&lt;font color="#0000FF"&gt;return&lt;/font&gt;&lt;/b&gt; parentPath&lt;br /&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;end&lt;/font&gt;&lt;/b&gt; GetParentPath&lt;br /&gt;&lt;/tt&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;awk&lt;/span&gt;&lt;table  BGCOLOR="white" NOSAVE &gt;&lt;br /&gt;&lt;tr NOSAVE&gt;&lt;br /&gt;&lt;td NOSAVE&gt;&lt;br /&gt;&lt;pre&gt;&lt;tt&gt;&lt;font color="#009900"&gt;$6&lt;/font&gt; &lt;font color="#990000"&gt;!~&lt;/font&gt; &lt;font color="#FF6600"&gt;/^ack/&lt;/font&gt; &lt;font color="#990000"&gt;&amp;amp;&amp;amp;&lt;/font&gt; &lt;font color="#009900"&gt;$5&lt;/font&gt; &lt;font color="#990000"&gt;!~&lt;/font&gt; &lt;font color="#FF6600"&gt;/[SFR]/&lt;/font&gt;   &lt;font color="#FF0000"&gt;{&lt;/font&gt;&lt;br /&gt;        &lt;i&gt;&lt;font color="#9A1900"&gt;# given a tcpdump ftp trace, output one line for each send&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;        &lt;i&gt;&lt;font color="#9A1900"&gt;# in the form&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;        &lt;i&gt;&lt;font color="#9A1900"&gt;#   &amp;lt;send time&amp;gt; &amp;lt;seq no&amp;gt;&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;        &lt;i&gt;&lt;font color="#9A1900"&gt;# where &amp;lt;send time&amp;gt; is the time packet was sent (in seconds with&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;        &lt;i&gt;&lt;font color="#9A1900"&gt;# zero at time of first packet) and &amp;lt;seq no&amp;gt; is the tcp sequence&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;        &lt;i&gt;&lt;font color="#9A1900"&gt;# number of the packet divided by 1024 (i.e., Kbytes sent).&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;        &lt;i&gt;&lt;font color="#9A1900"&gt;#&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;        &lt;i&gt;&lt;font color="#9A1900"&gt;# convert time to seconds&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;        n &lt;font color="#990000"&gt;=&lt;/font&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;split&lt;/font&gt;&lt;/b&gt; &lt;font color="#990000"&gt;(&lt;/font&gt;&lt;font color="#009900"&gt;$1&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt;t&lt;font color="#990000"&gt;,&lt;/font&gt;&lt;font color="#FF0000"&gt;":"&lt;/font&gt;&lt;font color="#990000"&gt;)&lt;/font&gt;&lt;br /&gt;        tim &lt;font color="#990000"&gt;=&lt;/font&gt; t&lt;font color="#990000"&gt;[&lt;/font&gt;&lt;font color="#993399"&gt;1&lt;/font&gt;&lt;font color="#990000"&gt;]*&lt;/font&gt;&lt;font color="#993399"&gt;3600&lt;/font&gt; &lt;font color="#990000"&gt;+&lt;/font&gt; t&lt;font color="#990000"&gt;[&lt;/font&gt;&lt;font color="#993399"&gt;2&lt;/font&gt;&lt;font color="#990000"&gt;]*&lt;/font&gt;&lt;font color="#993399"&gt;60&lt;/font&gt; &lt;font color="#990000"&gt;+&lt;/font&gt; t&lt;font color="#990000"&gt;[&lt;/font&gt;&lt;font color="#993399"&gt;3&lt;/font&gt;&lt;font color="#990000"&gt;]&lt;/font&gt;&lt;br /&gt;        &lt;b&gt;&lt;font color="#0000FF"&gt;if&lt;/font&gt;&lt;/b&gt; &lt;font color="#990000"&gt;(!&lt;/font&gt; tzero&lt;font color="#990000"&gt;)&lt;/font&gt; &lt;font color="#FF0000"&gt;{&lt;/font&gt;&lt;br /&gt;                tzero &lt;font color="#990000"&gt;=&lt;/font&gt; tim&lt;br /&gt;                OFS &lt;font color="#990000"&gt;=&lt;/font&gt; &lt;font color="#FF0000"&gt;"&lt;/font&gt;&lt;font color="#CC33CC"&gt;\t&lt;/font&gt;&lt;font color="#FF0000"&gt;"&lt;/font&gt;&lt;br /&gt;        &lt;font color="#FF0000"&gt;}&lt;/font&gt;&lt;br /&gt;        &lt;i&gt;&lt;font color="#9A1900"&gt;# get packet sequence number&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;        i &lt;font color="#990000"&gt;=&lt;/font&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;index&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;(&lt;/font&gt;&lt;font color="#009900"&gt;$6&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt;&lt;font color="#FF0000"&gt;":"&lt;/font&gt;&lt;font color="#990000"&gt;)&lt;/font&gt;&lt;br /&gt;        &lt;b&gt;&lt;font color="#0000FF"&gt;printf&lt;/font&gt;&lt;/b&gt; &lt;font color="#FF0000"&gt;"%7.2f&lt;/font&gt;&lt;font color="#CC33CC"&gt;\t&lt;/font&gt;&lt;font color="#FF0000"&gt;%g&lt;/font&gt;&lt;font color="#CC33CC"&gt;\n&lt;/font&gt;&lt;font color="#FF0000"&gt;"&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt; tim-tzero&lt;font color="#990000"&gt;,&lt;/font&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;substr&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;(&lt;/font&gt;&lt;font color="#009900"&gt;$6&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt;&lt;font color="#993399"&gt;1&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt;i-&lt;font color="#993399"&gt;1&lt;/font&gt;&lt;font color="#990000"&gt;)/&lt;/font&gt;&lt;font color="#993399"&gt;1024&lt;/font&gt;&lt;br /&gt;        &lt;font color="#FF0000"&gt;}&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;BEGIN&lt;/font&gt;&lt;/b&gt;&lt;font color="#FF0000"&gt;{&lt;/font&gt;&lt;br /&gt;  buffer &lt;font color="#990000"&gt;=&lt;/font&gt; &lt;font color="#FF0000"&gt;""&lt;/font&gt;&lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#FF0000"&gt;}&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#FF6600"&gt;/\015*$/&lt;/font&gt; &lt;font color="#FF0000"&gt;{&lt;/font&gt;&lt;br /&gt;  &lt;b&gt;&lt;font color="#0000FF"&gt;gsub&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;(&lt;/font&gt;&lt;font color="#FF6600"&gt;/\015*$/&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt; &lt;font color="#FF0000"&gt;""&lt;/font&gt;&lt;font color="#990000"&gt;);&lt;/font&gt;&lt;br /&gt;&lt;font color="#FF0000"&gt;}&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#FF6600"&gt;/^%%S NL/&lt;/font&gt; &lt;font color="#FF0000"&gt;{&lt;/font&gt;&lt;br /&gt;  &lt;b&gt;&lt;font color="#0000FF"&gt;print&lt;/font&gt;&lt;/b&gt; &lt;font color="#FF0000"&gt;""&lt;/font&gt;&lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;  &lt;b&gt;&lt;font color="#0000FF"&gt;next&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#FF0000"&gt;}&lt;/font&gt;&lt;br /&gt;&lt;/tt&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;bat&lt;/span&gt;&lt;table  BGCOLOR="white" NOSAVE &gt;&lt;br /&gt;&lt;tr NOSAVE&gt;&lt;br /&gt;&lt;td NOSAVE&gt;&lt;br /&gt;&lt;pre&gt;&lt;tt&gt;@&lt;b&gt;&lt;font color="#000000"&gt;ECHO&lt;/font&gt;&lt;/b&gt; OFF&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;REM - LABEL INDICATING THE BEGINNING OF THE DOCUMENT.&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#008080"&gt;:BEGIN&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#000000"&gt;CLS&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;REM - THE BELOW LINE GIVES THE USER 3 CHOICES (DEFINED AFTER /C:)&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#000000"&gt;CHOICE&lt;/font&gt;&lt;/b&gt; &lt;font color="#990000"&gt;/&lt;/font&gt;N &lt;font color="#990000"&gt;/&lt;/font&gt;&lt;font color="#FF6600"&gt;C:123&lt;/font&gt; PICK A NUMBER &lt;font color="#990000"&gt;(&lt;/font&gt;&lt;font color="#993399"&gt;1&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt; &lt;font color="#993399"&gt;2&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt; or &lt;font color="#993399"&gt;3&lt;/font&gt;&lt;font color="#990000"&gt;)&lt;/font&gt;&lt;font color="#009900"&gt;%1&lt;/font&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;REM - THE NEXT THREE LINES ARE DIRECTING USER DEPENDING UPON INPUT&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;IF&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;ERRORLEVEL&lt;/font&gt;&lt;/b&gt; &lt;font color="#990000"&gt;==&lt;/font&gt;&lt;font color="#993399"&gt;3&lt;/font&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;GOTO&lt;/font&gt;&lt;/b&gt; THREE&lt;br /&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;IF&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;ERRORLEVEL&lt;/font&gt;&lt;/b&gt; &lt;font color="#990000"&gt;==&lt;/font&gt;&lt;font color="#993399"&gt;2&lt;/font&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;GOTO&lt;/font&gt;&lt;/b&gt; TWO&lt;br /&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;IF&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;ERRORLEVEL&lt;/font&gt;&lt;/b&gt; &lt;font color="#990000"&gt;==&lt;/font&gt;&lt;font color="#993399"&gt;1&lt;/font&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;GOTO&lt;/font&gt;&lt;/b&gt; ONE&lt;br /&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;GOTO&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;END&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#008080"&gt;:THREE&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#000000"&gt;ECHO&lt;/font&gt;&lt;/b&gt; YOU HAVE PRESSED THREE&lt;br /&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;GOTO&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;END&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#008080"&gt;:TWO&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#000000"&gt;ECHO&lt;/font&gt;&lt;/b&gt; YOU HAVE PRESSED TWO&lt;br /&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;GOTO&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;END&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#008080"&gt;:ONE&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#000000"&gt;ECHO&lt;/font&gt;&lt;/b&gt; YOU HAVE PRESSED ONE&lt;br /&gt;&lt;b&gt;&lt;font color="#008080"&gt;:END&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;:: Renames a Text File with the Current Date as the Name&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;:: The File Extension is Kept&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;::&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;font color="#FF6600"&gt;C:\BATCH\DOS\XSET&lt;/font&gt; &lt;b&gt;&lt;font color="#000000"&gt;CUR-DATE&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#000000"&gt;DATE&lt;/font&gt;&lt;/b&gt; YY&lt;font color="#990000"&gt;-&lt;/font&gt;MM&lt;font color="#990000"&gt;-&lt;/font&gt;DD&lt;br /&gt;&lt;b&gt;&lt;font color="#000000"&gt;REN&lt;/font&gt;&lt;/b&gt; &lt;font color="#009900"&gt;%1&lt;/font&gt;&lt;font color="#990000"&gt;.*&lt;/font&gt; &lt;font color="#990000"&gt;%&lt;/font&gt;&lt;b&gt;&lt;font color="#000000"&gt;CUR-DATE&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;%.*&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;IF&lt;/font&gt;&lt;/b&gt; &lt;font color="#FF0000"&gt;"&lt;/font&gt;&lt;font color="#CC33CC"&gt;%1&lt;/font&gt;&lt;font color="#FF0000"&gt;"&lt;/font&gt; &lt;font color="#990000"&gt;==&lt;/font&gt; &lt;font color="#FF0000"&gt;""&lt;/font&gt; &lt;b&gt;&lt;font color="#000000"&gt;XCOPY&lt;/font&gt;&lt;/b&gt; &lt;font color="#FF6600"&gt;B:\&lt;/font&gt;&lt;font color="#990000"&gt;*.*&lt;/font&gt;       &lt;br /&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;IF&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;NOT&lt;/font&gt;&lt;/b&gt; &lt;font color="#FF0000"&gt;"&lt;/font&gt;&lt;font color="#CC33CC"&gt;%1&lt;/font&gt;&lt;font color="#FF0000"&gt;"&lt;/font&gt; &lt;font color="#990000"&gt;==&lt;/font&gt; &lt;font color="#FF0000"&gt;""&lt;/font&gt; &lt;b&gt;&lt;font color="#000000"&gt;XCOPY&lt;/font&gt;&lt;/b&gt; &lt;font color="#FF6600"&gt;B:\&lt;/font&gt;&lt;font color="#009900"&gt;%1&lt;/font&gt;    &lt;br /&gt;&lt;b&gt;&lt;font color="#000000"&gt;ECHO&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;.&lt;/font&gt;                            &lt;br /&gt;&lt;font color="#FF6600"&gt;C:\BATCH\DR&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;FOR&lt;/font&gt;&lt;/b&gt; &lt;font color="#009900"&gt;%%F&lt;/font&gt; IN &lt;font color="#990000"&gt;(&lt;/font&gt;&lt;font color="#009900"&gt;%1&lt;/font&gt; &lt;font color="#009900"&gt;%2&lt;/font&gt; &lt;font color="#009900"&gt;%3&lt;/font&gt; &lt;font color="#009900"&gt;%4&lt;/font&gt; &lt;font color="#009900"&gt;%5&lt;/font&gt; &lt;font color="#009900"&gt;%6&lt;/font&gt; &lt;font color="#009900"&gt;%7&lt;/font&gt; &lt;font color="#009900"&gt;%8&lt;/font&gt; &lt;font color="#009900"&gt;%9&lt;/font&gt;&lt;font color="#990000"&gt;)&lt;/font&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;DO&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#000000"&gt;DEL&lt;/font&gt;&lt;/b&gt; &lt;font color="#009900"&gt;%%F&lt;/font&gt; &lt;br /&gt;       &lt;/tt&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;clipper&lt;/span&gt;&lt;table  BGCOLOR="white" NOSAVE &gt;&lt;br /&gt;&lt;tr NOSAVE&gt;&lt;br /&gt;&lt;td NOSAVE&gt;&lt;br /&gt;&lt;pre&gt;&lt;tt&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;Function&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#000000"&gt;MAIN&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;()&lt;/font&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;LOCAL&lt;/font&gt;&lt;/b&gt; number&lt;br /&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;INPUT&lt;/font&gt;&lt;/b&gt; &lt;font color="#FF0000"&gt;"Key in a number: "&lt;/font&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;TO&lt;/font&gt;&lt;/b&gt; number&lt;br /&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;IF&lt;/font&gt;&lt;/b&gt; number &lt;font color="#990000"&gt;%&lt;/font&gt; &lt;font color="#993399"&gt;2&lt;/font&gt; &lt;font color="#990000"&gt;=&lt;/font&gt; &lt;font color="#993399"&gt;0&lt;/font&gt;&lt;br /&gt;   &lt;font color="#990000"&gt;?&lt;/font&gt; &lt;font color="#FF0000"&gt;"You keyed in an even number"&lt;/font&gt;&lt;br /&gt;   &lt;font color="#990000"&gt;?&lt;/font&gt; &lt;font color="#FF0000"&gt;"I can prove it:"&lt;/font&gt;&lt;br /&gt;   &lt;font color="#990000"&gt;?&lt;/font&gt; &lt;font color="#FF0000"&gt;"the result of "&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt;number&lt;font color="#990000"&gt;,&lt;/font&gt;&lt;font color="#FF0000"&gt;" % 2 = 0 is "&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt; number &lt;font color="#990000"&gt;%&lt;/font&gt; &lt;font color="#993399"&gt;2&lt;/font&gt; &lt;font color="#990000"&gt;=&lt;/font&gt; &lt;font color="#993399"&gt;0&lt;/font&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;ELSE&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;   &lt;font color="#990000"&gt;?&lt;/font&gt; &lt;font color="#FF0000"&gt;"You keyed in an odd number"&lt;/font&gt;&lt;br /&gt;   &lt;font color="#990000"&gt;?&lt;/font&gt; &lt;font color="#FF0000"&gt;"I can prove it:"&lt;/font&gt;&lt;br /&gt;   &lt;font color="#990000"&gt;?&lt;/font&gt; &lt;font color="#FF0000"&gt;"the result of "&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt;number&lt;font color="#990000"&gt;,&lt;/font&gt;&lt;font color="#FF0000"&gt;" % 2 = 0 is "&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt; number &lt;font color="#990000"&gt;%&lt;/font&gt; &lt;font color="#993399"&gt;2&lt;/font&gt; &lt;font color="#990000"&gt;=&lt;/font&gt; &lt;font color="#993399"&gt;0&lt;/font&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;ENDIF&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;RETURN&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;/* Load the table.dbf and table.cdx, on unix,&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;           you should ensure that file extensions are on&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;           lowercase.*/&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;        &lt;b&gt;&lt;font color="#0000FF"&gt;USE&lt;/font&gt;&lt;/b&gt; table &lt;b&gt;&lt;font color="#0000FF"&gt;INDEX&lt;/font&gt;&lt;/b&gt; table VIA &lt;font color="#FF0000"&gt;"DBFCDX"&lt;/font&gt;&lt;br /&gt;        &lt;b&gt;&lt;font color="#0000FF"&gt;REINDEX&lt;/font&gt;&lt;/b&gt;&lt;/tt&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;cobol&lt;/span&gt;&lt;table  BGCOLOR="white" NOSAVE &gt;&lt;br /&gt;&lt;tr NOSAVE&gt;&lt;br /&gt;&lt;td NOSAVE&gt;&lt;br /&gt;&lt;pre&gt;&lt;tt&gt;      $ &lt;b&gt;&lt;font color="#0000FF"&gt;SET&lt;/font&gt;&lt;/b&gt; SOURCEFORMAT &lt;font color="#FF0000"&gt;"FREE"&lt;/font&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;IDENTIFICATION&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;DIVISION&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;.&lt;/font&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;PROGRAM-ID&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;.&lt;/font&gt;  ShortestProgram&lt;font color="#990000"&gt;.&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;PROCEDURE&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;DIVISION&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;.&lt;/font&gt;&lt;br /&gt;DisplayPrompt&lt;font color="#990000"&gt;.&lt;/font&gt;&lt;br /&gt;    &lt;b&gt;&lt;font color="#0000FF"&gt;DISPLAY&lt;/font&gt;&lt;/b&gt; &lt;font color="#FF0000"&gt;"I did it"&lt;/font&gt;&lt;font color="#990000"&gt;.&lt;/font&gt;&lt;br /&gt;    &lt;b&gt;&lt;font color="#0000FF"&gt;STOP&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;RUN&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;.&lt;/font&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;* Uses the ACCEPT and DISPLAY verbs to accept a student record &lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;* from the user and display some of the fields.  Also shows how&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;* the ACCEPT may be used to get the system date and time.&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;WORKING-STORAGE&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;SECTION&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;.&lt;/font&gt;&lt;br /&gt;&lt;font color="#993399"&gt;01&lt;/font&gt;  Num1                                &lt;b&gt;&lt;font color="#0000FF"&gt;PIC&lt;/font&gt;&lt;/b&gt; &lt;font color="#993399"&gt;9&lt;/font&gt;  &lt;b&gt;&lt;font color="#0000FF"&gt;VALUE&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;ZEROS&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;.&lt;/font&gt;&lt;br /&gt;&lt;font color="#993399"&gt;01&lt;/font&gt;  Num2                                &lt;b&gt;&lt;font color="#0000FF"&gt;PIC&lt;/font&gt;&lt;/b&gt; &lt;font color="#993399"&gt;9&lt;/font&gt;  &lt;b&gt;&lt;font color="#0000FF"&gt;VALUE&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;ZEROS&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;.&lt;/font&gt;&lt;br /&gt;&lt;font color="#993399"&gt;01&lt;/font&gt;  Result                              &lt;b&gt;&lt;font color="#0000FF"&gt;PIC&lt;/font&gt;&lt;/b&gt; &lt;font color="#993399"&gt;99&lt;/font&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;VALUE&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;ZEROS&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;.&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;PROCEDURE&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;DIVISION&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;.&lt;/font&gt;&lt;br /&gt;    &lt;b&gt;&lt;font color="#0000FF"&gt;DISPLAY&lt;/font&gt;&lt;/b&gt; &lt;font color="#FF0000"&gt;"Enter first number  (1 digit) : "&lt;/font&gt; WITH &lt;b&gt;&lt;font color="#0000FF"&gt;NO&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;ADVANCING&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;.&lt;/font&gt;&lt;br /&gt;    &lt;b&gt;&lt;font color="#0000FF"&gt;ACCEPT&lt;/font&gt;&lt;/b&gt; Num1&lt;font color="#990000"&gt;.&lt;/font&gt;&lt;br /&gt;    &lt;b&gt;&lt;font color="#0000FF"&gt;DISPLAY&lt;/font&gt;&lt;/b&gt; &lt;font color="#FF0000"&gt;"Enter second number (1 digit) : "&lt;/font&gt; WITH &lt;b&gt;&lt;font color="#0000FF"&gt;NO&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;ADVANCING&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;.&lt;/font&gt;&lt;br /&gt;    &lt;b&gt;&lt;font color="#0000FF"&gt;ACCEPT&lt;/font&gt;&lt;/b&gt; Num2&lt;font color="#990000"&gt;.&lt;/font&gt;&lt;br /&gt;    &lt;b&gt;&lt;font color="#0000FF"&gt;MULTIPLY&lt;/font&gt;&lt;/b&gt; Num1 &lt;b&gt;&lt;font color="#0000FF"&gt;BY&lt;/font&gt;&lt;/b&gt; Num2 &lt;b&gt;&lt;font color="#0000FF"&gt;GIVING&lt;/font&gt;&lt;/b&gt; Result&lt;font color="#990000"&gt;.&lt;/font&gt;&lt;br /&gt;    &lt;b&gt;&lt;font color="#0000FF"&gt;DISPLAY&lt;/font&gt;&lt;/b&gt; &lt;font color="#FF0000"&gt;"Result is = "&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt; Result&lt;font color="#990000"&gt;.&lt;/font&gt;&lt;br /&gt;    &lt;b&gt;&lt;font color="#0000FF"&gt;STOP&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;RUN&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;.&lt;/font&gt;&lt;br /&gt;&lt;/tt&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;D&lt;/span&gt;&lt;table  BGCOLOR="white" NOSAVE &gt;&lt;br /&gt;&lt;tr NOSAVE&gt;&lt;br /&gt;&lt;td NOSAVE&gt;&lt;br /&gt;&lt;pre&gt;&lt;tt&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;#!/usr/bin/dmd -run&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;/* sh style script syntax is supported */&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;/* Hello World in D&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;   To compile:&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;     dmd hello.d&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;   or to optimize:&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;     dmd -O -inline -release hello.d&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;*/&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;/+ &lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;  a nested /+&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;  comment&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;  +/&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;+/&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;a &lt;font color="#990000"&gt;=&lt;/font&gt; &lt;i&gt;&lt;font color="#9A1900"&gt;/+ // +/&lt;/font&gt;&lt;/i&gt; &lt;font color="#993399"&gt;1&lt;/font&gt;&lt;font color="#990000"&gt;;&lt;/font&gt;  &lt;i&gt;&lt;font color="#9A1900"&gt;// parses as if 'a = 1;'&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;a &lt;font color="#990000"&gt;=&lt;/font&gt; &lt;i&gt;&lt;font color="#9A1900"&gt;/+ "+/&lt;/font&gt;&lt;/i&gt;&lt;font color="#FF0000"&gt;" +/ 1"&lt;/font&gt;&lt;font color="#990000"&gt;;&lt;/font&gt; &lt;i&gt;&lt;font color="#9A1900"&gt;// parses as if 'a = " +/ 1";'&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;a &lt;font color="#990000"&gt;=&lt;/font&gt; &lt;i&gt;&lt;font color="#9A1900"&gt;/+ /* +/&lt;/font&gt;&lt;/i&gt; &lt;font color="#990000"&gt;*/&lt;/font&gt; &lt;font color="#993399"&gt;3&lt;/font&gt;&lt;font color="#990000"&gt;;&lt;/font&gt; &lt;i&gt;&lt;font color="#9A1900"&gt;// parses as if 'a = */ 3;'&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#FF0000"&gt;r"hello"&lt;/font&gt;&lt;br /&gt;&lt;font color="#FF0000"&gt;r"c:\root\foo.exe"&lt;/font&gt;&lt;br /&gt;&lt;font color="#FF0000"&gt;r"ab\n"&lt;/font&gt;   &lt;i&gt;&lt;font color="#9A1900"&gt;// string is 4 characters, 'a', 'b', '\', 'n'&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#FF0000"&gt;`hello`&lt;/font&gt;&lt;br /&gt;&lt;font color="#FF0000"&gt;`c:\root\foo.exe`&lt;/font&gt;&lt;br /&gt;&lt;font color="#FF0000"&gt;`ab\n`&lt;/font&gt;   &lt;i&gt;&lt;font color="#9A1900"&gt;// string is 4 characters, 'a', 'b', '\', 'n'&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#FF0000"&gt;x"0A"&lt;/font&gt;   &lt;i&gt;&lt;font color="#9A1900"&gt;// same as "\x0A"&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;font color="#FF0000"&gt;x"00 FBCD 32FD 0A"&lt;/font&gt; &lt;i&gt;&lt;font color="#9A1900"&gt;// same as "\x00\xFB\xCD\x32\xFD\x0A"&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#FF0000"&gt;"hello"c&lt;/font&gt;          &lt;i&gt;&lt;font color="#9A1900"&gt;// char[]&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;font color="#FF0000"&gt;"hello"w&lt;/font&gt;          &lt;i&gt;&lt;font color="#9A1900"&gt;// wchar[]&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;font color="#FF0000"&gt;"hello"d&lt;/font&gt;          &lt;i&gt;&lt;font color="#9A1900"&gt;// dchar[]&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#000080"&gt;import&lt;/font&gt;&lt;/b&gt; std&lt;font color="#990000"&gt;.&lt;/font&gt;stdio&lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;void&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#000000"&gt;main&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;(&lt;/font&gt;string&lt;font color="#990000"&gt;[]&lt;/font&gt; args&lt;font color="#990000"&gt;)&lt;/font&gt;&lt;br /&gt;&lt;font color="#FF0000"&gt;{&lt;/font&gt;&lt;br /&gt;    &lt;b&gt;&lt;font color="#000000"&gt;writefln&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;(&lt;/font&gt;&lt;font color="#FF0000"&gt;"Hello World, Reloaded"&lt;/font&gt;&lt;font color="#990000"&gt;);&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;    &lt;i&gt;&lt;font color="#9A1900"&gt;// auto type inference and built-in foreach&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;    &lt;b&gt;&lt;font color="#0000FF"&gt;foreach&lt;/font&gt;&lt;/b&gt; &lt;font color="#990000"&gt;(&lt;/font&gt;argc&lt;font color="#990000"&gt;,&lt;/font&gt; argv&lt;font color="#990000"&gt;;&lt;/font&gt; args&lt;font color="#990000"&gt;)&lt;/font&gt;&lt;br /&gt;    &lt;font color="#FF0000"&gt;{&lt;/font&gt;&lt;br /&gt;        &lt;i&gt;&lt;font color="#9A1900"&gt;// Object Oriented Programming&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;        &lt;b&gt;&lt;font color="#0000FF"&gt;auto&lt;/font&gt;&lt;/b&gt; cl &lt;font color="#990000"&gt;=&lt;/font&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;new&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#000000"&gt;CmdLin&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;(&lt;/font&gt;argc&lt;font color="#990000"&gt;,&lt;/font&gt; argv&lt;font color="#990000"&gt;);&lt;/font&gt;&lt;br /&gt;        &lt;i&gt;&lt;font color="#9A1900"&gt;// Improved typesafe printf&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;        &lt;b&gt;&lt;font color="#000000"&gt;writeln&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;(&lt;/font&gt;cl&lt;font color="#990000"&gt;.&lt;/font&gt;argnum&lt;font color="#990000"&gt;,&lt;/font&gt; cl&lt;font color="#990000"&gt;.&lt;/font&gt;suffix&lt;font color="#990000"&gt;,&lt;/font&gt; &lt;font color="#FF0000"&gt;" arg: "&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt; cl&lt;font color="#990000"&gt;.&lt;/font&gt;argv&lt;font color="#990000"&gt;);&lt;/font&gt;&lt;br /&gt;        &lt;i&gt;&lt;font color="#9A1900"&gt;// Automatic or explicit memory management&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;        &lt;b&gt;&lt;font color="#0000FF"&gt;delete&lt;/font&gt;&lt;/b&gt; cl&lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;    &lt;font color="#FF0000"&gt;}&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;    &lt;i&gt;&lt;font color="#9A1900"&gt;// Nested structs and classes&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;    &lt;b&gt;&lt;font color="#0000FF"&gt;struct&lt;/font&gt;&lt;/b&gt; &lt;font color="#008080"&gt;specs&lt;/font&gt;&lt;br /&gt;    &lt;font color="#FF0000"&gt;{&lt;/font&gt;&lt;br /&gt;        &lt;i&gt;&lt;font color="#9A1900"&gt;// all members automatically initialized&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;        &lt;font color="#009900"&gt;int&lt;/font&gt; count&lt;font color="#990000"&gt;,&lt;/font&gt; allocated&lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;    &lt;font color="#FF0000"&gt;}&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;    &lt;i&gt;&lt;font color="#9A1900"&gt;// Nested functions can refer to outer&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;    &lt;i&gt;&lt;font color="#9A1900"&gt;// variables like args&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;    &lt;font color="#008080"&gt;specs&lt;/font&gt; &lt;b&gt;&lt;font color="#000000"&gt;argspecs&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;()&lt;/font&gt;&lt;br /&gt;    &lt;font color="#FF0000"&gt;{&lt;/font&gt;&lt;br /&gt;        specs&lt;font color="#990000"&gt;*&lt;/font&gt; s &lt;font color="#990000"&gt;=&lt;/font&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;new&lt;/font&gt;&lt;/b&gt; specs&lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;        &lt;i&gt;&lt;font color="#9A1900"&gt;// no need for '-&amp;gt;'&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;        s&lt;font color="#990000"&gt;.&lt;/font&gt;count &lt;font color="#990000"&gt;=&lt;/font&gt; args&lt;font color="#990000"&gt;.&lt;/font&gt;length&lt;font color="#990000"&gt;;&lt;/font&gt;     &lt;i&gt;&lt;font color="#9A1900"&gt;// get length of array with .length&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;        s&lt;font color="#990000"&gt;.&lt;/font&gt;allocated &lt;font color="#990000"&gt;=&lt;/font&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;typeof&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;(&lt;/font&gt;args&lt;font color="#990000"&gt;).&lt;/font&gt;sizeof&lt;font color="#990000"&gt;;&lt;/font&gt; &lt;i&gt;&lt;font color="#9A1900"&gt;// built-in native type properties&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;        &lt;b&gt;&lt;font color="#0000FF"&gt;foreach&lt;/font&gt;&lt;/b&gt; &lt;font color="#990000"&gt;(&lt;/font&gt;argv&lt;font color="#990000"&gt;;&lt;/font&gt; args&lt;font color="#990000"&gt;)&lt;/font&gt;&lt;br /&gt;            s&lt;font color="#990000"&gt;.&lt;/font&gt;allocated &lt;font color="#990000"&gt;+=&lt;/font&gt; argv&lt;font color="#990000"&gt;.&lt;/font&gt;length &lt;font color="#990000"&gt;*&lt;/font&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;typeof&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;(&lt;/font&gt;argv&lt;font color="#990000"&gt;[&lt;/font&gt;&lt;font color="#993399"&gt;0&lt;/font&gt;&lt;font color="#990000"&gt;]).&lt;/font&gt;sizeof&lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;        &lt;b&gt;&lt;font color="#0000FF"&gt;return&lt;/font&gt;&lt;/b&gt; &lt;font color="#990000"&gt;*&lt;/font&gt;s&lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;    &lt;font color="#FF0000"&gt;}&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;    &lt;i&gt;&lt;font color="#9A1900"&gt;// built-in string and common string operations&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;    &lt;b&gt;&lt;font color="#000000"&gt;writefln&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;(&lt;/font&gt;&lt;font color="#FF0000"&gt;"argc = %d, "&lt;/font&gt; &lt;font color="#990000"&gt;~&lt;/font&gt; &lt;font color="#FF0000"&gt;"allocated = %d"&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt;&lt;br /&gt; &lt;b&gt;&lt;font color="#000000"&gt;argspecs&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;().&lt;/font&gt;count&lt;font color="#990000"&gt;,&lt;/font&gt; &lt;b&gt;&lt;font color="#000000"&gt;argspecs&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;().&lt;/font&gt;allocated&lt;font color="#990000"&gt;);&lt;/font&gt;&lt;br /&gt;&lt;font color="#FF0000"&gt;}&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;class&lt;/font&gt;&lt;/b&gt; &lt;font color="#008080"&gt;CmdLin&lt;/font&gt;&lt;br /&gt;&lt;font color="#FF0000"&gt;{&lt;/font&gt;&lt;br /&gt;    &lt;b&gt;&lt;font color="#0000FF"&gt;private&lt;/font&gt;&lt;/b&gt; &lt;font color="#009900"&gt;int&lt;/font&gt; _argc&lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;    &lt;b&gt;&lt;font color="#0000FF"&gt;private&lt;/font&gt;&lt;/b&gt; string _argv&lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;public&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;:&lt;/font&gt;&lt;br /&gt;    &lt;b&gt;&lt;font color="#0000FF"&gt;this&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;(&lt;/font&gt;&lt;font color="#009900"&gt;int&lt;/font&gt; argc&lt;font color="#990000"&gt;,&lt;/font&gt; &lt;font color="#008080"&gt;string&lt;/font&gt; argv&lt;font color="#990000"&gt;)&lt;/font&gt; &lt;i&gt;&lt;font color="#9A1900"&gt;// constructor&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;    &lt;font color="#FF0000"&gt;{&lt;/font&gt;&lt;br /&gt;        _argc &lt;font color="#990000"&gt;=&lt;/font&gt; argc&lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;        _argv &lt;font color="#990000"&gt;=&lt;/font&gt; argv&lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;    &lt;font color="#FF0000"&gt;}&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;    &lt;font color="#009900"&gt;int&lt;/font&gt; &lt;b&gt;&lt;font color="#000000"&gt;argnum&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;()&lt;/font&gt;&lt;br /&gt;    &lt;font color="#FF0000"&gt;{&lt;/font&gt;&lt;br /&gt;        &lt;b&gt;&lt;font color="#0000FF"&gt;return&lt;/font&gt;&lt;/b&gt; _argc &lt;font color="#990000"&gt;+&lt;/font&gt; &lt;font color="#993399"&gt;1&lt;/font&gt;&lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;    &lt;font color="#FF0000"&gt;}&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;    &lt;font color="#008080"&gt;string&lt;/font&gt; &lt;b&gt;&lt;font color="#000000"&gt;argv&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;()&lt;/font&gt;&lt;br /&gt;    &lt;font color="#FF0000"&gt;{&lt;/font&gt;&lt;br /&gt;        &lt;b&gt;&lt;font color="#0000FF"&gt;return&lt;/font&gt;&lt;/b&gt; _argv&lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;    &lt;font color="#FF0000"&gt;}&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;    &lt;font color="#008080"&gt;string&lt;/font&gt; &lt;b&gt;&lt;font color="#000000"&gt;suffix&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;()&lt;/font&gt;&lt;br /&gt;    &lt;font color="#FF0000"&gt;{&lt;/font&gt;&lt;br /&gt;        &lt;font color="#008080"&gt;string&lt;/font&gt; suffix &lt;font color="#990000"&gt;=&lt;/font&gt; &lt;font color="#FF0000"&gt;"th"&lt;/font&gt;&lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;        &lt;b&gt;&lt;font color="#0000FF"&gt;switch&lt;/font&gt;&lt;/b&gt; &lt;font color="#990000"&gt;(&lt;/font&gt;_argc&lt;font color="#990000"&gt;)&lt;/font&gt;&lt;br /&gt;        &lt;font color="#FF0000"&gt;{&lt;/font&gt;&lt;br /&gt;          &lt;b&gt;&lt;font color="#0000FF"&gt;case&lt;/font&gt;&lt;/b&gt; &lt;font color="#993399"&gt;0&lt;/font&gt;&lt;font color="#990000"&gt;:&lt;/font&gt;&lt;br /&gt;            suffix &lt;font color="#990000"&gt;=&lt;/font&gt; &lt;font color="#FF0000"&gt;"st"&lt;/font&gt;&lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;            &lt;b&gt;&lt;font color="#0000FF"&gt;break&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;          &lt;b&gt;&lt;font color="#0000FF"&gt;case&lt;/font&gt;&lt;/b&gt; &lt;font color="#993399"&gt;1&lt;/font&gt;&lt;font color="#990000"&gt;:&lt;/font&gt;&lt;br /&gt;            suffix &lt;font color="#990000"&gt;=&lt;/font&gt; &lt;font color="#FF0000"&gt;"nd"&lt;/font&gt;&lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;            &lt;b&gt;&lt;font color="#0000FF"&gt;break&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;          &lt;b&gt;&lt;font color="#0000FF"&gt;case&lt;/font&gt;&lt;/b&gt; &lt;font color="#993399"&gt;2&lt;/font&gt;&lt;font color="#990000"&gt;:&lt;/font&gt;&lt;br /&gt;            suffix &lt;font color="#990000"&gt;=&lt;/font&gt; &lt;font color="#FF0000"&gt;"rd"&lt;/font&gt;&lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;            &lt;b&gt;&lt;font color="#0000FF"&gt;break&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;          &lt;b&gt;&lt;font color="#0000FF"&gt;default&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;:&lt;/font&gt;&lt;br /&gt;     &lt;b&gt;&lt;font color="#0000FF"&gt;break&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;        &lt;font color="#FF0000"&gt;}&lt;/font&gt;&lt;br /&gt;        &lt;b&gt;&lt;font color="#0000FF"&gt;return&lt;/font&gt;&lt;/b&gt; suffix&lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;    &lt;font color="#FF0000"&gt;}&lt;/font&gt;&lt;br /&gt;&lt;font color="#FF0000"&gt;}&lt;/font&gt;&lt;/tt&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;erlang&lt;/span&gt;&lt;table  BGCOLOR="white" NOSAVE &gt;&lt;br /&gt;&lt;tr NOSAVE&gt;&lt;br /&gt;&lt;td NOSAVE&gt;&lt;br /&gt;&lt;pre&gt;&lt;tt&gt;&lt;b&gt;&lt;font color="#000080"&gt;-module&lt;/font&gt;&lt;/b&gt;(sudoku)&lt;font color="#990000"&gt;.&lt;/font&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#000080"&gt;-author&lt;/font&gt;&lt;/b&gt;(&lt;u&gt;&lt;font color="#0000FF"&gt;vmiklos@frugalware.org&lt;/font&gt;&lt;/u&gt;)&lt;font color="#990000"&gt;.&lt;/font&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#000080"&gt;-vsn&lt;/font&gt;&lt;/b&gt;(&lt;font color="#FF0000"&gt;'2009-11-10'&lt;/font&gt;)&lt;font color="#990000"&gt;.&lt;/font&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#000080"&gt;-compile&lt;/font&gt;&lt;/b&gt;(export&lt;font color="#990000"&gt;_&lt;/font&gt;all)&lt;font color="#990000"&gt;.&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;% Return the value of Fun or an empty list based on the value of If.&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;% &lt;/font&gt;&lt;/i&gt;&lt;font color="#009900"&gt;@spec&lt;/font&gt;&lt;i&gt;&lt;font color="#9A1900"&gt; fun_or_empty(If::bool(), Fun::fun() -&amp;gt; [any()]) -&amp;gt; Ret::[any()]&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;% Ret = Fun() if If is true, [] otherwise.&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#000000"&gt;fun_or_empty&lt;/font&gt;&lt;/b&gt;(If, Fun) &lt;font color="#990000"&gt;-&amp;gt;&lt;/font&gt;&lt;br /&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;case&lt;/font&gt;&lt;/b&gt; If &lt;b&gt;&lt;font color="#0000FF"&gt;of&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;  &lt;b&gt;&lt;font color="#0000FF"&gt;true&lt;/font&gt;&lt;/b&gt; &lt;font color="#990000"&gt;-&amp;gt;&lt;/font&gt; &lt;b&gt;&lt;font color="#000000"&gt;Fun&lt;/font&gt;&lt;/b&gt;();&lt;br /&gt;  &lt;font color="#990000"&gt;_&lt;/font&gt; &lt;font color="#990000"&gt;-&amp;gt;&lt;/font&gt; []&lt;br /&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;end&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;.&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;% Return a cell from a field.&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;% &lt;/font&gt;&lt;/i&gt;&lt;font color="#009900"&gt;@spec&lt;/font&gt;&lt;i&gt;&lt;font color="#9A1900"&gt; field(I::integer(), J::integer(), Table::[any()], M::integer()) -&amp;gt;&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;%  Ret::any()&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;% Table is a flatten list of lists, M is the length of a row,&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;% representing a matrix, Ret is the cell in the Ith row and Jth column.&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#000000"&gt;field&lt;/font&gt;&lt;/b&gt;(I, J, Table, M) &lt;font color="#990000"&gt;-&amp;gt;&lt;/font&gt;&lt;br /&gt; P &lt;font color="#990000"&gt;=&lt;/font&gt; (I&lt;font color="#990000"&gt;-&lt;/font&gt;&lt;font color="#993399"&gt;1&lt;/font&gt;)&lt;font color="#990000"&gt;*&lt;/font&gt;M&lt;font color="#990000"&gt;+&lt;/font&gt;J,&lt;br /&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;case&lt;/font&gt;&lt;/b&gt; P &lt;font color="#990000"&gt;&amp;gt;&lt;/font&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;length&lt;/font&gt;&lt;/b&gt;(Table) &lt;b&gt;&lt;font color="#0000FF"&gt;of&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;  &lt;b&gt;&lt;font color="#0000FF"&gt;true&lt;/font&gt;&lt;/b&gt; &lt;font color="#990000"&gt;-&amp;gt;&lt;/font&gt; &lt;font color="#993399"&gt;0&lt;/font&gt;;&lt;br /&gt;  &lt;font color="#990000"&gt;_&lt;/font&gt; &lt;font color="#990000"&gt;-&amp;gt;&lt;/font&gt; &lt;b&gt;&lt;font color="#000000"&gt;lists:nth&lt;/font&gt;&lt;/b&gt;((I&lt;font color="#990000"&gt;-&lt;/font&gt;&lt;font color="#993399"&gt;1&lt;/font&gt;)&lt;font color="#990000"&gt;*&lt;/font&gt;M&lt;font color="#990000"&gt;+&lt;/font&gt;J, Table)&lt;br /&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;end&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;.&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;% Return a cell from a field.&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;% &lt;/font&gt;&lt;/i&gt;&lt;font color="#009900"&gt;@spec&lt;/font&gt;&lt;i&gt;&lt;font color="#9A1900"&gt; field(I::integer(), J::integer(), Table::[[any()]]) -&amp;gt;&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;%  Ret::any()&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;% Ret is the cell in the Ith row and Jth column of Table.&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#000000"&gt;field&lt;/font&gt;&lt;/b&gt;(I, J, Table) &lt;font color="#990000"&gt;-&amp;gt;&lt;/font&gt;&lt;br /&gt; &lt;b&gt;&lt;font color="#000000"&gt;lists:nth&lt;/font&gt;&lt;/b&gt;(J, &lt;b&gt;&lt;font color="#000000"&gt;lists:nth&lt;/font&gt;&lt;/b&gt;(I, Table))&lt;font color="#990000"&gt;.&lt;/font&gt;&lt;br /&gt;&lt;/tt&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;compiler output&lt;/span&gt;&lt;table  BGCOLOR="white" NOSAVE &gt;&lt;br /&gt;&lt;tr NOSAVE&gt;&lt;br /&gt;&lt;td NOSAVE&gt;&lt;br /&gt;&lt;pre&gt;&lt;tt&gt;no need to highlight this&lt;br /&gt;&lt;font color="#FF6600"&gt;c:\f\g\Makefile&lt;/font&gt;&lt;font color="#990000"&gt;:&lt;/font&gt;&lt;b&gt;&lt;font color="#000000"&gt;1346&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;:&lt;/font&gt;&lt;b&gt;&lt;font color="#000000"&gt;10&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;:&lt;/font&gt; &lt;font color="#009900"&gt;warning:&lt;/font&gt; overriding commands for target &lt;font color="#FF0000"&gt;`styleformatter.h.texinfo'&lt;/font&gt; foo&lt;br /&gt;&lt;font color="#FF6600"&gt;/f/g/Makefile&lt;/font&gt;&lt;font color="#990000"&gt;:&lt;/font&gt;&lt;b&gt;&lt;font color="#000000"&gt;1346&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;:&lt;/font&gt;&lt;b&gt;&lt;font color="#000000"&gt;10&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;:&lt;/font&gt; &lt;font color="#009900"&gt;warning:&lt;/font&gt; overriding commands for target &lt;font color="#FF0000"&gt;`styleformatter.h.texinfo'&lt;/font&gt; foo&lt;br /&gt;&lt;font color="#FF6600"&gt;/foo/bar/Makefile&lt;/font&gt;&lt;font color="#990000"&gt;:&lt;/font&gt;&lt;b&gt;&lt;font color="#000000"&gt;1337&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;:&lt;/font&gt; &lt;font color="#993399"&gt;error:&lt;/font&gt; ignoring old commands for target &lt;font color="#FF0000"&gt;'styleformatter.h.texinfo'&lt;/font&gt; bar&lt;br /&gt;&lt;font color="#FF6600"&gt;\foo\bar\Makefile&lt;/font&gt;&lt;font color="#990000"&gt;:&lt;/font&gt;&lt;b&gt;&lt;font color="#000000"&gt;1346&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;:&lt;/font&gt; &lt;font color="#009900"&gt;warning:&lt;/font&gt; overriding commands for target &lt;font color="#FF0000"&gt;`styleformatter.h.texinfo'&lt;/font&gt;&lt;br /&gt;&lt;font color="#FF6600"&gt;Makefile&lt;/font&gt;&lt;font color="#990000"&gt;:&lt;/font&gt;&lt;b&gt;&lt;font color="#000000"&gt;1337&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;:&lt;/font&gt; &lt;font color="#009900"&gt;warning:&lt;/font&gt; ignoring old commands for target &lt;font color="#FF0000"&gt;`styleformatter.h.texinfo'&lt;/font&gt;&lt;/tt&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;manifest files&lt;/span&gt;&lt;table  BGCOLOR="white" NOSAVE &gt;&lt;br /&gt;&lt;tr NOSAVE&gt;&lt;br /&gt;&lt;td NOSAVE&gt;&lt;br /&gt;&lt;pre&gt;&lt;tt&gt;&lt;font color="#FF0000"&gt;Manifest-Version&lt;/font&gt;&lt;font color="#990000"&gt;:&lt;/font&gt; &lt;font color="#993399"&gt;1.0&lt;/font&gt;&lt;br /&gt;&lt;font color="#FF0000"&gt;Bundle-ManifestVersion&lt;/font&gt;&lt;font color="#990000"&gt;:&lt;/font&gt; &lt;font color="#993399"&gt;2&lt;/font&gt;&lt;br /&gt;&lt;font color="#FF0000"&gt;Bundle-Name&lt;/font&gt;&lt;font color="#990000"&gt;:&lt;/font&gt; &lt;font color="#FF6600"&gt;%pluginName&lt;/font&gt;&lt;br /&gt;&lt;font color="#FF0000"&gt;Bundle-SymbolicName&lt;/font&gt;&lt;font color="#990000"&gt;:&lt;/font&gt; org.eclipse.mindmap.diagram;&lt;font color="#009900"&gt; singleton&lt;/font&gt;&lt;font color="#990000"&gt;:=&lt;/font&gt;true&lt;br /&gt;&lt;font color="#FF0000"&gt;Bundle-Version&lt;/font&gt;&lt;font color="#990000"&gt;:&lt;/font&gt; &lt;font color="#993399"&gt;1.0&lt;/font&gt;.&lt;font color="#993399"&gt;0&lt;/font&gt;.qualifier&lt;br /&gt;&lt;font color="#FF0000"&gt;Bundle-ClassPath&lt;/font&gt;&lt;font color="#990000"&gt;:&lt;/font&gt; .&lt;br /&gt;&lt;font color="#FF0000"&gt;Bundle-Activator&lt;/font&gt;&lt;font color="#990000"&gt;:&lt;/font&gt; org.eclipse.mindmap.diagram.part.MindmapDiagramEditorPlugin&lt;br /&gt;&lt;font color="#FF0000"&gt;Bundle-Vendor&lt;/font&gt;&lt;font color="#990000"&gt;:&lt;/font&gt; &lt;font color="#FF6600"&gt;%providerName&lt;/font&gt;&lt;br /&gt;&lt;font color="#FF0000"&gt;Bundle-Localization&lt;/font&gt;&lt;font color="#990000"&gt;:&lt;/font&gt; plugin&lt;br /&gt;&lt;font color="#FF0000"&gt;Export-Package&lt;/font&gt;&lt;font color="#990000"&gt;:&lt;/font&gt; org.eclipse.mindmap.diagram.edit.parts,&lt;br /&gt; org.eclipse.mindmap.diagram.part,&lt;br /&gt; org.eclipse.mindmap.diagram.providers&lt;br /&gt;&lt;font color="#FF0000"&gt;Require-Bundle&lt;/font&gt;&lt;font color="#990000"&gt;:&lt;/font&gt; org.eclipse.core.runtime,&lt;br /&gt; org.eclipse.core.resources,&lt;br /&gt; org.eclipse.core.expressions,&lt;br /&gt; org.eclipse.draw2d;&lt;font color="#009900"&gt;visibility&lt;/font&gt;&lt;font color="#990000"&gt;:=&lt;/font&gt;reexport,&lt;br /&gt; org.eclipse.gmf.runtime.draw2d.ui;&lt;font color="#009900"&gt;visibility&lt;/font&gt;&lt;font color="#990000"&gt;:=&lt;/font&gt;reexport,&lt;br /&gt; org.eclipse.mindmap;&lt;font color="#009900"&gt;visibility&lt;/font&gt;&lt;font color="#990000"&gt;:=&lt;/font&gt;reexport,&lt;br /&gt; org.eclipse.mindmap.edit;&lt;font color="#009900"&gt;visibility&lt;/font&gt;&lt;font color="#990000"&gt;:=&lt;/font&gt;reexport,&lt;br /&gt; org.eclipse.gef;&lt;font color="#009900"&gt;visibility&lt;/font&gt;&lt;font color="#990000"&gt;:=&lt;/font&gt;reexport,&lt;br /&gt; org.eclipse.ocl.ecore;&lt;font color="#009900"&gt;visibility&lt;/font&gt;&lt;font color="#990000"&gt;:=&lt;/font&gt;reexport,&lt;br /&gt; org.eclipse.emf.validation;&lt;font color="#009900"&gt;visibility&lt;/font&gt;&lt;font color="#990000"&gt;:=&lt;/font&gt;reexport,&lt;br /&gt; org.eclipse.emf.validation.ocl;&lt;font color="#009900"&gt;visibility&lt;/font&gt;&lt;font color="#990000"&gt;:=&lt;/font&gt;reexport&lt;br /&gt;&lt;font color="#FF0000"&gt;Eclipse-LazyStart&lt;/font&gt;&lt;font color="#990000"&gt;:&lt;/font&gt; true&lt;br /&gt;&lt;/tt&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;vbscript&lt;/span&gt;&lt;table  BGCOLOR="white" NOSAVE &gt;&lt;br /&gt;&lt;tr NOSAVE&gt;&lt;br /&gt;&lt;td NOSAVE&gt;&lt;br /&gt;&lt;pre&gt;&lt;tt&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;' The script can be called via&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#990000"&gt;&amp;lt;%&lt;/font&gt;@LANGUAGE&lt;font color="#990000"&gt;=&lt;/font&gt;&lt;font color="#FF0000"&gt;"VBSCRIPT"&lt;/font&gt; CODEPAGE&lt;font color="#990000"&gt;=&lt;/font&gt;&lt;font color="#FF0000"&gt;"1252"&lt;/font&gt;&lt;font color="#990000"&gt;%&amp;gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;if&lt;/font&gt;&lt;/b&gt; AQresponse &lt;font color="#990000"&gt;&amp;lt;&amp;gt;&lt;/font&gt; &lt;font color="#FF0000"&gt;""&lt;/font&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;then&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;  &lt;b&gt;&lt;font color="#0000FF"&gt;response&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;.&lt;/font&gt;&lt;b&gt;&lt;font color="#000000"&gt;write&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;(&lt;/font&gt;AQresponse&lt;font color="#990000"&gt;)&lt;/font&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;else&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;  &lt;b&gt;&lt;font color="#0000FF"&gt;response&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;.&lt;/font&gt;&lt;b&gt;&lt;font color="#000000"&gt;write&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;(&lt;/font&gt;&lt;font color="#FF0000"&gt;"ERROR"&lt;/font&gt;&lt;font color="#990000"&gt;)&lt;/font&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;end&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;if&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#990000"&gt;%&amp;gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;' Actual script follows. This could be placed in a separate file, &lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;' such as the smslib.asp file described above&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#990000"&gt;&amp;lt;%&lt;/font&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;Dim&lt;/font&gt;&lt;/b&gt; method&lt;font color="#990000"&gt;,&lt;/font&gt; secured&lt;font color="#990000"&gt;,&lt;/font&gt; error_on_length&lt;font color="#990000"&gt;,&lt;/font&gt; username&lt;font color="#990000"&gt;,&lt;/font&gt; password&lt;font color="#990000"&gt;,&lt;/font&gt; AQresponse&lt;br /&gt;  &lt;i&gt;&lt;font color="#9A1900"&gt;' User Editable Variables&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;  secured &lt;font color="#990000"&gt;=&lt;/font&gt; &lt;font color="#993399"&gt;0&lt;/font&gt;                       &lt;i&gt;&lt;font color="#9A1900"&gt;' Set to either 1 for SSL connection &lt;/font&gt;&lt;/i&gt;&lt;br /&gt;                                    &lt;i&gt;&lt;font color="#9A1900"&gt;' or 0 for normal connection.&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;  error_on_length &lt;font color="#990000"&gt;=&lt;/font&gt; &lt;font color="#993399"&gt;1&lt;/font&gt;               &lt;i&gt;&lt;font color="#9A1900"&gt;' Whether to give and error on messages over 160 chracters. &lt;/font&gt;&lt;/i&gt;&lt;br /&gt;                                    &lt;i&gt;&lt;font color="#9A1900"&gt;' 1 for true, 0 for false.&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;  username &lt;font color="#990000"&gt;=&lt;/font&gt; &lt;font color="#FF0000"&gt;"testusername"&lt;/font&gt;         &lt;i&gt;&lt;font color="#9A1900"&gt;' Your aql username, can either be set here &lt;/font&gt;&lt;/i&gt;&lt;br /&gt;                                    &lt;i&gt;&lt;font color="#9A1900"&gt;' or done on a per call basis from the function.&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;  password &lt;font color="#990000"&gt;=&lt;/font&gt; &lt;font color="#FF0000"&gt;"testpassword"&lt;/font&gt;         &lt;i&gt;&lt;font color="#9A1900"&gt;' Your aql password, can either be set here&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;                                    &lt;i&gt;&lt;font color="#9A1900"&gt;' or done on a per call basis from the function.&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;Dim&lt;/font&gt;&lt;/b&gt; objXMLHTTP&lt;font color="#990000"&gt;,&lt;/font&gt; xml&lt;br /&gt;  message &lt;font color="#990000"&gt;=&lt;/font&gt; &lt;b&gt;&lt;font color="#000000"&gt;replace&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;(&lt;/font&gt;message&lt;font color="#990000"&gt;,&lt;/font&gt;&lt;font color="#FF0000"&gt;" "&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt;&lt;font color="#FF0000"&gt;"+"&lt;/font&gt;&lt;font color="#990000"&gt;)&lt;/font&gt;&lt;br /&gt;  &lt;b&gt;&lt;font color="#0000FF"&gt;Set&lt;/font&gt;&lt;/b&gt; xml &lt;font color="#990000"&gt;=&lt;/font&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;Server&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;.&lt;/font&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;CreateObject&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;(&lt;/font&gt;&lt;font color="#FF0000"&gt;"Microsoft.XMLHTTP"&lt;/font&gt;&lt;font color="#990000"&gt;)&lt;/font&gt; &lt;br /&gt;  &lt;b&gt;&lt;font color="#0000FF"&gt;if&lt;/font&gt;&lt;/b&gt; secured &lt;font color="#990000"&gt;=&lt;/font&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;null&lt;/font&gt;&lt;/b&gt; or secured &lt;font color="#990000"&gt;=&lt;/font&gt; &lt;font color="#993399"&gt;0&lt;/font&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;then&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;    xml&lt;font color="#990000"&gt;.&lt;/font&gt;Open &lt;font color="#FF0000"&gt;"POST"&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt; &lt;font color="#FF0000"&gt;"http://gw1.aql.com/sms/sms_gw.php"&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;False&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;    xml&lt;font color="#990000"&gt;.&lt;/font&gt;setRequestHeader &lt;font color="#FF0000"&gt;"Content-Type"&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt; &lt;font color="#FF0000"&gt;"application/x-www-form-urlencoded"&lt;/font&gt;&lt;br /&gt;    xml&lt;font color="#990000"&gt;.&lt;/font&gt;Send &lt;font color="#FF0000"&gt;"username="&lt;/font&gt; &lt;font color="#990000"&gt;&amp;amp;&lt;/font&gt; username &lt;font color="#990000"&gt;&amp;amp;&lt;/font&gt; &lt;font color="#FF0000"&gt;"&amp;amp;password="&lt;/font&gt; &lt;font color="#990000"&gt;&amp;amp;&lt;/font&gt; password &lt;font color="#990000"&gt;&amp;amp;&lt;/font&gt; &lt;font color="#FF0000"&gt;"&amp;amp;destination="&lt;/font&gt; &lt;font color="#990000"&gt;&amp;amp;&lt;/font&gt; destination &lt;font color="#990000"&gt;&amp;amp;&lt;/font&gt; &lt;br /&gt;             &lt;font color="#FF0000"&gt;"&amp;amp;message="&lt;/font&gt; &lt;font color="#990000"&gt;&amp;amp;&lt;/font&gt; message &lt;font color="#990000"&gt;&amp;amp;&lt;/font&gt; &lt;font color="#FF0000"&gt;"&amp;amp;originator="&lt;/font&gt; &lt;font color="#990000"&gt;&amp;amp;&lt;/font&gt; originator &lt;font color="#990000"&gt;&amp;amp;&lt;/font&gt; &lt;font color="#FF0000"&gt;"&amp;amp;flash="&lt;/font&gt; &lt;font color="#990000"&gt;&amp;amp;&lt;/font&gt; flash&lt;br /&gt;  &lt;b&gt;&lt;font color="#0000FF"&gt;else&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;if&lt;/font&gt;&lt;/b&gt; secured &lt;font color="#990000"&gt;=&lt;/font&gt; &lt;font color="#993399"&gt;1&lt;/font&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;then&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;    xml&lt;font color="#990000"&gt;.&lt;/font&gt;Open &lt;font color="#FF0000"&gt;"POST"&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt; &lt;font color="#FF0000"&gt;"https://gw1.aql.com/sms/sms_gw.php"&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;False&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;    xml&lt;font color="#990000"&gt;.&lt;/font&gt;setRequestHeader &lt;font color="#FF0000"&gt;"Content-Type"&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt; &lt;font color="#FF0000"&gt;"application/x-www-form-urlencoded"&lt;/font&gt;&lt;br /&gt;    xml&lt;font color="#990000"&gt;.&lt;/font&gt;Send &lt;font color="#FF0000"&gt;"username="&lt;/font&gt; &lt;font color="#990000"&gt;&amp;amp;&lt;/font&gt; username &lt;font color="#990000"&gt;&amp;amp;&lt;/font&gt; &lt;font color="#FF0000"&gt;"&amp;amp;password="&lt;/font&gt; &lt;font color="#990000"&gt;&amp;amp;&lt;/font&gt; password &lt;font color="#990000"&gt;&amp;amp;&lt;/font&gt; &lt;font color="#FF0000"&gt;"&amp;amp;destination="&lt;/font&gt; &lt;font color="#990000"&gt;&amp;amp;&lt;/font&gt; destination &lt;font color="#990000"&gt;&amp;amp;&lt;/font&gt; &lt;br /&gt;             &lt;font color="#FF0000"&gt;"&amp;amp;message="&lt;/font&gt; &lt;font color="#990000"&gt;&amp;amp;&lt;/font&gt; message &lt;font color="#990000"&gt;&amp;amp;&lt;/font&gt; &lt;font color="#FF0000"&gt;"&amp;amp;originator="&lt;/font&gt; &lt;font color="#990000"&gt;&amp;amp;&lt;/font&gt; originator &lt;font color="#990000"&gt;&amp;amp;&lt;/font&gt; &lt;font color="#FF0000"&gt;"&amp;amp;flash="&lt;/font&gt; &lt;font color="#990000"&gt;&amp;amp;&lt;/font&gt; flash&lt;br /&gt;  &lt;b&gt;&lt;font color="#0000FF"&gt;else&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;    &lt;b&gt;&lt;font color="#0000FF"&gt;call&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#000000"&gt;senderror&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;(&lt;/font&gt;&lt;font color="#993399"&gt;7&lt;/font&gt;&lt;font color="#990000"&gt;)&lt;/font&gt;&lt;br /&gt;    &lt;b&gt;&lt;font color="#0000FF"&gt;end&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;if&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;   &lt;b&gt;&lt;font color="#0000FF"&gt;end&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;if&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;AQresponse &lt;font color="#990000"&gt;=&lt;/font&gt; xml&lt;font color="#990000"&gt;.&lt;/font&gt;responseText&lt;br /&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;Set&lt;/font&gt;&lt;/b&gt; xml &lt;font color="#990000"&gt;=&lt;/font&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;nothing&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;End&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;Function&lt;/font&gt;&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#990000"&gt;%&amp;gt;&lt;/font&gt;&lt;br /&gt;&lt;/tt&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/table&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;That's all for now :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35239346-500349975711097626?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/500349975711097626/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=500349975711097626' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/500349975711097626'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/500349975711097626'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2009/12/gnu-source-highlight-312.html' title='GNU Source-Highlight 3.1.2'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-8879913797287504789</id><published>2009-12-06T14:13:00.004+01:00</published><updated>2009-12-06T14:30:18.480+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='modem'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='karmic'/><category scheme='http://www.blogger.com/atom/ns#' term='kubuntu'/><title type='text'>Huawei E1692 in Linux Kubuntu 9.10 Karmic</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_UtmZWQ8OFEM/Snxc1UUykZI/AAAAAAAABqk/uuKWvWO6rb8/s320/huawei.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 57px; height: 189px;" src="http://2.bp.blogspot.com/_UtmZWQ8OFEM/Snxc1UUykZI/AAAAAAAABqk/uuKWvWO6rb8/s320/huawei.jpg" alt="" border="0" /&gt;&lt;/a&gt;In a &lt;a href="http://tronprog.blogspot.com/2009/08/huawei-e1692-in-linux-ubuntu-jaunty.html"&gt;previous post&lt;/a&gt; I blogged about sucessfully installing this Huawei E1692 Internet device in Ubuntu Jaunty. Now that I switched to Kubuntu Karmic I found out that this device was not recognized any more.&lt;br /&gt;&lt;br /&gt;Fortunately, this was a known issue, and I found &lt;a href="http://ronin117.blogspot.com/2009/11/connessione-internet-modem-3g-huawei.html"&gt;this blog post&lt;/a&gt; which summarizes the solution to use this device also in Ubuntu Karmic.&lt;br /&gt;&lt;br /&gt;I followed the instructions, however, the device still didn't show up (in particular, it wasn't mounted as an external device so that I could run the installation procedure). Probably it's a problem of Kubuntu and not Ubuntu (and I don't have Ubuntu version of Karmic, but only the Kubuntu one), so I cannot tell for sure.&lt;br /&gt;&lt;br /&gt;However, you only need to perform some manual steps and it works in Kubuntu as well.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;First, you need to follow the instructions found in &lt;/span&gt;&lt;a style="font-weight: bold;" href="http://ronin117.blogspot.com/2009/11/connessione-internet-modem-3g-huawei.html"&gt;this blog post&lt;/a&gt;&lt;span style="font-weight: bold;"&gt; anyway.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;First of all, by running dmesg after inserting the device you should see something like the following lines which, at least, tells you that the device is recognized (though not mounted):&lt;br /&gt;&lt;pre&gt;[  664.188996] usb-storage: device found at 6                              &lt;br /&gt;[  664.188998] usb-storage: waiting for device to settle before scanning   &lt;br /&gt;[  664.189997] scsi9 : SCSI emulation for USB Mass Storage devices         &lt;br /&gt;[  664.190571] usb-storage: device found at 6                              &lt;br /&gt;[  664.190573] usb-storage: waiting for device to settle before scanning   &lt;br /&gt;[  669.189727] usb-storage: device scan complete                           &lt;br /&gt;[  669.191577] scsi 8:0:0:0: CD-ROM            HUAWEI   Mass Storage     2.31 PQ: 0 ANSI: 2                                                                &lt;br /&gt;[  669.191585] usb-storage: device scan complete                           &lt;br /&gt;[  669.194267] scsi 9:0:0:0: Direct-Access     HUAWEI   SD Storage       2.31 PQ: 0 ANSI: 2                                                                &lt;br /&gt;[  669.212737] sr1: scsi-1 drive                                           &lt;br /&gt;[  669.213052] sr 8:0:0:0: Attached scsi CD-ROM sr1                        &lt;br /&gt;[  669.213215] sr 8:0:0:0: Attached scsi generic sg2 type 5                &lt;br /&gt;[  669.214044] sd 9:0:0:0: Attached scsi generic sg3 type 0                &lt;br /&gt;[  669.235684] sd 9:0:0:0: [sdb] Attached SCSI removable disk&lt;/pre&gt;In particular, this tells that the "CD" part of the device is represented by &lt;span style="font-weight: bold;"&gt;sr1&lt;/span&gt;, so you run&lt;br /&gt;&lt;pre&gt;sudo mount -t iso9660 /dev/sr1 /mnt/&lt;/pre&gt;and then you can run the installation&lt;br /&gt;&lt;pre&gt;sudo /mnt/install_linux&lt;/pre&gt;You should see a terminal window&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_UtmZWQ8OFEM/SxuxXnJBJjI/AAAAAAAABx0/wHWK8pWas74/s1600-h/huawei2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 280px;" src="http://1.bp.blogspot.com/_UtmZWQ8OFEM/SxuxXnJBJjI/AAAAAAAABx0/wHWK8pWas74/s400/huawei2.png" alt="" id="BLOGGER_PHOTO_ID_5412114396417697330" border="0" /&gt;&lt;/a&gt;and after that, you should see the applet&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_UtmZWQ8OFEM/SxuxnrBliyI/AAAAAAAABx8/RLYRdAiSZjM/s1600-h/huawei3.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 289px;" src="http://1.bp.blogspot.com/_UtmZWQ8OFEM/SxuxnrBliyI/AAAAAAAABx8/RLYRdAiSZjM/s400/huawei3.png" alt="" id="BLOGGER_PHOTO_ID_5412114672338176802" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;After the installation, the device is detected automatically by the system, the applet shows up, and you won't need to do the mount manually.&lt;br /&gt;&lt;br /&gt;Hope this helps :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35239346-8879913797287504789?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/8879913797287504789/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=8879913797287504789' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/8879913797287504789'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/8879913797287504789'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2009/12/huawei-e1692-in-linux-kubuntu-910.html' title='Huawei E1692 in Linux Kubuntu 9.10 Karmic'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_UtmZWQ8OFEM/Snxc1UUykZI/AAAAAAAABqk/uuKWvWO6rb8/s72-c/huawei.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-3862108874440090196</id><published>2009-11-28T19:10:00.008+01:00</published><updated>2009-11-28T19:48:30.512+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='qtfindreplacedialog'/><category scheme='http://www.blogger.com/atom/ns#' term='qt'/><title type='text'>QtFindReplaceDialog - a Find/Replace Qt dialog</title><content type='html'>Since I have not found an implementation of a Find /Replace dialog to be used in Qt text editor based applications, I thought I'd try to create one myself:&lt;br /&gt;&lt;p&gt;QtFindReplaceDialog is an implementation of a Find/Replace Qt dialog to be used in qt text edit based applications. A simple Find (only) dialog is also provided. The dialogs can be used as a library, or simply by importing the sources into your own applications. QtFindReplaceDialog is &lt;b&gt;free and open source LGPL&lt;/b&gt; software.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;The project page for QtFindReplaceDialog is: &lt;a href="http://qtfindreplace.sourceforge.net/"&gt;http://qtfindreplace.sourceforge.net&lt;/a&gt;&lt;/li&gt;&lt;li&gt;The git repository for QtFindReplaceDialog can be found here: &lt;a href="http://gitorious.org/qtfindreplacedialog/qtfindreplacedialog"&gt;http://gitorious.org/qtfindreplacedialog/qtfindreplacedialog&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_UtmZWQ8OFEM/SxFuANllcyI/AAAAAAAABxM/--7f9TpA86E/s1600/Screenshot-Find.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 180px;" src="http://1.bp.blogspot.com/_UtmZWQ8OFEM/SxFuANllcyI/AAAAAAAABxM/--7f9TpA86E/s320/Screenshot-Find.png" alt="" id="BLOGGER_PHOTO_ID_5409225577375036194" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_UtmZWQ8OFEM/SxFuQ-gsO-I/AAAAAAAABxs/IDR_rzMPrvk/s1600/Screenshot-FindReplaceWin.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 221px;" src="http://3.bp.blogspot.com/_UtmZWQ8OFEM/SxFuQ-gsO-I/AAAAAAAABxs/IDR_rzMPrvk/s320/Screenshot-FindReplaceWin.png" alt="" id="BLOGGER_PHOTO_ID_5409225865385753570" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_UtmZWQ8OFEM/SxFuNqjNToI/AAAAAAAABxk/dN1I0LDZnuE/s1600/Screenshot-FindReplaceKDE.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 204px;" src="http://3.bp.blogspot.com/_UtmZWQ8OFEM/SxFuNqjNToI/AAAAAAAABxk/dN1I0LDZnuE/s320/Screenshot-FindReplaceKDE.png" alt="" id="BLOGGER_PHOTO_ID_5409225808487992962" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_UtmZWQ8OFEM/SxFuKWvjwzI/AAAAAAAABxc/gcGniisDUnU/s1600/Screenshot-FindReplace2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 202px;" src="http://4.bp.blogspot.com/_UtmZWQ8OFEM/SxFuKWvjwzI/AAAAAAAABxc/gcGniisDUnU/s320/Screenshot-FindReplace2.png" alt="" id="BLOGGER_PHOTO_ID_5409225751631479602" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_UtmZWQ8OFEM/SxFuGniHi6I/AAAAAAAABxU/XQdBm6oCxg8/s1600/Screenshot-FindReplace.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 202px;" src="http://1.bp.blogspot.com/_UtmZWQ8OFEM/SxFuGniHi6I/AAAAAAAABxU/XQdBm6oCxg8/s320/Screenshot-FindReplace.png" alt="" id="BLOGGER_PHOTO_ID_5409225687419030434" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35239346-3862108874440090196?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/3862108874440090196/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=3862108874440090196' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/3862108874440090196'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/3862108874440090196'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2009/11/qtfindreplacedialog-findreplace-qt.html' title='QtFindReplaceDialog - a Find/Replace Qt dialog'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_UtmZWQ8OFEM/SxFuANllcyI/AAAAAAAABxM/--7f9TpA86E/s72-c/Screenshot-Find.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-8030820530836793203</id><published>2009-11-05T09:03:00.007+01:00</published><updated>2009-11-05T09:55:56.924+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='qt'/><title type='text'>Compiling Qt 4.6 from sources</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_UtmZWQ8OFEM/SvKHrEYNyTI/AAAAAAAABwY/03aaYwzmJWA/s1600-h/logo.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 174px; height: 71px;" src="http://2.bp.blogspot.com/_UtmZWQ8OFEM/SvKHrEYNyTI/AAAAAAAABwY/03aaYwzmJWA/s200/logo.png" alt="" id="BLOGGER_PHOTO_ID_5400528077150079282" border="0" /&gt;&lt;/a&gt;If you feel like trying the new Qt 4.6, which is &lt;a href="http://qt.nokia.com/developer/qt-4.6-preview"&gt;currently in beta&lt;/a&gt;, and if you're using Linux, for which it is available only in source code package, or if you need the current development version from the git repository (for instance, for building the git repository version of &lt;a href="http://qt.nokia.com/products/developer-tools"&gt;Qt-Creator&lt;/a&gt;, you'll have to compile qt from sources.&lt;br /&gt;&lt;br /&gt;This is quite straightforward, but I'll blog it here, in case it might provide some help for those who never compiled it.&lt;br /&gt;&lt;br /&gt;If you obtained the source package, then you'll need to unpack it somewhere in your home.&lt;br /&gt;&lt;br /&gt;If you want the git version (of course you need the &lt;span style="font-weight: bold;"&gt;git&lt;/span&gt; program), you'll first obtain the sources from the git repository:&lt;br /&gt;&lt;blockquote&gt;git clone git://gitorious.org/qt/qt.git&lt;/blockquote&gt;and then switch to the 4.6 branch&lt;br /&gt;&lt;blockquote&gt;cd qt&lt;br /&gt;git checkout -b 4.6 origin/4.6&lt;/blockquote&gt;Now, instead of compiling qt in the same directory where the sources are, let's make a &lt;span style="font-style: italic;"&gt;shadow build&lt;/span&gt;, so that the source directory will stay untouched; this will also allow us to do possible several builds of the library (e.g., we may want to do a static build of the library, a debug build, etc.). Thus we create a build directory where we'll run the compilation (note that at the moment the build directory must be at the same level, thus we must not create the build directory inside the source directory).&lt;br /&gt;&lt;br /&gt;Thus, for instance, this are the directories I have for building qt&lt;pre&gt;bettini@bettini-desktop-karmic:~/install/qt-git$ ll&lt;br /&gt;total 8&lt;br /&gt;drwxr-xr-x  2 bettini bettini 4096 2009-11-04 21:33 build&lt;br /&gt;drwxr-xr-x 17 bettini bettini 4096 2009-11-04 21:33 qt&lt;/pre&gt;(where qt is where you have the qt sources; in case you got the source archive, this directory might be called something like &lt;span style="font-family:courier new;"&gt;qt-everywhere-opensource-src-4.6.0-beta1&lt;/span&gt;).&lt;br /&gt;&lt;br /&gt;Now, let's enter the build directory and run the configure script. If you don't pass any &lt;span style="font-family:courier new;"&gt;-prefix&lt;/span&gt; option to configure, the library will be built to be installed into the directory &lt;span style="font-family:courier new;"&gt;/usr/local/Trolltech/Qt-4.6.0/&lt;/span&gt;):&lt;pre&gt;cd build&lt;br /&gt;../qt/configure&lt;/pre&gt;you'll have to answer some questions, and then you'll be ready to compile:&lt;pre&gt;Which edition of Qt do you want to use ?&lt;br /&gt;&lt;br /&gt;Type 'c' if you want to use the Commercial Edition.&lt;br /&gt;Type 'o' if you want to use the Open Source Edition.&lt;br /&gt;&lt;br /&gt;Preparing build tree...&lt;br /&gt;&lt;br /&gt;This is the Qt/X11 Open Source Edition.&lt;br /&gt;&lt;br /&gt;You are licensed to use this software under the terms of&lt;br /&gt;the Lesser GNU General Public License (LGPL) versions 2.1.&lt;br /&gt;&lt;br /&gt;Type 'L' to view the Lesser GNU General Public License version 2.1.&lt;br /&gt;Type 'yes' to accept this license offer.&lt;br /&gt;Type 'no' to decline this license offer.&lt;br /&gt;&lt;br /&gt;Do you accept the terms of the license?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Qt is now configured for building. Just run 'make'.&lt;br /&gt;Once everything is built, you must run 'make install'.&lt;br /&gt;Qt will be installed into /usr/local/Trolltech/Qt-4.6-git&lt;br /&gt;&lt;br /&gt;To reconfigure, run 'make confclean' and 'configure'.&lt;/pre&gt;Now you're ready to run make and wait for about a couple of hours (even more if you don't have a fast machine); of course you may want to tweak the configuration so that you don't build some parts of qt (e.g., the examples); you may want to take a look at configure options by running &lt;span style="font-family:courier new;"&gt;configure --help&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;After compilation ended, you can install the library; if you chose to install it in a path which is not your home, remember that you need superuser privileges:&lt;pre&gt;sudo make install&lt;/pre&gt;When this ended, you'll have your qt installed in the path specified at configuration time (or the default one), e.g.:&lt;pre&gt;bettini@bettini-prog-karmic:~$ ll /usr/local/Trolltech/Qt-4.6.0/&lt;br /&gt;total 364&lt;br /&gt;drwxr-xr-x  2 root root   4096 2009-11-05 07:30 bin&lt;br /&gt;drwxr-xr-x 22 root root   4096 2009-11-05 07:29 demos&lt;br /&gt;drwxr-xr-x  5 root root   4096 2009-11-05 07:30 doc&lt;br /&gt;drwxr-xr-x 36 root root   4096 2009-11-05 07:29 examples&lt;br /&gt;drwxr-xr-x 21 root root   4096 2009-11-05 07:28 include&lt;br /&gt;drwxr-xr-x  3 root root   4096 2009-11-05 07:28 lib&lt;br /&gt;drwxr-xr-x 96 root root   4096 2009-11-05 07:30 mkspecs&lt;br /&gt;drwxr-xr-x  2 root root   4096 2009-11-05 07:28 phrasebooks&lt;br /&gt;drwxr-xr-x 10 root root   4096 2009-11-05 07:28 plugins&lt;br /&gt;-rw-r--r--  1 root root 332881 2009-10-13 09:43 q3porting.xml&lt;/pre&gt;Note that sometimes documentation is not installed (you can take a look at the doc directory which should have html and qch subdirectories). I experienced this if I use a different prefix at configuration time. If this is the case, you need to first build explicitly the documentation with &lt;span style="font-family:courier new;"&gt;make docs&lt;/span&gt; and then, run the same &lt;span style="font-family:courier new;"&gt;configure&lt;/span&gt; command again (i.e., with the same options), and then run the &lt;span style="font-family:courier new;"&gt;make install&lt;/span&gt; command another time, and the documentation should be installed correctly.&lt;br /&gt;&lt;br /&gt;Now, you're ready to enjoy the qtdemo, by running &lt;span style="font-family:courier new;"&gt;/usr/local/Trolltech/Qt-4.6.0/bin/qtdemo&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_UtmZWQ8OFEM/SvKMvzK5BzI/AAAAAAAABwg/OjzLccrmw4g/s1600-h/qtdemo.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 311px;" src="http://1.bp.blogspot.com/_UtmZWQ8OFEM/SvKMvzK5BzI/AAAAAAAABwg/OjzLccrmw4g/s400/qtdemo.png" alt="" id="BLOGGER_PHOTO_ID_5400533655988274994" border="0" /&gt;&lt;/a&gt;Now, if you have another version of qt already installed in your system (e.g., the one packaged for your distribution) and you want to use the one you've just compiled it?&lt;br /&gt;&lt;br /&gt;Well, thanks to &lt;span style="font-family:courier new;"&gt;qmake&lt;/span&gt;, this is quite easy: it's just a matter of invoking the qmake of your compiled version of qt (instead of the one in the system path).&lt;br /&gt;&lt;br /&gt;For instance, let's take the mdi example that comes with qt, and let's take, for instance, the one already installed in your system (if you don't have qt examples already installed from your distribution, you can still take the one that is in the sources you downloaded), and copy it into a local folder:&lt;pre&gt;bettini@bettini-prog-karmic:~/tmp/qt$ cp -rf /usr/lib/qt4/examples/mainwindows/mdi .&lt;br /&gt;cd mdi&lt;/pre&gt;&lt;br /&gt;If I want to build this example using the version of qt we've just compiled it's just a matter of running&lt;br /&gt;&lt;pre&gt;/usr/local/Trolltech/Qt-4.6.0/bin/qmake mdi.pro&lt;/pre&gt;Now, if I run make, the g++ compiler will be invoked with the right include path and library path for our compiled version of qt:&lt;br /&gt;&lt;pre&gt;make&lt;br /&gt;&lt;/pre&gt;For instance, here's some output (note the -I and -L options):&lt;br /&gt;&lt;blockquote&gt;g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/local/Trolltech/Qt-4.6.0/mkspecs/linux-g++ -I. -I/usr/local/Trolltech/Qt-4.6.0/include/QtCore -I/usr/local/Trolltech/Qt-4.6.0/include/QtGui -I/usr/local/Trolltech/Qt-4.6.0/include -I. -o main.o main.cpp&lt;br /&gt;...&lt;br /&gt;/usr/local/Trolltech/Qt-4.6.0/bin/moc -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/local/Trolltech/Qt-4.6.0/mkspecs/linux-g++ -I. -I/usr/local/Trolltech/Qt-4.6.0/include/QtCore -I/usr/local/Trolltech/Qt-4.6.0/include/QtGui -I/usr/local/Trolltech/Qt-4.6.0/include -I. mdichild.h -o moc_mdichild.cpp&lt;br /&gt;...&lt;br /&gt;g++ -Wl,-O1 -Wl,-rpath,/usr/local/Trolltech/Qt-4.6.0/lib -o mdi main.o mainwindow.o mdichild.o moc_mainwindow.o moc_mdichild.o qrc_mdi.o    -L/usr/local/Trolltech/Qt-4.6.0/lib -lQtGui -L/usr/local/Trolltech/Qt-4.6.0/lib -L/usr/X11R6/lib -lQtCore -lpthread&lt;/blockquote&gt;By the way, note that the right version of the &lt;span style="font-weight: bold;"&gt;moc&lt;/span&gt; compiler is used (and the same holds for &lt;span style="font-weight: bold;"&gt;uic&lt;/span&gt; if your application needs it).&lt;br /&gt;&lt;br /&gt;If you now run the mdi program, and choose the Help -&gt; About Qt menu item, you'll get the proof you're using your version of qt 4.6&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_UtmZWQ8OFEM/SvKPdePm-6I/AAAAAAAABwo/XPvQCGEY3po/s1600-h/mdi.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 381px; height: 400px;" src="http://4.bp.blogspot.com/_UtmZWQ8OFEM/SvKPdePm-6I/AAAAAAAABwo/XPvQCGEY3po/s400/mdi.png" alt="" id="BLOGGER_PHOTO_ID_5400536639668157346" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_UtmZWQ8OFEM/SvKPoj9rp3I/AAAAAAAABww/pvZeB5eVn2w/s1600-h/aboutqt.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 327px;" src="http://2.bp.blogspot.com/_UtmZWQ8OFEM/SvKPoj9rp3I/AAAAAAAABww/pvZeB5eVn2w/s400/aboutqt.png" alt="" id="BLOGGER_PHOTO_ID_5400536830182139762" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Let's do some more experiments, and recompile the mdi example with the system version of qt (thus, it's better to get rid of the mdi directory and get a fresh new copy of the mdi example). Now we use the system version of qmake:&lt;pre&gt;qmake -version&lt;br /&gt;QMake version 2.01a&lt;br /&gt;Using Qt version 4.5.2 in /usr/lib&lt;/pre&gt;and let's build the example this way&lt;br /&gt;&lt;pre&gt;qmake mdi.pro&lt;br /&gt;make&lt;/pre&gt;Note that the compiler options are now different&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -o main.o main.cpp&lt;br /&gt;...&lt;br /&gt;/usr/bin/moc-qt4 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. mdichild.h -o moc_mdichild.cpp&lt;br /&gt;...&lt;br /&gt;g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -o qrc_mdi.o qrc_mdi.cpp&lt;br /&gt;g++ -Wl,-O1 -o mdi main.o mainwindow.o mdichild.o moc_mainwindow.o moc_mdichild.o qrc_mdi.o    -L/usr/lib -lQtGui -lQtCore -lpthread&lt;br /&gt;&lt;/blockquote&gt;If we run the application and select the about qt menu item we can see that we have the 4.5 version of qt:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_UtmZWQ8OFEM/SvKSGvTdZeI/AAAAAAAABw4/rea_axUP3L4/s1600-h/aboutqt2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 342px;" src="http://4.bp.blogspot.com/_UtmZWQ8OFEM/SvKSGvTdZeI/AAAAAAAABw4/rea_axUP3L4/s400/aboutqt2.png" alt="" id="BLOGGER_PHOTO_ID_5400539547645601250" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;However, you can run this application, which is built using qt 4.5, so that it uses the 4.6 version of the library you compiled from source (assuming that we are using dynamically linked library):&lt;pre&gt;LD_LIBRARY_PATH=/usr/local/Trolltech/Qt-4.6.0/lib ./mdi&lt;/pre&gt;This will force the dynamic linker to use the 4.6 version of the dynamic libraries.&lt;br /&gt;&lt;br /&gt;Again, you can get the evidence using the about qt menu item.&lt;br /&gt;&lt;br /&gt;This is possible due to version 4.6 being backward compatible.&lt;br /&gt;&lt;br /&gt;Have fun with Qt :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35239346-8030820530836793203?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/8030820530836793203/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=8030820530836793203' title='13 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/8030820530836793203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/8030820530836793203'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2009/11/compiling-qt-46-from-sources.html' title='Compiling Qt 4.6 from sources'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_UtmZWQ8OFEM/SvKHrEYNyTI/AAAAAAAABwY/03aaYwzmJWA/s72-c/logo.png' height='72' width='72'/><thr:total>13</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-479832644681652930</id><published>2009-10-10T15:26:00.005+02:00</published><updated>2009-10-10T15:49:40.323+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='networking'/><title type='text'>Keep track of your network usage using vnstat</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_UtmZWQ8OFEM/Snxc1UUykZI/AAAAAAAABqk/uuKWvWO6rb8/s320/huawei.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 42px; height: 140px;" src="http://2.bp.blogspot.com/_UtmZWQ8OFEM/Snxc1UUykZI/AAAAAAAABqk/uuKWvWO6rb8/s320/huawei.jpg" alt="" border="0" /&gt;&lt;/a&gt;Since I started using my mobile connection to connect to Internet (now and then), I felt the need to keep track of my network usage (since I only have 500mb a month, and my provider doesn't seem to provide the usage on a website). And of course, I'm talking Linux OS ;-)&lt;br /&gt;&lt;br /&gt;I stumbled upon this nice software, &lt;span style="font-weight: bold;"&gt;vnstat&lt;/span&gt;, &lt;a href="http://humdi.net/vnstat/"&gt;http://humdi.net/vnstat&lt;/a&gt;, which really suits my needs.&lt;br /&gt;&lt;br /&gt;Unfortunately, the version that comes with Ubuntu is quite old, so I was suggested in the &lt;a href="http://forums.humdi.net/viewtopic.php?f=7&amp;amp;t=482"&gt;forum&lt;/a&gt;, to download and compile from sources the latest version from the website.&lt;br /&gt;&lt;br /&gt;After unpackaged the tarbal, it's just a matter of running make install (as a superuser)&lt;br /&gt;&lt;blockquote&gt;sudo make install&lt;br /&gt;Installing vnStat...&lt;br /&gt;Installing config to /etc/vnstat.conf&lt;br /&gt;install -d -m 755 /usr/bin /usr/sbin /usr/share/man/man1 /usr/share/man/man5 /var/lib/vnstat&lt;br /&gt;install -s -m 755 src/vnstat /usr/bin&lt;br /&gt;install -s -m 755 src/vnstatd /usr/sbin&lt;br /&gt;install -m 644 man/vnstat.1 /usr/share/man/man1&lt;br /&gt;install -m 644 man/vnstatd.1 /usr/share/man/man1&lt;br /&gt;install -m 644 man/vnstat.conf.5 /usr/share/man/man5&lt;br /&gt;&lt;/blockquote&gt;Then, the first time, you need to create the database; since I'm interested in my ppp0 mobile connection, I did&lt;br /&gt;&lt;blockquote&gt;sudo vnstat --force -u -i ppp0&lt;/blockquote&gt;Before starting, I prefered to tweak the configuration a bit, so I created $HOME/.vnstatrc and I added this option&lt;br /&gt;&lt;blockquote&gt;# interface specific limits&lt;br /&gt;#  example 8Mbit limit for eth0 (remove # to activate):&lt;br /&gt;#MaxBWeth0 8&lt;br /&gt;MaxBWppp0 8&lt;/blockquote&gt;This seemed to help getting rid of those annoying &lt;a href="http://forums.humdi.net/viewtopic.php?f=7&amp;amp;t=482"&gt;4gb spikes&lt;/a&gt;. (On a side note, I often use the &lt;a href="http://tronprog.blogspot.com/2009/08/huawei-e1692-in-linux-ubuntu-jaunty.html"&gt;application that came with my Internet Huawei card&lt;/a&gt;, which often, very often, suffer from those 4gb spikes which definitely spoil the statistics of network usage, that's why I had to find a better solution to keep track of that.)&lt;br /&gt;&lt;br /&gt;Now you can setup the vnstat daemon so that it starts automatically when the computer starts&lt;br /&gt;&lt;blockquote&gt;sudo cp examples/init.d/ubuntu/vnstat /etc/init.d/&lt;br /&gt;sudo chmod 755 /etc/init.d/vnstat&lt;br /&gt;sudo update-rc.d vnstat defaults&lt;/blockquote&gt;And if you want to start it right now&lt;br /&gt;&lt;blockquote&gt;sudo /etc/init.d/vnstat start&lt;/blockquote&gt;Every 5 minutes the daemon updates the database with the statistics (of course you can configure many things, see the vnstat documentation).&lt;br /&gt;&lt;br /&gt;You can see the current statistics&lt;br /&gt;&lt;pre&gt;bettini@bettini-laptop:~$ vnstat&lt;br /&gt;Database updated: Sat Oct 10 15:37:54 2009&lt;br /&gt;&lt;br /&gt;  ppp0 since 04.09.09&lt;br /&gt;&lt;br /&gt;         rx:  292.90 MiB      tx:  104.48 MiB     total:  397.38 MiB&lt;br /&gt;&lt;br /&gt;  monthly&lt;br /&gt;                    rx      |     tx      |    total    |   avg. rate&lt;br /&gt;    ------------------------+-------------+-------------+---------------&lt;br /&gt;      Sep '09    243.74 MiB |   88.89 MiB |  332.62 MiB |    1.05 kbit/s&lt;br /&gt;      Oct '09     49.16 MiB |   15.59 MiB |   64.76 MiB |    0.64 kbit/s&lt;br /&gt;    ------------------------+-------------+-------------+---------------&lt;br /&gt;    estimated       157 MiB |      48 MiB |     205 MiB |&lt;br /&gt;&lt;br /&gt;  daily&lt;br /&gt;                    rx      |     tx      |    total    |   avg. rate&lt;br /&gt;    ------------------------+-------------+-------------+---------------&lt;br /&gt;    yesterday       329 KiB |     172 KiB |     501 KiB |    0.05 kbit/s&lt;br /&gt;        today      7.91 MiB |    2.25 MiB |   10.16 MiB |    1.48 kbit/s&lt;br /&gt;    ------------------------+-------------+-------------+---------------&lt;br /&gt;    estimated        10 MiB |       3 MiB |      13 MiB |&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;The daily statistics&lt;br /&gt;&lt;pre&gt;bettini@bettini-laptop:~$ vnstat -d&lt;br /&gt;&lt;br /&gt;ppp0  /  daily&lt;br /&gt;&lt;br /&gt;        day         rx      |     tx      |    total    |   avg. rate&lt;br /&gt;    ------------------------+-------------+-------------+---------------&lt;br /&gt;       04.09.      8.96 MiB |    6.99 MiB |   15.94 MiB |    1.51 kbit/s&lt;br /&gt;       05.09.     12.05 MiB |    4.37 MiB |   16.42 MiB |    1.56 kbit/s&lt;br /&gt;       06.09.      9.21 MiB |    4.14 MiB |   13.35 MiB |    1.27 kbit/s&lt;br /&gt;       08.09.     25.17 MiB |    9.68 MiB |   34.86 MiB |    3.30 kbit/s&lt;br /&gt;       09.09.      6.64 MiB |    2.74 MiB |    9.38 MiB |    0.89 kbit/s&lt;br /&gt;       10.09.     22.53 MiB |    7.88 MiB |   30.41 MiB |    2.88 kbit/s&lt;br /&gt;       12.09.     10.58 MiB |    4.64 MiB |   15.22 MiB |    1.44 kbit/s&lt;br /&gt;       13.09.      5.13 MiB |    2.07 MiB |    7.21 MiB |    0.68 kbit/s&lt;br /&gt;       14.09.      7.67 MiB |    2.18 MiB |    9.86 MiB |    0.93 kbit/s&lt;br /&gt;       18.09.     12.54 MiB |    2.31 MiB |   14.85 MiB |    1.41 kbit/s&lt;br /&gt;       19.09.     16.28 MiB |    5.14 MiB |   21.42 MiB |    2.03 kbit/s&lt;br /&gt;       20.09.      4.76 MiB |    1.47 MiB |    6.24 MiB |    0.59 kbit/s&lt;br /&gt;       22.09.     11.99 MiB |    4.29 MiB |   16.27 MiB |    1.54 kbit/s&lt;br /&gt;       23.09.     17.75 MiB |    8.66 MiB |   26.41 MiB |    2.50 kbit/s&lt;br /&gt;       24.09.      8.80 MiB |    2.94 MiB |   11.74 MiB |    1.11 kbit/s&lt;br /&gt;       26.09.     15.72 MiB |    4.99 MiB |   20.71 MiB |    1.96 kbit/s&lt;br /&gt;       27.09.       383 KiB |     108 KiB |     491 KiB |    0.05 kbit/s&lt;br /&gt;       29.09.     23.36 MiB |    6.18 MiB |   29.55 MiB |    2.80 kbit/s&lt;br /&gt;       30.09.     24.23 MiB |    8.09 MiB |   32.32 MiB |    3.06 kbit/s&lt;br /&gt;       01.10.      9.90 MiB |    5.62 MiB |   15.52 MiB |    1.47 kbit/s&lt;br /&gt;       04.10.     22.22 MiB |    5.15 MiB |   27.37 MiB |    2.60 kbit/s&lt;br /&gt;       05.10.      8.81 MiB |    2.40 MiB |   11.21 MiB |    1.06 kbit/s&lt;br /&gt;       09.10.       329 KiB |     172 KiB |     501 KiB |    0.05 kbit/s&lt;br /&gt;       10.10.      7.91 MiB |    2.25 MiB |   10.16 MiB |    1.48 kbit/s&lt;br /&gt;    ------------------------+-------------+-------------+---------------&lt;br /&gt;    estimated        10 MiB |       3 MiB |      13 MiB |&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;for months&lt;br /&gt;&lt;pre&gt;bettini@bettini-laptop:~$ vnstat -m&lt;br /&gt;&lt;br /&gt;ppp0  /  monthly&lt;br /&gt;&lt;br /&gt;     month         rx      |      tx      |    total     |   avg. rate&lt;br /&gt;   ------------------------+--------------+--------------+---------------&lt;br /&gt;    Sep '09     243.74 MiB |    88.89 MiB |   332.62 MiB |    1.05 kbit/s&lt;br /&gt;    Oct '09      49.25 MiB |    15.68 MiB |    64.93 MiB |    0.64 kbit/s&lt;br /&gt;   ------------------------+--------------+--------------+---------------&lt;br /&gt;   estimated       157 MiB |       48 MiB |      205 MiB |&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;and so on.&lt;br /&gt;&lt;br /&gt;Very nice! :-)&lt;br /&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35239346-479832644681652930?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/479832644681652930/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=479832644681652930' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/479832644681652930'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/479832644681652930'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2009/10/keep-track-of-your-network-usage-using.html' title='Keep track of your network usage using vnstat'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_UtmZWQ8OFEM/Snxc1UUykZI/AAAAAAAABqk/uuKWvWO6rb8/s72-c/huawei.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-2854337050028543023</id><published>2009-10-04T22:14:00.010+02:00</published><updated>2009-10-04T22:30:36.449+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='qsource-highlight'/><category scheme='http://www.blogger.com/atom/ns#' term='source-highlight-qt'/><category scheme='http://www.blogger.com/atom/ns#' term='source-highlight'/><title type='text'>QSource-Highlight - a Qt interface for GNU Source-Highlight</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_UtmZWQ8OFEM/SskElSIdKDI/AAAAAAAABvw/k1Hxq7ypZmM/s1600-h/highlight.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 32px; height: 32px;" src="http://2.bp.blogspot.com/_UtmZWQ8OFEM/SskElSIdKDI/AAAAAAAABvw/k1Hxq7ypZmM/s200/highlight.png" alt="" id="BLOGGER_PHOTO_ID_5388843467694483506" border="0" /&gt;&lt;/a&gt;I recently released a new software developed with Qt 4 (this summer I took a chance to use qt and really enjoyed this wonderful framework): &lt;a href="http://qsrchilite.sourceforge.net/"&gt;QSource-Highlight&lt;/a&gt; - a Qt interface for &lt;a href="http://www.gnu.org/software/src-highlite"&gt;GNU Source-Highlight&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_UtmZWQ8OFEM/SskC92zP2LI/AAAAAAAABvQ/RnuH_97RZ2g/s1600-h/qsource-highlight-art.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 247px;" src="http://2.bp.blogspot.com/_UtmZWQ8OFEM/SskC92zP2LI/AAAAAAAABvQ/RnuH_97RZ2g/s400/qsource-highlight-art.png" alt="" id="BLOGGER_PHOTO_ID_5388841690831247538" border="0" /&gt;&lt;/a&gt;You can highlight your code on the fly, and have the highlighted output in all the formats supported by source-highlight (e.g., HTML, LaTeX, Texinfo, etc.). You can then copy the formatted output and paste it (e.g., in your blog), or save it to a file.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;A preview of the highlighted output is available for some output formats (e.g., HTML, XHTML, etc.).&lt;/p&gt;&lt;br /&gt;Here are some screenshots:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_UtmZWQ8OFEM/SskDi6lJEHI/AAAAAAAABvY/_kaagLM_mS8/s1600-h/qsource-highlight-main-window2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 270px;" src="http://4.bp.blogspot.com/_UtmZWQ8OFEM/SskDi6lJEHI/AAAAAAAABvY/_kaagLM_mS8/s400/qsource-highlight-main-window2.png" alt="" id="BLOGGER_PHOTO_ID_5388842327500984434" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;The preview of highlighting of some selected lines, with line numbers and 4 context lines.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_UtmZWQ8OFEM/SskDv5UAijI/AAAAAAAABvg/igp6YQtRNJs/s1600-h/qsource-highlight-main-window3.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 253px;" src="http://3.bp.blogspot.com/_UtmZWQ8OFEM/SskDv5UAijI/AAAAAAAABvg/igp6YQtRNJs/s400/qsource-highlight-main-window3.png" alt="" id="BLOGGER_PHOTO_ID_5388842550498986546" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;The preview with line numbers (using '-' as padding char).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_UtmZWQ8OFEM/SskD65EJFQI/AAAAAAAABvo/YPPL294KOyE/s1600-h/qsource-highlight-main-window4.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 253px;" src="http://4.bp.blogspot.com/_UtmZWQ8OFEM/SskD65EJFQI/AAAAAAAABvo/YPPL294KOyE/s400/qsource-highlight-main-window4.png" alt="" id="BLOGGER_PHOTO_ID_5388842739410998530" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;Latex (with color) output (source, no preview), with "entire doc" option.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;The language definition file is automatically selected according to the input file extension, but you can change it manually by using the corresponding combo box. In particular you have three combo boxes:&lt;/p&gt; &lt;ul&gt;&lt;li&gt;the combo box for the input language definition (e.g., C, C++, Java, etc.); in particular, the combo box refers to the &lt;tt&gt;.lang&lt;/tt&gt; files of Source-Highlight, which, however, should have quite intuitive names.&lt;/li&gt;&lt;li&gt;the combo box for the output format (e.g., HTML, LaTeX, etc.); in particular, the combo box refers to the &lt;tt&gt;.outlang&lt;/tt&gt; files of Source-Highlight, which, however, should have quite intuitive names (e.g., &lt;tt&gt;htmltable.outlang&lt;/tt&gt; generates HTML output into an html table).&lt;/li&gt;&lt;li&gt;the combo box for the highlighting style (e.g., colors, and formats of the elements of the language); these elements refer to Source-Highlight &lt;tt&gt;.style&lt;/tt&gt; files and to &lt;tt&gt;.css&lt;/tt&gt; files.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;All the files named in these combo boxes refer to files shipped with Source-highlight, and they are searched for in the Source-highlight corresponding installation path. In case the combo boxes are empty, then the path where source-highlight searches for these files is wrong: you should then configure the correct path for source-highlight using the settings dialog (&lt;a href="http://qsrchilite.sourceforge.net/doc/index.html#source-highlight-settings"&gt;Source-Highlight Settings&lt;/a&gt;).&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;The complete documentation is available &lt;a href="http://qsrchilite.sourceforge.net/doc/index.html"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;QSource-Highlight uses the library included in GNU Source-Highlight, since version 3, thus you need that library to build QSource-Highlight; in particular it uses Source-Highlight-Qt (&lt;a href="http://tronprog.blogspot.com/2009/07/source-highlight-qt-library-for.html"&gt;which I've already blogged about&lt;/a&gt;) additional library, &lt;a href="http://srchiliteqt.sourceforge.net/"&gt;http://srchiliteqt.sourceforge.net&lt;/a&gt;, which provides highlighting in Qt relying on GNU Source-Highlight. Thus, you need to install Source-Highlight-Qt as well. we refer to GNU Source-Highlight's and Source-Highlight-Qt's websites for further information about the library and its installation (you may want to check whether your distribution already provides packages for these two libraries).&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35239346-2854337050028543023?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/2854337050028543023/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=2854337050028543023' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/2854337050028543023'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/2854337050028543023'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2009/10/qsource-highlight-qt-interface-for-gnu.html' title='QSource-Highlight - a Qt interface for GNU Source-Highlight'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_UtmZWQ8OFEM/SskElSIdKDI/AAAAAAAABvw/k1Hxq7ypZmM/s72-c/highlight.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-5549203670217932222</id><published>2009-10-01T10:56:00.006+02:00</published><updated>2010-08-04T15:20:14.738+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='boost'/><title type='text'>Compiling Boost Regex in Linux</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_UtmZWQ8OFEM/SsRvg-PgEYI/AAAAAAAABrs/uX4XF-ltxBA/s1600-h/boost.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 200px; height: 62px;" src="http://2.bp.blogspot.com/_UtmZWQ8OFEM/SsRvg-PgEYI/AAAAAAAABrs/uX4XF-ltxBA/s200/boost.png" alt="" id="BLOGGER_PHOTO_ID_5387553666496467330" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.boost.org/"&gt;Boost libraries&lt;/a&gt; provide many interesting C++ libraries with cool functionalities. I've been using for many years now boost shared pointers and boost regex library (for regular expression). In particular, I'm using them in my software &lt;a href="http://www.gnu.org/software/src-highlite/"&gt;GNU Source-Highlight&lt;/a&gt;. These libraries are usually available in LInux distributions, but if they are not, and you need to build them (compile them) from sources... well... here comes trouble :-)&lt;br /&gt;&lt;br /&gt;The first time, it is actually not easy to build boost libraries from sources, even though you're used to build programs from sources following the usual "./configure &amp;amp;&amp;amp; make &amp;amp;&amp;amp; make install"; in particular, boost use their own build system based on bjam. Indeed, I've had many complaints from source-highlight users when it comes to build source-highlight and the boost  libraries are not available in their system.&lt;br /&gt;&lt;br /&gt;I hope this post sheds some light for building boost libraries from source. In particular, I'll concentrate on regex library (in fact, you're not required to build all the libraries: you can simply select the ones you're interested in). Note that some boost libraries come only in the shape of header files (like shared pointers) and others require also a lib file (like regex). Note, however, that all the header files will be installed anyway (they basically do not require any compilation), while library files require compilation, and compiling all the libraries in boost may require some time; thus, having the chance to select only some libraries is quite useful.&lt;br /&gt;&lt;br /&gt;In this post I'll assume that you want to build only the regex library and to install all the built files into $HOME/opt/boost (so that you will not need root access rights).&lt;br /&gt;&lt;br /&gt;Once you unpacked the sources into a directory, say ~boost&lt;br /&gt;&lt;pre&gt;tar xjvf ~/Downloads/boost_1_39_0.tar.bz2&lt;/pre&gt;you get into that directory&lt;br /&gt;&lt;pre&gt;cd ~boost&lt;/pre&gt;and run the booststrap command&lt;br /&gt;&lt;pre&gt;./bootstrap.sh \&lt;br /&gt;    --prefix=$HOME/opt/boost \&lt;br /&gt;    --libdir=$HOME/opt/boost/lib \&lt;br /&gt;    --with-libraries=regex&lt;/pre&gt;Hopefully, you will get no error, and then you're ready to build and install the boost headers and the regex library with the following command:&lt;br /&gt;&lt;pre&gt;./bjam --build-dir=build --layout=system install&lt;/pre&gt;This will install the directories include and lib into $HOME/opt/boost.&lt;br /&gt;&lt;br /&gt;You can now test your installation using the example program you find in the boost website, example.cpp:&lt;br /&gt;&lt;!-- Generator: GNU source-highlight 3.1.1 by Lorenzo Bettini http://www.lorenzobettini.it http://www.gnu.org/software/src-highlite --&gt;&lt;br /&gt;&lt;pre&gt;&lt;tt&gt;&lt;b&gt;&lt;span style="color:#000080;"&gt;#include&lt;/span&gt;&lt;/b&gt; &lt;span style="color:#ff0000;"&gt;&amp;lt;boost/regex.hpp&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="color:#000080;"&gt;#include&lt;/span&gt;&lt;/b&gt; &lt;span style="color:#ff0000;"&gt;&amp;lt;iostream&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="color:#000080;"&gt;#include&lt;/span&gt;&lt;/b&gt; &lt;span style="color:#ff0000;"&gt;&amp;lt;string&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#009900;"&gt;int&lt;/span&gt; &lt;b&gt;&lt;span style="color:#000000;"&gt;main&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#990000;"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;{&lt;/span&gt;&lt;br /&gt;   std&lt;span style="color:#990000;"&gt;::&lt;/span&gt;&lt;span style="color:#008080;"&gt;string&lt;/span&gt; line&lt;span style="color:#990000;"&gt;;&lt;/span&gt;&lt;br /&gt;   boost&lt;span style="color:#990000;"&gt;::&lt;/span&gt;&lt;span style="color:#008080;"&gt;regex&lt;/span&gt; &lt;b&gt;&lt;span style="color:#000000;"&gt;pat&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#990000;"&gt;(&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;"^Subject: (Re: |Aw: )*(.*)"&lt;/span&gt; &lt;span style="color:#990000;"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;   &lt;b&gt;&lt;span style="color:#0000ff;"&gt;while&lt;/span&gt;&lt;/b&gt; &lt;span style="color:#990000;"&gt;(&lt;/span&gt;std&lt;span style="color:#990000;"&gt;::&lt;/span&gt;cin&lt;span style="color:#990000;"&gt;)&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:#ff0000;"&gt;{&lt;/span&gt;&lt;br /&gt;       std&lt;span style="color:#990000;"&gt;::&lt;/span&gt;&lt;b&gt;&lt;span style="color:#000000;"&gt;getline&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#990000;"&gt;(&lt;/span&gt;std&lt;span style="color:#990000;"&gt;::&lt;/span&gt;cin&lt;span style="color:#990000;"&gt;,&lt;/span&gt; line&lt;span style="color:#990000;"&gt;);&lt;/span&gt;&lt;br /&gt;       boost&lt;span style="color:#990000;"&gt;::&lt;/span&gt;&lt;span style="color:#008080;"&gt;smatch&lt;/span&gt; matches&lt;span style="color:#990000;"&gt;;&lt;/span&gt;&lt;br /&gt;       &lt;b&gt;&lt;span style="color:#0000ff;"&gt;if&lt;/span&gt;&lt;/b&gt; &lt;span style="color:#990000;"&gt;(&lt;/span&gt;boost&lt;span style="color:#990000;"&gt;::&lt;/span&gt;&lt;b&gt;&lt;span style="color:#000000;"&gt;regex_match&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#990000;"&gt;(&lt;/span&gt;line&lt;span style="color:#990000;"&gt;,&lt;/span&gt; matches&lt;span style="color:#990000;"&gt;,&lt;/span&gt; pat&lt;span style="color:#990000;"&gt;))&lt;/span&gt;&lt;br /&gt;           std&lt;span style="color:#990000;"&gt;::&lt;/span&gt;cout &lt;span style="color:#990000;"&gt;&amp;lt;&amp;lt;&lt;/span&gt; matches&lt;span style="color:#990000;"&gt;[&lt;/span&gt;&lt;span style="color:#993399;"&gt;2&lt;/span&gt;&lt;span style="color:#990000;"&gt;]&lt;/span&gt; &lt;span style="color:#990000;"&gt;&amp;lt;&amp;lt;&lt;/span&gt; std&lt;span style="color:#990000;"&gt;::&lt;/span&gt;endl&lt;span style="color:#990000;"&gt;;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:#ff0000;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;}&lt;/span&gt;&lt;/tt&gt;&lt;/pre&gt;&lt;br /&gt;Since you installed boost in a directory which is probably not in the search path of your compiler, you will need to specify the path for header inclusion and the path for library, as follows:&lt;br /&gt;&lt;pre&gt;g++ -I$HOME/opt/boost/include example.cpp -o example \&lt;br /&gt;    -L$HOME/opt/boost/lib -lboost_regex&lt;/pre&gt;If everything went fine, you'll have your program to test.&lt;br /&gt;&lt;br /&gt;If you want to run your program, remember that the boost regex library you built is a dynamic library, thus, again, since it is not installed in a system path where the loader searches for libraries to load at run-time, you'll need to specify that path with the environment variable LD_LIBRARY_PATH, e.g.,&lt;br /&gt;&lt;pre&gt;LD_LIBRARY_PATH=$HOME/opt/boost/lib ./example&lt;/pre&gt;As I said before, you could have install the library and headers in system path, e.g., /usr; all you have to do is to specify a different bootstrap command&lt;br /&gt;&lt;pre&gt;./bootstrap.sh \&lt;br /&gt;    --prefix=/usr \&lt;br /&gt;    --libdir=/usr/lib \&lt;br /&gt;    --with-libraries=regex&lt;/pre&gt;and then run bjam as before (but with root privileges).&lt;br /&gt;&lt;br /&gt;Hope this helps :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35239346-5549203670217932222?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/5549203670217932222/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=5549203670217932222' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/5549203670217932222'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/5549203670217932222'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2009/10/compiling-boost-regex-in-linux.html' title='Compiling Boost Regex in Linux'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_UtmZWQ8OFEM/SsRvg-PgEYI/AAAAAAAABrs/uX4XF-ltxBA/s72-c/boost.png' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-3091485360499592323</id><published>2009-09-28T18:52:00.004+02:00</published><updated>2009-09-28T19:00:22.803+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='source-highlight-qt'/><category scheme='http://www.blogger.com/atom/ns#' term='source-highlight'/><title type='text'>Source-Highlight-Qt 0.2</title><content type='html'>The release 0.2 of &lt;a href="http://srchiliteqt.sourceforge.net/"&gt;Source-Highlight-Qt&lt;/a&gt; is out! Source-Highlight-Qt is a library for performing syntax highlighting in Qt documents by relying on GNU Source-Highlight library.&lt;br /&gt;&lt;br /&gt;The main new features are (besides some bugfixes):&lt;br /&gt;&lt;ul&gt;&lt;li&gt;You can customize colors in the color dialog also for elements not defined in the current style&lt;/li&gt;&lt;li&gt;A new dialog for source-highlight settings is now provided (see the screenshot)&lt;/li&gt;&lt;li&gt;A combo box is provided also for selecting the output format of highlighting&lt;/li&gt;&lt;li&gt;Some functionalities are provided for generating a .style file (e.g., starting from the settings of the color and style dialog)&lt;/li&gt;&lt;li&gt;Some message boxes can be used to display source-highlight exceptions&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_UtmZWQ8OFEM/SsDrM1Xy18I/AAAAAAAABrk/V3tH9h-7NvU/s1600-h/settingdialog.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 305px; height: 170px;" src="http://4.bp.blogspot.com/_UtmZWQ8OFEM/SsDrM1Xy18I/AAAAAAAABrk/V3tH9h-7NvU/s400/settingdialog.png" alt="" id="BLOGGER_PHOTO_ID_5386563760052950978" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Basically, all the new additions were functional for the new software I released (I'll blog about that in the next few days): &lt;a href="http://qsrchilite.sourceforge.net/"&gt;QSource-Highlight&lt;/a&gt;, i.e., a Qt4 graphical interface for source-highlight itself :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35239346-3091485360499592323?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/3091485360499592323/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=3091485360499592323' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/3091485360499592323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/3091485360499592323'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2009/09/source-highlight-qt-02.html' title='Source-Highlight-Qt 0.2'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_UtmZWQ8OFEM/SsDrM1Xy18I/AAAAAAAABrk/V3tH9h-7NvU/s72-c/settingdialog.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-753184436253691652</id><published>2009-09-22T16:27:00.004+02:00</published><updated>2009-09-22T16:46:17.861+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='source-highlight'/><title type='text'>GNU Source-Highlight 3.1.1</title><content type='html'>In this new version of &lt;a href="http://www.gnu.org/software/src-highlite/"&gt;GNU Source-Highlight&lt;/a&gt; some additions were made to the API of the library; the most important are:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;access to static global &lt;span style="font-weight: bold;"&gt;LangDefManager&lt;/span&gt;, &lt;span style="font-weight: bold;"&gt;LangMaps&lt;/span&gt; is provided through the new class &lt;span style="font-weight: bold;"&gt;Instances&lt;/span&gt; so that there's no need to create continuously instances of these classes;&lt;/li&gt;&lt;li&gt;the library also provides now utility functions for accessing .lang and .outlang files;&lt;/li&gt;&lt;li&gt;functions are provided for setting the data dir option globally, in order to increase consistency in applications that use the library (changing such value globally makes sure that the change will be visible in all parts of the library).&lt;/li&gt;&lt;/ul&gt;Moreover, two new language definition files were added: &lt;span style="font-weight: bold;"&gt;Texinfo&lt;/span&gt; and &lt;span style="font-weight: bold;"&gt;Haskell&lt;/span&gt; (thanks to Sergey Astanin); here are two examples:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;texinfo&lt;/span&gt;&lt;table  BGCOLOR="#000000" NOSAVE &gt;&lt;tr NOSAVE&gt;&lt;td NOSAVE&gt;&lt;pre&gt;&lt;tt&gt;&lt;font color="#d149a6"&gt;(&lt;/font&gt;&lt;b&gt;&lt;font color="#ee85e2"&gt;@ref&lt;/font&gt;&lt;/b&gt;&lt;font color="#348fef"&gt;{&lt;/font&gt;&lt;font color="#9ef457"&gt;Generating References&lt;/font&gt;&lt;font color="#348fef"&gt;}&lt;/font&gt;&lt;font color="#d149a6"&gt;).&lt;/font&gt;&lt;br /&gt;&lt;font color="#d149a6"&gt;\input texinfo &lt;/font&gt;&lt;i&gt;&lt;font color="#35d6e5"&gt;@c -*-texinfo-*-&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#35d6e5"&gt;@c This file uses the @command command introduced in Texinfo 4.0.&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#35d6e5"&gt;@c %**start of header&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#ee85e2"&gt;@setfilename&lt;/font&gt;&lt;/b&gt;&lt;font color="#d149a6"&gt; source-highlight.info&lt;/font&gt;&lt;br /&gt;&lt;font color="#07f6bf"&gt;@include&lt;/font&gt;&lt;font color="#d149a6"&gt; version.texi&lt;/font&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#ee85e2"&gt;@settitle&lt;/font&gt;&lt;/b&gt;&lt;font color="#d149a6"&gt; GNU Source-highlight &lt;/font&gt;&lt;b&gt;&lt;font color="#ee85e2"&gt;@value&lt;/font&gt;&lt;/b&gt;&lt;font color="#348fef"&gt;{&lt;/font&gt;&lt;font color="#d149a6"&gt;VERSION&lt;/font&gt;&lt;font color="#348fef"&gt;}&lt;/font&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#ee85e2"&gt;@finalout&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#35d6e5"&gt;@c @setchapternewpage odd&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#35d6e5"&gt;@c %**end of header&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#ee85e2"&gt;@example&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;&lt;font color="#d149a6"&gt;my example&lt;/font&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#ee85e2"&gt;@end example&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#ee85e2"&gt;@set&lt;/font&gt;&lt;/b&gt;&lt;font color="#d149a6"&gt; myhomepage &lt;/font&gt;&lt;b&gt;&lt;font color="#ee85e2"&gt;@uref&lt;/font&gt;&lt;/b&gt;&lt;font color="#348fef"&gt;{&lt;/font&gt;&lt;font color="#d149a6"&gt;http://www.lorenzobettini.it&lt;/font&gt;&lt;font color="#348fef"&gt;}&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#d149a6"&gt;field names, etc.) by relying on the program &lt;/font&gt;&lt;b&gt;&lt;font color="#ee85e2"&gt;@emph&lt;/font&gt;&lt;/b&gt;&lt;font color="#348fef"&gt;{&lt;/font&gt;&lt;font color="#d149a6"&gt;ctags&lt;/font&gt;&lt;font color="#348fef"&gt;}&lt;/font&gt;&lt;font color="#d149a6"&gt;,&lt;/font&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#ee85e2"&gt;@url&lt;/font&gt;&lt;/b&gt;&lt;font color="#348fef"&gt;{&lt;/font&gt;&lt;font color="#d149a6"&gt;http://ctags.sourceforge.net&lt;/font&gt;&lt;font color="#348fef"&gt;}&lt;/font&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#ee85e2"&gt;@xref&lt;/font&gt;&lt;/b&gt;&lt;font color="#348fef"&gt;{&lt;/font&gt;&lt;font color="#9ef457"&gt;My Long&lt;/font&gt;&lt;br /&gt;&lt;font color="#9ef457"&gt;Reference&lt;/font&gt;&lt;font color="#348fef"&gt;}&lt;/font&gt;&lt;font color="#d149a6"&gt;.&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#ee85e2"&gt;@inforef&lt;/font&gt;&lt;/b&gt;&lt;font color="#348fef"&gt;{&lt;/font&gt;&lt;font color="#9ef457"&gt;Introduction,,source-highlight-info&lt;/font&gt;&lt;font color="#348fef"&gt;}&lt;/font&gt;&lt;font color="#d149a6"&gt;.&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#35d6e5"&gt;@c All the menus can be updated with the EMACS command&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#35d6e5"&gt;@c texinfo-all-menus-update, which is normally bound to C-c C-u C-a.&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;font color="#07f6bf"&gt;@menu&lt;/font&gt;&lt;br /&gt;&lt;font color="#9ef457"&gt;* Introduction::&lt;/font&gt;&lt;font color="#d149a6"&gt;                What's it for?&lt;/font&gt;&lt;br /&gt;&lt;font color="#9ef457"&gt;* Installation::&lt;/font&gt;&lt;font color="#d149a6"&gt;                Download and installation           &lt;/font&gt;&lt;br /&gt;&lt;font color="#9ef457"&gt;* Invoking source-highlight::&lt;/font&gt;&lt;font color="#d149a6"&gt;   How to run &lt;/font&gt;&lt;b&gt;&lt;font color="#ee85e2"&gt;@command&lt;/font&gt;&lt;/b&gt;&lt;font color="#d149a6"&gt;{source-highlight}&lt;/font&gt;&lt;font color="#d149a6"&gt;.&lt;/font&gt;&lt;br /&gt;&lt;font color="#9ef457"&gt;* Language Definitions::&lt;/font&gt;&lt;font color="#d149a6"&gt;        How to define an input language&lt;/font&gt;&lt;br /&gt;&lt;font color="#9ef457"&gt;* Problems::&lt;/font&gt;&lt;font color="#d149a6"&gt;                    Reporting bugs.&lt;/font&gt;&lt;br /&gt;&lt;font color="#9ef457"&gt;* Mailing Lists::&lt;/font&gt;&lt;font color="#d149a6"&gt;               &lt;/font&gt;&lt;br /&gt;&lt;font color="#9ef457"&gt;* Concept Index::&lt;/font&gt;&lt;font color="#d149a6"&gt;               Index of concepts.&lt;/font&gt;&lt;br /&gt;&lt;font color="#07f6bf"&gt;@end menu&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#d149a6"&gt;This is an escaped @@ at symbol.&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#d149a6"&gt;This ``is a string''.&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#ee85e2"&gt;@example&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#ee85e2"&gt;@i&lt;/font&gt;&lt;/b&gt;&lt;font color="#348fef"&gt;{&lt;/font&gt;&lt;font color="#d149a6"&gt;/// read the files &lt;/font&gt;&lt;font color="#348fef"&gt;}&lt;/font&gt;&lt;font color="#d149a6"&gt;FIXME&lt;/font&gt;&lt;b&gt;&lt;font color="#ee85e2"&gt;@i&lt;/font&gt;&lt;/b&gt;&lt;font color="#348fef"&gt;{&lt;/font&gt;&lt;font color="#d149a6"&gt; of a directory &lt;/font&gt;&lt;font color="#348fef"&gt;}&lt;/font&gt;&lt;font color="#d149a6"&gt;@@param&lt;/font&gt;&lt;b&gt;&lt;font color="#ee85e2"&gt;@i&lt;/font&gt;&lt;/b&gt;&lt;font color="#348fef"&gt;{&lt;/font&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;font color="#348fef"&gt;}&lt;/font&gt;&lt;b&gt;&lt;font color="#ee85e2"&gt;@b&lt;/font&gt;&lt;/b&gt;&lt;font color="#348fef"&gt;{&lt;/font&gt;&lt;font color="#d149a6"&gt;&amp;lt;f&lt;/font&gt;&lt;font color="#348fef"&gt;}&lt;/font&gt;&lt;font color="#d149a6"&gt; foo="bar"&lt;/font&gt;&lt;b&gt;&lt;font color="#ee85e2"&gt;@b&lt;/font&gt;&lt;/b&gt;&lt;font color="#348fef"&gt;{&lt;/font&gt;&lt;font color="#d149a6"&gt;&amp;gt;&lt;/font&gt;&lt;font color="#348fef"&gt;}&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#ee85e2"&gt;@b&lt;/font&gt;&lt;/b&gt;&lt;font color="#348fef"&gt;{&lt;/font&gt;&lt;font color="#d149a6"&gt;#include&lt;/font&gt;&lt;font color="#348fef"&gt;}&lt;/font&gt;&lt;font color="#d149a6"&gt; &amp;lt;stddef.h&amp;gt;&lt;/font&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#ee85e2"&gt;@b&lt;/font&gt;&lt;/b&gt;&lt;font color="#348fef"&gt;{&lt;/font&gt;&lt;font color="#d149a6"&gt;#include&lt;/font&gt;&lt;font color="#348fef"&gt;}&lt;/font&gt;&lt;font color="#d149a6"&gt; &amp;lt;stdio.h&amp;gt;&lt;/font&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#ee85e2"&gt;@b&lt;/font&gt;&lt;/b&gt;&lt;font color="#348fef"&gt;{&lt;/font&gt;&lt;font color="#d149a6"&gt;#include&lt;/font&gt;&lt;font color="#348fef"&gt;}&lt;/font&gt;&lt;font color="#d149a6"&gt; &amp;lt;sys/types.h&amp;gt;&lt;/font&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#ee85e2"&gt;@b&lt;/font&gt;&lt;/b&gt;&lt;font color="#348fef"&gt;{&lt;/font&gt;&lt;font color="#d149a6"&gt;#include&lt;/font&gt;&lt;font color="#348fef"&gt;}&lt;/font&gt;&lt;font color="#d149a6"&gt; &amp;lt;dirent.h&amp;gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#d149a6"&gt;int&lt;/font&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#ee85e2"&gt;@b&lt;/font&gt;&lt;/b&gt;&lt;font color="#348fef"&gt;{&lt;/font&gt;&lt;font color="#d149a6"&gt;main&lt;/font&gt;&lt;font color="#348fef"&gt;}&lt;/font&gt;&lt;font color="#d149a6"&gt; (void)&lt;/font&gt;&lt;br /&gt;&lt;font color="#d149a6"&gt;@{&lt;/font&gt;&lt;br /&gt;&lt;font color="#d149a6"&gt;       DIR *dp;&lt;/font&gt;&lt;br /&gt;&lt;font color="#d149a6"&gt;       &lt;/font&gt;&lt;b&gt;&lt;font color="#ee85e2"&gt;@b&lt;/font&gt;&lt;/b&gt;&lt;font color="#348fef"&gt;{&lt;/font&gt;&lt;font color="#d149a6"&gt;struct&lt;/font&gt;&lt;font color="#348fef"&gt;}&lt;/font&gt;&lt;font color="#d149a6"&gt; dirent *ep;&lt;/font&gt;&lt;br /&gt;&lt;font color="#d149a6"&gt;     &lt;/font&gt;&lt;br /&gt;&lt;font color="#d149a6"&gt;       dp = &lt;/font&gt;&lt;b&gt;&lt;font color="#ee85e2"&gt;@b&lt;/font&gt;&lt;/b&gt;&lt;font color="#348fef"&gt;{&lt;/font&gt;&lt;font color="#d149a6"&gt;opendir&lt;/font&gt;&lt;font color="#348fef"&gt;}&lt;/font&gt;&lt;font color="#d149a6"&gt; ("./");&lt;/font&gt;&lt;br /&gt;&lt;font color="#d149a6"&gt;       &lt;/font&gt;&lt;b&gt;&lt;font color="#ee85e2"&gt;@b&lt;/font&gt;&lt;/b&gt;&lt;font color="#348fef"&gt;{&lt;/font&gt;&lt;font color="#d149a6"&gt;if&lt;/font&gt;&lt;font color="#348fef"&gt;}&lt;/font&gt;&lt;font color="#d149a6"&gt; (dp != NULL)&lt;/font&gt;&lt;br /&gt;&lt;font color="#d149a6"&gt;         @{&lt;/font&gt;&lt;br /&gt;&lt;font color="#d149a6"&gt;           &lt;/font&gt;&lt;b&gt;&lt;font color="#ee85e2"&gt;@b&lt;/font&gt;&lt;/b&gt;&lt;font color="#348fef"&gt;{&lt;/font&gt;&lt;font color="#d149a6"&gt;while&lt;/font&gt;&lt;font color="#348fef"&gt;}&lt;/font&gt;&lt;font color="#d149a6"&gt; (ep = &lt;/font&gt;&lt;b&gt;&lt;font color="#ee85e2"&gt;@b&lt;/font&gt;&lt;/b&gt;&lt;font color="#348fef"&gt;{&lt;/font&gt;&lt;font color="#d149a6"&gt;readdir&lt;/font&gt;&lt;font color="#348fef"&gt;}&lt;/font&gt;&lt;font color="#d149a6"&gt; (dp))&lt;/font&gt;&lt;br /&gt;&lt;font color="#d149a6"&gt;             &lt;/font&gt;&lt;b&gt;&lt;font color="#ee85e2"&gt;@b&lt;/font&gt;&lt;/b&gt;&lt;font color="#348fef"&gt;{&lt;/font&gt;&lt;font color="#d149a6"&gt;puts&lt;/font&gt;&lt;font color="#348fef"&gt;}&lt;/font&gt;&lt;font color="#d149a6"&gt; (ep-&amp;gt;d_name);&lt;/font&gt;&lt;br /&gt;&lt;font color="#d149a6"&gt;           (void) &lt;/font&gt;&lt;b&gt;&lt;font color="#ee85e2"&gt;@b&lt;/font&gt;&lt;/b&gt;&lt;font color="#348fef"&gt;{&lt;/font&gt;&lt;font color="#d149a6"&gt;closedir&lt;/font&gt;&lt;font color="#348fef"&gt;}&lt;/font&gt;&lt;font color="#d149a6"&gt; (dp);&lt;/font&gt;&lt;br /&gt;&lt;font color="#d149a6"&gt;         @}&lt;/font&gt;&lt;br /&gt;&lt;font color="#d149a6"&gt;       &lt;/font&gt;&lt;b&gt;&lt;font color="#ee85e2"&gt;@b&lt;/font&gt;&lt;/b&gt;&lt;font color="#348fef"&gt;{&lt;/font&gt;&lt;font color="#d149a6"&gt;else&lt;/font&gt;&lt;font color="#348fef"&gt;}&lt;/font&gt;&lt;br /&gt;&lt;font color="#d149a6"&gt;         &lt;/font&gt;&lt;b&gt;&lt;font color="#ee85e2"&gt;@b&lt;/font&gt;&lt;/b&gt;&lt;font color="#348fef"&gt;{&lt;/font&gt;&lt;font color="#d149a6"&gt;perror&lt;/font&gt;&lt;font color="#348fef"&gt;}&lt;/font&gt;&lt;font color="#d149a6"&gt; ("Couldn't open the directory");&lt;/font&gt;&lt;br /&gt;&lt;font color="#d149a6"&gt;     &lt;/font&gt;&lt;br /&gt;&lt;font color="#d149a6"&gt;       &lt;/font&gt;&lt;b&gt;&lt;font color="#ee85e2"&gt;@b&lt;/font&gt;&lt;/b&gt;&lt;font color="#348fef"&gt;{&lt;/font&gt;&lt;font color="#d149a6"&gt;return&lt;/font&gt;&lt;font color="#348fef"&gt;}&lt;/font&gt;&lt;font color="#d149a6"&gt; 0;&lt;/font&gt;&lt;br /&gt;&lt;font color="#d149a6"&gt;@}&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#ee85e2"&gt;@end example&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/tt&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/table&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;haskell&lt;/span&gt;&lt;table  BGCOLOR="#000000" NOSAVE &gt;&lt;tr NOSAVE&gt;&lt;td NOSAVE&gt;&lt;pre&gt;&lt;tt&gt;&lt;i&gt;&lt;font color="#35d6e5"&gt;-- A test snippet based on&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#35d6e5"&gt;-- http://google-code-prettify.googlecode.com/svn/trunk/tests/prettify_test.html&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#35d6e5"&gt;--&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#35d6e5"&gt;-- A comment&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#aadd8b"&gt;These&lt;/font&gt;&lt;/b&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;font color="#348fef"&gt;--&amp;gt;&lt;/font&gt;&lt;font color="#d149a6"&gt; are &lt;/font&gt;&lt;font color="#348fef"&gt;--|&lt;/font&gt;&lt;font color="#d149a6"&gt; not &lt;/font&gt;&lt;font color="#348fef"&gt;|--&lt;/font&gt;&lt;font color="#d149a6"&gt; comments&lt;/font&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#35d6e5"&gt;--but this is a comment again&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#ee85e2"&gt;module&lt;/font&gt;&lt;/b&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;b&gt;&lt;font color="#aadd8b"&gt;Foo&lt;/font&gt;&lt;/b&gt;&lt;font color="#348fef"&gt;(&lt;/font&gt;&lt;font color="#d149a6"&gt;bar&lt;/font&gt;&lt;font color="#348fef"&gt;)&lt;/font&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;b&gt;&lt;font color="#ee85e2"&gt;where&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#ee85e2"&gt;import&lt;/font&gt;&lt;/b&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;b&gt;&lt;font color="#aadd8b"&gt;Blah&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#ee85e2"&gt;import&lt;/font&gt;&lt;/b&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;b&gt;&lt;font color="#aadd8b"&gt;BlahBlah&lt;/font&gt;&lt;/b&gt;&lt;font color="#348fef"&gt;(&lt;/font&gt;&lt;font color="#d149a6"&gt;blah&lt;/font&gt;&lt;font color="#348fef"&gt;)&lt;/font&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#ee85e2"&gt;import&lt;/font&gt;&lt;/b&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;b&gt;&lt;font color="#aadd8b"&gt;Monads&lt;/font&gt;&lt;/b&gt;&lt;font color="#348fef"&gt;(&lt;/font&gt;&lt;b&gt;&lt;font color="#aadd8b"&gt;Exception&lt;/font&gt;&lt;/b&gt;&lt;font color="#348fef"&gt;(..),&lt;/font&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;b&gt;&lt;font color="#aadd8b"&gt;FIO&lt;/font&gt;&lt;/b&gt;&lt;font color="#348fef"&gt;(..),&lt;/font&gt;&lt;font color="#d149a6"&gt;unFIO&lt;/font&gt;&lt;font color="#348fef"&gt;,&lt;/font&gt;&lt;font color="#d149a6"&gt;handle&lt;/font&gt;&lt;font color="#348fef"&gt;,&lt;/font&gt;&lt;font color="#d149a6"&gt;runFIO&lt;/font&gt;&lt;font color="#348fef"&gt;,&lt;/font&gt;&lt;font color="#d149a6"&gt;fixFIO&lt;/font&gt;&lt;font color="#348fef"&gt;,&lt;/font&gt;&lt;font color="#d149a6"&gt;fio&lt;/font&gt;&lt;font color="#348fef"&gt;,&lt;/font&gt;&lt;br /&gt;&lt;font color="#d149a6"&gt;              write&lt;/font&gt;&lt;font color="#348fef"&gt;,&lt;/font&gt;&lt;font color="#d149a6"&gt;writeln&lt;/font&gt;&lt;font color="#348fef"&gt;,&lt;/font&gt;&lt;b&gt;&lt;font color="#aadd8b"&gt;HasNext&lt;/font&gt;&lt;/b&gt;&lt;font color="#348fef"&gt;(..),&lt;/font&gt;&lt;b&gt;&lt;font color="#aadd8b"&gt;HasOutput&lt;/font&gt;&lt;/b&gt;&lt;font color="#348fef"&gt;(..))&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#35d6e5"&gt;{- nested comments&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#35d6e5"&gt; - should {- just -}  work -}&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#ee85e2"&gt;instance&lt;/font&gt;&lt;/b&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;b&gt;&lt;font color="#aadd8b"&gt;Thingy&lt;/font&gt;&lt;/b&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;b&gt;&lt;font color="#aadd8b"&gt;Foo&lt;/font&gt;&lt;/b&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;b&gt;&lt;font color="#ee85e2"&gt;where&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;&lt;font color="#d149a6"&gt;  a &lt;/font&gt;&lt;font color="#348fef"&gt;=&lt;/font&gt;&lt;font color="#d149a6"&gt; b&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#ee85e2"&gt;data&lt;/font&gt;&lt;/b&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;b&gt;&lt;font color="#aadd8b"&gt;Foo&lt;/font&gt;&lt;/b&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;font color="#348fef"&gt;::&lt;/font&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;font color="#348fef"&gt;(*&lt;/font&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;font color="#348fef"&gt;-&amp;gt;&lt;/font&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;font color="#348fef"&gt;*&lt;/font&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;font color="#348fef"&gt;-&amp;gt;&lt;/font&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;font color="#348fef"&gt;*)&lt;/font&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;font color="#348fef"&gt;-&amp;gt;&lt;/font&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;font color="#348fef"&gt;*&lt;/font&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;font color="#348fef"&gt;&amp;gt;&lt;/font&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;font color="#348fef"&gt;*&lt;/font&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;font color="#348fef"&gt;-&amp;gt;&lt;/font&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;font color="#348fef"&gt;*&lt;/font&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;b&gt;&lt;font color="#ee85e2"&gt;where&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;&lt;font color="#d149a6"&gt;  &lt;/font&gt;&lt;b&gt;&lt;font color="#aadd8b"&gt;Nil&lt;/font&gt;&lt;/b&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;font color="#348fef"&gt;::&lt;/font&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;b&gt;&lt;font color="#aadd8b"&gt;Foo&lt;/font&gt;&lt;/b&gt;&lt;font color="#d149a6"&gt; a b c&lt;/font&gt;&lt;br /&gt;&lt;font color="#d149a6"&gt;  &lt;/font&gt;&lt;b&gt;&lt;font color="#aadd8b"&gt;Cons&lt;/font&gt;&lt;/b&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;font color="#348fef"&gt;::&lt;/font&gt;&lt;font color="#d149a6"&gt; a b c &lt;/font&gt;&lt;font color="#348fef"&gt;-&amp;gt;&lt;/font&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;b&gt;&lt;font color="#aadd8b"&gt;Foo&lt;/font&gt;&lt;/b&gt;&lt;font color="#d149a6"&gt; abc &lt;/font&gt;&lt;font color="#348fef"&gt;-&amp;gt;&lt;/font&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;b&gt;&lt;font color="#aadd8b"&gt;Foo&lt;/font&gt;&lt;/b&gt;&lt;font color="#d149a6"&gt; a b c&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#d149a6"&gt;str &lt;/font&gt;&lt;font color="#348fef"&gt;=&lt;/font&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;font color="#9ef457"&gt;"Foo\\Bar"&lt;/font&gt;&lt;br /&gt;&lt;font color="#d149a6"&gt;chars &lt;/font&gt;&lt;font color="#348fef"&gt;=&lt;/font&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;font color="#348fef"&gt;[&lt;/font&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;font color="#9ef457"&gt;'x'&lt;/font&gt;&lt;font color="#348fef"&gt;,&lt;/font&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;font color="#9ef457"&gt;'\''&lt;/font&gt;&lt;font color="#348fef"&gt;,&lt;/font&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;font color="#9ef457"&gt;'\\'&lt;/font&gt;&lt;font color="#348fef"&gt;,&lt;/font&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;font color="#9ef457"&gt;'\"'&lt;/font&gt;&lt;font color="#348fef"&gt;,&lt;/font&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;font color="#9ef457"&gt;'\120'&lt;/font&gt;&lt;font color="#348fef"&gt;,&lt;/font&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;font color="#9ef457"&gt;'\o100'&lt;/font&gt;&lt;font color="#348fef"&gt;,&lt;/font&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;font color="#9ef457"&gt;'\xbeef'&lt;/font&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;font color="#348fef"&gt;]&lt;/font&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;i&gt;&lt;font color="#35d6e5"&gt;-- Escapes too&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;font color="#d149a6"&gt;Not&lt;/font&gt;&lt;font color="#348fef"&gt;.&lt;/font&gt;&lt;font color="#d149a6"&gt;A&lt;/font&gt;&lt;font color="#348fef"&gt;.&lt;/font&gt;&lt;b&gt;&lt;font color="#aadd8b"&gt;Char&lt;/font&gt;&lt;/b&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;font color="#348fef"&gt;=&lt;/font&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;font color="#d149a6"&gt;'too long'&lt;/font&gt;&lt;font color="#d149a6"&gt;  &lt;/font&gt;&lt;i&gt;&lt;font color="#35d6e5"&gt;-- Don't barf.  Show that 't is a lexical error.&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#348fef"&gt;(&lt;/font&gt;&lt;font color="#d149a6"&gt;ident&lt;/font&gt;&lt;font color="#348fef"&gt;,&lt;/font&gt;&lt;font color="#d149a6"&gt; ident&lt;/font&gt;&lt;font color="#d149a6"&gt;', Fo''o.b'&lt;/font&gt;&lt;font color="#d149a6"&gt;ar&lt;/font&gt;&lt;font color="#348fef"&gt;)&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#348fef"&gt;(&lt;/font&gt;&lt;font color="#ffffff"&gt;0&lt;/font&gt;&lt;font color="#348fef"&gt;,&lt;/font&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;font color="#ffffff"&gt;12&lt;/font&gt;&lt;font color="#348fef"&gt;,&lt;/font&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;font color="#ffffff"&gt;0x45&lt;/font&gt;&lt;font color="#348fef"&gt;,&lt;/font&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;font color="#ffffff"&gt;0xA7&lt;/font&gt;&lt;font color="#348fef"&gt;,&lt;/font&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;font color="#ffffff"&gt;0o177&lt;/font&gt;&lt;font color="#348fef"&gt;,&lt;/font&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;font color="#ffffff"&gt;0O377&lt;/font&gt;&lt;font color="#348fef"&gt;,&lt;/font&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;font color="#ffffff"&gt;0.1&lt;/font&gt;&lt;font color="#348fef"&gt;,&lt;/font&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;font color="#ffffff"&gt;1.0&lt;/font&gt;&lt;font color="#348fef"&gt;,&lt;/font&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;font color="#ffffff"&gt;1e3&lt;/font&gt;&lt;font color="#348fef"&gt;,&lt;/font&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;font color="#ffffff"&gt;0.5E-3&lt;/font&gt;&lt;font color="#348fef"&gt;,&lt;/font&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;font color="#ffffff"&gt;1.0E+45&lt;/font&gt;&lt;font color="#348fef"&gt;)&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#348fef"&gt;[&lt;/font&gt;&lt;font color="#ffffff"&gt;1&lt;/font&gt;&lt;font color="#348fef"&gt;,&lt;/font&gt;&lt;font color="#ffffff"&gt;2&lt;/font&gt;&lt;font color="#348fef"&gt;..&lt;/font&gt;&lt;font color="#ffffff"&gt;10&lt;/font&gt;&lt;font color="#348fef"&gt;]&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#348fef"&gt;(#)&lt;/font&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;font color="#348fef"&gt;=&lt;/font&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;font color="#348fef"&gt;\&lt;/font&gt;&lt;font color="#d149a6"&gt;x y &lt;/font&gt;&lt;font color="#348fef"&gt;-&amp;gt;&lt;/font&gt;&lt;font color="#d149a6"&gt; s x y&lt;/font&gt;&lt;br /&gt;&lt;font color="#d149a6"&gt;  &lt;/font&gt;&lt;b&gt;&lt;font color="#ee85e2"&gt;where&lt;/font&gt;&lt;/b&gt;&lt;font color="#d149a6"&gt; s x y &lt;/font&gt;&lt;font color="#348fef"&gt;=&lt;/font&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;font color="#348fef"&gt;(&lt;/font&gt;&lt;font color="#d149a6"&gt;x&lt;/font&gt;&lt;font color="#348fef"&gt;+&lt;/font&gt;&lt;font color="#d149a6"&gt;y&lt;/font&gt;&lt;font color="#348fef"&gt;)&lt;/font&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;font color="#348fef"&gt;`&lt;/font&gt;&lt;font color="#d149a6"&gt;mod&lt;/font&gt;&lt;font color="#348fef"&gt;`&lt;/font&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;font color="#ffffff"&gt;13&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#d149a6"&gt;bar &lt;/font&gt;&lt;font color="#348fef"&gt;(&lt;/font&gt;&lt;font color="#d149a6"&gt;x&lt;/font&gt;&lt;font color="#348fef"&gt;:&lt;/font&gt;&lt;b&gt;&lt;font color="#ee85e2"&gt;_&lt;/font&gt;&lt;/b&gt;&lt;font color="#348fef"&gt;)&lt;/font&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;font color="#348fef"&gt;=&lt;/font&gt;&lt;font color="#d149a6"&gt; putStrLn x&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#d149a6"&gt;main &lt;/font&gt;&lt;font color="#348fef"&gt;=&lt;/font&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;b&gt;&lt;font color="#ee85e2"&gt;do&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;&lt;font color="#d149a6"&gt;  &lt;/font&gt;&lt;b&gt;&lt;font color="#ee85e2"&gt;let&lt;/font&gt;&lt;/b&gt;&lt;font color="#d149a6"&gt; foo x &lt;/font&gt;&lt;font color="#348fef"&gt;=&lt;/font&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;b&gt;&lt;font color="#ee85e2"&gt;do&lt;/font&gt;&lt;/b&gt;&lt;font color="#d149a6"&gt; &lt;/font&gt;&lt;font color="#348fef"&gt;{&lt;/font&gt;&lt;font color="#d149a6"&gt; spam &lt;/font&gt;&lt;font color="#348fef"&gt;$&lt;/font&gt;&lt;font color="#d149a6"&gt; eggs x &lt;/font&gt;&lt;font color="#348fef"&gt;}&lt;/font&gt;&lt;br /&gt;&lt;font color="#d149a6"&gt;  foo &lt;/font&gt;&lt;font color="#348fef"&gt;&amp;gt;&amp;gt;=&lt;/font&gt;&lt;font color="#d149a6"&gt; bar&lt;/font&gt;&lt;br /&gt;&lt;/tt&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35239346-753184436253691652?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/753184436253691652/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=753184436253691652' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/753184436253691652'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/753184436253691652'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2009/09/gnu-source-highlight-311.html' title='GNU Source-Highlight 3.1.1'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-3019601151091565616</id><published>2009-08-07T18:48:00.011+02:00</published><updated>2009-12-06T14:32:31.696+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='modem'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='jaunty'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Huawei E1692 in Linux Ubuntu Jaunty</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;a href="http://tronprog.blogspot.com/2009/12/huawei-e1692-in-linux-kubuntu-910.html"&gt;&lt;span style="font-weight: bold;"&gt;See the update post for Kubuntu Karmic 9.10&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_UtmZWQ8OFEM/Snxc1UUykZI/AAAAAAAABqk/uuKWvWO6rb8/s1600-h/huawei.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 57px; height: 189px;" src="http://2.bp.blogspot.com/_UtmZWQ8OFEM/Snxc1UUykZI/AAAAAAAABqk/uuKWvWO6rb8/s320/huawei.jpg" alt="" id="BLOGGER_PHOTO_ID_5367266926977520018" border="0" /&gt;&lt;/a&gt;I've just tried this Internet device, HUAWEI E1692 with Linux Ubuntu Jaunty, and basically everything worked out fine smoothly. The Internet connection can be established either with the NetworkManager Gnome applet, or using the application that comes with the device. Linux is officially supported with the provided drivers, and basically the installation works fine, thought the instructions provided are not completely correct...&lt;br /&gt;&lt;br /&gt;As for the installation, you need to insert the usb device, and the first time, it is recognized as a USB memory storage; you can then access the data stored in the device, where you find a folder with the drivers and the installation script.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_UtmZWQ8OFEM/Snxdp_0LNaI/AAAAAAAABqs/B3Du0GHbiEM/s1600-h/huawei1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 207px; height: 310px;" src="http://1.bp.blogspot.com/_UtmZWQ8OFEM/Snxdp_0LNaI/AAAAAAAABqs/B3Du0GHbiEM/s400/huawei1.png" alt="" id="BLOGGER_PHOTO_ID_5367267832005080482" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_UtmZWQ8OFEM/Snxd1ClbwHI/AAAAAAAABq0/MIdxdyabbLk/s1600-h/huawei2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 299px;" src="http://2.bp.blogspot.com/_UtmZWQ8OFEM/Snxd1ClbwHI/AAAAAAAABq0/MIdxdyabbLk/s400/huawei2.png" alt="" id="BLOGGER_PHOTO_ID_5367268021727117426" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Since the installation requires root privileges it is required to run the install script in the Linux folder using the terminal:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;cd /media/Alice\ MOBILE\ HW/Linux&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;&lt;br /&gt;sudo ./install&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;As suggested in &lt;a href="http://forum.ubuntu-it.org/index.php/topic,282786.0.html"&gt;this thread&lt;/a&gt;, it is better to specify the installation path, even though you're OK with the default one, by simply inserting the full path. The installation should then succeed&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_UtmZWQ8OFEM/Snxe9JRybjI/AAAAAAAABq8/sTnX42JRh5E/s1600-h/huawei4.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 278px;" src="http://1.bp.blogspot.com/_UtmZWQ8OFEM/Snxe9JRybjI/AAAAAAAABq8/sTnX42JRh5E/s400/huawei4.png" alt="" id="BLOGGER_PHOTO_ID_5367269260474347058" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Now, you should be able to setup a connection with NetworkManager applet (actually &lt;a href="http://tronprog.blogspot.com/2009/04/gprs-connection-in-ubuntu-jaunty.html"&gt;I had another connection setup for the same operator&lt;/a&gt;, thus I could simply reused that one).&lt;br /&gt;&lt;br /&gt;Now, an icon should be put in your desktop to use the application that ships with the device; however, I couldn't connect using that application link, probably because the application requires root privileges... but it works fine if I start it from a terminal&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;cd /usr/local/Alice_MOBILE_E1692/&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;&lt;br /&gt;sudo ./MobilePartner&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_UtmZWQ8OFEM/Snxg29o8MkI/AAAAAAAABrE/Am_x6MmyjAw/s1600-h/huawei6.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 289px;" src="http://2.bp.blogspot.com/_UtmZWQ8OFEM/Snxg29o8MkI/AAAAAAAABrE/Am_x6MmyjAw/s400/huawei6.png" alt="" id="BLOGGER_PHOTO_ID_5367271353294271042" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;and then you should be able to connect&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_UtmZWQ8OFEM/SnxhLL5i-bI/AAAAAAAABrM/_E2LsvfZLcI/s1600-h/huawei7.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 289px;" src="http://1.bp.blogspot.com/_UtmZWQ8OFEM/SnxhLL5i-bI/AAAAAAAABrM/_E2LsvfZLcI/s400/huawei7.png" alt="" id="BLOGGER_PHOTO_ID_5367271700719401394" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The nice thing of this application is that you can keep track of your traffic&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_UtmZWQ8OFEM/SnxhdbSTDBI/AAAAAAAABrU/bA0YcHeiACg/s1600-h/huawei8.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 289px;" src="http://3.bp.blogspot.com/_UtmZWQ8OFEM/SnxhdbSTDBI/AAAAAAAABrU/bA0YcHeiACg/s400/huawei8.png" alt="" id="BLOGGER_PHOTO_ID_5367272014087392274" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;and you can send SMSs and access your addressbook&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_UtmZWQ8OFEM/Snxhv2WqpbI/AAAAAAAABrc/-O9lnohNpaQ/s1600-h/huawei9.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 289px;" src="http://4.bp.blogspot.com/_UtmZWQ8OFEM/Snxhv2WqpbI/AAAAAAAABrc/-O9lnohNpaQ/s400/huawei9.png" alt="" id="BLOGGER_PHOTO_ID_5367272330591118770" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35239346-3019601151091565616?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/3019601151091565616/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=3019601151091565616' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/3019601151091565616'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/3019601151091565616'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2009/08/huawei-e1692-in-linux-ubuntu-jaunty.html' title='Huawei E1692 in Linux Ubuntu Jaunty'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_UtmZWQ8OFEM/Snxc1UUykZI/AAAAAAAABqk/uuKWvWO6rb8/s72-c/huawei.jpg' height='72' width='72'/><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-3030616421224530227</id><published>2009-07-16T09:32:00.006+02:00</published><updated>2009-07-16T09:47:44.025+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='qt'/><category scheme='http://www.blogger.com/atom/ns#' term='source-highlight-qt'/><category scheme='http://www.blogger.com/atom/ns#' term='source-highlight'/><title type='text'>Source-highlight-qt: A library for highlighting Qt documents using GNU Source-highlight</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_UtmZWQ8OFEM/Sl7ZNvI90PI/AAAAAAAABqE/rFEQ5fUYAoA/s1600-h/qeditexample1.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 181px; height: 200px;" src="http://4.bp.blogspot.com/_UtmZWQ8OFEM/Sl7ZNvI90PI/AAAAAAAABqE/rFEQ5fUYAoA/s200/qeditexample1.png" alt="" id="BLOGGER_PHOTO_ID_5358959436633067762" border="0" /&gt;&lt;/a&gt;A few days ago I released a new software that uses the &lt;a href="http://tronprog.blogspot.com/2009/05/gnu-source-higlight-30-now-with-library.html"&gt;new library&lt;/a&gt; provided by GNU Source-highlight: &lt;a style="font-weight: bold;" href="http://srchiliteqt.sourceforge.net/"&gt;Source-highlight-qt&lt;/a&gt;, "a library for performing syntax highlighting in Qt documents by relying on GNU Source-Highlight library".&lt;br /&gt;&lt;br /&gt;This library provides an implementation of the qt abstract class &lt;a href="http://doc.trolltech.com/4.5/qsyntaxhighlighter.html"&gt;&lt;code&gt;QSyntaxHighlighter&lt;/code&gt;&lt;/a&gt; class, and it deals both with Qt3 and Qt4 (you will need to build a separate version of the library for the two different qt frameworks). Please note, the Qt3 version has less features and it is there only for old qt applications; furthermore, &lt;code&gt;QSyntaxHighlighter&lt;/code&gt; class in Qt3 has some design problems which make it quite inefficient to use.&lt;br /&gt;&lt;br /&gt;The library can be downloaded from the sourceforge site using this link: &lt;a href="http://sourceforge.net/projects/srchiliteqt/files/"&gt;http://sourceforge.net/projects/srchiliteqt/files&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;For standard usage, it's just a matter of executing this code (you can pass the language syntax, i.e., the source-highlight language definition file, to the init method):&lt;br /&gt;&lt;!-- Generator: GNU source-highlight 3.1 by Lorenzo Bettini http://www.lorenzobettini.it http://www.gnu.org/software/src-highlite --&gt; &lt;pre&gt;&lt;tt&gt;&lt;span style="color:#008080;"&gt;QTextEdit&lt;/span&gt; &lt;span style="color:#990000;"&gt;*&lt;/span&gt;editor &lt;span style="color:#990000;"&gt;=&lt;/span&gt; &lt;b&gt;&lt;span style="color:#0000ff;"&gt;new&lt;/span&gt;&lt;/b&gt; QTextEdit&lt;span style="color:#990000;"&gt;;&lt;/span&gt;&lt;br /&gt;srchiliteqt&lt;span style="color:#990000;"&gt;::&lt;/span&gt;&lt;span style="color:#008080;"&gt;Qt4SyntaxHighlighter&lt;/span&gt; &lt;span style="color:#990000;"&gt;*&lt;/span&gt;highlighter &lt;span style="color:#990000;"&gt;=&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="color:#0000ff;"&gt;     new&lt;/span&gt;&lt;/b&gt; srchiliteqt&lt;span style="color:#990000;"&gt;::&lt;/span&gt;&lt;b&gt;&lt;span style="color:#000000;"&gt;Qt4SyntaxHighlighter&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#990000;"&gt;(&lt;/span&gt;editor&lt;span style="color:#990000;"&gt;-&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="color:#000000;"&gt;document&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#990000;"&gt;());&lt;/span&gt;&lt;br /&gt;highlighter&lt;span style="color:#990000;"&gt;-&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="color:#000000;"&gt;init&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#990000;"&gt;(&lt;/span&gt;&lt;span style="color:#ff0000;"&gt;"java.lang"&lt;/span&gt;&lt;span style="color:#990000;"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;/tt&gt;&lt;/pre&gt; We also suggest to take a look at the example program &lt;span style="font-weight: bold;"&gt;qeditexample&lt;/span&gt;, for some use cases of the library. Please notice that this qeditexample program is not intended to be used as an editor for production, it's just to show how to use source-highlight-qt library (and it uses the qt4 version).&lt;br /&gt;&lt;br /&gt;This is a screenshot of the program qeditexample, editing a C file; basically most of the code is taken directly from the library.  For instance, it provides the combo boxes for selecting the highlighting language and the output style (and they be connected to the editor, so that all the changes are automatically applied):&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_UtmZWQ8OFEM/Sl7aRENmatI/AAAAAAAABqM/J3oT_-vnfiI/s1600-h/qeditexample.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 356px;" src="http://3.bp.blogspot.com/_UtmZWQ8OFEM/Sl7aRENmatI/AAAAAAAABqM/J3oT_-vnfiI/s400/qeditexample.png" alt="" id="BLOGGER_PHOTO_ID_5358960593340885714" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;This is another screenshot, where we're editing a C++ file, with a different style&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_UtmZWQ8OFEM/Sl7akCuOO2I/AAAAAAAABqU/oKuUugJYlC8/s1600-h/qeditexample2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 356px;" src="http://3.bp.blogspot.com/_UtmZWQ8OFEM/Sl7akCuOO2I/AAAAAAAABqU/oKuUugJYlC8/s400/qeditexample2.png" alt="" id="BLOGGER_PHOTO_ID_5358960919358356322" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The library also provides a dialog to customize the output style:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_UtmZWQ8OFEM/Sl7ax27Py9I/AAAAAAAABqc/qopOPxf2KhQ/s1600-h/colordialog.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 310px;" src="http://3.bp.blogspot.com/_UtmZWQ8OFEM/Sl7ax27Py9I/AAAAAAAABqc/qopOPxf2KhQ/s400/colordialog.png" alt="" id="BLOGGER_PHOTO_ID_5358961156709927890" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Happy Qt Highlighting! :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35239346-3030616421224530227?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/3030616421224530227/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=3030616421224530227' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/3030616421224530227'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/3030616421224530227'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2009/07/source-highlight-qt-library-for.html' title='Source-highlight-qt: A library for highlighting Qt documents using GNU Source-highlight'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_UtmZWQ8OFEM/Sl7ZNvI90PI/AAAAAAAABqE/rFEQ5fUYAoA/s72-c/qeditexample1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-1186609224537022758</id><published>2009-06-11T20:58:00.003+02:00</published><updated>2009-06-11T21:07:44.503+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='source-highlight'/><title type='text'>Php-source-highlight</title><content type='html'>Just after one week I released &lt;a href="http://tronprog.blogspot.com/2009/05/gnu-source-higlight-30-now-with-library.html"&gt;version 3.0 of source-highlight with the C++ library&lt;/a&gt;, I got an email from &lt;a href="http://dev-loki.blogspot.com/"&gt;Pascal Bleser&lt;/a&gt;, telling me that he created a php extension using the library, for highlighting code from php without relying on CGI scripts! You can find its plugin extension here: &lt;a href="http://code.google.com/p/php-source-highlight/"&gt;http://code.google.com/p/php-source-highlight&lt;/a&gt;. I took a quick look at his code and it's really simple and clean, hopefully this also means that the library of source-highlight can be smooth to use :-).&lt;br /&gt;&lt;br /&gt;You can also might want to take a look at &lt;a href="http://dev-loki.blogspot.com/2009/05/php-source-highlight.html"&gt;his blog post&lt;/a&gt;!&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_UtmZWQ8OFEM/SjFV6YIeRvI/AAAAAAAABek/9ymnrQpn1l4/s1600-h/snapshot1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 361px;" src="http://3.bp.blogspot.com/_UtmZWQ8OFEM/SjFV6YIeRvI/AAAAAAAABek/9ymnrQpn1l4/s400/snapshot1.png" alt="" id="BLOGGER_PHOTO_ID_5346148694064252658" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35239346-1186609224537022758?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/1186609224537022758/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=1186609224537022758' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/1186609224537022758'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/1186609224537022758'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2009/06/php-source-highlight.html' title='Php-source-highlight'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_UtmZWQ8OFEM/SjFV6YIeRvI/AAAAAAAABek/9ymnrQpn1l4/s72-c/snapshot1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-4665516822808170019</id><published>2009-06-06T17:02:00.017+02:00</published><updated>2009-06-06T18:24:52.801+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='autotools'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorials'/><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><title type='text'>Tutorial: using Autotools with Eclipse (and Linux Tools Project)</title><content type='html'>As a GNU maintainer, I've always been using autotools (i.e., automake, autoconf, etc.), and I must admit I still haven't found anything such powerful. Now, I started using the plugins of the &lt;a href="http://www.eclipse.org/linuxtools/"&gt;Linux Tool Project&lt;/a&gt; which seem to have improved a lot! They provide plugins for ChangeLog, Valgrind, and in particular for autotools based projects. Since I haven't seen any tutorial for using the autotools plugin, I thought I could write one; well, it's not that difficult to use the autotools plugin, but I hope it can help :-)&lt;br /&gt;&lt;br /&gt;Of course, first of all, you need to install the autotools plugin, and I personally prefer the update site method, using &lt;b&gt;http://download.eclipse.org/technology/linuxtools/update&lt;/b&gt;. Remember that the linux tools are based on &lt;a href="http://www.eclipse.org/cdt/"&gt;CDT plugin&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;For this tutorial, we will use an already autotools based project (for the moment, the autotools plugin can create an autotools based project, but without any templates). We will use the &lt;a href="http://www.gnu.org/software/hello/"&gt;GNU Hello program&lt;/a&gt;, so you can download the last version from the web site. Then you can untar the contents in a directory (say tmp).&lt;br /&gt;&lt;br /&gt;Now, it's time to create a new project in eclipse, in particular, a GNU C Autotools Project (or a C++ project if you're project uses C++):&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_UtmZWQ8OFEM/SiqJQErwC-I/AAAAAAAABcs/7A89_UIG9mY/s1600-h/autotools1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 372px;" src="http://1.bp.blogspot.com/_UtmZWQ8OFEM/SiqJQErwC-I/AAAAAAAABcs/7A89_UIG9mY/s400/autotools1.png" alt="" id="BLOGGER_PHOTO_ID_5344234817056672738" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Let's call it "hello" (and then you can select your location and accept the other defaults). You will now have an empty autotools based C project.&lt;br /&gt;&lt;br /&gt;Now, let's import the hello package from the directory where we had untarred it, by using "import file system":&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_UtmZWQ8OFEM/SiqKbUXZIwI/AAAAAAAABc8/ezO8flAQibc/s1600-h/autotools3.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 364px;" src="http://3.bp.blogspot.com/_UtmZWQ8OFEM/SiqKbUXZIwI/AAAAAAAABc8/ezO8flAQibc/s400/autotools3.png" alt="" id="BLOGGER_PHOTO_ID_5344236109756441346" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_UtmZWQ8OFEM/SiqKW6X5MtI/AAAAAAAABc0/0lXW83xmZZM/s1600-h/autotools2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 359px;" src="http://1.bp.blogspot.com/_UtmZWQ8OFEM/SiqKW6X5MtI/AAAAAAAABc0/0lXW83xmZZM/s400/autotools2.png" alt="" id="BLOGGER_PHOTO_ID_5344236034059743954" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Now, the hello project is populated with the package of GNU Hello; notice that configure.ac, Makefile.am and .m4 files are handled by the autotools plugins with syntax highlighting, outline, mouse over functionalities, etc.:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_UtmZWQ8OFEM/SiqLSLt9W8I/AAAAAAAABdE/BWfiDGnMyrc/s1600-h/autotools4.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 250px;" src="http://2.bp.blogspot.com/_UtmZWQ8OFEM/SiqLSLt9W8I/AAAAAAAABdE/BWfiDGnMyrc/s400/autotools4.png" alt="" id="BLOGGER_PHOTO_ID_5344237052327975874" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Now, BEFORE building the project for the first time, let's take a look at the properties of the project, where you can see we now have an autotools part, where you can customize the autotools versions you might want to use (I take the defaults):&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_UtmZWQ8OFEM/SiqLv9Mg56I/AAAAAAAABdM/zVO2h1LVjFc/s1600-h/autotools5.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 285px;" src="http://4.bp.blogspot.com/_UtmZWQ8OFEM/SiqLv9Mg56I/AAAAAAAABdM/zVO2h1LVjFc/s400/autotools5.png" alt="" id="BLOGGER_PHOTO_ID_5344237563825678242" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;In particular, from "C/C++ Build - Settings" you can configure the arguments passed to the tools, and the build directory (it is often advised to build a package in a different directory, so that you can configure different builds; by default, the build directory is "build", and I'd leave this that way):&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_UtmZWQ8OFEM/SiqM3XkRIJI/AAAAAAAABdU/hG1sFbxOuHI/s1600-h/autotools6.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 289px;" src="http://3.bp.blogspot.com/_UtmZWQ8OFEM/SiqM3XkRIJI/AAAAAAAABdU/hG1sFbxOuHI/s400/autotools6.png" alt="" id="BLOGGER_PHOTO_ID_5344238790675341458" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Now, let's change some options! For instance, the configure's --prefix option:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_UtmZWQ8OFEM/SiqNUO4JhEI/AAAAAAAABdc/HmVtXv8KCgg/s1600-h/autotools7.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 289px;" src="http://2.bp.blogspot.com/_UtmZWQ8OFEM/SiqNUO4JhEI/AAAAAAAABdc/HmVtXv8KCgg/s400/autotools7.png" alt="" id="BLOGGER_PHOTO_ID_5344239286559016002" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The suffix of the installed program&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_UtmZWQ8OFEM/SiqNo_Kor8I/AAAAAAAABdk/YW21NnSuH5U/s1600-h/autotools8.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 289px;" src="http://4.bp.blogspot.com/_UtmZWQ8OFEM/SiqNo_Kor8I/AAAAAAAABdk/YW21NnSuH5U/s400/autotools8.png" alt="" id="BLOGGER_PHOTO_ID_5344239643118841794" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Since we build the program for development and for debugging, let's make sure to turn off C compiler optimizations (which make debugging a pain):&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_UtmZWQ8OFEM/SiqOJYCiJ7I/AAAAAAAABds/7MbI3b-LfWo/s1600-h/autotools9.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 274px;" src="http://4.bp.blogspot.com/_UtmZWQ8OFEM/SiqOJYCiJ7I/AAAAAAAABds/7MbI3b-LfWo/s400/autotools9.png" alt="" id="BLOGGER_PHOTO_ID_5344240199551559602" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;You can then check that debugging is already turned on, as also '-Wall' option (to report all warnings).&lt;br /&gt;&lt;br /&gt;Since we downloaded the source package of hello, produced by 'make dist', this provides all the scripts generated by the autotools in order to run 'configure &amp;amp;&amp;amp; make'. However, if you get a program from the CVS, it is likely that you need to bootstrap autotools. Now, the autotools plugin relies on an 'autogen.sh' script which calls all the autotools in the right order, which must be provided by the package itself; however, this is kind of an old method, since now, to bootstrap autotools, you can rely on the program 'autoreconf' which is part of autotools; so, in case you need to bootstrap the autotools, you can simply call '&lt;span style="font-weight: bold;"&gt;autoreconf -i&lt;/span&gt;' (this will install required files from autotools) from a shell, in the directory of the project.&lt;br /&gt;&lt;br /&gt;Now, you can build the project, by right clicking on the project and by choosing "Build Project"! Since this is the first time we build it, the build directory will be created, the configure script will be called with all the features we selected, and the files are compiled!&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_UtmZWQ8OFEM/SiqRM0a7esI/AAAAAAAABd0/6bLG_cMSmtQ/s1600-h/autotools11.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 164px; height: 400px;" src="http://3.bp.blogspot.com/_UtmZWQ8OFEM/SiqRM0a7esI/AAAAAAAABd0/6bLG_cMSmtQ/s400/autotools11.png" alt="" id="BLOGGER_PHOTO_ID_5344243557244566210" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Hey, but wait a minute! We could have used &lt;a href="http://ccache.samba.org/"&gt;ccache&lt;/a&gt; to compile the sources! And we should have also enable maintainer mode specific configuration settings! Well, we can still do that by going back to the settings of the project, enable the maintainer setting check box, and specify the gcc command as 'ccache gcc':&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_UtmZWQ8OFEM/SiqSvgWDyrI/AAAAAAAABeE/Aisz8URFURk/s1600-h/autotools12.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 274px;" src="http://2.bp.blogspot.com/_UtmZWQ8OFEM/SiqSvgWDyrI/AAAAAAAABeE/Aisz8URFURk/s400/autotools12.png" alt="" id="BLOGGER_PHOTO_ID_5344245252662479538" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_UtmZWQ8OFEM/SiqSrten4xI/AAAAAAAABd8/QJ7LALps_7o/s1600-h/autotools10.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 274px;" src="http://2.bp.blogspot.com/_UtmZWQ8OFEM/SiqSrten4xI/AAAAAAAABd8/QJ7LALps_7o/s400/autotools10.png" alt="" id="BLOGGER_PHOTO_ID_5344245187468583698" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Now, let's clean the project (this will issue a 'make distclean', but you can customize this from the setting), and build it again, so that it will be reconfigured with the new settings.&lt;br /&gt;&lt;br /&gt;Now, let's create another build configuration (e.g., for the release version of the package, with optimized compiler options, with a different prefix, removing the suffix '-debug' and without the maintainer-mode option enabled). We just need to go to "Manage Configurations...", create a new one, starting from the previous default one:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_UtmZWQ8OFEM/SiqWtS6KmSI/AAAAAAAABeM/PCCwWkjfSJI/s1600-h/autotools13.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 261px;" src="http://4.bp.blogspot.com/_UtmZWQ8OFEM/SiqWtS6KmSI/AAAAAAAABeM/PCCwWkjfSJI/s400/autotools13.png" alt="" id="BLOGGER_PHOTO_ID_5344249612742596898" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;and now we can set the optimization level for the compiler, disable maintainer mode and use another --prefix option (e.g., '/usr/local/'). It is also important to specify another build directory, say 'build_release' (but when creating a new configuration, the build directory has already been changed to something different from the previous one, i.e., 'build1'):&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_UtmZWQ8OFEM/SiqXTMvsYWI/AAAAAAAABeU/42Mux3vf1yQ/s1600-h/autotools14.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 274px;" src="http://1.bp.blogspot.com/_UtmZWQ8OFEM/SiqXTMvsYWI/AAAAAAAABeU/42Mux3vf1yQ/s400/autotools14.png" alt="" id="BLOGGER_PHOTO_ID_5344250263923089762" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Now, we can switch between the two different build configurations:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_UtmZWQ8OFEM/SiqXz8sZX3I/AAAAAAAABec/tlnQrjPGjuk/s1600-h/autotools15.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 250px;" src="http://1.bp.blogspot.com/_UtmZWQ8OFEM/SiqXz8sZX3I/AAAAAAAABec/tlnQrjPGjuk/s400/autotools15.png" alt="" id="BLOGGER_PHOTO_ID_5344250826549976946" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Well, that's all for now; I hope you find this tutorial useful :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35239346-4665516822808170019?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/4665516822808170019/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=4665516822808170019' title='14 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/4665516822808170019'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/4665516822808170019'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2009/06/tutorial-using-autotools-with-eclipse.html' title='Tutorial: using Autotools with Eclipse (and Linux Tools Project)'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_UtmZWQ8OFEM/SiqJQErwC-I/AAAAAAAABcs/7A89_UIG9mY/s72-c/autotools1.png' height='72' width='72'/><thr:total>14</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-4730618569008150221</id><published>2009-05-14T21:47:00.002+02:00</published><updated>2009-05-14T22:10:39.331+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='source-highlight'/><title type='text'>GNU Source-higlight 3.0: now with a Library</title><content type='html'>I finally made it to release the new major version of &lt;a href="http://www.gnu.org/software/src-highlite/"&gt;GNU Source-highlight&lt;/a&gt; 3.0, where the main novelty is that it now includes a C++ library that can be used in other programs to highlight text (not necessarily to generated highlighted text as source-highlight itself does, but for instance, to highlight text in a text editor). This was the first time I implemented a C++ library, so I hope I got it right, mostly at least ;-)&lt;br /&gt;&lt;br /&gt;Source-highlight now includes also the program &lt;code&gt;source-highlight-settings&lt;/code&gt;, which can be used to check whether source-highlight will be able find its language definition files, and other configuration files, and in case, to store the correct settings in a configuration file, in the user home directory. &lt;a name="index-source_002dhighlight_002econf-5"&gt;&lt;/a&gt;In particular, the stored configuration file will be called &lt;samp&gt;&lt;span class="file"&gt;source-highlight.conf&lt;/span&gt;&lt;/samp&gt; and stored in &lt;samp&gt;&lt;span class="file"&gt;$HOME/.source-highlight/&lt;/span&gt;&lt;/samp&gt;.&lt;a name="index-g_t_0040code_007b_002d_002ddata_002ddir_007d-6"&gt;&lt;/a&gt; For the moment, this file only stores the default value for the &lt;code&gt;--data-dir&lt;/code&gt; option. &lt;br /&gt;&lt;br /&gt;Another new feature is the command line option &lt;span style="font-weight: bold;"&gt;--regex-range&lt;/span&gt;, which, similarly to the option --line-range, allows to specify only a part of the input source to be highlighted (of course, as for --line-range option, environments or states, such as, e.g., comments and strings, are handled correctly even though they cross the range). Ranges can be expressed using regular expressions, with the command line option &lt;code&gt;--regex-range&lt;/code&gt;.  In this case the beginning of the range will be detected by a line containing (in any point) a string matching the specified regular expression; the end will be detected by a line containing a string matching the same regular expression that started the range.  This feature is very useful when we want to document some code (e.g., in this very manual) by showing only specific parts, that are delimited in a ad-hoc way in the source code (e.g., with specific comment patterns).&lt;br /&gt;&lt;br /&gt;For instance, consider the following listing:&lt;br /&gt;&lt;!-- Generator: GNU source-highlight 3.0&lt;br /&gt;by Lorenzo Bettini&lt;br /&gt;http://www.lorenzobettini.it&lt;br /&gt;http://www.gnu.org/software/src-highlite --&gt;&lt;br /&gt;&lt;pre&gt;&lt;tt&gt;&lt;font color="#000000"&gt;01:&lt;/font&gt; &lt;i&gt;&lt;font color="#9A1900"&gt;/*&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;font color="#000000"&gt;02:&lt;/font&gt; &lt;i&gt;&lt;font color="#9A1900"&gt;  This is a classical Hello program&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;font color="#000000"&gt;03:&lt;/font&gt; &lt;i&gt;&lt;font color="#9A1900"&gt;  to test source-highlight with Java programs.&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;font color="#000000"&gt;04:&lt;/font&gt; &lt;i&gt;&lt;font color="#9A1900"&gt;  &lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;font color="#000000"&gt;05:&lt;/font&gt; &lt;i&gt;&lt;font color="#9A1900"&gt;  to have an html translation type&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;font color="#000000"&gt;06:&lt;/font&gt; &lt;br /&gt;&lt;font color="#000000"&gt;07:&lt;/font&gt; &lt;i&gt;&lt;font color="#9A1900"&gt;        source-highlight -s java -f html --input Hello.java --output Hello.html&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;font color="#000000"&gt;08:&lt;/font&gt; &lt;i&gt;&lt;font color="#9A1900"&gt;        source-highlight -s java -f html &amp;lt; Hello.java &amp;gt; Hello.html&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;font color="#000000"&gt;09:&lt;/font&gt; &lt;br /&gt;&lt;font color="#000000"&gt;10:&lt;/font&gt; &lt;i&gt;&lt;font color="#9A1900"&gt;  or type source-highlight --help for the list of options&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;font color="#000000"&gt;11:&lt;/font&gt; &lt;br /&gt;&lt;font color="#000000"&gt;12:&lt;/font&gt; &lt;i&gt;&lt;font color="#9A1900"&gt;  written by&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;font color="#000000"&gt;13:&lt;/font&gt; &lt;i&gt;&lt;font color="#9A1900"&gt;  Lorenzo Bettini&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;font color="#000000"&gt;14:&lt;/font&gt; &lt;i&gt;&lt;font color="#9A1900"&gt;  &lt;/font&gt;&lt;/i&gt;&lt;u&gt;&lt;font color="#0000FF"&gt;http://www.lorenzobettini.it&lt;/font&gt;&lt;/u&gt;&lt;br /&gt;&lt;font color="#000000"&gt;15:&lt;/font&gt; &lt;i&gt;&lt;font color="#9A1900"&gt;  &lt;/font&gt;&lt;/i&gt;&lt;u&gt;&lt;font color="#0000FF"&gt;http://www.gnu.org/software/src-highlite&lt;/font&gt;&lt;/u&gt;&lt;br /&gt;&lt;font color="#000000"&gt;16:&lt;/font&gt; &lt;i&gt;&lt;font color="#9A1900"&gt;*/&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;font color="#000000"&gt;17:&lt;/font&gt; &lt;br /&gt;&lt;font color="#000000"&gt;18:&lt;/font&gt; &lt;b&gt;&lt;font color="#000080"&gt;package&lt;/font&gt;&lt;/b&gt; hello&lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;19:&lt;/font&gt; &lt;br /&gt;&lt;font color="#000000"&gt;20:&lt;/font&gt; &lt;b&gt;&lt;font color="#000080"&gt;import&lt;/font&gt;&lt;/b&gt; java&lt;font color="#990000"&gt;.&lt;/font&gt;io&lt;font color="#990000"&gt;.*&lt;/font&gt; &lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;21:&lt;/font&gt; &lt;br /&gt;&lt;font color="#000000"&gt;22:&lt;/font&gt; &lt;i&gt;&lt;font color="#9A1900"&gt;/**&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;font color="#000000"&gt;23:&lt;/font&gt; &lt;i&gt;&lt;font color="#9A1900"&gt; * &lt;/font&gt;&lt;/i&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;&amp;lt;p&amp;gt;&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;&lt;font color="#000000"&gt;24:&lt;/font&gt; &lt;i&gt;&lt;font color="#9A1900"&gt; * A simple Hello World class, used to demonstrate some&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;font color="#000000"&gt;25:&lt;/font&gt; &lt;i&gt;&lt;font color="#9A1900"&gt; * features of Java source highlighting.&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;font color="#000000"&gt;26:&lt;/font&gt; &lt;i&gt;&lt;font color="#9A1900"&gt; * &lt;/font&gt;&lt;/i&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;&amp;lt;/p&amp;gt;&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;&lt;font color="#000000"&gt;27:&lt;/font&gt; &lt;i&gt;&lt;font color="#9A1900"&gt; * &lt;/font&gt;&lt;/i&gt;&lt;b&gt;TODO:&lt;/b&gt;&lt;i&gt;&lt;font color="#9A1900"&gt; nothing, just to show an highlighted &lt;/font&gt;&lt;/i&gt;&lt;b&gt;TODO&lt;/b&gt;&lt;i&gt;&lt;font color="#9A1900"&gt; or &lt;/font&gt;&lt;/i&gt;&lt;b&gt;FIXME&lt;/b&gt;&lt;br /&gt;&lt;font color="#000000"&gt;28:&lt;/font&gt; &lt;i&gt;&lt;font color="#9A1900"&gt; *&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;font color="#000000"&gt;29:&lt;/font&gt; &lt;i&gt;&lt;font color="#9A1900"&gt; * &lt;/font&gt;&lt;/i&gt;&lt;font color="#009900"&gt;@author&lt;/font&gt;&lt;i&gt;&lt;font color="#9A1900"&gt; Lorenzo Bettini&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;font color="#000000"&gt;30:&lt;/font&gt; &lt;i&gt;&lt;font color="#9A1900"&gt; * &lt;/font&gt;&lt;/i&gt;&lt;font color="#009900"&gt;@version&lt;/font&gt;&lt;i&gt;&lt;font color="#9A1900"&gt; 2.0&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;font color="#000000"&gt;31:&lt;/font&gt; &lt;i&gt;&lt;font color="#9A1900"&gt; */&lt;/font&gt;&lt;/i&gt; &lt;i&gt;&lt;font color="#9A1900"&gt;/// class&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;font color="#000000"&gt;32:&lt;/font&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;public&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;class&lt;/font&gt;&lt;/b&gt; &lt;font color="#008080"&gt;Hello&lt;/font&gt; &lt;font color="#FF0000"&gt;{&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;33:&lt;/font&gt;     &lt;font color="#009900"&gt;int&lt;/font&gt; foo &lt;font color="#990000"&gt;=&lt;/font&gt; &lt;font color="#993399"&gt;1998&lt;/font&gt; &lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;34:&lt;/font&gt;     &lt;font color="#009900"&gt;int&lt;/font&gt; hex_foo &lt;font color="#990000"&gt;=&lt;/font&gt; &lt;font color="#993399"&gt;0xCAFEBABE&lt;/font&gt;&lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;35:&lt;/font&gt;     &lt;font color="#009900"&gt;boolean&lt;/font&gt; b &lt;font color="#990000"&gt;=&lt;/font&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;false&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;36:&lt;/font&gt;     &lt;font color="#008080"&gt;Integer&lt;/font&gt; i &lt;font color="#990000"&gt;=&lt;/font&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;null&lt;/font&gt;&lt;/b&gt; &lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;37:&lt;/font&gt;     &lt;font color="#009900"&gt;char&lt;/font&gt; c &lt;font color="#990000"&gt;=&lt;/font&gt; &lt;font color="#FF0000"&gt;'&lt;/font&gt;&lt;font color="#CC33CC"&gt;\'&lt;/font&gt;&lt;font color="#FF0000"&gt;'&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt; d &lt;font color="#990000"&gt;=&lt;/font&gt; &lt;font color="#FF0000"&gt;'n'&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt; e &lt;font color="#990000"&gt;=&lt;/font&gt; &lt;font color="#FF0000"&gt;'&lt;/font&gt;&lt;font color="#CC33CC"&gt;\\&lt;/font&gt;&lt;font color="#FF0000"&gt;'&lt;/font&gt; &lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;38:&lt;/font&gt;     &lt;font color="#008080"&gt;String&lt;/font&gt; xml &lt;font color="#990000"&gt;=&lt;/font&gt; &lt;font color="#FF0000"&gt;"&amp;lt;tag attr=&lt;/font&gt;&lt;font color="#CC33CC"&gt;\"&lt;/font&gt;&lt;font color="#FF0000"&gt;value&lt;/font&gt;&lt;font color="#CC33CC"&gt;\"&lt;/font&gt;&lt;font color="#FF0000"&gt;&amp;gt;&amp;amp;auml;&amp;lt;/tag&amp;gt;"&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt; foo2 &lt;font color="#990000"&gt;=&lt;/font&gt; &lt;font color="#FF0000"&gt;"&lt;/font&gt;&lt;font color="#CC33CC"&gt;\\&lt;/font&gt;&lt;font color="#FF0000"&gt;"&lt;/font&gt; &lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;39:&lt;/font&gt; &lt;br /&gt;&lt;font color="#000000"&gt;40:&lt;/font&gt;     &lt;i&gt;&lt;font color="#9A1900"&gt;/* mymethod */&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;font color="#000000"&gt;41:&lt;/font&gt;     &lt;b&gt;&lt;font color="#0000FF"&gt;public&lt;/font&gt;&lt;/b&gt; &lt;font color="#009900"&gt;void&lt;/font&gt; &lt;b&gt;&lt;font color="#000000"&gt;mymethod&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;(&lt;/font&gt;&lt;font color="#009900"&gt;int&lt;/font&gt; i&lt;font color="#990000"&gt;)&lt;/font&gt; &lt;font color="#FF0000"&gt;{&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;42:&lt;/font&gt;         &lt;i&gt;&lt;font color="#9A1900"&gt;// just a foo method&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;font color="#000000"&gt;43:&lt;/font&gt;     &lt;font color="#FF0000"&gt;}&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;44:&lt;/font&gt;     &lt;i&gt;&lt;font color="#9A1900"&gt;/* mymethod */&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;font color="#000000"&gt;45:&lt;/font&gt;    &lt;br /&gt;&lt;font color="#000000"&gt;46:&lt;/font&gt;     &lt;i&gt;&lt;font color="#9A1900"&gt;/* main */&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;font color="#000000"&gt;47:&lt;/font&gt;     &lt;b&gt;&lt;font color="#0000FF"&gt;public&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;static&lt;/font&gt;&lt;/b&gt; &lt;font color="#009900"&gt;void&lt;/font&gt; &lt;b&gt;&lt;font color="#000000"&gt;main&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;(&lt;/font&gt; &lt;font color="#008080"&gt;String&lt;/font&gt; args&lt;font color="#990000"&gt;[]&lt;/font&gt; &lt;font color="#990000"&gt;)&lt;/font&gt; &lt;font color="#FF0000"&gt;{&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;48:&lt;/font&gt;         &lt;i&gt;&lt;font color="#9A1900"&gt;// just some greetings ;-)  /*&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;font color="#000000"&gt;49:&lt;/font&gt;         System&lt;font color="#990000"&gt;.&lt;/font&gt;out&lt;font color="#990000"&gt;.&lt;/font&gt;&lt;b&gt;&lt;font color="#000000"&gt;println&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;(&lt;/font&gt; &lt;font color="#FF0000"&gt;"Hello from java2html :-)"&lt;/font&gt; &lt;font color="#990000"&gt;)&lt;/font&gt; &lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;50:&lt;/font&gt;         System&lt;font color="#990000"&gt;.&lt;/font&gt;out&lt;font color="#990000"&gt;.&lt;/font&gt;&lt;b&gt;&lt;font color="#000000"&gt;println&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;(&lt;/font&gt; &lt;font color="#FF0000"&gt;"&lt;/font&gt;&lt;font color="#CC33CC"&gt;\t&lt;/font&gt;&lt;font color="#FF0000"&gt;by Lorenzo Bettini"&lt;/font&gt; &lt;font color="#990000"&gt;)&lt;/font&gt; &lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;51:&lt;/font&gt;         System&lt;font color="#990000"&gt;.&lt;/font&gt;out&lt;font color="#990000"&gt;.&lt;/font&gt;&lt;b&gt;&lt;font color="#000000"&gt;println&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;(&lt;/font&gt; &lt;font color="#FF0000"&gt;"&lt;/font&gt;&lt;font color="#CC33CC"&gt;\t&lt;/font&gt;&lt;font color="#FF0000"&gt;http://www.lorenzobettini.it"&lt;/font&gt; &lt;font color="#990000"&gt;)&lt;/font&gt; &lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;52:&lt;/font&gt;         &lt;b&gt;&lt;font color="#0000FF"&gt;if&lt;/font&gt;&lt;/b&gt; &lt;font color="#990000"&gt;(&lt;/font&gt;argc &lt;font color="#990000"&gt;&amp;gt;&lt;/font&gt; &lt;font color="#993399"&gt;0&lt;/font&gt;&lt;font color="#990000"&gt;)&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;53:&lt;/font&gt;             &lt;font color="#008080"&gt;String&lt;/font&gt; param &lt;font color="#990000"&gt;=&lt;/font&gt; argc&lt;font color="#990000"&gt;[&lt;/font&gt;&lt;font color="#993399"&gt;0&lt;/font&gt;&lt;font color="#990000"&gt;];&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;54:&lt;/font&gt;         &lt;i&gt;&lt;font color="#9A1900"&gt;//System.out.println( "bye bye... :-D" ) ; // see you soon&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;font color="#000000"&gt;55:&lt;/font&gt;     &lt;font color="#FF0000"&gt;}&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;56:&lt;/font&gt;     &lt;i&gt;&lt;font color="#9A1900"&gt;/* main */&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;font color="#000000"&gt;57:&lt;/font&gt; &lt;font color="#FF0000"&gt;}&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;58:&lt;/font&gt; &lt;i&gt;&lt;font color="#9A1900"&gt;/// class&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;font color="#000000"&gt;59:&lt;/font&gt; &lt;br /&gt;&lt;font color="#000000"&gt;60:&lt;/font&gt; &lt;i&gt;&lt;font color="#9A1900"&gt;// end of file test.java&lt;/font&gt;&lt;/i&gt;&lt;/tt&gt;&lt;/pre&gt;&lt;br /&gt;If we invoke source-highlight with the following command line option:&lt;br /&gt;&lt;pre class="example"&gt;--regex-range="/// [[:alpha:]]+"&lt;br /&gt;&lt;/pre&gt;we will get this output (thus, only the part in the range delimited by "/// class", which matches the specified regular expression:&lt;br /&gt;&lt;!-- Generator: GNU source-highlight 3.0&lt;br /&gt;by Lorenzo Bettini&lt;br /&gt;http://www.lorenzobettini.it&lt;br /&gt;http://www.gnu.org/software/src-highlite --&gt;&lt;br /&gt;&lt;pre&gt;&lt;tt&gt;&lt;font color="#000000"&gt;32:&lt;/font&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;public&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;class&lt;/font&gt;&lt;/b&gt; &lt;font color="#008080"&gt;Hello&lt;/font&gt; &lt;font color="#FF0000"&gt;{&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;33:&lt;/font&gt;     &lt;font color="#009900"&gt;int&lt;/font&gt; foo &lt;font color="#990000"&gt;=&lt;/font&gt; &lt;font color="#993399"&gt;1998&lt;/font&gt; &lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;34:&lt;/font&gt;     &lt;font color="#009900"&gt;int&lt;/font&gt; hex_foo &lt;font color="#990000"&gt;=&lt;/font&gt; &lt;font color="#993399"&gt;0xCAFEBABE&lt;/font&gt;&lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;35:&lt;/font&gt;     &lt;font color="#009900"&gt;boolean&lt;/font&gt; b &lt;font color="#990000"&gt;=&lt;/font&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;false&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;36:&lt;/font&gt;     &lt;font color="#008080"&gt;Integer&lt;/font&gt; i &lt;font color="#990000"&gt;=&lt;/font&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;null&lt;/font&gt;&lt;/b&gt; &lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;37:&lt;/font&gt;     &lt;font color="#009900"&gt;char&lt;/font&gt; c &lt;font color="#990000"&gt;=&lt;/font&gt; &lt;font color="#FF0000"&gt;'&lt;/font&gt;&lt;font color="#CC33CC"&gt;\'&lt;/font&gt;&lt;font color="#FF0000"&gt;'&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt; d &lt;font color="#990000"&gt;=&lt;/font&gt; &lt;font color="#FF0000"&gt;'n'&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt; e &lt;font color="#990000"&gt;=&lt;/font&gt; &lt;font color="#FF0000"&gt;'&lt;/font&gt;&lt;font color="#CC33CC"&gt;\\&lt;/font&gt;&lt;font color="#FF0000"&gt;'&lt;/font&gt; &lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;38:&lt;/font&gt;     &lt;font color="#008080"&gt;String&lt;/font&gt; xml &lt;font color="#990000"&gt;=&lt;/font&gt; &lt;font color="#FF0000"&gt;"&amp;lt;tag attr=&lt;/font&gt;&lt;font color="#CC33CC"&gt;\"&lt;/font&gt;&lt;font color="#FF0000"&gt;value&lt;/font&gt;&lt;font color="#CC33CC"&gt;\"&lt;/font&gt;&lt;font color="#FF0000"&gt;&amp;gt;&amp;amp;auml;&amp;lt;/tag&amp;gt;"&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt; foo2 &lt;font color="#990000"&gt;=&lt;/font&gt; &lt;font color="#FF0000"&gt;"&lt;/font&gt;&lt;font color="#CC33CC"&gt;\\&lt;/font&gt;&lt;font color="#FF0000"&gt;"&lt;/font&gt; &lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;39:&lt;/font&gt; &lt;br /&gt;&lt;font color="#000000"&gt;40:&lt;/font&gt;     &lt;i&gt;&lt;font color="#9A1900"&gt;/* mymethod */&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;font color="#000000"&gt;41:&lt;/font&gt;     &lt;b&gt;&lt;font color="#0000FF"&gt;public&lt;/font&gt;&lt;/b&gt; &lt;font color="#009900"&gt;void&lt;/font&gt; &lt;b&gt;&lt;font color="#000000"&gt;mymethod&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;(&lt;/font&gt;&lt;font color="#009900"&gt;int&lt;/font&gt; i&lt;font color="#990000"&gt;)&lt;/font&gt; &lt;font color="#FF0000"&gt;{&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;42:&lt;/font&gt;         &lt;i&gt;&lt;font color="#9A1900"&gt;// just a foo method&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;font color="#000000"&gt;43:&lt;/font&gt;     &lt;font color="#FF0000"&gt;}&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;44:&lt;/font&gt;     &lt;i&gt;&lt;font color="#9A1900"&gt;/* mymethod */&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;font color="#000000"&gt;45:&lt;/font&gt;    &lt;br /&gt;&lt;font color="#000000"&gt;46:&lt;/font&gt;     &lt;i&gt;&lt;font color="#9A1900"&gt;/* main */&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;font color="#000000"&gt;47:&lt;/font&gt;     &lt;b&gt;&lt;font color="#0000FF"&gt;public&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;static&lt;/font&gt;&lt;/b&gt; &lt;font color="#009900"&gt;void&lt;/font&gt; &lt;b&gt;&lt;font color="#000000"&gt;main&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;(&lt;/font&gt; &lt;font color="#008080"&gt;String&lt;/font&gt; args&lt;font color="#990000"&gt;[]&lt;/font&gt; &lt;font color="#990000"&gt;)&lt;/font&gt; &lt;font color="#FF0000"&gt;{&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;48:&lt;/font&gt;         &lt;i&gt;&lt;font color="#9A1900"&gt;// just some greetings ;-)  /*&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;font color="#000000"&gt;49:&lt;/font&gt;         System&lt;font color="#990000"&gt;.&lt;/font&gt;out&lt;font color="#990000"&gt;.&lt;/font&gt;&lt;b&gt;&lt;font color="#000000"&gt;println&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;(&lt;/font&gt; &lt;font color="#FF0000"&gt;"Hello from java2html :-)"&lt;/font&gt; &lt;font color="#990000"&gt;)&lt;/font&gt; &lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;50:&lt;/font&gt;         System&lt;font color="#990000"&gt;.&lt;/font&gt;out&lt;font color="#990000"&gt;.&lt;/font&gt;&lt;b&gt;&lt;font color="#000000"&gt;println&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;(&lt;/font&gt; &lt;font color="#FF0000"&gt;"&lt;/font&gt;&lt;font color="#CC33CC"&gt;\t&lt;/font&gt;&lt;font color="#FF0000"&gt;by Lorenzo Bettini"&lt;/font&gt; &lt;font color="#990000"&gt;)&lt;/font&gt; &lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;51:&lt;/font&gt;         System&lt;font color="#990000"&gt;.&lt;/font&gt;out&lt;font color="#990000"&gt;.&lt;/font&gt;&lt;b&gt;&lt;font color="#000000"&gt;println&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;(&lt;/font&gt; &lt;font color="#FF0000"&gt;"&lt;/font&gt;&lt;font color="#CC33CC"&gt;\t&lt;/font&gt;&lt;font color="#FF0000"&gt;http://www.lorenzobettini.it"&lt;/font&gt; &lt;font color="#990000"&gt;)&lt;/font&gt; &lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;52:&lt;/font&gt;         &lt;b&gt;&lt;font color="#0000FF"&gt;if&lt;/font&gt;&lt;/b&gt; &lt;font color="#990000"&gt;(&lt;/font&gt;argc &lt;font color="#990000"&gt;&amp;gt;&lt;/font&gt; &lt;font color="#993399"&gt;0&lt;/font&gt;&lt;font color="#990000"&gt;)&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;53:&lt;/font&gt;             &lt;font color="#008080"&gt;String&lt;/font&gt; param &lt;font color="#990000"&gt;=&lt;/font&gt; argc&lt;font color="#990000"&gt;[&lt;/font&gt;&lt;font color="#993399"&gt;0&lt;/font&gt;&lt;font color="#990000"&gt;];&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;54:&lt;/font&gt;         &lt;i&gt;&lt;font color="#9A1900"&gt;//System.out.println( "bye bye... :-D" ) ; // see you soon&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;font color="#000000"&gt;55:&lt;/font&gt;     &lt;font color="#FF0000"&gt;}&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;56:&lt;/font&gt;     &lt;i&gt;&lt;font color="#9A1900"&gt;/* main */&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;font color="#000000"&gt;57:&lt;/font&gt; &lt;font color="#FF0000"&gt;}&lt;/font&gt;&lt;br /&gt;&lt;/tt&gt;&lt;/pre&gt;&lt;br /&gt;if we invoke it with&lt;br /&gt;&lt;pre class="example"&gt;--regex-range="/\* main \*/"&lt;br /&gt;&lt;/pre&gt;we get the part concerning main:&lt;br /&gt;&lt;!-- Generator: GNU source-highlight 3.0&lt;br /&gt;by Lorenzo Bettini&lt;br /&gt;http://www.lorenzobettini.it&lt;br /&gt;http://www.gnu.org/software/src-highlite --&gt;&lt;br /&gt;&lt;pre&gt;&lt;tt&gt;&lt;font color="#000000"&gt;47:&lt;/font&gt;     &lt;b&gt;&lt;font color="#0000FF"&gt;public&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;static&lt;/font&gt;&lt;/b&gt; &lt;font color="#009900"&gt;void&lt;/font&gt; &lt;b&gt;&lt;font color="#000000"&gt;main&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;(&lt;/font&gt; &lt;font color="#008080"&gt;String&lt;/font&gt; args&lt;font color="#990000"&gt;[]&lt;/font&gt; &lt;font color="#990000"&gt;)&lt;/font&gt; &lt;font color="#FF0000"&gt;{&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;48:&lt;/font&gt;         &lt;i&gt;&lt;font color="#9A1900"&gt;// just some greetings ;-)  /*&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;font color="#000000"&gt;49:&lt;/font&gt;         System&lt;font color="#990000"&gt;.&lt;/font&gt;out&lt;font color="#990000"&gt;.&lt;/font&gt;&lt;b&gt;&lt;font color="#000000"&gt;println&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;(&lt;/font&gt; &lt;font color="#FF0000"&gt;"Hello from java2html :-)"&lt;/font&gt; &lt;font color="#990000"&gt;)&lt;/font&gt; &lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;50:&lt;/font&gt;         System&lt;font color="#990000"&gt;.&lt;/font&gt;out&lt;font color="#990000"&gt;.&lt;/font&gt;&lt;b&gt;&lt;font color="#000000"&gt;println&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;(&lt;/font&gt; &lt;font color="#FF0000"&gt;"&lt;/font&gt;&lt;font color="#CC33CC"&gt;\t&lt;/font&gt;&lt;font color="#FF0000"&gt;by Lorenzo Bettini"&lt;/font&gt; &lt;font color="#990000"&gt;)&lt;/font&gt; &lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;51:&lt;/font&gt;         System&lt;font color="#990000"&gt;.&lt;/font&gt;out&lt;font color="#990000"&gt;.&lt;/font&gt;&lt;b&gt;&lt;font color="#000000"&gt;println&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;(&lt;/font&gt; &lt;font color="#FF0000"&gt;"&lt;/font&gt;&lt;font color="#CC33CC"&gt;\t&lt;/font&gt;&lt;font color="#FF0000"&gt;http://www.lorenzobettini.it"&lt;/font&gt; &lt;font color="#990000"&gt;)&lt;/font&gt; &lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;52:&lt;/font&gt;         &lt;b&gt;&lt;font color="#0000FF"&gt;if&lt;/font&gt;&lt;/b&gt; &lt;font color="#990000"&gt;(&lt;/font&gt;argc &lt;font color="#990000"&gt;&amp;gt;&lt;/font&gt; &lt;font color="#993399"&gt;0&lt;/font&gt;&lt;font color="#990000"&gt;)&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;53:&lt;/font&gt;             &lt;font color="#008080"&gt;String&lt;/font&gt; param &lt;font color="#990000"&gt;=&lt;/font&gt; argc&lt;font color="#990000"&gt;[&lt;/font&gt;&lt;font color="#993399"&gt;0&lt;/font&gt;&lt;font color="#990000"&gt;];&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;54:&lt;/font&gt;         &lt;i&gt;&lt;font color="#9A1900"&gt;//System.out.println( "bye bye... :-D" ) ; // see you soon&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;font color="#000000"&gt;55:&lt;/font&gt;     &lt;font color="#FF0000"&gt;}&lt;/font&gt;&lt;br /&gt;&lt;/tt&gt;&lt;/pre&gt;&lt;br /&gt;Finally, with&lt;br /&gt;&lt;pre class="example"&gt;--regex-range="/\* [[:alpha:]]+ \*/"&lt;br /&gt;&lt;/pre&gt;you'll get only the parts concerning methods:&lt;br /&gt;&lt;!-- Generator: GNU source-highlight 3.0&lt;br /&gt;by Lorenzo Bettini&lt;br /&gt;http://www.lorenzobettini.it&lt;br /&gt;http://www.gnu.org/software/src-highlite --&gt;&lt;br /&gt;&lt;pre&gt;&lt;tt&gt;&lt;font color="#000000"&gt;41:&lt;/font&gt;     &lt;b&gt;&lt;font color="#0000FF"&gt;public&lt;/font&gt;&lt;/b&gt; &lt;font color="#009900"&gt;void&lt;/font&gt; &lt;b&gt;&lt;font color="#000000"&gt;mymethod&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;(&lt;/font&gt;&lt;font color="#009900"&gt;int&lt;/font&gt; i&lt;font color="#990000"&gt;)&lt;/font&gt; &lt;font color="#FF0000"&gt;{&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;42:&lt;/font&gt;         &lt;i&gt;&lt;font color="#9A1900"&gt;// just a foo method&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;font color="#000000"&gt;43:&lt;/font&gt;     &lt;font color="#FF0000"&gt;}&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;47:&lt;/font&gt;     &lt;b&gt;&lt;font color="#0000FF"&gt;public&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;static&lt;/font&gt;&lt;/b&gt; &lt;font color="#009900"&gt;void&lt;/font&gt; &lt;b&gt;&lt;font color="#000000"&gt;main&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;(&lt;/font&gt; &lt;font color="#008080"&gt;String&lt;/font&gt; args&lt;font color="#990000"&gt;[]&lt;/font&gt; &lt;font color="#990000"&gt;)&lt;/font&gt; &lt;font color="#FF0000"&gt;{&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;48:&lt;/font&gt;         &lt;i&gt;&lt;font color="#9A1900"&gt;// just some greetings ;-)  /*&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;font color="#000000"&gt;49:&lt;/font&gt;         System&lt;font color="#990000"&gt;.&lt;/font&gt;out&lt;font color="#990000"&gt;.&lt;/font&gt;&lt;b&gt;&lt;font color="#000000"&gt;println&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;(&lt;/font&gt; &lt;font color="#FF0000"&gt;"Hello from java2html :-)"&lt;/font&gt; &lt;font color="#990000"&gt;)&lt;/font&gt; &lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;50:&lt;/font&gt;         System&lt;font color="#990000"&gt;.&lt;/font&gt;out&lt;font color="#990000"&gt;.&lt;/font&gt;&lt;b&gt;&lt;font color="#000000"&gt;println&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;(&lt;/font&gt; &lt;font color="#FF0000"&gt;"&lt;/font&gt;&lt;font color="#CC33CC"&gt;\t&lt;/font&gt;&lt;font color="#FF0000"&gt;by Lorenzo Bettini"&lt;/font&gt; &lt;font color="#990000"&gt;)&lt;/font&gt; &lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;51:&lt;/font&gt;         System&lt;font color="#990000"&gt;.&lt;/font&gt;out&lt;font color="#990000"&gt;.&lt;/font&gt;&lt;b&gt;&lt;font color="#000000"&gt;println&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;(&lt;/font&gt; &lt;font color="#FF0000"&gt;"&lt;/font&gt;&lt;font color="#CC33CC"&gt;\t&lt;/font&gt;&lt;font color="#FF0000"&gt;http://www.lorenzobettini.it"&lt;/font&gt; &lt;font color="#990000"&gt;)&lt;/font&gt; &lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;52:&lt;/font&gt;         &lt;b&gt;&lt;font color="#0000FF"&gt;if&lt;/font&gt;&lt;/b&gt; &lt;font color="#990000"&gt;(&lt;/font&gt;argc &lt;font color="#990000"&gt;&amp;gt;&lt;/font&gt; &lt;font color="#993399"&gt;0&lt;/font&gt;&lt;font color="#990000"&gt;)&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;53:&lt;/font&gt;             &lt;font color="#008080"&gt;String&lt;/font&gt; param &lt;font color="#990000"&gt;=&lt;/font&gt; argc&lt;font color="#990000"&gt;[&lt;/font&gt;&lt;font color="#993399"&gt;0&lt;/font&gt;&lt;font color="#990000"&gt;];&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;54:&lt;/font&gt;         &lt;i&gt;&lt;font color="#9A1900"&gt;//System.out.println( "bye bye... :-D" ) ; // see you soon&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;font color="#000000"&gt;55:&lt;/font&gt;     &lt;font color="#FF0000"&gt;}&lt;/font&gt;&lt;br /&gt;&lt;/tt&gt;&lt;/pre&gt;&lt;br /&gt;This is quite useful for inserting some parts of input files in manuals (e.g., I used it myself to insert some parts of files in the source-highlight manuals).&lt;br /&gt;&lt;br /&gt;Another added functionality is that source-highlight also uses the filename (not only its extension) to detect the source language (for instance, if you pass as input ChangeLog, it will use the changelog.lang language definition).&lt;br /&gt;&lt;br /&gt;Finally, two more input languages were added: the one for generic configuration files (including, e.g., xorg.conf, qmake.conf, etc.), and the one for pkg-config files; here are some examples&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;configuration files&lt;/span&gt;&lt;br /&gt;&lt;!-- Generator: GNU source-highlight &lt;br /&gt;by Lorenzo Bettini&lt;br /&gt;http://www.lorenzobettini.it&lt;br /&gt;http://www.gnu.org/software/src-highlite --&gt;&lt;br /&gt;&lt;pre&gt;&lt;tt&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;# test file for some configuration files, such as&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;# xorg, qmake.conf and generic conf files (based on properties)&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;# xorg.conf (xorg X Window System server configuration file)&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;#&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;# This file was generated by dexconf, the Debian X Configuration tool, using&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;# values from the debconf database.&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;#&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;Section&lt;/font&gt;&lt;/b&gt; &lt;font color="#FF0000"&gt;"Files"&lt;/font&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;EndSection&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;Section&lt;/font&gt;&lt;/b&gt; &lt;font color="#FF0000"&gt;"InputDevice"&lt;/font&gt;&lt;br /&gt; &lt;font color="#009900"&gt;Identifier&lt;/font&gt; &lt;font color="#FF0000"&gt;"Synaptics Touchpad"&lt;/font&gt;&lt;br /&gt; &lt;font color="#009900"&gt;Driver&lt;/font&gt;  &lt;font color="#FF0000"&gt;"synaptics"&lt;/font&gt;&lt;br /&gt; &lt;font color="#009900"&gt;Option&lt;/font&gt;  &lt;font color="#FF0000"&gt;"SendCoreEvents"&lt;/font&gt; &lt;font color="#FF0000"&gt;"true"&lt;/font&gt;&lt;br /&gt; &lt;font color="#009900"&gt;Option&lt;/font&gt;  &lt;font color="#FF0000"&gt;"Device"&lt;/font&gt;  &lt;font color="#FF0000"&gt;"/dev/psaux"&lt;/font&gt;&lt;br /&gt; &lt;font color="#009900"&gt;Option&lt;/font&gt;  &lt;font color="#FF0000"&gt;"Protocol"&lt;/font&gt;  &lt;font color="#FF0000"&gt;"auto-dev"&lt;/font&gt;&lt;br /&gt; &lt;font color="#009900"&gt;Option&lt;/font&gt;   &lt;font color="#FF0000"&gt;"SHMConfig"&lt;/font&gt;   &lt;font color="#FF0000"&gt;"on"&lt;/font&gt;&lt;br /&gt; &lt;font color="#009900"&gt;Option&lt;/font&gt;  &lt;font color="#FF0000"&gt;"HorizEdgeScroll"&lt;/font&gt; &lt;font color="#FF0000"&gt;"0"&lt;/font&gt;&lt;br /&gt;        &lt;font color="#009900"&gt;Option&lt;/font&gt;          &lt;font color="#FF0000"&gt;"MinSpeed"&lt;/font&gt; &lt;font color="#FF0000"&gt;"0.5"&lt;/font&gt;    &lt;i&gt;&lt;font color="#9A1900"&gt;# touchpad speed when moving slowly&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;        &lt;font color="#009900"&gt;Option&lt;/font&gt;          &lt;font color="#FF0000"&gt;"MaxSpeed"&lt;/font&gt; &lt;font color="#FF0000"&gt;"2.0"&lt;/font&gt;    &lt;i&gt;&lt;font color="#9A1900"&gt;# touchpad speed when moving fast&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;        &lt;font color="#009900"&gt;Option&lt;/font&gt;          &lt;font color="#FF0000"&gt;"AccelFactor"&lt;/font&gt; &lt;font color="#FF0000"&gt;"0.10"&lt;/font&gt;&lt;br /&gt;        &lt;font color="#009900"&gt;Option&lt;/font&gt;          &lt;font color="#FF0000"&gt;"CircularScrolling"&lt;/font&gt; &lt;font color="#FF0000"&gt;"on"&lt;/font&gt;&lt;br /&gt;        &lt;font color="#009900"&gt;Option&lt;/font&gt;          &lt;font color="#FF0000"&gt;"EdgeMotionMinSpeed"&lt;/font&gt; &lt;font color="#FF0000"&gt;"0.5"&lt;/font&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;EndSection&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;#&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;# qmake configuration for win32-g++&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;#&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;# Written for MinGW&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;#&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#009900"&gt;MAKEFILE_GENERATOR      &lt;/font&gt;&lt;font color="#990000"&gt;=&lt;/font&gt; MINGW&lt;br /&gt;&lt;font color="#009900"&gt;TEMPLATE                &lt;/font&gt;&lt;font color="#990000"&gt;=&lt;/font&gt; app&lt;br /&gt;&lt;font color="#009900"&gt;CONFIG                  &lt;/font&gt;&lt;font color="#990000"&gt;+=&lt;/font&gt; qt warn_on release link_prl copy_dir_files debug_and_release debug_and_release_target precompile_header&lt;br /&gt;&lt;br /&gt;&lt;font color="#009900"&gt;QMAKE_INCDIR            &lt;/font&gt;&lt;font color="#990000"&gt;=&lt;/font&gt;&lt;br /&gt;&lt;font color="#009900"&gt;QMAKE_INCDIR_QT         &lt;/font&gt;&lt;font color="#990000"&gt;=&lt;/font&gt; &lt;font color="#009900"&gt;$$&lt;/font&gt;&lt;b&gt;&lt;font color="#000000"&gt;[QT_INSTALL_HEADERS]&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;&lt;font color="#009900"&gt;QMAKE_LIBDIR_QT         &lt;/font&gt;&lt;font color="#990000"&gt;=&lt;/font&gt; &lt;font color="#009900"&gt;$$&lt;/font&gt;&lt;b&gt;&lt;font color="#000000"&gt;[QT_INSTALL_LIBS]&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#009900"&gt;QMAKE_RUN_CC            &lt;/font&gt;&lt;font color="#990000"&gt;=&lt;/font&gt; &lt;font color="#009900"&gt;$(CC)&lt;/font&gt; &lt;font color="#990000"&gt;-&lt;/font&gt;c &lt;font color="#009900"&gt;$(CFLAGS)&lt;/font&gt; &lt;font color="#009900"&gt;$(INCPATH)&lt;/font&gt; &lt;font color="#990000"&gt;-&lt;/font&gt;o &lt;font color="#009900"&gt;$obj&lt;/font&gt; &lt;font color="#009900"&gt;$src&lt;/font&gt;&lt;br /&gt;&lt;font color="#009900"&gt;QMAKE_RUN_CC_IMP        &lt;/font&gt;&lt;font color="#990000"&gt;=&lt;/font&gt; &lt;font color="#009900"&gt;$(CC)&lt;/font&gt; &lt;font color="#990000"&gt;-&lt;/font&gt;c &lt;font color="#009900"&gt;$(CFLAGS)&lt;/font&gt; &lt;font color="#009900"&gt;$(INCPATH)&lt;/font&gt; &lt;font color="#990000"&gt;-&lt;/font&gt;o &lt;font color="#009900"&gt;$@&lt;/font&gt; &lt;font color="#009900"&gt;$&amp;lt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;# settings for source-highlight&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#009900"&gt;datadir &lt;/font&gt;&lt;font color="#990000"&gt;=&lt;/font&gt; &lt;font color="#FF0000"&gt;"/home/bettini/usr/local/share/source-highlight"&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;# other conf file&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#000000"&gt;[PlaylistColumnsLayout]&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;&lt;font color="#009900"&gt;ColumnNames&lt;/font&gt;&lt;font color="#990000"&gt;=&lt;/font&gt;Filename&lt;font color="#990000"&gt;,&lt;/font&gt;Title&lt;font color="#990000"&gt;,&lt;/font&gt;Artist&lt;font color="#990000"&gt;,&lt;/font&gt;AlbumArtist&lt;font color="#990000"&gt;,&lt;/font&gt;Composer&lt;font color="#990000"&gt;,&lt;/font&gt;Year&lt;font color="#990000"&gt;,&lt;/font&gt;Album&lt;font color="#990000"&gt;,&lt;/font&gt;DiscNumber&lt;font color="#990000"&gt;,&lt;/font&gt;Track&lt;font color="#990000"&gt;,&lt;/font&gt;BPM&lt;font color="#990000"&gt;,&lt;/font&gt;Genre&lt;font color="#990000"&gt;,&lt;/font&gt;Comment&lt;font color="#990000"&gt;,&lt;/font&gt;Directory&lt;font color="#990000"&gt;,&lt;/font&gt;Type&lt;font color="#990000"&gt;,&lt;/font&gt;Length&lt;font color="#990000"&gt;,&lt;/font&gt;Bitrate&lt;font color="#990000"&gt;,&lt;/font&gt;SampleRate&lt;font color="#990000"&gt;,&lt;/font&gt;Score&lt;font color="#990000"&gt;,&lt;/font&gt;Rating&lt;font color="#990000"&gt;,&lt;/font&gt;PlayCount&lt;font color="#990000"&gt;,&lt;/font&gt;LastPlayed&lt;font color="#990000"&gt;,&lt;/font&gt;Mood&lt;font color="#990000"&gt;,&lt;/font&gt;Filesize&lt;br /&gt;&lt;font color="#009900"&gt;ColumnOrder&lt;/font&gt;&lt;font color="#990000"&gt;=&lt;/font&gt;&lt;font color="#993399"&gt;0&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt;&lt;font color="#993399"&gt;1&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt;&lt;font color="#993399"&gt;2&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt;&lt;font color="#993399"&gt;3&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt;&lt;font color="#993399"&gt;4&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt;&lt;font color="#993399"&gt;5&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt;&lt;font color="#993399"&gt;6&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt;&lt;font color="#993399"&gt;7&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt;&lt;font color="#993399"&gt;8&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt;&lt;font color="#993399"&gt;9&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt;&lt;font color="#993399"&gt;10&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt;&lt;font color="#993399"&gt;11&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt;&lt;font color="#993399"&gt;12&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt;&lt;font color="#993399"&gt;13&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt;&lt;font color="#993399"&gt;14&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt;&lt;font color="#993399"&gt;15&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt;&lt;font color="#993399"&gt;16&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt;&lt;font color="#993399"&gt;17&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt;&lt;font color="#993399"&gt;18&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt;&lt;font color="#993399"&gt;19&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt;&lt;font color="#993399"&gt;20&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt;&lt;font color="#993399"&gt;21&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt;&lt;font color="#993399"&gt;22&lt;/font&gt;&lt;br /&gt;&lt;font color="#009900"&gt;ColumnWidths&lt;/font&gt;&lt;font color="#990000"&gt;=&lt;/font&gt;&lt;font color="#993399"&gt;0&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt;&lt;font color="#993399"&gt;184&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt;&lt;font color="#993399"&gt;92&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt;&lt;font color="#993399"&gt;0&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt;&lt;font color="#993399"&gt;0&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt;&lt;font color="#993399"&gt;100&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt;&lt;font color="#993399"&gt;92&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt;&lt;font color="#993399"&gt;0&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt;&lt;font color="#993399"&gt;0&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt;&lt;font color="#993399"&gt;0&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt;&lt;font color="#993399"&gt;0&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt;&lt;font color="#993399"&gt;0&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt;&lt;font color="#993399"&gt;73&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt;&lt;font color="#993399"&gt;0&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt;&lt;font color="#993399"&gt;80&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt;&lt;font color="#993399"&gt;0&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt;&lt;font color="#993399"&gt;0&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt;&lt;font color="#993399"&gt;0&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt;&lt;font color="#993399"&gt;0&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt;&lt;font color="#993399"&gt;0&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt;&lt;font color="#993399"&gt;0&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt;&lt;font color="#993399"&gt;0&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt;&lt;font color="#993399"&gt;0&lt;/font&gt;&lt;br /&gt;&lt;font color="#009900"&gt;ColumnsVersion&lt;/font&gt;&lt;font color="#990000"&gt;=&lt;/font&gt;&lt;font color="#993399"&gt;1&lt;/font&gt;&lt;br /&gt;&lt;font color="#009900"&gt;SortAscending&lt;/font&gt;&lt;font color="#990000"&gt;=&lt;/font&gt;true&lt;br /&gt;&lt;font color="#009900"&gt;SortColumn&lt;/font&gt;&lt;font color="#990000"&gt;=&lt;/font&gt;&lt;font color="#993399"&gt;200&lt;/font&gt;&lt;br /&gt;&lt;/tt&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;pkg-config files&lt;/span&gt;&lt;br /&gt;&lt;!-- Generator: GNU source-highlight &lt;br /&gt;by Lorenzo Bettini&lt;br /&gt;http://www.lorenzobettini.it&lt;br /&gt;http://www.gnu.org/software/src-highlite --&gt;&lt;br /&gt;&lt;pre&gt;&lt;tt&gt;&lt;font color="#009900"&gt;prefix&lt;/font&gt;&lt;font color="#990000"&gt;=&lt;/font&gt;/home/bettini/usr/local&lt;br /&gt;&lt;font color="#009900"&gt;exec_prefix&lt;/font&gt;&lt;font color="#990000"&gt;=&lt;/font&gt;&lt;font color="#009900"&gt;${prefix}&lt;/font&gt;&lt;br /&gt;&lt;font color="#009900"&gt;libdir&lt;/font&gt;&lt;font color="#990000"&gt;=&lt;/font&gt;&lt;font color="#009900"&gt;${exec_prefix}&lt;/font&gt;/lib&lt;br /&gt;&lt;font color="#009900"&gt;includedir&lt;/font&gt;&lt;font color="#990000"&gt;=&lt;/font&gt;&lt;font color="#009900"&gt;${prefix}&lt;/font&gt;/include&lt;br /&gt;&lt;br /&gt;&lt;font color="#FF0000"&gt;Name&lt;/font&gt;&lt;font color="#990000"&gt;:&lt;/font&gt; libsource-highlight&lt;br /&gt;&lt;font color="#FF0000"&gt;Description&lt;/font&gt;&lt;font color="#990000"&gt;:&lt;/font&gt; GNU Source-highlight library.&lt;br /&gt;&lt;font color="#FF0000"&gt;URL&lt;/font&gt;&lt;font color="#990000"&gt;:&lt;/font&gt; &lt;u&gt;&lt;font color="#0000FF"&gt;http://www.gnu.org/software/src-highlite/&lt;/font&gt;&lt;/u&gt;&lt;br /&gt;&lt;font color="#FF0000"&gt;Version&lt;/font&gt;&lt;font color="#990000"&gt;:&lt;/font&gt; &lt;font color="#993399"&gt;3.0&lt;/font&gt;&lt;br /&gt;&lt;font color="#FF0000"&gt;Libs&lt;/font&gt;&lt;font color="#990000"&gt;:&lt;/font&gt; -L&lt;font color="#009900"&gt;${libdir}&lt;/font&gt; -lsource-highlight -L/usr/lib -lboost_regex-gcc43-1_35&lt;br /&gt;&lt;font color="#FF0000"&gt;Cflags&lt;/font&gt;&lt;font color="#990000"&gt;:&lt;/font&gt; -I&lt;font color="#009900"&gt;${includedir}&lt;/font&gt; -I&lt;font color="#009900"&gt;${libdir}&lt;/font&gt;/include -I/usr/include&lt;br /&gt;&lt;br /&gt;&lt;/tt&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Hope to have another program using source-highlight library ready soon :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35239346-4730618569008150221?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/4730618569008150221/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=4730618569008150221' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/4730618569008150221'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/4730618569008150221'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2009/05/gnu-source-higlight-30-now-with-library.html' title='GNU Source-higlight 3.0: now with a Library'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-8153956003340588860</id><published>2009-05-08T18:30:00.006+02:00</published><updated>2009-05-08T18:44:54.964+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='PC'/><category scheme='http://www.blogger.com/atom/ns#' term='nvidia'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Goodbye ATI, welcome NVIDIA</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_UtmZWQ8OFEM/SgRe0uWsfzI/AAAAAAAABX0/2wQe-y6sj5E/s1600-h/slim.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 150px;" src="http://1.bp.blogspot.com/_UtmZWQ8OFEM/SgRe0uWsfzI/AAAAAAAABX0/2wQe-y6sj5E/s200/slim.jpg" alt="" id="BLOGGER_PHOTO_ID_5333492118602940210" border="0" /&gt;&lt;/a&gt;I recently bought a new desktop, a slim one: the s3530.it HP Pavilion slimline, which I've really enjoyed since the very first moment! It is very small, compact, silent, and it provides basically everything!&lt;br /&gt;&lt;br /&gt;When I bought it I noticed that it was endorsed with an ATI graphical card, but I said to myself "ATI? Never owned one... but it is well supported in Linux as far as I remember..." Gosh I was quite wrong!&lt;br /&gt;&lt;br /&gt;If supported means that you need to get stuck with 2d or experience very sloooow motions in 3d then, it is right, it is supported, otherwise... :'(&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_UtmZWQ8OFEM/SgRhTccTQuI/AAAAAAAABX8/SGnFZ2r3ZGE/s1600-h/nvidia_geforce_300.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 114px; height: 111px;" src="http://3.bp.blogspot.com/_UtmZWQ8OFEM/SgRhTccTQuI/AAAAAAAABX8/SGnFZ2r3ZGE/s200/nvidia_geforce_300.jpg" alt="" id="BLOGGER_PHOTO_ID_5333494845393814242" border="0" /&gt;&lt;/a&gt;I had always had nice experiences with Nvidia, and I didn't want to give up compiz special effects (after all I have a powerful desktop!), so after a quite hard research to find someone selling an Nvidia lowprofile graphic card, I substituted that crap of ATI with an Nvidia GE-FORCE 8400 GS graphical card, and now everything works like magic, with a very fluent graphic!&lt;br /&gt;&lt;br /&gt;Of course, Ubuntu provides the driver for that! Well it did it also for ATI, but that driver really sucks!&lt;br /&gt;&lt;br /&gt;I'll never buy another computer again if endorsed with an ATI, this is for sure! :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35239346-8153956003340588860?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/8153956003340588860/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=8153956003340588860' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/8153956003340588860'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/8153956003340588860'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2009/05/goodbye-ati-welcome-nvidia.html' title='Goodbye ATI, welcome NVIDIA'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_UtmZWQ8OFEM/SgRe0uWsfzI/AAAAAAAABX0/2wQe-y6sj5E/s72-c/slim.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-6827424796500266111</id><published>2009-04-11T15:08:00.004+02:00</published><updated>2009-04-11T15:13:43.641+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='modem'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>GPRS connection in Ubuntu Jaunty</title><content type='html'>I've been using this beta version of Ubuntu Jaunty for a few days now, and today I wanted to establish a GPRS/GSM connection with my Nokia, using a USB cable. I had done this in my other Kubuntu distribution, and I only needed to set the parameters right in kppp.&lt;br /&gt;&lt;br /&gt;This time I had a very pleasant surprise: as soon as I connected the USB cable, a pop window showed up:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_UtmZWQ8OFEM/SeCXB77yYtI/AAAAAAAABXU/qMjer3yOzeA/s1600-h/mobile01.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 373px;" src="http://4.bp.blogspot.com/_UtmZWQ8OFEM/SeCXB77yYtI/AAAAAAAABXU/qMjer3yOzeA/s400/mobile01.png" alt="" id="BLOGGER_PHOTO_ID_5323420819076047570" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;after pressing Forward:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_UtmZWQ8OFEM/SeCXQEsDuJI/AAAAAAAABXc/OWy-vwtVxJY/s1600-h/mobile02.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 393px; height: 400px;" src="http://2.bp.blogspot.com/_UtmZWQ8OFEM/SeCXQEsDuJI/AAAAAAAABXc/OWy-vwtVxJY/s400/mobile02.png" alt="" id="BLOGGER_PHOTO_ID_5323421061944162450" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;it already had all the parameters I needed, I just had to select the right voices in the Country and Provider, and I'm on-line!&lt;br /&gt;&lt;br /&gt;Well done developers :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35239346-6827424796500266111?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/6827424796500266111/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=6827424796500266111' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/6827424796500266111'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/6827424796500266111'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2009/04/gprs-connection-in-ubuntu-jaunty.html' title='GPRS connection in Ubuntu Jaunty'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_UtmZWQ8OFEM/SeCXB77yYtI/AAAAAAAABXU/qMjer3yOzeA/s72-c/mobile01.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-610962319456810181</id><published>2009-04-05T14:57:00.016+02:00</published><updated>2009-04-05T15:29:23.985+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dell'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Ubuntu Jaunty 9.04 beta on a Dell Latitude D630</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_UtmZWQ8OFEM/SdisIpRB9pI/AAAAAAAABVk/PihRlFqu5kY/s1600-h/Dell_Latitude_630.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 239px;" src="http://2.bp.blogspot.com/_UtmZWQ8OFEM/SdisIpRB9pI/AAAAAAAABVk/PihRlFqu5kY/s320/Dell_Latitude_630.jpg" alt="" id="BLOGGER_PHOTO_ID_5321192224254457490" border="0" /&gt;&lt;/a&gt;I've been using this laptop, a Dell Latitude D630 for more than one year now, and I've always used Kubuntu (but always up to 8.04). Today, I decided to give a try to Ubuntu Jaunty 9.04 (still in beta); I preferred Ubuntu instead of Kubuntu because the same version of Kubuntu has a bug at the end of the installation process which does not let you decide whether to install the boot loaded on a specific partition instead of the MBR.&lt;br /&gt;&lt;br /&gt;I tested the system live first, and experienced no problems. Thus, I installed it on the hard disk (on another partition, since I'm still keeping the kubuntu 8.04 installation).&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_UtmZWQ8OFEM/SdiscvWs04I/AAAAAAAABVs/5xAKDV9kLFc/s1600-h/Untitled.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 336px;" src="http://1.bp.blogspot.com/_UtmZWQ8OFEM/SdiscvWs04I/AAAAAAAABVs/5xAKDV9kLFc/s400/Untitled.png" alt="" id="BLOGGER_PHOTO_ID_5321192569486234498" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_UtmZWQ8OFEM/SdisjI1zFWI/AAAAAAAABV0/YiV1De_QUQ8/s1600-h/Untitled2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 324px;" src="http://2.bp.blogspot.com/_UtmZWQ8OFEM/SdisjI1zFWI/AAAAAAAABV0/YiV1De_QUQ8/s400/Untitled2.png" alt="" id="BLOGGER_PHOTO_ID_5321192679406769506" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The first nice thing I noticed was that now it's much easier to select your time zone, and the Region and City lists are neater (you can select the time zone with a few clicks now).&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_UtmZWQ8OFEM/Sdis2LQT49I/AAAAAAAABV8/9lJXplE9rh4/s1600-h/Untitled3.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 324px;" src="http://2.bp.blogspot.com/_UtmZWQ8OFEM/Sdis2LQT49I/AAAAAAAABV8/9lJXplE9rh4/s400/Untitled3.png" alt="" id="BLOGGER_PHOTO_ID_5321193006472356818" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Also the suggestion of the keyboard layout works fine!&lt;br /&gt;&lt;br /&gt;Then we come to the partitioning step:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_UtmZWQ8OFEM/SditqfdcCmI/AAAAAAAABWE/FFQEmea7g58/s1600-h/Untitled4.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 212px;" src="http://4.bp.blogspot.com/_UtmZWQ8OFEM/SditqfdcCmI/AAAAAAAABWE/FFQEmea7g58/s400/Untitled4.png" alt="" id="BLOGGER_PHOTO_ID_5321193905249323618" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;where I preferred to do a manual partitioning (having already some existing partitions I needed to keep):&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_UtmZWQ8OFEM/Sdit54Gr-7I/AAAAAAAABWM/DZmjGu15XgI/s1600-h/Untitled5.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 160px;" src="http://1.bp.blogspot.com/_UtmZWQ8OFEM/Sdit54Gr-7I/AAAAAAAABWM/DZmjGu15XgI/s400/Untitled5.png" alt="" id="BLOGGER_PHOTO_ID_5321194169562823602" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I also specified to mount my other linux installation in a specific directory&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_UtmZWQ8OFEM/SdiuGgoyrjI/AAAAAAAABWU/f9P-UHWqgJ0/s1600-h/Untitled6.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 212px;" src="http://3.bp.blogspot.com/_UtmZWQ8OFEM/SdiuGgoyrjI/AAAAAAAABWU/f9P-UHWqgJ0/s400/Untitled6.png" alt="" id="BLOGGER_PHOTO_ID_5321194386601717298" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_UtmZWQ8OFEM/SdiuUeewJ0I/AAAAAAAABWc/ACXnka3YPOA/s1600-h/Untitled7.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 212px;" src="http://4.bp.blogspot.com/_UtmZWQ8OFEM/SdiuUeewJ0I/AAAAAAAABWc/ACXnka3YPOA/s400/Untitled7.png" alt="" id="BLOGGER_PHOTO_ID_5321194626540906306" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The installation also offers the possibility of importing existing accounts (note that it detected windows and other Linux installations), but I preferred not to.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_UtmZWQ8OFEM/SdiuboP2e3I/AAAAAAAABWk/ow2Ah-iIVFw/s1600-h/Untitled8.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 212px;" src="http://3.bp.blogspot.com/_UtmZWQ8OFEM/SdiuboP2e3I/AAAAAAAABWk/ow2Ah-iIVFw/s400/Untitled8.png" alt="" id="BLOGGER_PHOTO_ID_5321194749421845362" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Then, before starting the installation...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_UtmZWQ8OFEM/Sdiu3mtPfsI/AAAAAAAABWs/AsD7mlOe2Zo/s1600-h/Untitled9.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 212px;" src="http://4.bp.blogspot.com/_UtmZWQ8OFEM/Sdiu3mtPfsI/AAAAAAAABWs/AsD7mlOe2Zo/s400/Untitled9.png" alt="" id="BLOGGER_PHOTO_ID_5321195230044585666" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;remember to click on the advanced button, to setup the boot loader as you prefer, otherwise it will be installed on the MBR.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_UtmZWQ8OFEM/SdivVvu00tI/AAAAAAAABW0/BErirmutiLE/s1600-h/Untitled10.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 301px;" src="http://1.bp.blogspot.com/_UtmZWQ8OFEM/SdivVvu00tI/AAAAAAAABW0/BErirmutiLE/s400/Untitled10.png" alt="" id="BLOGGER_PHOTO_ID_5321195747863220946" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Now, since I already have grub installed (from my main kubuntu 8.04 installation), and want to keep that that way, I chose to install the ubuntu boot loader on the first sector of the installation partition (in my case (hd0,5) or /dev/sda6):&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_UtmZWQ8OFEM/Sdivi56cCDI/AAAAAAAABW8/ckoeby0QI44/s1600-h/Untitled11.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 376px; height: 195px;" src="http://2.bp.blogspot.com/_UtmZWQ8OFEM/Sdivi56cCDI/AAAAAAAABW8/ckoeby0QI44/s400/Untitled11.png" alt="" id="BLOGGER_PHOTO_ID_5321195973934581810" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Now, I'm read to start the installation:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_UtmZWQ8OFEM/Sdiv7YMI4bI/AAAAAAAABXE/uCGJU_OZ9-A/s1600-h/Untitled12.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 113px;" src="http://4.bp.blogspot.com/_UtmZWQ8OFEM/Sdiv7YMI4bI/AAAAAAAABXE/uCGJU_OZ9-A/s400/Untitled12.png" alt="" id="BLOGGER_PHOTO_ID_5321196394378748338" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Of course, I had to change the grub menu.lst file of my main linux kubuntu 8.04 installation in order to add a menu item to boot this new Linux installation:&lt;br /&gt;&lt;pre&gt;title        Ubuntu Jaunty&lt;br /&gt;root        (hd0,5)&lt;br /&gt;chainloader    +1&lt;/pre&gt;By selecting this grub menu item, I can boot the new Jaunty installation.&lt;br /&gt;&lt;br /&gt;The first impression was really good! Everything seems to work fine: &lt;span style="font-weight: bold;"&gt;ethernet&lt;/span&gt; (&lt;span style="font-style: italic;"&gt;Broadcom Corporation NetXtreme BCM5755M Gigabit Ethernet PCI Express (rev 02)&lt;/span&gt;), &lt;span style="font-weight: bold;"&gt;wireless&lt;/span&gt; (&lt;span style="font-style: italic;"&gt;Network controller: Intel Corporation PRO/Wireless 3945ABG [Golan] Network Connection (rev 02)&lt;/span&gt;), &lt;span style="font-weight: bold;"&gt;bluetooth&lt;/span&gt;, &lt;span style="font-weight: bold;"&gt;graphic card&lt;/span&gt; (&lt;span style="font-style: italic;"&gt;Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (rev 0c)&lt;/span&gt;) with special effects on!&lt;br /&gt;&lt;br /&gt;It also looks like the &lt;a href="https://bugs.launchpad.net/ubuntu/+source/acpi-support/+bug/59695"&gt;infamous bug concerning too many load/unload cycles&lt;/a&gt; is not there anymore!&lt;br /&gt;&lt;br /&gt;Stay tuned, as I'll keep this post up to date with new information :-)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_UtmZWQ8OFEM/SdixjSvX1yI/AAAAAAAABXM/LdLXQUErorU/s1600-h/masthead-cds.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 204px; height: 95px;" src="http://3.bp.blogspot.com/_UtmZWQ8OFEM/SdixjSvX1yI/AAAAAAAABXM/LdLXQUErorU/s400/masthead-cds.jpg" alt="" id="BLOGGER_PHOTO_ID_5321198179622311714" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35239346-610962319456810181?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/610962319456810181/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=610962319456810181' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/610962319456810181'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/610962319456810181'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2009/04/ubuntu-jaunty-904-beta-on-dell-latitude.html' title='Ubuntu Jaunty 9.04 beta on a Dell Latitude D630'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_UtmZWQ8OFEM/SdisIpRB9pI/AAAAAAAABVk/PihRlFqu5kY/s72-c/Dell_Latitude_630.jpg' height='72' width='72'/><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-2006576607995099563</id><published>2009-03-04T22:29:00.016+01:00</published><updated>2009-03-04T22:50:08.832+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='qt'/><title type='text'>Qt Eclipse Integration</title><content type='html'>&lt;a href="http://tronprog.blogspot.com/2009/02/compiling-qt-with-mingw-in-msys.html"&gt;Recently&lt;/a&gt;, I started to play with Qt 4 also under Windows, in order to be able to port some of my Linux applications that use Qt. Usually, I'm using KDevelop under Linux to develop Qt applications, but under Windows? Then I noticed that Trolltech provides &lt;a href="http://www.qtsoftware.com/developer/eclipse-integration"&gt;Qt Eclipse Integration&lt;/a&gt;, i.e., an Eclipse plugin to program Qt programs with Eclipse. So I gave it a try...&lt;br /&gt;&lt;br /&gt;IMPRESSIVE, really a nice piece of software!&lt;br /&gt;&lt;br /&gt;The installation is immediate, and you get a menu item to run Eclipse already setup to start programming with Qt (relying on the CDT plugin for the C++ part). To try it, I followed the tutorial you find &lt;a href="http://doc.trolltech.com/qt-eclipse-1.5.0/index.html"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The new project wizard now provides also Qt project options:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_UtmZWQ8OFEM/Sa7zwS7RZoI/AAAAAAAABTk/BmChB4hB0b0/s1600-h/qtintegration.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 400px;" src="http://3.bp.blogspot.com/_UtmZWQ8OFEM/Sa7zwS7RZoI/AAAAAAAABTk/BmChB4hB0b0/s400/qtintegration.PNG" alt="" id="BLOGGER_PHOTO_ID_5309449021756106370" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;I chose the Qt Gui Project, and you'll have a skeleton project with an ui file (and you can then choose possible further libraries you might want to use):&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_UtmZWQ8OFEM/Sa70BCBNOpI/AAAAAAAABTs/NzgLjl4eeYI/s1600-h/qtintegration2.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 400px;" src="http://2.bp.blogspot.com/_UtmZWQ8OFEM/Sa70BCBNOpI/AAAAAAAABTs/NzgLjl4eeYI/s400/qtintegration2.PNG" alt="" id="BLOGGER_PHOTO_ID_5309449309275372178" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_UtmZWQ8OFEM/Sa70Ph7zRsI/AAAAAAAABT0/of8TE99lSEA/s1600-h/qtintegration3.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 400px;" src="http://2.bp.blogspot.com/_UtmZWQ8OFEM/Sa70Ph7zRsI/AAAAAAAABT0/of8TE99lSEA/s400/qtintegration3.PNG" alt="" id="BLOGGER_PHOTO_ID_5309449558360803010" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;If you haven't done that already, you'll need to configure a Qt version by providing the paths of your Qt installation:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_UtmZWQ8OFEM/Sa70jGIOZ4I/AAAAAAAABT8/59gEIog-gzU/s1600-h/qtintegration4.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 368px;" src="http://3.bp.blogspot.com/_UtmZWQ8OFEM/Sa70jGIOZ4I/AAAAAAAABT8/59gEIog-gzU/s400/qtintegration4.PNG" alt="" id="BLOGGER_PHOTO_ID_5309449894494103426" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Building the project relies, obviously, on qmake:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_UtmZWQ8OFEM/Sa70021DSOI/AAAAAAAABUE/NysOXTUI3qY/s1600-h/qtintegration5.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_UtmZWQ8OFEM/Sa70021DSOI/AAAAAAAABUE/NysOXTUI3qY/s400/qtintegration5.PNG" alt="" id="BLOGGER_PHOTO_ID_5309450199624796386" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;If you open the ui file, you'll see the nice integration with QtDesigner, perfectly fit in Eclipse, with all the useful views:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_UtmZWQ8OFEM/Sa71QujSZBI/AAAAAAAABUM/Onf4HPeVCzk/s1600-h/qtintegration6.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 261px;" src="http://1.bp.blogspot.com/_UtmZWQ8OFEM/Sa71QujSZBI/AAAAAAAABUM/Onf4HPeVCzk/s400/qtintegration6.PNG" alt="" id="BLOGGER_PHOTO_ID_5309450678439142418" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_UtmZWQ8OFEM/Sa71a-yEPkI/AAAAAAAABUU/mewECSDWFBg/s1600-h/qtintegration7.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 140px;" src="http://4.bp.blogspot.com/_UtmZWQ8OFEM/Sa71a-yEPkI/AAAAAAAABUU/mewECSDWFBg/s400/qtintegration7.PNG" alt="" id="BLOGGER_PHOTO_ID_5309450854594788930" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;You can then create new files, classes and in particular UI classes:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_UtmZWQ8OFEM/Sa71nsoNpoI/AAAAAAAABUc/LzxX2a5-c4g/s1600-h/qtintegration8.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 332px;" src="http://4.bp.blogspot.com/_UtmZWQ8OFEM/Sa71nsoNpoI/AAAAAAAABUc/LzxX2a5-c4g/s400/qtintegration8.PNG" alt="" id="BLOGGER_PHOTO_ID_5309451073059923586" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_UtmZWQ8OFEM/Sa712de_ieI/AAAAAAAABUk/Sx4xWaQtwtw/s1600-h/qtintegration9.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 399px; height: 400px;" src="http://1.bp.blogspot.com/_UtmZWQ8OFEM/Sa712de_ieI/AAAAAAAABUk/Sx4xWaQtwtw/s400/qtintegration9.PNG" alt="" id="BLOGGER_PHOTO_ID_5309451326692755938" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_UtmZWQ8OFEM/Sa71_eNexWI/AAAAAAAABUs/vXOI6L9HMlY/s1600-h/qtintegration10.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 382px; height: 400px;" src="http://4.bp.blogspot.com/_UtmZWQ8OFEM/Sa71_eNexWI/AAAAAAAABUs/vXOI6L9HMlY/s400/qtintegration10.PNG" alt="" id="BLOGGER_PHOTO_ID_5309451481506563426" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;And note the nice project file editor&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_UtmZWQ8OFEM/Sa72Lz1TkrI/AAAAAAAABU0/pCREM64jn-U/s1600-h/qtintegration11.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 261px;" src="http://3.bp.blogspot.com/_UtmZWQ8OFEM/Sa72Lz1TkrI/AAAAAAAABU0/pCREM64jn-U/s400/qtintegration11.PNG" alt="" id="BLOGGER_PHOTO_ID_5309451693469176498" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;And here's how you can easily manage signals and slots:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_UtmZWQ8OFEM/Sa72tv1aDkI/AAAAAAAABU8/naa9AMRJxqU/s1600-h/qtintegration12.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 261px;" src="http://1.bp.blogspot.com/_UtmZWQ8OFEM/Sa72tv1aDkI/AAAAAAAABU8/naa9AMRJxqU/s400/qtintegration12.PNG" alt="" id="BLOGGER_PHOTO_ID_5309452276511411778" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_UtmZWQ8OFEM/Sa720ulKvAI/AAAAAAAABVE/KcWNwbLWoUI/s1600-h/qtintegration13.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 310px;" src="http://1.bp.blogspot.com/_UtmZWQ8OFEM/Sa720ulKvAI/AAAAAAAABVE/KcWNwbLWoUI/s400/qtintegration13.PNG" alt="" id="BLOGGER_PHOTO_ID_5309452396433947650" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_UtmZWQ8OFEM/Sa727LBBkmI/AAAAAAAABVM/IFY6H-JAIqI/s1600-h/qtintegration14.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 289px;" src="http://2.bp.blogspot.com/_UtmZWQ8OFEM/Sa727LBBkmI/AAAAAAAABVM/IFY6H-JAIqI/s400/qtintegration14.PNG" alt="" id="BLOGGER_PHOTO_ID_5309452507146195554" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_UtmZWQ8OFEM/Sa73AoeWNxI/AAAAAAAABVU/UxhKpZihTi4/s1600-h/qtintegration15.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 347px;" src="http://1.bp.blogspot.com/_UtmZWQ8OFEM/Sa73AoeWNxI/AAAAAAAABVU/UxhKpZihTi4/s400/qtintegration15.PNG" alt="" id="BLOGGER_PHOTO_ID_5309452600953157394" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Following the tutorial you'll get an address book application that looks like this:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_UtmZWQ8OFEM/Sa73UFlTUTI/AAAAAAAABVc/jrLSGgPuaNI/s1600-h/qtintegration17.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 327px;" src="http://4.bp.blogspot.com/_UtmZWQ8OFEM/Sa73UFlTUTI/AAAAAAAABVc/jrLSGgPuaNI/s400/qtintegration17.PNG" alt="" id="BLOGGER_PHOTO_ID_5309452935184470322" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Summarizing, the qt eclipse integration plugin really impressed me in a positive way! And now I want to try it also under Linux. :-)&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35239346-2006576607995099563?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/2006576607995099563/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=2006576607995099563' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/2006576607995099563'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/2006576607995099563'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2009/03/qt-eclipse-integration.html' title='Qt Eclipse Integration'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_UtmZWQ8OFEM/Sa7zwS7RZoI/AAAAAAAABTk/BmChB4hB0b0/s72-c/qtintegration.PNG' height='72' width='72'/><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-8813012305970463600</id><published>2009-03-01T18:33:00.009+01:00</published><updated>2009-03-21T15:46:16.054+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='xdebug'/><category scheme='http://www.blogger.com/atom/ns#' term='kubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='pdt'/><title type='text'>PDT, XDebug, Eclipse in Linux</title><content type='html'>I finally had a working version of &lt;a href="http://www.eclipse.org/pdt/"&gt;PDT (Php eclipse plugin)&lt;/a&gt; and &lt;a href="http://www.xdebug.org/"&gt;XDebug&lt;/a&gt;, so that I can finally debug, not only php script, but also php web sites! :-)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://robsnotebook.com/php_debugger_pdt_xdebug"&gt;This blog post&lt;/a&gt; helped me a lot, but I must also admit that pdt people did a wonderful job, and now everything seems to work out of the box!&lt;br /&gt;&lt;br /&gt;First of all I relied on the pdt all in one version (i.e., eclipse together with all the requested plugins and the pdt plugin), that can be found at &lt;a href="http://www.eclipse.org/pdt/downloads/"&gt;http://www.eclipse.org/pdt/downloads&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;However, you also need to install xdebug and (k)ubuntu already has a package for this, so you just need to type&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;apt-get install php5-xdebug&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now just check the path of the xdebug.so library file, in my case it is&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;/usr/lib/php5/20060613+lfs/xdebug.so&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;then you'll need to add some parts in the php.ini configuration file, so you need to add at the end of your /etc/php5/apache2/php.ini these lines (use the path of xdebug.so above):&lt;br /&gt;&lt;pre&gt;&lt;span style="font-weight: bold;"&gt;; XDebug&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;zend_extension="/usr/lib/php5/20060613+lfs/xdebug.so"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;xdebug.remote_enable=true&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;xdebug.remote_host="127.0.0.1"  ; if debugging on remote server,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;                                ; put client IP here&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;Also, set implicit flush on in the same php.ini file, so you need to search for implicit_flush in the file and make sure it is set to on:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;implicit_flush = On&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now you're set and you can run eclipse, and try to make a new Php project with a simple file, and try to debug it!&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_UtmZWQ8OFEM/SarJYc7inSI/AAAAAAAABSs/bh6PNBni5Fo/s1600-h/pdt.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 236px;" src="http://4.bp.blogspot.com/_UtmZWQ8OFEM/SarJYc7inSI/AAAAAAAABSs/bh6PNBni5Fo/s400/pdt.png" alt="" id="BLOGGER_PHOTO_ID_5308276532729519394" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;You need to create a new debug configuration, in particular a "Php Web Page" debug configuration. Also make sure that the server debugger is set to XDebug. Then specify the php file you want to test (in this example is newfile.php). Unless the project and all files are already in the root directory of your web server, you need to manually set the URL, so uncheck "Auto Generate" check box and write the complete path (starting from the root of your webserver directory, or, as in my case, a path relative to my user web space); this is also a way of passing, for instance, some GET arguments in the URL, as in this example: xamplevar=30&amp;amp;other=foobar.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_UtmZWQ8OFEM/SarKbtfoagI/AAAAAAAABS0/Y1r02sacZPU/s1600-h/pdt1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 286px;" src="http://3.bp.blogspot.com/_UtmZWQ8OFEM/SarKbtfoagI/AAAAAAAABS0/Y1r02sacZPU/s400/pdt1.png" alt="" id="BLOGGER_PHOTO_ID_5308277688227097090" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Before starting the debugger, make sure you have the web browser set in eclipse; I'm using the internal web browser (actually the only one available in this eclipse installation). &lt;span style="color: rgb(102, 0, 204);"&gt;NOTE: sometimes, when starting eclipse, the web browser seems to have been lost, and you'll get an error when starting the debugger; in this case I simply restart eclipse.&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_UtmZWQ8OFEM/SarLZORDNgI/AAAAAAAABS8/1MIMn4xntXQ/s1600-h/pdt2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 288px;" src="http://4.bp.blogspot.com/_UtmZWQ8OFEM/SarLZORDNgI/AAAAAAAABS8/1MIMn4xntXQ/s400/pdt2.png" alt="" id="BLOGGER_PHOTO_ID_5308278744996328962" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Now let's run our debug configuration and debug our script!&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_UtmZWQ8OFEM/SarL9BLHRpI/AAAAAAAABTE/5LoDp33aP0U/s1600-h/pdt3.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 236px;" src="http://4.bp.blogspot.com/_UtmZWQ8OFEM/SarL9BLHRpI/AAAAAAAABTE/5LoDp33aP0U/s400/pdt3.png" alt="" id="BLOGGER_PHOTO_ID_5308279359957059218" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Note the values of the variables (including the GET variables) and the output in the browser view! You can also see the output as the actual text, in the debug output window.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_UtmZWQ8OFEM/SarMYng5h8I/AAAAAAAABTM/47YYn0OAqeg/s1600-h/pdt4.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 236px;" src="http://4.bp.blogspot.com/_UtmZWQ8OFEM/SarMYng5h8I/AAAAAAAABTM/47YYn0OAqeg/s400/pdt4.png" alt="" id="BLOGGER_PHOTO_ID_5308279834105448386" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Remeber, when your program comes to the end, the debugger session is still active, and you must close with the red button, after selecting the "Remote Launch":&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_UtmZWQ8OFEM/SarM8RxDiLI/AAAAAAAABTU/qSFl4ZtdMI8/s1600-h/pdt5.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 275px;" src="http://1.bp.blogspot.com/_UtmZWQ8OFEM/SarM8RxDiLI/AAAAAAAABTU/qSFl4ZtdMI8/s400/pdt5.png" alt="" id="BLOGGER_PHOTO_ID_5308280446742923442" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;HAPPY PHP WEB PAGE DEBUGGING! :-)&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35239346-8813012305970463600?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/8813012305970463600/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=8813012305970463600' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/8813012305970463600'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/8813012305970463600'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2009/03/pdt-xdebug-eclipse-in-linux.html' title='PDT, XDebug, Eclipse in Linux'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_UtmZWQ8OFEM/SarJYc7inSI/AAAAAAAABSs/bh6PNBni5Fo/s72-c/pdt.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-3754138502934854824</id><published>2009-02-25T20:50:00.003+01:00</published><updated>2009-02-25T20:53:54.430+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sourcehighlightide'/><category scheme='http://www.blogger.com/atom/ns#' term='source-highlight'/><title type='text'>SourceHighlightIDE 0.3</title><content type='html'>Shame on me, I had almost forgotten this software, &lt;a href="http://srchighliteide.sourceforge.net/"&gt;SourceHighlightIDE&lt;/a&gt;, an IDE for &lt;a href="http://www.gnu.org/software/src-highlite"&gt;GNU Source-Highlight&lt;/a&gt;, that I hadn't even released version 0.2! Well, this software still lives :-) and I've just released version 0.3, which, besides many improvements to the GUI, can now handle the new debug output of Source-Highlight.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_UtmZWQ8OFEM/SaWhdJi350I/AAAAAAAABSU/L8LKH6GY2gs/s1600-h/snapshot1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 281px;" src="http://3.bp.blogspot.com/_UtmZWQ8OFEM/SaWhdJi350I/AAAAAAAABSU/L8LKH6GY2gs/s400/snapshot1.png" alt="" id="BLOGGER_PHOTO_ID_5306825258076464962" border="0" /&gt;&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/35239346-3754138502934854824?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/3754138502934854824/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=3754138502934854824' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/3754138502934854824'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/3754138502934854824'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2009/02/sourcehighlightide-03.html' title='SourceHighlightIDE 0.3'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_UtmZWQ8OFEM/SaWhdJi350I/AAAAAAAABSU/L8LKH6GY2gs/s72-c/snapshot1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-543614869743489541</id><published>2009-02-17T09:30:00.005+01:00</published><updated>2009-02-17T10:09:21.537+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mingw'/><category scheme='http://www.blogger.com/atom/ns#' term='qt'/><title type='text'>Compiling Qt with MinGW in MSYS</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_UtmZWQ8OFEM/SZp3o8vb3XI/AAAAAAAABRo/pONT6C2ordY/s1600-h/qtlogo.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 174px; height: 71px;" src="http://3.bp.blogspot.com/_UtmZWQ8OFEM/SZp3o8vb3XI/AAAAAAAABRo/pONT6C2ordY/s200/qtlogo.png" alt="" id="BLOGGER_PHOTO_ID_5303683056565738866" border="0" /&gt;&lt;/a&gt;Since I wanted to port some Qt4 applications (I always developed under Linux) in Windows, I downloaded from the trolltech site the &lt;a href="http://www.qtsoftware.com/downloads/opensource/appdev/windows-cpp"&gt;Qt libraries for Windows (already compiled)&lt;/a&gt; which come with a minimal &lt;a href="http://www.mingw.org/"&gt;MinGW compiler&lt;/a&gt; to build windows applications. This was the first time I was using mingw, since I've always used &lt;a href="http://www.cygwin.com/"&gt;cygwin&lt;/a&gt; instead.&lt;br /&gt;&lt;br /&gt;The Qt installation comes with a start menu item called Qt Command Prompt, which sets all the environment variables for you in order to start building Qt applications.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: justify;"&gt;&lt;div style="text-align: left;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_UtmZWQ8OFEM/SZp4Whv2UAI/AAAAAAAABRw/rJenHb-sLrA/s1600-h/qtcommandprompt.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 197px;" src="http://1.bp.blogspot.com/_UtmZWQ8OFEM/SZp4Whv2UAI/AAAAAAAABRw/rJenHb-sLrA/s400/qtcommandprompt.PNG" alt="" id="BLOGGER_PHOTO_ID_5303683839593697282" border="0" /&gt;&lt;/a&gt;However, being used to the comfortable Unix shell, I couldn't stand using the DOS command shell, also because I wasn't willing to use qmake: I need to use autotools instead. Thus, I installed also the mingw shell: &lt;a href="http://www.mingw.org/wiki/MSYS"&gt;msys&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I tried to build a Qt tutorial example with qmake in msys, and here comes the bad surprise: the Makefiles generated by qmake contains windows paths (e.g., for calling the moc compiler), which the Unix shell does not understand. Here's a screenshot with the error:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;div style="text-align: left;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_UtmZWQ8OFEM/SZp5vty1elI/AAAAAAAABR4/Jg7yfVJXeJA/s1600-h/qterror.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 224px;" src="http://4.bp.blogspot.com/_UtmZWQ8OFEM/SZp5vty1elI/AAAAAAAABR4/Jg7yfVJXeJA/s400/qterror.PNG" alt="" id="BLOGGER_PHOTO_ID_5303685371835808338" border="0" /&gt;&lt;/a&gt;Everything works fine if you don't use the moc compiler, but as soon as Makefile invokes it, you get the error due to the windows paths:&lt;br /&gt;&lt;blockquote&gt;C:\Qt\4.4.3\bin/moc.exe -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I'c:/Qt/4.4.3/include/QtCore' -I'c:/Qt/4.4.3/include/QtCore' -I'c:/Qt/4.4.3/include/QtGui' -I'c:/Qt/4.4.3/include/QtGui' -I'c:/Qt/4.4.3/include' -I'c:/Qt/4.4.3/include/ActiveQt' -I'debug' -I'.' -I'c:/Qt/4.4.3/mkspecs/default' -D__GNUC__ -DWIN32 cannonfield.h -o debug/moc_cannonfield.cpp&lt;br /&gt;make[1]: C:Qt4.4.3bin/moc.exe: Command not found&lt;br /&gt;make[1]: *** [debug/moc_cannonfield.cpp] Error 127&lt;/blockquote&gt;I then asked on the nice &lt;a href="http://www.qtcentre.org/forum/"&gt;qtcentre forum&lt;/a&gt;, and they pointed me to &lt;a href="http://labs.trolltech.com/blogs/2007/01/30/qtmsys/"&gt;this blog post&lt;/a&gt; where they says it's a well known problem, and that recently Qt can be used also from msys (since qmake will generate Unix shell paths). What wasn't clear to me was that you must recompile Qt libraries yourself to make it work also from msys.&lt;br /&gt;&lt;br /&gt;That's what I've done, downloading the sources of Qt and compiling the libraries from msys.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;IMPORTANT: I wasn't able to compile the Qt libraries with the standard MinGW distribution; I had to use the MinGW that comes with Qt installation (i.e., the file qt-win-opensource-4.4.3-mingw.exe).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I did this procedure:&lt;br /&gt;&lt;/div&gt;&lt;ol style="text-align: left;"&gt;&lt;li&gt;Set some environment variables (assuming that you unzip the sources in &lt;span style="font-family:courier new;"&gt;C:\qt-win-opensource-src-4.4.3&lt;/span&gt;:&lt;br /&gt;&lt;blockquote&gt;export QTDIR=/c/qt-win-opensource-src-4.4.3/&lt;br /&gt;export PATH=/c/qt-win-opensource-src-4.4.3/bin:$PATH&lt;br /&gt;export QMAKESPEC=$QTDIR/mkspecs/win32-g++&lt;/blockquote&gt;&lt;/li&gt;&lt;li&gt;then you can run &lt;span style="font-weight: bold;"&gt;configure.exe&lt;/span&gt; (this will create the qmake binary and all the Makefiles)&lt;/li&gt;&lt;li&gt;now run &lt;span style="font-weight: bold;"&gt;make&lt;/span&gt; and wait for about 3 hours!&lt;/li&gt;&lt;/ol&gt;By the way, be ready to restart the make process some times (for me it's always twice), due to this error:&lt;br /&gt;&lt;pre&gt;Couldn't reserve space for cygwin's heap...&lt;/pre&gt;&lt;div style="text-align: left;"&gt;(I don't know why this happens, but restarting make simply keeps on compiling from where it left).&lt;br /&gt;&lt;br /&gt;Now, if no other errors take place, you'll have your compiled Qt libraries, and binaries, that generate the right Makefiles.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Remember to always set the above environment variables (e.g., in your ~/.profile), so that you'll use your version of Qt.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;By removing the previous Makefiles, running qmake again (this time it will generate Unix paths to executables), and then make, everything works fine, and you can build qt applications from the comfortable Unix shell: indeed, now, the moc invocation command line is:&lt;br /&gt;&lt;blockquote&gt;C:/qt-win-opensource-src-4.4.3/bin/moc.exe -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I'c:/qt-win-opensource-src-4.4.3/include/QtCore' -I'c:/qt-win-opensource-src-4.4.3/include/QtCore' -I'c:/qt-win-opensource-src-4.4.3/include/QtGui' -I'c:/qt-win-opensource-src-4.4.3/include/QtGui' -I'c:/qt-win-opensource-src-4.4.3/include' -I'c:/qt-win-opensource-src-4.4.3/include/ActiveQt' -I'debug' -I'.' -I'c:/qt-win-opensource-src-4.4.3/mkspecs/win32-g++' -D__GNUC__ -DWIN32 lcdrange.h -o debug/moc_lcdrange.cpp&lt;/blockquote&gt;&lt;div style="text-align: left;"&gt;and you can run the Qt application :-)&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_UtmZWQ8OFEM/SZp-o8WXC_I/AAAAAAAABSA/oe2W8PGyOjA/s1600-h/qtapplication.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 361px; height: 400px;" src="http://3.bp.blogspot.com/_UtmZWQ8OFEM/SZp-o8WXC_I/AAAAAAAABSA/oe2W8PGyOjA/s400/qtapplication.PNG" alt="" id="BLOGGER_PHOTO_ID_5303690753041959922" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35239346-543614869743489541?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/543614869743489541/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=543614869743489541' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/543614869743489541'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/543614869743489541'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2009/02/compiling-qt-with-mingw-in-msys.html' title='Compiling Qt with MinGW in MSYS'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_UtmZWQ8OFEM/SZp3o8vb3XI/AAAAAAAABRo/pONT6C2ordY/s72-c/qtlogo.png' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-111354241483533809</id><published>2009-01-04T18:39:00.006+01:00</published><updated>2009-01-04T18:53:34.534+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Backup Linux installation with Partimage</title><content type='html'>I wanted to try a Mandriva installation on my laptop, but I had run out of space: I'm using most of the time a Kubuntu, but I also have a partition with Sabayon in it, and I didn't want to lose it completely. I thought that this might be the time to try &lt;a href="http://www.partimage.org/"&gt;partimage&lt;/a&gt;, which I had always heard about.&lt;br /&gt;&lt;br /&gt;Previously, &lt;a href="http://tronprog.blogspot.com/2007/05/clone-partition-with-cp.html"&gt;I had been using cp for cloning a partition&lt;/a&gt;, but I wanted to try something new :-) Moreover, partimage has the advantage, with respect to the dd command, to copy only data from the used portions of a partition, and this can save a lot of space (besides compressing the partition image itself).&lt;br /&gt;&lt;br /&gt;It was pretty easy to do the cloning! Partimage has a neat text interface, and here are the screenshots (I chose an external usb driver for saving the image):&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_UtmZWQ8OFEM/SWD170vHngI/AAAAAAAABQQ/cF7ysp6AQdQ/s1600-h/partimage.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 312px;" src="http://1.bp.blogspot.com/_UtmZWQ8OFEM/SWD170vHngI/AAAAAAAABQQ/cF7ysp6AQdQ/s400/partimage.png" alt="" id="BLOGGER_PHOTO_ID_5287496370650324482" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_UtmZWQ8OFEM/SWD2O32POyI/AAAAAAAABQY/pILPthOzPTI/s1600-h/partimage1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 312px;" src="http://1.bp.blogspot.com/_UtmZWQ8OFEM/SWD2O32POyI/AAAAAAAABQY/pILPthOzPTI/s400/partimage1.png" alt="" id="BLOGGER_PHOTO_ID_5287496697903004450" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_UtmZWQ8OFEM/SWD2wc_LcQI/AAAAAAAABQg/-V3HvnEHo9U/s1600-h/partimage4.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 312px;" src="http://3.bp.blogspot.com/_UtmZWQ8OFEM/SWD2wc_LcQI/AAAAAAAABQg/-V3HvnEHo9U/s400/partimage4.png" alt="" id="BLOGGER_PHOTO_ID_5287497274808299778" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_UtmZWQ8OFEM/SWD3IXotBFI/AAAAAAAABQo/CLVjBw8MVFM/s1600-h/partimage5.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 312px;" src="http://1.bp.blogspot.com/_UtmZWQ8OFEM/SWD3IXotBFI/AAAAAAAABQo/CLVjBw8MVFM/s400/partimage5.png" alt="" id="BLOGGER_PHOTO_ID_5287497685688714322" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;And here you go! After 22 minutes I had my 15 giga partition backed up in .gz image, ready to be restore :-)&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35239346-111354241483533809?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/111354241483533809/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=111354241483533809' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/111354241483533809'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/111354241483533809'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2009/01/backup-linux-installation-with.html' title='Backup Linux installation with Partimage'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_UtmZWQ8OFEM/SWD170vHngI/AAAAAAAABQQ/cF7ysp6AQdQ/s72-c/partimage.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-234565241993474837</id><published>2009-01-01T12:21:00.001+01:00</published><updated>2009-01-01T12:25:02.949+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='fun'/><title type='text'>Happy New 2009!</title><content type='html'>&lt;div style="margin: 0px auto 10px; text-align: center;"&gt;Look what my dear friend &lt;a href="http://rossanareginato.blogspot.com/"&gt;Rossana&lt;/a&gt; gave me as a Xmas present: a Xmas Penguin! Isn't it nice?&lt;br /&gt;The &lt;a href="http://lwn.net/Gallery/"&gt;mascotte&lt;/a&gt; of our Linux Operating System! I'll avoid to say that she completely ignored that Linux has a Penguin as a mascotte... ;-)&lt;br /&gt;HAPPY NEW (open source) 2009 YEAR!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_UtmZWQ8OFEM/SVynZFw5psI/AAAAAAAABQI/Y0M_37n5P6Y/s1600-h/29122008%28001%29.jpg"&gt;&lt;img alt="" src="http://4.bp.blogspot.com/_UtmZWQ8OFEM/SVynZFw5psI/AAAAAAAABQI/Y0M_37n5P6Y/s400/29122008%28001%29.jpg" border="0" /&gt;&lt;/a&gt; &lt;/div&gt;&lt;div style="clear: both; text-align: center;"&gt;&lt;a href="http://picasa.google.com/blogger/" target="ext"&gt;&lt;img src="http://photos1.blogger.com/pbp.gif" alt="Posted by Picasa" style="border: 0px none ; padding: 0px; background: transparent none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" align="middle" border="0" /&gt;&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/35239346-234565241993474837?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/234565241993474837/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=234565241993474837' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/234565241993474837'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/234565241993474837'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2009/01/happy-new-2009.html' title='Happy New 2009!'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_UtmZWQ8OFEM/SVynZFw5psI/AAAAAAAABQI/Y0M_37n5P6Y/s72-c/29122008%28001%29.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-1831142731914292220</id><published>2008-12-26T10:34:00.007+01:00</published><updated>2008-12-26T10:51:30.914+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nokia'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='kubuntu'/><title type='text'>Nokia 6630 and Internet Connection in Linux</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_UtmZWQ8OFEM/SVSmHsLSQLI/AAAAAAAABPI/5eW1m5_L1jk/s1600-h/nokia.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 129px; height: 240px;" src="http://3.bp.blogspot.com/_UtmZWQ8OFEM/SVSmHsLSQLI/AAAAAAAABPI/5eW1m5_L1jk/s320/nokia.jpg" alt="" id="BLOGGER_PHOTO_ID_5284030913860223154" border="0" /&gt;&lt;/a&gt;Finally, I managed to connect to the Internet with my &lt;span style="font-weight: bold;"&gt;Nokia 6630&lt;/span&gt; in &lt;span style="font-weight: bold;"&gt;Linux Kubuntu&lt;/span&gt;; it's not that I had troubles before: it's just that I had never had to connect with the cellphone, and I must admit that I quite appreciated that it was really easy and straightforward to this :-)&lt;br /&gt;&lt;br /&gt;Actually, first I had tried with the bluetooth way and thanks to many documentation found on the web, I succeeded, though the procedure might not be trivial. However, in that case, I noticed that the connection was not reliable and not very fast. So I decided to buy a (quite expensive for what it does) USB cable (it's just a usb cable... why does it cost 20 euros?!).&lt;br /&gt;&lt;br /&gt;Well, with USB the procedure is even more trivial: you just connect it and you'll see that dmesg happily reports this:&lt;br /&gt;&lt;blockquote&gt;[  149.162045] usb 3-2: new full speed USB device using uhci_hcd and address 2&lt;br /&gt;[  149.207194] usb 3-2: configuration #1 chosen from 1 choice&lt;br /&gt;[  149.461122] cdc_acm 3-2:1.8: ttyACM0: USB ACM device&lt;br /&gt;[  149.463589] usbcore: registered new interface driver cdc_acm&lt;br /&gt;[  149.463594] /build/buildd/linux-2.6.24/drivers/usb/class/cdc-acm.c: v0.25:USB Abstract Control Model driver for USB modems and ISDN adapters&lt;/blockquote&gt;Isn't it nice? It correctly detects the modem and creates a device for it!&lt;br /&gt;&lt;blockquote&gt;ll /dev/ttyACM0&lt;br /&gt;crw-rw---- 1 root dialout 166, 0 2008-12-24 17:28 /dev/ttyACM0&lt;br /&gt;&lt;/blockquote&gt;So you'll just have to configure your dialup tool using that specific modem. In particular I use kppp, and I have a TIM connection, so I created a new modem using &lt;span style="font-weight: bold;"&gt;/dev/ttyACM0&lt;/span&gt; and setting as INIT 2 string the following one:&lt;br /&gt;&lt;blockquote style="font-weight: bold;"&gt;AT+cgdcont=,"ip","ibox.tim.it"&lt;/blockquote&gt;and as for the telephone number &lt;span style="font-weight: bold;"&gt;*99#&lt;/span&gt; (username and password are not used, so you can use dummy ones). Here are some screenshots:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_UtmZWQ8OFEM/SVSoJ4M8mnI/AAAAAAAABPQ/jjVSbPCTSX8/s1600-h/kppp.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; cursor: pointer; width: 372px; height: 377px;" src="http://2.bp.blogspot.com/_UtmZWQ8OFEM/SVSoJ4M8mnI/AAAAAAAABPQ/jjVSbPCTSX8/s400/kppp.png" alt="" id="BLOGGER_PHOTO_ID_5284033150471412338" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_UtmZWQ8OFEM/SVSocBXB3TI/AAAAAAAABPY/2p1UMvuG7dY/s1600-h/kppp1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 341px; height: 400px;" src="http://4.bp.blogspot.com/_UtmZWQ8OFEM/SVSocBXB3TI/AAAAAAAABPY/2p1UMvuG7dY/s400/kppp1.png" alt="" id="BLOGGER_PHOTO_ID_5284033462167264562" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_UtmZWQ8OFEM/SVSopq4LjYI/AAAAAAAABPg/qLybxVNEwQk/s1600-h/kppp2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 205px;" src="http://4.bp.blogspot.com/_UtmZWQ8OFEM/SVSopq4LjYI/AAAAAAAABPg/qLybxVNEwQk/s400/kppp2.png" alt="" id="BLOGGER_PHOTO_ID_5284033696650464642" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_UtmZWQ8OFEM/SVSo02RVm5I/AAAAAAAABPo/DxuJFO1r4Tc/s1600-h/kppp3.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 391px;" src="http://3.bp.blogspot.com/_UtmZWQ8OFEM/SVSo02RVm5I/AAAAAAAABPo/DxuJFO1r4Tc/s400/kppp3.png" alt="" id="BLOGGER_PHOTO_ID_5284033888687332242" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;And then you're online! Not as fast as an ADSL... but still faster than an old serial modem ;-)&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35239346-1831142731914292220?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/1831142731914292220/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=1831142731914292220' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/1831142731914292220'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/1831142731914292220'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2008/12/nokia-6630-and-internet-connection-in.html' title='Nokia 6630 and Internet Connection in Linux'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_UtmZWQ8OFEM/SVSmHsLSQLI/AAAAAAAABPI/5eW1m5_L1jk/s72-c/nokia.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-9090580930164229711</id><published>2008-12-22T19:38:00.006+01:00</published><updated>2008-12-22T20:03:06.497+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='phpbibliography'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>PhpBibliography 0.6</title><content type='html'>The new release of &lt;a href="http://phpbibliography.sourceforge.net/"&gt;PhpBibliography&lt;/a&gt; is out!&lt;br /&gt;&lt;br /&gt;First of all, this release fixes a very bad bug, discovered by  &lt;a href="http://www.eziobartocci.com/"&gt;Ezio Bartocci&lt;/a&gt;: in the merge authors procedure, the system did not check whether the two authors were exactly the same (i.e., the same id), and this used to lead to the removal of the author as the final step of the procedure, which was really bad. This is now fixed in this new release.&lt;br /&gt;&lt;br /&gt;Concerning new functionalities:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;a procedure for trying to detect &lt;span style="font-weight: bold;"&gt;duplicate papers&lt;/span&gt; is now available (it can also use the SOUNDEX algorithm); this will present possible duplicate papers, and let the user select those that are actually duplicate ones;&lt;/li&gt;&lt;li&gt;as for the main page, it is now possible to group papers also according to the years (an example can be found &lt;a href="http://www.lorenzobettini.it/papers"&gt;at my home page&lt;/a&gt;);&lt;/li&gt;&lt;li&gt;by default, papers are ordered by &lt;span style="font-weight: bold;"&gt;descending year&lt;/span&gt;, so that the most recent papers are shown first (this should be the most common wanted behavior);&lt;/li&gt;&lt;li&gt;a modification timestamp is automatically added to papers, and this &lt;span style="font-weight: bold;"&gt;timestamp&lt;/span&gt; is used as a sorting criterion when showing papers (the papers most recently modified are shown first)&lt;/li&gt;&lt;li&gt;another desirable feature is now available: when listing papers in administration mode (i.e., when you're logged), a direct edit/delete link is always shown;&lt;/li&gt;&lt;li&gt;each paper can be now marked as &lt;span style="font-weight: bold;"&gt;private&lt;/span&gt;, meaning that that specific paper will be shown only to logged users;&lt;/li&gt;&lt;li&gt;as for the DBLP import procedure, this was improved: when there is a cross reference (typically concerning the proceeding book where the paper was published), which is separate from the paper's own bibitem, the system will merge the two bibitems, so that the resulting inserted paper will contain all the information.&lt;/li&gt;&lt;/ul&gt;Finally, in the previous release 0.5 announcement, I forgot to mention that phpbibliography makes use of AJAX technology to perform some checks during the insertion/modification of a paper through the HTML form; in particular, it shows some warning messages for possible duplicate fields (e.g., title, bibtex key, etc.) and error messages when the type of the field is not correct (e.g., non numeric years). These messages are shown right under the field, upon leaving that field, as shown in the following screenshots:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_UtmZWQ8OFEM/SU_jlirNfnI/AAAAAAAABNo/NZXiGKLMbio/s1600-h/field_validation.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 285px; height: 73px;" src="http://1.bp.blogspot.com/_UtmZWQ8OFEM/SU_jlirNfnI/AAAAAAAABNo/NZXiGKLMbio/s400/field_validation.png" alt="" id="BLOGGER_PHOTO_ID_5282691122031591026" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The user specifies a non-numeric year&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_UtmZWQ8OFEM/SU_jrHyqrnI/AAAAAAAABNw/NdDC-dsoTkY/s1600-h/field_validation1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 334px; height: 89px;" src="http://4.bp.blogspot.com/_UtmZWQ8OFEM/SU_jrHyqrnI/AAAAAAAABNw/NdDC-dsoTkY/s400/field_validation1.png" alt="" id="BLOGGER_PHOTO_ID_5282691217894321778" border="0" /&gt;&lt;/a&gt;and the system checks it as soon as it leaves that field.&lt;br /&gt;&lt;br /&gt;The same holds for instance for the title, but this time it's just a warning (since you can have two papers with the same title, e.g., one can be an extended version):&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_UtmZWQ8OFEM/SU_kIl9s3bI/AAAAAAAABN4/R3ljfJEu3WU/s1600-h/field_validation2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 75px;" src="http://4.bp.blogspot.com/_UtmZWQ8OFEM/SU_kIl9s3bI/AAAAAAAABN4/R3ljfJEu3WU/s400/field_validation2.png" alt="" id="BLOGGER_PHOTO_ID_5282691724209872306" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35239346-9090580930164229711?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/9090580930164229711/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=9090580930164229711' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/9090580930164229711'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/9090580930164229711'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2008/12/phpbibliography-06.html' title='PhpBibliography 0.6'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_UtmZWQ8OFEM/SU_jlirNfnI/AAAAAAAABNo/NZXiGKLMbio/s72-c/field_validation.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-8007637043780122845</id><published>2008-11-15T13:26:00.004+01:00</published><updated>2008-11-15T13:44:29.632+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='source-highlight'/><title type='text'>GNU Source-Highlight 2.11</title><content type='html'>Here's the new release of &lt;a href="http://www.gnu.org/software/src-highlite/"&gt;GNU Source-Highlight&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;From the low level point of view, the algorithm for finding the best matching regular expression was optimized; The strategy used by source-highlight is to select the first matching rule       &lt;ul&gt;&lt;li&gt;with empty prefix (or prefix containing only space characters, i.e., spaces or tabs) or       &lt;/li&gt;&lt;li&gt;with the smallest prefix.     &lt;/li&gt;&lt;/ul&gt;Thus, it does not inspect all the possible expressions, but it stops as soon as it finds one that satisfies the above conditions.&lt;br /&gt;&lt;br /&gt;As for end-user stuff, in C++ and Java, types used in variable and parameter definitions are now highlighted, see the example below.&lt;br /&gt;&lt;!-- Generator: GNU source-highlight 2.11&lt;br /&gt;by Lorenzo Bettini&lt;br /&gt;http://www.lorenzobettini.it&lt;br /&gt;http://www.gnu.org/software/src-highlite --&gt;&lt;br /&gt;&lt;pre&gt;&lt;tt&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;/*&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;  This is a classical Hello program&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;  to test source-highlight with Java programs.&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;  &lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;  to have an html translation type&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt; source-highlight -s java -f html --input Hello.java --output Hello.html&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt; source-highlight -s java -f html &amp;lt; Hello.java &amp;gt; Hello.html&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;  or type source-highlight --help for the list of options&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;  written by&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;  Lorenzo Bettini&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;  &lt;/font&gt;&lt;/i&gt;&lt;u&gt;&lt;font color="#0000FF"&gt;http://www.lorenzobettini.it&lt;/font&gt;&lt;/u&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;  &lt;/font&gt;&lt;/i&gt;&lt;u&gt;&lt;font color="#0000FF"&gt;http://www.gnu.org/software/src-highlite&lt;/font&gt;&lt;/u&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;*/&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#000080"&gt;package&lt;/font&gt;&lt;/b&gt; hello&lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#000080"&gt;import&lt;/font&gt;&lt;/b&gt; java&lt;font color="#990000"&gt;.&lt;/font&gt;io&lt;font color="#990000"&gt;.*&lt;/font&gt; &lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;/**&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt; * &lt;/font&gt;&lt;/i&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;&amp;lt;p&amp;gt;&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt; * A simple Hello World class, used to demonstrate some&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt; * features of Java source highlighting.&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt; * &lt;/font&gt;&lt;/i&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;&amp;lt;/p&amp;gt;&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt; * &lt;/font&gt;&lt;/i&gt;&lt;b&gt;TODO:&lt;/b&gt;&lt;i&gt;&lt;font color="#9A1900"&gt; nothing, just to show an highlighted &lt;/font&gt;&lt;/i&gt;&lt;b&gt;TODO&lt;/b&gt;&lt;i&gt;&lt;font color="#9A1900"&gt; or &lt;/font&gt;&lt;/i&gt;&lt;b&gt;FIXME&lt;/b&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt; *&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt; * &lt;/font&gt;&lt;/i&gt;&lt;font color="#009900"&gt;@author&lt;/font&gt;&lt;i&gt;&lt;font color="#9A1900"&gt; Lorenzo Bettini&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt; * &lt;/font&gt;&lt;/i&gt;&lt;font color="#009900"&gt;@version&lt;/font&gt;&lt;i&gt;&lt;font color="#9A1900"&gt; 2.0&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt; */&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;public&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;class&lt;/font&gt;&lt;/b&gt; &lt;font color="#008080"&gt;Hello&lt;/font&gt; &lt;font color="#FF0000"&gt;{&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;    &lt;font color="#009900"&gt;int&lt;/font&gt; foo &lt;font color="#990000"&gt;=&lt;/font&gt; &lt;font color="#993399"&gt;1998&lt;/font&gt; &lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;    &lt;font color="#009900"&gt;int&lt;/font&gt; hex_foo &lt;font color="#990000"&gt;=&lt;/font&gt; &lt;font color="#993399"&gt;0xCAFEBABE&lt;/font&gt;&lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;    &lt;font color="#009900"&gt;boolean&lt;/font&gt; b &lt;font color="#990000"&gt;=&lt;/font&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;false&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;    &lt;font color="#008080"&gt;Integer&lt;/font&gt; i &lt;font color="#990000"&gt;=&lt;/font&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;null&lt;/font&gt;&lt;/b&gt; &lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;    &lt;font color="#009900"&gt;char&lt;/font&gt; c &lt;font color="#990000"&gt;=&lt;/font&gt; &lt;font color="#FF0000"&gt;'&lt;/font&gt;&lt;font color="#CC33CC"&gt;\'&lt;/font&gt;&lt;font color="#FF0000"&gt;'&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt; d &lt;font color="#990000"&gt;=&lt;/font&gt; &lt;font color="#FF0000"&gt;'n'&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt; e &lt;font color="#990000"&gt;=&lt;/font&gt; &lt;font color="#FF0000"&gt;'&lt;/font&gt;&lt;font color="#CC33CC"&gt;\\&lt;/font&gt;&lt;font color="#FF0000"&gt;'&lt;/font&gt; &lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;    &lt;font color="#008080"&gt;String&lt;/font&gt; xml &lt;font color="#990000"&gt;=&lt;/font&gt; &lt;font color="#FF0000"&gt;"&amp;lt;tag attr=&lt;/font&gt;&lt;font color="#CC33CC"&gt;\"&lt;/font&gt;&lt;font color="#FF0000"&gt;value&lt;/font&gt;&lt;font color="#CC33CC"&gt;\"&lt;/font&gt;&lt;font color="#FF0000"&gt;&amp;gt;&amp;amp;auml;&amp;lt;/tag&amp;gt;"&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt; foo2 &lt;font color="#990000"&gt;=&lt;/font&gt; &lt;font color="#FF0000"&gt;"&lt;/font&gt;&lt;font color="#CC33CC"&gt;\\&lt;/font&gt;&lt;font color="#FF0000"&gt;"&lt;/font&gt; &lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;    &lt;br /&gt;    &lt;b&gt;&lt;font color="#0000FF"&gt;public&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;static&lt;/font&gt;&lt;/b&gt; &lt;font color="#009900"&gt;void&lt;/font&gt; &lt;b&gt;&lt;font color="#000000"&gt;main&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;(&lt;/font&gt; &lt;font color="#008080"&gt;String&lt;/font&gt; args&lt;font color="#990000"&gt;[]&lt;/font&gt; &lt;font color="#990000"&gt;)&lt;/font&gt; &lt;font color="#FF0000"&gt;{&lt;/font&gt;&lt;br /&gt;&lt;br /&gt; &lt;i&gt;&lt;font color="#9A1900"&gt;// just some greetings ;-)  /*&lt;/font&gt;&lt;/i&gt;&lt;br /&gt; System&lt;font color="#990000"&gt;.&lt;/font&gt;out&lt;font color="#990000"&gt;.&lt;/font&gt;&lt;b&gt;&lt;font color="#000000"&gt;println&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;(&lt;/font&gt; &lt;font color="#FF0000"&gt;"Hello from java2html :-)"&lt;/font&gt; &lt;font color="#990000"&gt;)&lt;/font&gt; &lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt; System&lt;font color="#990000"&gt;.&lt;/font&gt;out&lt;font color="#990000"&gt;.&lt;/font&gt;&lt;b&gt;&lt;font color="#000000"&gt;println&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;(&lt;/font&gt; &lt;font color="#FF0000"&gt;"&lt;/font&gt;&lt;font color="#CC33CC"&gt;\t&lt;/font&gt;&lt;font color="#FF0000"&gt;by Lorenzo Bettini"&lt;/font&gt; &lt;font color="#990000"&gt;)&lt;/font&gt; &lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt; System&lt;font color="#990000"&gt;.&lt;/font&gt;out&lt;font color="#990000"&gt;.&lt;/font&gt;&lt;b&gt;&lt;font color="#000000"&gt;println&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;(&lt;/font&gt; &lt;font color="#FF0000"&gt;"&lt;/font&gt;&lt;font color="#CC33CC"&gt;\t&lt;/font&gt;&lt;font color="#FF0000"&gt;http://www.lorenzobettini.it"&lt;/font&gt; &lt;font color="#990000"&gt;)&lt;/font&gt; &lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;        &lt;b&gt;&lt;font color="#0000FF"&gt;if&lt;/font&gt;&lt;/b&gt; &lt;font color="#990000"&gt;(&lt;/font&gt;argc &lt;font color="#990000"&gt;&amp;gt;&lt;/font&gt; &lt;font color="#993399"&gt;0&lt;/font&gt;&lt;font color="#990000"&gt;)&lt;/font&gt;&lt;br /&gt;            &lt;font color="#008080"&gt;String&lt;/font&gt; param &lt;font color="#990000"&gt;=&lt;/font&gt; argc&lt;font color="#990000"&gt;[&lt;/font&gt;&lt;font color="#993399"&gt;0&lt;/font&gt;&lt;font color="#990000"&gt;];&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;        &lt;i&gt;&lt;font color="#9A1900"&gt;//System.out.println( "bye bye... :-D" ) ; // see you soon&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;    &lt;font color="#FF0000"&gt;}&lt;/font&gt;&lt;br /&gt;&lt;font color="#FF0000"&gt;}&lt;/font&gt;&lt;br /&gt;&lt;/tt&gt;&lt;/pre&gt;&lt;br /&gt;Probably the main novelty is the possibility of specifying a line range, or multiple line ranges: only the lines in the input source that are in that range are actually in the output (&lt;span style="font-family: courier new;"&gt;--line-range&lt;/span&gt;). It is also possible to specify the sorrounding "context", i.e., the number of lines not in range that are put in the output anyway (&lt;span style="font-family: courier new;"&gt;--range-context&lt;/span&gt;); the context itself can be formatted with its own style. Finally, a range separator string can be specified, e.g., "..." (&lt;span style="font-family: courier new;"&gt;--range-separator&lt;/span&gt;). For instance, the following command&lt;br /&gt;&lt;pre&gt;source-highlight -s java -f html&lt;br /&gt;  --line-range="12-18","29-34" --line-number&lt;br /&gt;  --range-context=3 --range-separator="&lt;...&gt;"&lt;br /&gt;  -i test.java -o test_linerange_sep.html&lt;/pre&gt;generates the following output (note the gray lines of context)&lt;br /&gt;&lt;!-- Generator: GNU source-highlight &lt;br /&gt;by Lorenzo Bettini&lt;br /&gt;http://www.lorenzobettini.it&lt;br /&gt;http://www.gnu.org/software/src-highlite --&gt;&lt;br /&gt;&lt;pre&gt;&lt;tt&gt;&amp;lt;...&amp;gt;&lt;br /&gt;&lt;font color="#000000"&gt;00009:&lt;/font&gt; &lt;br /&gt;&lt;font color="#000000"&gt;00010:&lt;/font&gt; &lt;font color="#808080"&gt;  or type source-highlight --help for the list of options&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;00011:&lt;/font&gt; &lt;br /&gt;&lt;font color="#000000"&gt;00012:&lt;/font&gt; &lt;i&gt;&lt;font color="#9A1900"&gt;  written by&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;font color="#000000"&gt;00013:&lt;/font&gt; &lt;i&gt;&lt;font color="#9A1900"&gt;  Lorenzo Bettini&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;font color="#000000"&gt;00014:&lt;/font&gt; &lt;i&gt;&lt;font color="#9A1900"&gt;  &lt;/font&gt;&lt;/i&gt;&lt;u&gt;&lt;font color="#0000FF"&gt;http://www.lorenzobettini.it&lt;/font&gt;&lt;/u&gt;&lt;br /&gt;&lt;font color="#000000"&gt;00015:&lt;/font&gt; &lt;i&gt;&lt;font color="#9A1900"&gt;  &lt;/font&gt;&lt;/i&gt;&lt;u&gt;&lt;font color="#0000FF"&gt;http://www.gnu.org/software/src-highlite&lt;/font&gt;&lt;/u&gt;&lt;br /&gt;&lt;font color="#000000"&gt;00016:&lt;/font&gt; &lt;i&gt;&lt;font color="#9A1900"&gt;*/&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;font color="#000000"&gt;00017:&lt;/font&gt; &lt;br /&gt;&lt;font color="#000000"&gt;00018:&lt;/font&gt; &lt;b&gt;&lt;font color="#000080"&gt;package&lt;/font&gt;&lt;/b&gt; hello&lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;00019:&lt;/font&gt; &lt;br /&gt;&lt;font color="#000000"&gt;00020:&lt;/font&gt; &lt;font color="#808080"&gt;import java.io.* ;&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;00021:&lt;/font&gt; &lt;br /&gt;&amp;lt;...&amp;gt;&lt;br /&gt;&lt;font color="#000000"&gt;00026:&lt;/font&gt; &lt;font color="#808080"&gt; * &amp;lt;/p&amp;gt;&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;00027:&lt;/font&gt; &lt;font color="#808080"&gt; * TODO: nothing, just to show an highlighted TODO or FIXME&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;00028:&lt;/font&gt; &lt;font color="#808080"&gt; *&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;00029:&lt;/font&gt; &lt;i&gt;&lt;font color="#9A1900"&gt; * &lt;/font&gt;&lt;/i&gt;&lt;font color="#009900"&gt;@author&lt;/font&gt;&lt;i&gt;&lt;font color="#9A1900"&gt; Lorenzo Bettini&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;font color="#000000"&gt;00030:&lt;/font&gt; &lt;i&gt;&lt;font color="#9A1900"&gt; * &lt;/font&gt;&lt;/i&gt;&lt;font color="#009900"&gt;@version&lt;/font&gt;&lt;i&gt;&lt;font color="#9A1900"&gt; 2.0&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;font color="#000000"&gt;00031:&lt;/font&gt; &lt;i&gt;&lt;font color="#9A1900"&gt; */&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;font color="#000000"&gt;00032:&lt;/font&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;public&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;class&lt;/font&gt;&lt;/b&gt; &lt;font color="#008080"&gt;Hello&lt;/font&gt; &lt;font color="#FF0000"&gt;{&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;00033:&lt;/font&gt;     &lt;font color="#009900"&gt;int&lt;/font&gt; foo &lt;font color="#990000"&gt;=&lt;/font&gt; &lt;font color="#993399"&gt;1998&lt;/font&gt; &lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;00034:&lt;/font&gt;     &lt;font color="#009900"&gt;int&lt;/font&gt; hex_foo &lt;font color="#990000"&gt;=&lt;/font&gt; &lt;font color="#993399"&gt;0xCAFEBABE&lt;/font&gt;&lt;font color="#990000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;00035:&lt;/font&gt; &lt;font color="#808080"&gt;    boolean b = false;&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;00036:&lt;/font&gt; &lt;font color="#808080"&gt;    Integer i = null ;&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;00037:&lt;/font&gt; &lt;font color="#808080"&gt;    char c = '\'', d = 'n', e = '\\' ;&lt;/font&gt;&lt;br /&gt;&amp;lt;...&amp;gt;&lt;br /&gt;&lt;/tt&gt;&lt;/pre&gt;&lt;br /&gt;Tiziano Muller wrote a configuration file for bash_completion, for source-highlight (thank you Tiziano).&lt;br /&gt;&lt;br /&gt;Finally, two new language definitions were added: one for xorg configuration files, and one for the Scala programming language (thanks to Dean Wampler), here are some examples:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;Xorg file&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;!-- Generator: GNU source-highlight &lt;br /&gt;by Lorenzo Bettini&lt;br /&gt;http://www.lorenzobettini.it&lt;br /&gt;http://www.gnu.org/software/src-highlite --&gt;&lt;br /&gt;&lt;pre&gt;&lt;tt&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;# xorg.conf (xorg X Window System server configuration file)&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;#&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;# This file was generated by dexconf, the Debian X Configuration tool, using&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;# values from the debconf database.&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;#&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;Section&lt;/font&gt;&lt;/b&gt; &lt;font color="#FF0000"&gt;"Files"&lt;/font&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;EndSection&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;Section&lt;/font&gt;&lt;/b&gt; &lt;font color="#FF0000"&gt;"InputDevice"&lt;/font&gt;&lt;br /&gt; &lt;font color="#009900"&gt;Identifier&lt;/font&gt; &lt;font color="#FF0000"&gt;"Synaptics Touchpad"&lt;/font&gt;&lt;br /&gt; &lt;font color="#009900"&gt;Driver&lt;/font&gt;  &lt;font color="#FF0000"&gt;"synaptics"&lt;/font&gt;&lt;br /&gt; &lt;font color="#009900"&gt;Option&lt;/font&gt;  &lt;font color="#FF0000"&gt;"SendCoreEvents"&lt;/font&gt; &lt;font color="#FF0000"&gt;"true"&lt;/font&gt;&lt;br /&gt; &lt;font color="#009900"&gt;Option&lt;/font&gt;  &lt;font color="#FF0000"&gt;"Device"&lt;/font&gt;  &lt;font color="#FF0000"&gt;"/dev/psaux"&lt;/font&gt;&lt;br /&gt; &lt;font color="#009900"&gt;Option&lt;/font&gt;  &lt;font color="#FF0000"&gt;"Protocol"&lt;/font&gt;  &lt;font color="#FF0000"&gt;"auto-dev"&lt;/font&gt;&lt;br /&gt; &lt;font color="#009900"&gt;Option&lt;/font&gt;   &lt;font color="#FF0000"&gt;"SHMConfig"&lt;/font&gt;   &lt;font color="#FF0000"&gt;"on"&lt;/font&gt;&lt;br /&gt; &lt;font color="#009900"&gt;Option&lt;/font&gt;  &lt;font color="#FF0000"&gt;"HorizEdgeScroll"&lt;/font&gt; &lt;font color="#FF0000"&gt;"0"&lt;/font&gt;&lt;br /&gt;        &lt;font color="#009900"&gt;Option&lt;/font&gt;          &lt;font color="#FF0000"&gt;"MinSpeed"&lt;/font&gt; &lt;font color="#FF0000"&gt;"0.5"&lt;/font&gt;    &lt;i&gt;&lt;font color="#9A1900"&gt;# touchpad speed when moving slowly&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;        &lt;font color="#009900"&gt;Option&lt;/font&gt;          &lt;font color="#FF0000"&gt;"MaxSpeed"&lt;/font&gt; &lt;font color="#FF0000"&gt;"2.0"&lt;/font&gt;    &lt;i&gt;&lt;font color="#9A1900"&gt;# touchpad speed when moving fast&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;        &lt;font color="#009900"&gt;Option&lt;/font&gt;          &lt;font color="#FF0000"&gt;"AccelFactor"&lt;/font&gt; &lt;font color="#FF0000"&gt;"0.10"&lt;/font&gt;&lt;br /&gt;        &lt;font color="#009900"&gt;Option&lt;/font&gt;          &lt;font color="#FF0000"&gt;"CircularScrolling"&lt;/font&gt; &lt;font color="#FF0000"&gt;"on"&lt;/font&gt;&lt;br /&gt;        &lt;font color="#009900"&gt;Option&lt;/font&gt;          &lt;font color="#FF0000"&gt;"EdgeMotionMinSpeed"&lt;/font&gt; &lt;font color="#FF0000"&gt;"0.5"&lt;/font&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;EndSection&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;Section&lt;/font&gt;&lt;/b&gt; &lt;font color="#FF0000"&gt;"InputDevice"&lt;/font&gt;&lt;br /&gt; &lt;font color="#009900"&gt;Driver&lt;/font&gt;  &lt;font color="#FF0000"&gt;"wacom"&lt;/font&gt;&lt;br /&gt; &lt;font color="#009900"&gt;Identifier&lt;/font&gt; &lt;font color="#FF0000"&gt;"stylus"&lt;/font&gt;&lt;br /&gt; &lt;font color="#009900"&gt;Option&lt;/font&gt;  &lt;font color="#FF0000"&gt;"Device"&lt;/font&gt; &lt;font color="#FF0000"&gt;"/dev/input/wacom"&lt;/font&gt;&lt;br /&gt; &lt;font color="#009900"&gt;Option&lt;/font&gt;  &lt;font color="#FF0000"&gt;"Type"&lt;/font&gt;  &lt;font color="#FF0000"&gt;"stylus"&lt;/font&gt;&lt;br /&gt; &lt;font color="#009900"&gt;Option&lt;/font&gt;  &lt;font color="#FF0000"&gt;"ForceDevice"&lt;/font&gt; &lt;font color="#FF0000"&gt;"ISDV4"&lt;/font&gt;  &lt;i&gt;&lt;font color="#9A1900"&gt;# Tablet PC ONLY&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;EndSection&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;Section&lt;/font&gt;&lt;/b&gt; &lt;font color="#FF0000"&gt;"Device"&lt;/font&gt;&lt;br /&gt; &lt;font color="#009900"&gt;Identifier&lt;/font&gt; &lt;font color="#FF0000"&gt;"Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller"&lt;/font&gt;&lt;br /&gt; &lt;font color="#009900"&gt;Driver&lt;/font&gt;  &lt;font color="#FF0000"&gt;"intel"&lt;/font&gt;&lt;br /&gt; &lt;font color="#009900"&gt;BusID&lt;/font&gt;  &lt;font color="#FF0000"&gt;"PCI:0:2:0"&lt;/font&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;# Option   "NoDRI"&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;EndSection&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;Section&lt;/font&gt;&lt;/b&gt; &lt;font color="#FF0000"&gt;"Screen"&lt;/font&gt;&lt;br /&gt; &lt;font color="#009900"&gt;Identifier&lt;/font&gt; &lt;font color="#FF0000"&gt;"Default Screen"&lt;/font&gt;&lt;br /&gt; &lt;font color="#009900"&gt;Device&lt;/font&gt;  &lt;font color="#FF0000"&gt;"Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller"&lt;/font&gt;&lt;br /&gt; &lt;font color="#009900"&gt;Monitor&lt;/font&gt;  &lt;font color="#FF0000"&gt;"Generic Monitor"&lt;/font&gt;&lt;br /&gt; &lt;font color="#009900"&gt;DefaultDepth&lt;/font&gt; &lt;font color="#993399"&gt;24&lt;/font&gt;&lt;br /&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;SubSection&lt;/font&gt;&lt;/b&gt; &lt;font color="#FF0000"&gt;"Display"&lt;/font&gt;&lt;br /&gt;  &lt;font color="#009900"&gt;Modes&lt;/font&gt;  &lt;font color="#FF0000"&gt;"1440x900"&lt;/font&gt;&lt;br /&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;EndSubSection&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;EndSection&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;Section&lt;/font&gt;&lt;/b&gt; &lt;font color="#FF0000"&gt;"ServerLayout"&lt;/font&gt;&lt;br /&gt; &lt;font color="#009900"&gt;Identifier&lt;/font&gt; &lt;font color="#FF0000"&gt;"Default Layout"&lt;/font&gt;&lt;br /&gt; &lt;font color="#009900"&gt;Screen&lt;/font&gt;  &lt;font color="#FF0000"&gt;"Default Screen"&lt;/font&gt;&lt;br /&gt; &lt;font color="#009900"&gt;InputDevice&lt;/font&gt; &lt;font color="#FF0000"&gt;"Generic Keyboard"&lt;/font&gt;&lt;br /&gt; &lt;font color="#009900"&gt;InputDevice&lt;/font&gt; &lt;font color="#FF0000"&gt;"Configured Mouse"&lt;/font&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;# Uncomment if you have a wacom tablet&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;# InputDevice     "stylus" "SendCoreEvents"&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;# InputDevice     "cursor" "SendCoreEvents"&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;# InputDevice     "eraser" "SendCoreEvents"&lt;/font&gt;&lt;/i&gt;&lt;br /&gt; &lt;font color="#009900"&gt;InputDevice&lt;/font&gt; &lt;font color="#FF0000"&gt;"Synaptics Touchpad"&lt;/font&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;EndSection&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;&lt;/tt&gt;&lt;/pre&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;Scala language&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;!-- Generator: GNU source-highlight &lt;br /&gt;by Lorenzo Bettini&lt;br /&gt;http://www.lorenzobettini.it&lt;br /&gt;http://www.gnu.org/software/src-highlite --&gt;&lt;br /&gt;&lt;pre&gt;&lt;tt&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;// Example Scala file for source-highlight.&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;case&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;class&lt;/font&gt;&lt;/b&gt; &lt;font color="#008080"&gt;Point&lt;/font&gt;&lt;font color="#990000"&gt;(&lt;/font&gt;x&lt;b&gt;&lt;font color="#0000FF"&gt;:&lt;/font&gt;&lt;/b&gt; &lt;font color="#009900"&gt;Double&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt; y&lt;b&gt;&lt;font color="#0000FF"&gt;:&lt;/font&gt;&lt;/b&gt; &lt;font color="#009900"&gt;Double&lt;/font&gt;&lt;font color="#990000"&gt;)&lt;/font&gt;  &lt;br /&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;abstract&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;case&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;class&lt;/font&gt;&lt;/b&gt; &lt;font color="#008080"&gt;Shape&lt;/font&gt; &lt;font color="#FF0000"&gt;{&lt;/font&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;def&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#000000"&gt;draw&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;()&lt;/font&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;:&lt;/font&gt;&lt;/b&gt; Unit &lt;b&gt;&lt;font color="#0000FF"&gt;=&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#000000"&gt;println&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;(&lt;/font&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;this&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;)&lt;/font&gt; &lt;font color="#FF0000"&gt;}&lt;/font&gt;  &lt;br /&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;case&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;class&lt;/font&gt;&lt;/b&gt; &lt;font color="#008080"&gt;Circle&lt;/font&gt;&lt;font color="#990000"&gt;(&lt;/font&gt;center&lt;b&gt;&lt;font color="#0000FF"&gt;:&lt;/font&gt;&lt;/b&gt; Point&lt;font color="#990000"&gt;,&lt;/font&gt; radius&lt;b&gt;&lt;font color="#0000FF"&gt;:&lt;/font&gt;&lt;/b&gt; &lt;font color="#009900"&gt;Double&lt;/font&gt;&lt;font color="#990000"&gt;)&lt;/font&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;extends&lt;/font&gt;&lt;/b&gt; Shape  &lt;br /&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;case&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;class&lt;/font&gt;&lt;/b&gt; &lt;font color="#008080"&gt;Rectangle&lt;/font&gt;&lt;font color="#990000"&gt;(&lt;/font&gt;lowerLeft&lt;b&gt;&lt;font color="#0000FF"&gt;:&lt;/font&gt;&lt;/b&gt; Point&lt;font color="#990000"&gt;,&lt;/font&gt; height&lt;b&gt;&lt;font color="#0000FF"&gt;:&lt;/font&gt;&lt;/b&gt; &lt;font color="#009900"&gt;Double&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt; width&lt;b&gt;&lt;font color="#0000FF"&gt;:&lt;/font&gt;&lt;/b&gt; &lt;font color="#009900"&gt;Double&lt;/font&gt;&lt;font color="#990000"&gt;)&lt;/font&gt; &lt;b&gt;&lt;font color="#0000FF"&gt;extends&lt;/font&gt;&lt;/b&gt; Shape&lt;br /&gt;&lt;b&gt;&lt;font color="#000080"&gt;import&lt;/font&gt;&lt;/b&gt; scala&lt;font color="#990000"&gt;.&lt;/font&gt;actors&lt;font color="#990000"&gt;.&lt;/font&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;_&lt;/font&gt;&lt;/b&gt;  &lt;br /&gt;&lt;b&gt;&lt;font color="#000080"&gt;import&lt;/font&gt;&lt;/b&gt; scala&lt;font color="#990000"&gt;.&lt;/font&gt;actors&lt;font color="#990000"&gt;.&lt;/font&gt;Actor&lt;font color="#990000"&gt;.&lt;/font&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;_&lt;/font&gt;&lt;/b&gt;  &lt;br /&gt;&lt;b&gt;&lt;font color="#0000FF"&gt;object&lt;/font&gt;&lt;/b&gt; ShapeDrawer &lt;b&gt;&lt;font color="#0000FF"&gt;extends&lt;/font&gt;&lt;/b&gt; Actor &lt;font color="#FF0000"&gt;{&lt;/font&gt;  &lt;br /&gt;    &lt;b&gt;&lt;font color="#0000FF"&gt;def&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#000000"&gt;act&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;()&lt;/font&gt; &lt;font color="#FF0000"&gt;{&lt;/font&gt;  &lt;br /&gt;        loop &lt;font color="#FF0000"&gt;{&lt;/font&gt;   &lt;br /&gt;            receive &lt;font color="#FF0000"&gt;{&lt;/font&gt;  &lt;br /&gt;                &lt;b&gt;&lt;font color="#0000FF"&gt;case&lt;/font&gt;&lt;/b&gt; s&lt;b&gt;&lt;font color="#0000FF"&gt;:&lt;/font&gt;&lt;/b&gt; Shape &lt;b&gt;&lt;font color="#0000FF"&gt;=&amp;gt;&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#000000"&gt;s.draw&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;()&lt;/font&gt;  &lt;br /&gt;                &lt;b&gt;&lt;font color="#0000FF"&gt;case&lt;/font&gt;&lt;/b&gt; &lt;font color="#FF0000"&gt;"exit"&lt;/font&gt;   &lt;b&gt;&lt;font color="#0000FF"&gt;=&amp;gt;&lt;/font&gt;&lt;/b&gt; &lt;font color="#FF0000"&gt;{&lt;/font&gt; &lt;b&gt;&lt;font color="#000000"&gt;println&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;(&lt;/font&gt;&lt;font color="#FF0000"&gt;"exiting..."&lt;/font&gt;&lt;font color="#990000"&gt;);&lt;/font&gt; exit &lt;font color="#FF0000"&gt;}&lt;/font&gt;  &lt;br /&gt;                &lt;b&gt;&lt;font color="#0000FF"&gt;case&lt;/font&gt;&lt;/b&gt; x&lt;b&gt;&lt;font color="#0000FF"&gt;:&lt;/font&gt;&lt;/b&gt; Any   &lt;b&gt;&lt;font color="#0000FF"&gt;=&amp;gt;&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color="#000000"&gt;println&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;(&lt;/font&gt;&lt;font color="#FF0000"&gt;"Error: Unknown message! "&lt;/font&gt; &lt;font color="#990000"&gt;+&lt;/font&gt; x&lt;font color="#990000"&gt;)&lt;/font&gt;&lt;br /&gt;            &lt;font color="#FF0000"&gt;}&lt;/font&gt;&lt;br /&gt;        &lt;font color="#FF0000"&gt;}&lt;/font&gt;&lt;br /&gt;    &lt;font color="#FF0000"&gt;}&lt;/font&gt;&lt;br /&gt;&lt;font color="#FF0000"&gt;}&lt;/font&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#000000"&gt;ShapeDrawer.start&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;()&lt;/font&gt; &lt;br /&gt;ShapeDrawer &lt;font color="#990000"&gt;!&lt;/font&gt; &lt;b&gt;&lt;font color="#000000"&gt;Circle(Point&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;(&lt;/font&gt;&lt;font color="#993399"&gt;0.0&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt;&lt;font color="#993399"&gt;0.0&lt;/font&gt;&lt;font color="#990000"&gt;),&lt;/font&gt; &lt;font color="#993399"&gt;1.0&lt;/font&gt;&lt;font color="#990000"&gt;)&lt;/font&gt;     &lt;br /&gt;ShapeDrawer &lt;font color="#990000"&gt;!&lt;/font&gt; &lt;b&gt;&lt;font color="#000000"&gt;Rectangle(Point&lt;/font&gt;&lt;/b&gt;&lt;font color="#990000"&gt;(&lt;/font&gt;&lt;font color="#993399"&gt;0.0&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt;&lt;font color="#993399"&gt;0.0&lt;/font&gt;&lt;font color="#990000"&gt;),&lt;/font&gt; &lt;font color="#993399"&gt;2&lt;/font&gt;&lt;font color="#990000"&gt;,&lt;/font&gt; &lt;font color="#993399"&gt;5&lt;/font&gt;&lt;font color="#990000"&gt;)&lt;/font&gt; &lt;br /&gt;ShapeDrawer &lt;font color="#990000"&gt;!&lt;/font&gt; &lt;font color="#993399"&gt;3.14159&lt;/font&gt;  &lt;br /&gt;ShapeDrawer &lt;font color="#990000"&gt;!&lt;/font&gt; &lt;font color="#FF0000"&gt;"exit"&lt;/font&gt;   &lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;// Output:&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;// =&amp;gt; Circle(Point(0.0,0.0),1.0)&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;// =&amp;gt; Rectangle(Point(0.0,0.0),2.0,5.0)&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;// =&amp;gt; Error: Unknown message! 3.14159&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color="#9A1900"&gt;// =&amp;gt; exiting...&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;/tt&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35239346-8007637043780122845?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/8007637043780122845/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=8007637043780122845' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/8007637043780122845'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/8007637043780122845'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2008/11/gnu-source-highlight-211.html' title='GNU Source-Highlight 2.11'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-5987964291961421396</id><published>2008-10-30T20:52:00.004+01:00</published><updated>2008-10-30T21:01:25.686+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='foxmarks'/><title type='text'>Share your bookmarks with Foxmarks</title><content type='html'>I fell in love with &lt;a href="http://foxmarks.com/"&gt;foxmarks&lt;/a&gt; as soon as I started using it, as I had &lt;a href="http://tronprog.blogspot.com/2008/01/foxmark-or-delicious.html"&gt;already said in this blog&lt;/a&gt; :-)&lt;br /&gt;&lt;br /&gt;It looks like lately they've added some new cool features, in particular, what stroke me most was the possibility of sharing only specific folders of your bookmarks (actually, I've just discovered this feature, but it might have been around for some time now...)&lt;br /&gt;&lt;br /&gt;If you go to your bookmarks in the foxmarks site, you can see the "Share" menu, and after you selected a specific folder you can share it (including subfolders):&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_UtmZWQ8OFEM/SQoRgl2ikhI/AAAAAAAAAss/f5y8uRSPJ9A/s1600-h/share_foxmarks.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 275px;" src="http://1.bp.blogspot.com/_UtmZWQ8OFEM/SQoRgl2ikhI/AAAAAAAAAss/f5y8uRSPJ9A/s400/share_foxmarks.png" alt="" id="BLOGGER_PHOTO_ID_5263038366150201874" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Then you can provide your friend with the public link to see that specific bookmark folder (which, of course, will be kept up to date when you modify the bookmarks in that folder), and also an RSS link!&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_UtmZWQ8OFEM/SQoR2oHfiWI/AAAAAAAAAs0/880A0vnalpA/s1600-h/share_foxmarks2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 288px;" src="http://2.bp.blogspot.com/_UtmZWQ8OFEM/SQoR2oHfiWI/AAAAAAAAAs0/880A0vnalpA/s400/share_foxmarks2.png" alt="" id="BLOGGER_PHOTO_ID_5263038744715299170" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;They also provide you with html or javascript code that you can add to your site or blog to show a nice widget with some of those bookmarks!&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_UtmZWQ8OFEM/SQoSZY_pBHI/AAAAAAAAAs8/ImemVy1SqGs/s1600-h/share_foxmarks3.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 298px;" src="http://3.bp.blogspot.com/_UtmZWQ8OFEM/SQoSZY_pBHI/AAAAAAAAAs8/ImemVy1SqGs/s400/share_foxmarks3.png" alt="" id="BLOGGER_PHOTO_ID_5263039341951255666" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Isn't it nice? I find this feature delici... ehm... really amazing ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35239346-5987964291961421396?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/5987964291961421396/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=5987964291961421396' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/5987964291961421396'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/5987964291961421396'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2008/10/share-your-bookmarks-with-foxmarks.html' title='Share your bookmarks with Foxmarks'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_UtmZWQ8OFEM/SQoRgl2ikhI/AAAAAAAAAss/f5y8uRSPJ9A/s72-c/share_foxmarks.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-1556556046047579580</id><published>2008-10-29T15:33:00.004+01:00</published><updated>2008-10-29T15:41:14.374+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gentoo'/><category scheme='http://www.blogger.com/atom/ns#' term='sabayon'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='svn'/><title type='text'>Svn problems in Sabayon with https</title><content type='html'>On the new Sabayon installation (I guess the problem is in Gentoo too, though), I'm getting errors when accessing to an https repository which does not have a valid certificate (of course I trust that site):&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;svn checkout https://xxx&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;svn: OPTIONS of 'https://xxx': SSL negotiation failed: SSL error: Key usage violation in certificate has been detected. (https://xxx)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I found &lt;a href="http://ubuntu-virginia.ubuntuforums.org/showthread.php?t=948900"&gt;this post on ubuntu forums&lt;/a&gt; which seems to be related to this very same problem: the neon library, which svn uses to access https sites, uses GNU TLS which does not like this kind of certificates (that's may be fine, but at least, I should give the possibility of choosing, shouldn't I?).&lt;br /&gt;&lt;br /&gt;In Sabayon it's pretty easy to solve this problem because you can use emerge and use flags to rebuild the binaries as you wish :-)&lt;br /&gt;&lt;br /&gt;In particular, you need to rebuild the &lt;span style="font-weight: bold;"&gt;neon&lt;/span&gt; package disabling the &lt;span style="font-weight: bold;"&gt;gnutls&lt;/span&gt; use option. I did this by changing (or adding) in &lt;span style="font-weight: bold;"&gt;/etc/portage/package.use&lt;/span&gt; this line:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;net-misc/neon -gnutls&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;and then I emerged neon and subversion packages.&lt;br /&gt;&lt;br /&gt;Hope this helps :-)&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_UtmZWQ8OFEM/SQh19yPm9MI/AAAAAAAAAsk/9S53mUNkuNE/s1600-h/subversion_logo_hor-468x64.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 55px;" src="http://4.bp.blogspot.com/_UtmZWQ8OFEM/SQh19yPm9MI/AAAAAAAAAsk/9S53mUNkuNE/s400/subversion_logo_hor-468x64.png" alt="" id="BLOGGER_PHOTO_ID_5262585868902134978" border="0" /&gt;&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/35239346-1556556046047579580?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/1556556046047579580/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=1556556046047579580' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/1556556046047579580'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/1556556046047579580'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2008/10/svn-problems-in-sabayon-with-https.html' title='Svn problems in Sabayon with https'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_UtmZWQ8OFEM/SQh19yPm9MI/AAAAAAAAAsk/9S53mUNkuNE/s72-c/subversion_logo_hor-468x64.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-8428317553717286141</id><published>2008-10-26T19:32:00.003+01:00</published><updated>2008-10-26T19:48:55.482+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='mint'/><title type='text'>Linux Mint</title><content type='html'>&lt;div style="margin: 0px auto 10px; text-align: center;"&gt;&lt;div style="text-align: left;"&gt;I happened to try the live version of this ubuntu-derived Linux distribution, on my laptop, a Dell D630: Linux Mint. I was quite impressed: the aspect is really elegant e beautiful, in a word, mint :-)&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_UtmZWQ8OFEM/SQS3393TtQI/AAAAAAAAAsE/UjsTbE5BjQo/s1600-h/linuxmint4.jpg"&gt;&lt;img src="http://1.bp.blogspot.com/_UtmZWQ8OFEM/SQS3393TtQI/AAAAAAAAAsE/UjsTbE5BjQo/s400/linuxmint4.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;The main menu seems to be based on KDE 4, but I think it's better organized.&lt;br /&gt;&lt;br /&gt;Then I tried to enable those cool compiz effects, and that's what you get :-)&lt;br /&gt;&lt;/div&gt; &lt;/div&gt;&lt;br /&gt;&lt;div style="margin: 0px auto 10px; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_UtmZWQ8OFEM/SQS348BtHgI/AAAAAAAAAsM/K5C2SIvWJSY/s1600-h/linuxmint1.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_UtmZWQ8OFEM/SQS348BtHgI/AAAAAAAAAsM/K5C2SIvWJSY/s400/linuxmint1.jpg" alt="" border="0" /&gt;&lt;/a&gt; &lt;/div&gt;&lt;br /&gt;&lt;div style="margin: 0px auto 10px; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_UtmZWQ8OFEM/SQS35N-0PuI/AAAAAAAAAsU/pL68Qoq3RoM/s1600-h/linuxmint2.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_UtmZWQ8OFEM/SQS35N-0PuI/AAAAAAAAAsU/pL68Qoq3RoM/s400/linuxmint2.jpg" alt="" border="0" /&gt;&lt;/a&gt; &lt;/div&gt;&lt;br /&gt;&lt;div style="margin: 0px auto 10px; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_UtmZWQ8OFEM/SQS35NGHWWI/AAAAAAAAAsc/LO66bguQZg0/s1600-h/linuxmint3.jpg"&gt;&lt;img src="http://2.bp.blogspot.com/_UtmZWQ8OFEM/SQS35NGHWWI/AAAAAAAAAsc/LO66bguQZg0/s400/linuxmint3.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Probably I'll go on with the installation in the future.&lt;br /&gt;&lt;/div&gt; &lt;/div&gt;&lt;div style="clear: both; text-align: center;"&gt;&lt;a href="http://picasa.google.com/blogger/" target="ext"&gt;&lt;img src="http://photos1.blogger.com/pbp.gif" alt="Posted by Picasa" style="border: 0px none ; padding: 0px; background: transparent none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" align="middle" border="0" /&gt;&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/35239346-8428317553717286141?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/8428317553717286141/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=8428317553717286141' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/8428317553717286141'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/8428317553717286141'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2008/10/linux-mint.html' title='Linux Mint'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_UtmZWQ8OFEM/SQS3393TtQI/AAAAAAAAAsE/UjsTbE5BjQo/s72-c/linuxmint4.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-3321891092898947312</id><published>2008-10-20T13:43:00.002+02:00</published><updated>2008-10-20T13:48:43.425+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='kde'/><category scheme='http://www.blogger.com/atom/ns#' term='kubuntu'/><title type='text'>KWin is not restored after removing Compiz</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_UtmZWQ8OFEM/SPxwCV8XWFI/AAAAAAAAAco/b__V0__soP0/s1600-h/compiz_fusion_logos2.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://3.bp.blogspot.com/_UtmZWQ8OFEM/SPxwCV8XWFI/AAAAAAAAAco/b__V0__soP0/s200/compiz_fusion_logos2.png" alt="" id="BLOGGER_PHOTO_ID_5259201650414278738" border="0" /&gt;&lt;/a&gt;I tried Compiz on a desktop computer, but this made the system pretty slow, so I removed it with synaptic... after a restart, all the windows of the KDE desktop were shown without a frame (thus it was pretty useless). This seems to be a &lt;a href="https://bugs.launchpad.net/ubuntu/+source/compiz/+bug/241925"&gt;known bug in (k)ubuntu&lt;/a&gt;, but the solution&lt;br /&gt;&lt;pre&gt;sudo aptitude reinstall kwin&lt;/pre&gt;did not work for me (all the windows were still frameless).&lt;br /&gt;&lt;br /&gt;The only solution that worked for me was also to remove all the compiz configuration files in my home:&lt;br /&gt;&lt;pre&gt;find ~/ -name "*compiz*" -exec rm -rf {} \;&lt;/pre&gt;hope this helps :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35239346-3321891092898947312?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/3321891092898947312/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=3321891092898947312' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/3321891092898947312'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/3321891092898947312'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2008/10/kwin-is-not-restored-after-removing.html' title='KWin is not restored after removing Compiz'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_UtmZWQ8OFEM/SPxwCV8XWFI/AAAAAAAAAco/b__V0__soP0/s72-c/compiz_fusion_logos2.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-2786011297231421178</id><published>2008-10-17T17:35:00.002+02:00</published><updated>2008-10-17T17:43:24.888+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sabayon'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='cvs'/><title type='text'>CVS, Eclipse and Sabayon</title><content type='html'>When I started to play with Sabayon I started to struggle with a problem using Eclipse and CVS (on a local repository).&lt;br /&gt;&lt;br /&gt;I kept on getting this error (using extssh):&lt;br /&gt;&lt;pre&gt;Problems reported while synchronizing CVS Workspace. 0 of 1 resources  were synchronized.&lt;br /&gt;   Unknown response received from cvs server: &lt;/pre&gt;On many parts on the web I had read that this is usually due to a "misbehaving" cvs client, typically under windows, or a misbehaving ssh client (again under windows), but since I'm using Linux...&lt;br /&gt;&lt;br /&gt;Well, it turns out that the cvs binary that is shipped with Sabayon is not compiled with the &lt;span style="font-weight: bold;"&gt;--enable-server&lt;/span&gt; flag, which is the default for cvs program. Installing cvs using emerge does not solve the problem, because, again, that flag is not enabled by default.&lt;br /&gt;&lt;br /&gt;Thus, you need to enable it, adding the line&lt;br /&gt;&lt;pre class="bz_comment_text" id="comment_text_0"&gt;dev-util/cvs server&lt;/pre&gt;to the file /etc/portage/package.use. I've also opened a &lt;a href="http://bugs.sabayonlinux.org/show_bug.cgi?id=523"&gt;bug report&lt;/a&gt;; hope this saves some headaches to eclipse users :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35239346-2786011297231421178?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/2786011297231421178/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=2786011297231421178' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/2786011297231421178'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/2786011297231421178'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2008/10/cvs-eclipse-and-sabayon.html' title='CVS, Eclipse and Sabayon'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-1307664590902209649</id><published>2008-10-13T11:21:00.003+02:00</published><updated>2008-10-13T11:29:17.958+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='xerox'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='cups'/><category scheme='http://www.blogger.com/atom/ns#' term='kubuntu'/><title type='text'>Xerox Phaser 4510 in Linux</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_UtmZWQ8OFEM/SPMUhZfdQhI/AAAAAAAAAcY/h4admnwOUj4/s1600-h/xerox4510.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://4.bp.blogspot.com/_UtmZWQ8OFEM/SPMUhZfdQhI/AAAAAAAAAcY/h4admnwOUj4/s200/xerox4510.jpg" alt="" id="BLOGGER_PHOTO_ID_5256567754082566674" border="0" /&gt;&lt;/a&gt;I had struggled &lt;a href="http://tronprog.blogspot.com/2007/01/debian-cups-xerox-phaser-stopped-with.html"&gt;in the past&lt;/a&gt; already with a Xerox Phaser 4500; now a new printer, a Xerox Phaser 4510 was brought at work and so I was already worried about its installation with cups, in kubuntu, since no driver is provided by default by cups.&lt;br /&gt;&lt;br /&gt;However, this time was quite easy, since the Xerox site provides some new drivers that can be downloaded freely &lt;a href="http://www.support.xerox.com/go/getfile.asp?Xlang=it_IT&amp;amp;XCntry=ITA&amp;amp;objid=61334&amp;amp;EULA=0&amp;amp;prodID=4510&amp;amp;Family=Phaser&amp;amp;ripId=&amp;amp;langs=English%20%28US%29&amp;amp;plats=Linux&amp;amp;Xtype=download&amp;amp;uType="&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;You just need to untar the package and use the right .ppd file, and in my case it is &lt;span style="font-weight: bold;"&gt;xrx4510dt.ppd&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_UtmZWQ8OFEM/SPMU1fBQD4I/AAAAAAAAAcg/Fd2VbcOpOV0/s1600-h/happy.gif"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://3.bp.blogspot.com/_UtmZWQ8OFEM/SPMU1fBQD4I/AAAAAAAAAcg/Fd2VbcOpOV0/s200/happy.gif" alt="" id="BLOGGER_PHOTO_ID_5256568099163869058" border="0" /&gt;&lt;/a&gt;I installed this printer with the CUPS web interface (with the configuration procedure of KDE it failed to correctly set this printer, don't know why), and when you come to select the model you provide the above ppd file.&lt;br /&gt;&lt;br /&gt;Everything then worked like a charm!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35239346-1307664590902209649?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/1307664590902209649/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=1307664590902209649' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/1307664590902209649'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/1307664590902209649'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2008/10/xerox-phaser-4510-in-linux.html' title='Xerox Phaser 4510 in Linux'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_UtmZWQ8OFEM/SPMUhZfdQhI/AAAAAAAAAcY/h4admnwOUj4/s72-c/xerox4510.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-5756708183086563272</id><published>2008-10-06T15:08:00.002+02:00</published><updated>2008-10-06T15:16:13.835+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sabayon'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='kubuntu'/><title type='text'>Optiplex 330 won't reboot in Linux</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_UtmZWQ8OFEM/SOoPj1CWZBI/AAAAAAAAAcQ/l_eOfEvijLQ/s1600-h/dell_optiplex330.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://2.bp.blogspot.com/_UtmZWQ8OFEM/SOoPj1CWZBI/AAAAAAAAAcQ/l_eOfEvijLQ/s200/dell_optiplex330.jpg" alt="" id="BLOGGER_PHOTO_ID_5254029023487878162" border="0" /&gt;&lt;/a&gt;My new desktop at work is a Dell Optiplex 330, where Linux made its way from the very beginning. I started with my beloved Kubuntu, and then tried also Sabayon. With both distributions I soon noticed a boring bug: the computer does not reboot. After terminating the reboot operations the system just hangs and the computer does not reboot. Fortunately, this is a &lt;a href="https://bugs.launchpad.net/ubuntu/+source/linux/+bug/213754"&gt;known bug&lt;/a&gt; for many computers, and the solution was quite easy: add the option &lt;span style="font-weight: bold;"&gt;reboot=b&lt;/span&gt; to the kernel line in the grub configuration list. This worked for me both for Kubuntu and Sabayon :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35239346-5756708183086563272?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/5756708183086563272/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=5756708183086563272' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/5756708183086563272'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/5756708183086563272'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2008/10/optiplex-330-wont-reboot-in-linux.html' title='Optiplex 330 won&apos;t reboot in Linux'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_UtmZWQ8OFEM/SOoPj1CWZBI/AAAAAAAAAcQ/l_eOfEvijLQ/s72-c/dell_optiplex330.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-3150682938452640481</id><published>2008-10-03T11:40:00.003+02:00</published><updated>2008-10-03T11:44:49.501+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='latex'/><category scheme='http://www.blogger.com/atom/ns#' term='sabayon'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Texlive (Latex) in Sabayon</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_UtmZWQ8OFEM/SOXpctXQsoI/AAAAAAAAAcA/v-c7SEEsY6Y/s1600-h/site_logo.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://2.bp.blogspot.com/_UtmZWQ8OFEM/SOXpctXQsoI/AAAAAAAAAcA/v-c7SEEsY6Y/s200/site_logo.png" alt="" id="BLOGGER_PHOTO_ID_5252861219820319362" border="0" /&gt;&lt;/a&gt;I'm experimenting with Sabayon Linux 3.5, and now I was trying to compile some of my papers, which of course are written in LaTeX; however I found no preinstalled binary for latex. Thus I tried to install, with equo, using the package latex-base, but again, no latex binary.&lt;br /&gt;&lt;br /&gt;Thus, I emerged it. First, however, you need to unmerge tetex (the previous latex distribution). After that, it's just a matter of emerging &lt;span style="font-weight: bold;"&gt;texlive&lt;/span&gt;, and wait for some time (due to the compilation of many packages).&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_UtmZWQ8OFEM/SOXpQAceeqI/AAAAAAAAAb4/AldZ3f-Nnro/s1600-h/snapshot2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_UtmZWQ8OFEM/SOXpQAceeqI/AAAAAAAAAb4/AldZ3f-Nnro/s400/snapshot2.png" alt="" id="BLOGGER_PHOTO_ID_5252861001604168354" border="0" /&gt;&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/35239346-3150682938452640481?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/3150682938452640481/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=3150682938452640481' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/3150682938452640481'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/3150682938452640481'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2008/10/texlive-latex-in-sabayon.html' title='Texlive (Latex) in Sabayon'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_UtmZWQ8OFEM/SOXpctXQsoI/AAAAAAAAAcA/v-c7SEEsY6Y/s72-c/site_logo.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-1483535637727259667</id><published>2008-09-21T15:51:00.003+02:00</published><updated>2008-09-21T15:57:52.925+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sabayon'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='fun'/><title type='text'>Sabayon: please read the help!</title><content type='html'>I've just started using Sabayon Linux (besides Kubuntu) and I'll blog some impressions about that, but first of all, I had to blog this. The command line package manager, &lt;span style="font-weight: bold;"&gt;equo&lt;/span&gt;, seems to be watching you: I was trying to run the upgrade without reading the help, and... well, equo seems to have gotten angry:&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;localhost ~ # equo --upgrade --pretend&lt;br /&gt;&gt;&gt; You didn't run equo --help, did you?&lt;br /&gt;localhost ~ # equo -upgrade --pretend&lt;br /&gt;&gt;&gt; Did you even read equo --help??&lt;br /&gt;localhost ~ # equo upgrade --pretend&lt;br /&gt;&gt;&gt; I give up. Run that equo --help !!!!!!!&lt;br /&gt;localhost ~ # equo upgrade&lt;br /&gt;&gt;&gt; OH MY GOD. RUN equo --heeeeeeeeeeeeeelp&lt;br /&gt;localhost ~ # equo --upgrade&lt;br /&gt;&gt;&gt; Illiteracy is a huge problem in this world&lt;br /&gt;localhost ~ # equo --upgrade&lt;br /&gt;&gt;&gt; Ok i give up, you are hopeless&lt;br /&gt;localhost ~ # equo --upgrade&lt;br /&gt;&gt;&gt; Go to hell.&lt;br /&gt;localhost ~ # equo --upgrade&lt;br /&gt;&gt;&gt; Go to hell.&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;That's really too funny! :-)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_UtmZWQ8OFEM/SNZSToL1kgI/AAAAAAAAAbg/Ya-Dfs2cAag/s1600-h/snapshot7.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_UtmZWQ8OFEM/SNZSToL1kgI/AAAAAAAAAbg/Ya-Dfs2cAag/s320/snapshot7.png" alt="" id="BLOGGER_PHOTO_ID_5248472912904950274" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Well done developers, you guys really rock! :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35239346-1483535637727259667?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/1483535637727259667/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=1483535637727259667' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/1483535637727259667'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/1483535637727259667'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2008/09/sabayon-please-read-help.html' title='Sabayon: please read the help!'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_UtmZWQ8OFEM/SNZSToL1kgI/AAAAAAAAAbg/Ya-Dfs2cAag/s72-c/snapshot7.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-4030109122145610144</id><published>2008-08-27T17:58:00.004+02:00</published><updated>2008-09-13T19:36:47.862+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='myiptrack'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='my programs'/><title type='text'>MyIpTrack: keep track of the IP addresses you use</title><content type='html'>I've just released a new program, which is actually a php script to install on a web site.&lt;br /&gt;&lt;p&gt;&lt;a href="http://myiptrack.sf.net/"&gt;MyIpTrack&lt;/a&gt; is a php script that allows you to store the IP addresses with which you connect to the Internet. It stores such information on a text file. The information stored are: the IP address, date and time and some notes.&lt;/p&gt; &lt;p&gt;This is pretty useful if you connect to the Internet with many different providers (wireless networks, Internet cafe, etc.) and you want to keep track of all the IPs you've used (and date and time). You can also fill some notes for each such record.&lt;/p&gt; &lt;p&gt;MyIpTrack only needs a web server with PHP; it does not use any database: it stores the information in a text file. The archive consists of a record per line (thus records are separated by newline characters), and fields are separated by a tab character:&lt;/p&gt; &lt;pre&gt;IP TAB &lt;tab&gt;&lt;tab&gt;date TAB &lt;tab&gt;&lt;tab&gt;address TAB &lt;tab&gt;&lt;tab&gt;notes&lt;nl&gt;&lt;/nl&gt;&lt;/tab&gt;&lt;/tab&gt;&lt;/tab&gt;&lt;/tab&gt;&lt;/tab&gt;&lt;/tab&gt;&lt;/pre&gt; &lt;h2&gt;How it works&lt;/h2&gt;&lt;p&gt;The idea is that when you connect to the Internet, you visit the page where you put MyIpTrack; at this point you'll be presented a web form already filled with the IP, the date (and time) and the address corresponding to the IP you are currently using. Then you'll be able to add some notes (e.g., that help you remember for what you used that IP).&lt;/p&gt; &lt;p&gt;If you're using an IP that you've used before, MyIpTrack will show a table with all the dates you used that specific IP.&lt;/p&gt; &lt;p&gt;It also shows a table with all the IP addresses used in the past. See the screenshot below.&lt;/p&gt;&lt;h2&gt;License&lt;/h2&gt;&lt;p&gt;MyIpTrack is Open Source, under the &lt;a href="file:///home/bettini/workspaces/phpide/myiptrack/docs/gpl.txt"&gt;GPL license&lt;/a&gt;. &lt;/p&gt;&lt;h2&gt;&lt;a name="Installation"&gt;&lt;/a&gt;Installation&lt;/h2&gt; &lt;p&gt;After you &lt;a href="http://downloads.sourceforge.net/myiptrack"&gt;downloaded the .zip file&lt;/a&gt; and extracted its contents, all you need to do is copy the contents of the directory &lt;strong&gt;html &lt;/strong&gt;into a directory of your web server. Make sure to give full write access to the text file where the information will be stored: &lt;strong&gt;archive.txt&lt;/strong&gt;.&lt;/p&gt; &lt;p&gt;MyIpTrack is not thought to be part of a public web site: its web page is considered to be used only by the user who installed it, so it should be put in a private web directory. However, MyIpTrack provides also a basic authentication mechanism based on a user name and a password, specified in the file &lt;strong&gt;config.php&lt;/strong&gt;. Just leave the user name empty if you're not interested in the authentication. If you want to use authentication, change the user name and password.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_UtmZWQ8OFEM/SLV6vJ81jJI/AAAAAAAAAbA/kJamfZtKrLI/s1600-h/myiptrack.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_UtmZWQ8OFEM/SLV6vJ81jJI/AAAAAAAAAbA/kJamfZtKrLI/s400/myiptrack.png" alt="" id="BLOGGER_PHOTO_ID_5239228692058967186" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35239346-4030109122145610144?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/4030109122145610144/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=4030109122145610144' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/4030109122145610144'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/4030109122145610144'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2008/08/myiptrack-keep-track-of-ip-addresses.html' title='MyIpTrack: keep track of the IP addresses you use'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_UtmZWQ8OFEM/SLV6vJ81jJI/AAAAAAAAAbA/kJamfZtKrLI/s72-c/myiptrack.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-8458205046914381319</id><published>2008-08-24T18:04:00.007+02:00</published><updated>2008-08-24T18:43:16.852+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='phpbibliography'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>PhpBibliography 0.5: RSS &amp; DBLP import</title><content type='html'>It is with great pleasure that I announce this new release of &lt;a href="http://phpbibliography.sourceforge.net/"&gt;PhpBibliography&lt;/a&gt;!&lt;br /&gt;&lt;br /&gt;First of all, I really need to thank &lt;a href="http://www.eziobartocci.com/"&gt;Ezio Bartocci&lt;/a&gt;, a PhD candidate of University of Camerino, &lt;a href="http://cosy.cs.unicam.it/"&gt;Complex System Research Group&lt;/a&gt;, who did a wonderful job in implementing the two new main features of this release: RSS and DBLP import.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;RSS&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Basically, every query page now also generates an RSS link that can be used to subscribe to that specific result as an RSS feed. Of course, that feed is dynamic, so each time your RSS reader will look for updates, the system will actually run the query again. This is pretty useful to generate an RSS feed for a specific author's papers.&lt;br /&gt;&lt;br /&gt;For instance, this is the &lt;a href="http://rap.dsi.unifi.it/%7Ebettini/bibliography/index.php?groupby=0&amp;amp;author=1&amp;amp;category=0&amp;amp;descyear=descyear&amp;amp;submit=Go"&gt;output of my papers&lt;/a&gt;, and you can see the RSS link on the right that can be used to subscribe to my papers feed. As soon as a new paper of mine is added to the system, the RSS reader will catch that. And this is the direct &lt;a href="http://rap.dsi.unifi.it/%7Ebettini/bibliography/showrss.php?groupby=0&amp;amp;author=1&amp;amp;category=0&amp;amp;descyear=descyear&amp;amp;submit=Go"&gt;RSS feed&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_UtmZWQ8OFEM/SLGJAMjXbiI/AAAAAAAAAag/keHhhwg8hpA/s1600-h/bibliography4.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_UtmZWQ8OFEM/SLGJAMjXbiI/AAAAAAAAAag/keHhhwg8hpA/s400/bibliography4.png" alt="" id="BLOGGER_PHOTO_ID_5238118478071164450" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;DBLP paper import&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The other cool feature that Ezio implemented is the possibility of importing papers directly from &lt;a href="http://www.informatik.uni-trier.de/%7Eley/db/"&gt;DBLP&lt;/a&gt;, the Computer Science Bibliography, using the bibtexs of this site.&lt;br /&gt;&lt;br /&gt;This feature is still experimental and we will have to twickle it a little bit, but it seems to work for most of the cases.&lt;br /&gt;&lt;br /&gt;You'll be asked to insert your name and surname. After you inserted the author's name and surname,&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_UtmZWQ8OFEM/SLGKY2EomRI/AAAAAAAAAao/U6ND_B6r1iA/s1600-h/bibliography1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_UtmZWQ8OFEM/SLGKY2EomRI/AAAAAAAAAao/U6ND_B6r1iA/s400/bibliography1.png" alt="" id="BLOGGER_PHOTO_ID_5238120001045043474" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;the DBLP site will be queried and all the author's found papers will be presented to the user; the system will already check which papers are similar&lt;br /&gt;to those already present in the database; if a similar paper is found in the database that entry will not be automatically selected for the import (and will be highlighted in red); the other papers will be automatically selected for import.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_UtmZWQ8OFEM/SLGLGo1I7II/AAAAAAAAAaw/KcIvybVjXh0/s1600-h/bibliography2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_UtmZWQ8OFEM/SLGLGo1I7II/AAAAAAAAAaw/KcIvybVjXh0/s400/bibliography2.png" alt="" id="BLOGGER_PHOTO_ID_5238120787764374658" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;The user will then be able to further select all the papers to import, and&lt;br /&gt;press the import button (it is also possible to select all the papers or all the papers of a specific year). Note that the procedure might require some time. Finally, you'll be able to edit each single paper imported through this procedure.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_UtmZWQ8OFEM/SLGLwQK2M0I/AAAAAAAAAa4/Y_Gl74qNeAo/s1600-h/bibliography3.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_UtmZWQ8OFEM/SLGLwQK2M0I/AAAAAAAAAa4/Y_Gl74qNeAo/s400/bibliography3.png" alt="" id="BLOGGER_PHOTO_ID_5238121502699041602" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Note that the bib items of DBLP might not produce such nice paper records in phpbibliography, especially when they cross reference other bib items (also shown as a result, but not inserted in the data base); you'll probably need to modify such imported papers using the additional information in the cross referenced bib item. We are working on how to solve this little issue.&lt;br /&gt;&lt;br /&gt;Again, let me thank Ezio once again! Not only he did a great job, but it was also very funny to work with him through instant messaging :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35239346-8458205046914381319?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/8458205046914381319/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=8458205046914381319' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/8458205046914381319'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/8458205046914381319'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2008/08/phpbibliography-05-rss-dblp-import.html' title='PhpBibliography 0.5: RSS &amp; DBLP import'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_UtmZWQ8OFEM/SLGJAMjXbiI/AAAAAAAAAag/keHhhwg8hpA/s72-c/bibliography4.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-111956759807760063</id><published>2008-08-18T18:09:00.006+02:00</published><updated>2008-08-18T18:25:53.014+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='ipod'/><title type='text'>Accessing Ipod with Linux: GtkPod</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_UtmZWQ8OFEM/SKmgvPLCphI/AAAAAAAAAaI/HzHrGnaxckc/s1600-h/gtkpod_logo_small.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://2.bp.blogspot.com/_UtmZWQ8OFEM/SKmgvPLCphI/AAAAAAAAAaI/HzHrGnaxckc/s200/gtkpod_logo_small.png" alt="" id="BLOGGER_PHOTO_ID_5235892775182050834" border="0" /&gt;&lt;/a&gt;The first attempt to access my ipod with Linux didn't go very well: I was able to access it with amarok and to upload some files and playlists, only to find out that then the ipod did not see any songs and I had to restore it with itunes under windows.&lt;br /&gt;&lt;br /&gt;Then, after upgrading my ubuntu distributions, since I heard that this problem was due to an old version of the libgpod library, I decided to try again, but this time with &lt;a href="http://www.gtkpod.org/"&gt;gtkpod&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The Ipod was soon found upon connection, and I had to set the right model:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_UtmZWQ8OFEM/SKmhWniMztI/AAAAAAAAAaQ/Bb8SnjaMIa8/s1600-h/ipod1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_UtmZWQ8OFEM/SKmhWniMztI/AAAAAAAAAaQ/Bb8SnjaMIa8/s400/ipod1.png" alt="" id="BLOGGER_PHOTO_ID_5235893451736534738" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Then I was able to access the songs, upload new songs, and delete other songs&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_UtmZWQ8OFEM/SKmh3Kd0n3I/AAAAAAAAAaY/cGNyM5OdTr8/s1600-h/ipod2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_UtmZWQ8OFEM/SKmh3Kd0n3I/AAAAAAAAAaY/cGNyM5OdTr8/s400/ipod2.png" alt="" id="BLOGGER_PHOTO_ID_5235894010869227378" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Don't forget to save the changes before disconnecting the ipod, otherwise its internal database won't be saved.&lt;br /&gt;&lt;br /&gt;Then all the songs were still in the ipod and I could play them.&lt;br /&gt;&lt;br /&gt;However, there still seem to be some problems: after this operation, the cover gallery which automatically shows under the menu does not show anymore (you can see only the number of the songs). Thus, I assume that the database is not updated correctly... after a restore with itunes the gallery showed up again.&lt;br /&gt;&lt;br /&gt;So, for the moment, I still can't access and modify songs on my ipod in satisfactory way under linux :-(&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35239346-111956759807760063?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/111956759807760063/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=111956759807760063' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/111956759807760063'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/111956759807760063'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2008/08/accessing-ipod-with-linux-gtkpod.html' title='Accessing Ipod with Linux: GtkPod'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lore.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_UtmZWQ8OFEM/SKmgvPLCphI/AAAAAAAAAaI/HzHrGnaxckc/s72-c/gtkpod_logo_small.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35239346.post-6568907671749452010</id><published>2008-08-11T14:19:00.004+02:00</published><updated>2008-08-11T14:30:52.702+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='kubuntu'/><title type='text'>Konqueror does not connect to hosts</title><content type='html'>I usually use the computer with a permanent connection to the Internet, so I hadn't noticed this problem. But lately, since I'm using also my laptop off line I started to struggle with this problem: when I use konqueror to connect to a local site, I get this error:&lt;br /&gt;&lt;pre style="font-weight: bold;"&gt;An error occurred while loading http://localhost:&lt;br /&gt;Could not connect to host http://localhost.&lt;/pre&gt;       The problem occurs also when I'm connected through a 56k modem: I cannot simply connect to web hosts with konqueror.&lt;br /&gt;&lt;br /&gt;Luckily, I found this post, &lt;a href="http://ubuntuforums.org/showthread.php?t=494344"&gt;http://ubuntuforums.org/showthread.php?t=494344&lt;/a&gt;, whose solution seems to work fine: just disable the cache (i.e., uncheck "Use cache"):&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_UtmZWQ8OFEM/SKAwB8Cs2XI/AAAAAAAAAaA/bDZfbFBLxaU/s1600-h/konqueror.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_UtmZWQ8OFEM/SKAwB8Cs2XI/AAAAAAAAAaA/bDZfbFBLxaU/s400/konqueror.png" alt="" id="BLOGGER_PHOTO_ID_5233235576859974002" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;But this looks like a serious bug :-(&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35239346-6568907671749452010?l=tronprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tronprog.blogspot.com/feeds/6568907671749452010/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35239346&amp;postID=6568907671749452010' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/6568907671749452010'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35239346/posts/default/6568907671749452010'/><link rel='alternate' type='text/html' href='http://tronprog.blogspot.com/2008/08/konqueror-does-not-connect-to-hosts.html' title='Konqueror does not connect to hosts'/><author><name>betto</name><uri>http://www.blogger.com/profile/16462664783219149049</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://photos1.blogger.com/blogger/3166/3917/1600/lor
