<?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-9594897</id><updated>2011-12-22T07:59:57.364-08:00</updated><title type='text'>My blog</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default?start-index=101&amp;max-results=100'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>181</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-9594897.post-1467485727458228757</id><published>2011-12-22T06:59:00.000-08:00</published><updated>2011-12-22T07:59:57.369-08:00</updated><title type='text'>Memory aid on redirecting ports</title><content type='html'>sysctl -w net.ipv4.ip_forward=1&lt;br /&gt;&lt;br /&gt;iptables -t nat -A PREROUTING -d &amp;lt; DEST &amp;gt; -p tcp -m tcp --dport &amp;lt;original destport&amp;gt; -j DNAT --to-destination &amp;lt;new machine&amp;gt;:&amp;lt;new port&amp;gt;&lt;br /&gt;&lt;br /&gt;iptables -t nat -A POSTROUTING -d &amp;lt;new machine&amp;gt; -p tcp -m tcp -j SNAT --to-source &amp;lt;this box ip&amp;gt;&lt;br /&gt;&lt;br /&gt;iptables -A FORWARD -d &amp;lt;new machine&amp;gt; -j ACCEPT&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-1467485727458228757?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/1467485727458228757/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=1467485727458228757' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/1467485727458228757'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/1467485727458228757'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2011/12/memory-help-on-redirecting-ports.html' title='Memory aid on redirecting ports'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-7846082957251861388</id><published>2011-12-15T14:51:00.000-08:00</published><updated>2011-12-15T14:53:06.253-08:00</updated><title type='text'>Change the admin user password in drupal</title><content type='html'>UPDATE users SET pass = md5('The password!') where uid=1;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-7846082957251861388?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/7846082957251861388/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=7846082957251861388' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/7846082957251861388'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/7846082957251861388'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2011/12/change-admin-user-password-in-drupal.html' title='Change the admin user password in drupal'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-9102941256352041676</id><published>2011-11-13T22:49:00.000-08:00</published><updated>2011-11-13T22:54:09.380-08:00</updated><title type='text'>Enable pci parport in ubuntu 10.04</title><content type='html'>Applying (http://ubuntuforums.org/showthread.php?t=1233589) : &lt;br /&gt;&lt;br /&gt;As root: &lt;br /&gt;&lt;br /&gt;root$  lspci &lt;br /&gt;&lt;br /&gt;02:00.0 Parallel controller: NetMos Technology PCI 9865 Multi-I/O Controller&lt;br /&gt;&lt;br /&gt;root$  lspci -v&lt;br /&gt;&lt;br /&gt;02:00.0 Parallel controller: NetMos Technology PCI 9865 Multi-I/O Controller (prog-if 03)&lt;br /&gt; Subsystem: Device a000:2000&lt;br /&gt; Flags: bus master, medium devsel, latency 32, IRQ 3&lt;br /&gt; I/O ports at b010 [size=8]  &lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt; See here&lt;br /&gt; I/O ports at b000 [size=8]&lt;br /&gt; Memory at fe102000 (32-bit, non-prefetchable) [size=4K]&lt;br /&gt; Memory at fe101000 (32-bit, non-prefetchable) [size=4K]&lt;br /&gt; Capabilities: &lt;access denied&gt;&lt;br /&gt;&lt;br /&gt;root$ modprobe  parport_pc io=0xb010&lt;br /&gt;root$ ls /dev/parp*&lt;br /&gt;/dev/parport0&lt;br /&gt;&lt;br /&gt;Voilà&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-9102941256352041676?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/9102941256352041676/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=9102941256352041676' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/9102941256352041676'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/9102941256352041676'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2011/11/enable-pci-parport-in-ubuntu-1004.html' title='Enable pci parport in ubuntu 10.04'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-771256446078850039</id><published>2011-11-04T07:40:00.000-07:00</published><updated>2011-11-04T07:42:13.133-07:00</updated><title type='text'>How to rename a vmware machine disk</title><content type='html'>After shutting down the machine and getting to the folder where the vmdk is located: &lt;br /&gt;&lt;br /&gt;vmware-vmdiskmanager -n original_disk_name.vmdk destination_disk_name.vmdk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-771256446078850039?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/771256446078850039/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=771256446078850039' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/771256446078850039'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/771256446078850039'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2011/11/how-to-rename-vmware-machine-disk.html' title='How to rename a vmware machine disk'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-67563125857881609</id><published>2011-09-02T07:55:00.000-07:00</published><updated>2011-09-02T07:58:12.718-07:00</updated><title type='text'>El reto del tiempo</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; "&gt;&lt;span dir="ltr" id=":1sj"&gt;Contemplando la vida se va y aquella que nace, veo como el tiempo avanza implacable poniéndonos el reto de no desaparecer en la historia. Solo nos queda la esperanza de estar a la altura de su desafío.&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; "&gt;&lt;span dir="ltr" id=":1sj"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-67563125857881609?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/67563125857881609/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=67563125857881609' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/67563125857881609'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/67563125857881609'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2011/09/el-reto-del-tiempo.html' title='El reto del tiempo'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-307053101375394420</id><published>2011-08-20T07:22:00.000-07:00</published><updated>2011-08-21T20:28:12.340-07:00</updated><title type='text'>Debian utils for programming microchip microcontrollers</title><content type='html'>Utils:&lt;br /&gt;&lt;br /&gt;apt-get install picasm picprog  gputils gputils-doc gputils-common gpsim-dev gpsim\&lt;br /&gt;&lt;br /&gt;Programmer:&lt;br /&gt;&lt;br /&gt;http://www.jdm.homepage.dk/easypic.htm&lt;br /&gt;&lt;br /&gt;For the picStartPlus:&lt;br /&gt;&lt;br /&gt;apt-get install picp&lt;br /&gt;&lt;br /&gt;Simulator:&lt;br /&gt;&lt;br /&gt;apt-get install simulpic&lt;br /&gt;&lt;br /&gt;C compiler and utils:&lt;br /&gt;&lt;br /&gt;apt-get install sdcc sdcc-libraries sdcc-doc sdcc-ucsim&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-307053101375394420?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/307053101375394420/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=307053101375394420' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/307053101375394420'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/307053101375394420'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2011/08/ubuntu-utils-for-programming-microchip.html' title='Debian utils for programming microchip microcontrollers'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-6706436498023103833</id><published>2011-07-13T07:08:00.000-07:00</published><updated>2011-07-13T07:09:10.935-07:00</updated><title type='text'>today's quote</title><content type='html'>&lt;span id="aptureStartContent"&gt;&lt;span class="body"&gt;Take the course opposite to custom and you will almost always do well. &lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;span id="aptureStartContent"&gt;&lt;span class="body"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;            &lt;/span&gt;(J. J. Rousseau)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-6706436498023103833?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/6706436498023103833/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=6706436498023103833' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/6706436498023103833'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/6706436498023103833'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2011/07/todays-quote.html' title='today&apos;s quote'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-6638733412475740567</id><published>2011-07-06T13:47:00.000-07:00</published><updated>2011-07-06T13:48:51.849-07:00</updated><title type='text'>Global variables</title><content type='html'>Global variables are a key to misfortune&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-6638733412475740567?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/6638733412475740567/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=6638733412475740567' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/6638733412475740567'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/6638733412475740567'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2011/07/global-variables.html' title='Global variables'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-4927567601895527974</id><published>2011-03-01T11:17:00.000-08:00</published><updated>2011-03-01T11:18:17.592-08:00</updated><title type='text'>Souris</title><content type='html'>Je baiserai une petite souris avec sourire, je besserai les levres rouges avec d'esir, je serai deja non plus une seule ^ame, car je partage la mienne avec une damme.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-4927567601895527974?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/4927567601895527974/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=4927567601895527974' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/4927567601895527974'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/4927567601895527974'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2011/03/souris.html' title='Souris'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-6391041753046617918</id><published>2011-02-08T13:23:00.000-08:00</published><updated>2011-02-08T15:57:11.861-08:00</updated><title type='text'>El péndulo implacable</title><content type='html'>Ten cuidado, pues llegará el día en que no escuches el vals de las flores, llegará el día en que no puedas ya abrazar a tu madre, a tu abuela o a tu esposa, llegará el día en que esta ineludible intrascendencia selle finalmente el camino recorrido, forjado por ese péndulo invisible que al final de cuentas se lo lleva todo.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-6391041753046617918?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/6391041753046617918/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=6391041753046617918' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/6391041753046617918'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/6391041753046617918'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2011/02/el-pendulo-implacable.html' title='El péndulo implacable'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-4022846492848601442</id><published>2010-10-21T18:10:00.001-07:00</published><updated>2010-10-21T18:34:26.178-07:00</updated><title type='text'>Android on freerunner</title><content type='html'>Today I installed android on the freerunner.  It is very straightforward thanks to the work of the guys at &lt;a href="http://code.google.com/p/android-on-freerunner/"&gt;http://code.google.com/p/android-on-freerunner/&lt;/a&gt;. It is just a matter of copying the code to the SD and then just starting the machine.  After doing so, I installed the &lt;a href="http://developer.android.com/sdk/eclipse-adt.html"&gt;eclipse plugin&lt;/a&gt; for developing android apps. It works surprisingly smoothly and I could run the tests and even some small apps of mine. We also tested &lt;a href="http://www.phonegap.com/"&gt;phonegap&lt;/a&gt; with a friend. He tested it in symbian/nokia5800 and I tested it in android/freerunner. We were expecting a lot from the API, but in the end, it didn't run quite as good as expected: unresponsive buttons and some problems with the accelerometer. I think it may be due to the emphasis in Iphone that the developers have put to it. It still looks good as a library, we're gonna study the code to see why it didn't work. I also found that the freerunner discharges (even when plugged in to the usb) when it is connected to the WiFi (an android/freerunner bug?). Then I started to think about android and the hundreds of companies that are about to use it in their phones and I can't but worry about the possibility of the Java license infringement claim made by &lt;a href="http://news.cnet.com/8301-30684_3-20013546-265.html"&gt;Oracle&lt;/a&gt;. If they succeed in their claim, that could mean bankruptcy for many companies. Anyways, after this exercise I consider QT and Android as  very good development environments for mobiles. Nokia should not abandon Symbian and QT because they complete the landscape in mobile-development and  give us good choices and tools.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-4022846492848601442?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/4022846492848601442/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=4022846492848601442' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/4022846492848601442'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/4022846492848601442'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2010/10/android-on-freerunner.html' title='Android on freerunner'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-8700474122941760708</id><published>2010-10-19T15:25:00.000-07:00</published><updated>2010-10-19T18:30:06.614-07:00</updated><title type='text'>Magnetic monopoles</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;u&gt;&lt;span class="Apple-style-span" &gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Divergence is a vector operator that tells you the amount of vector field net flux coming in or out a given point. Maxwell laws describe the behavior of electromagnetic waves. When you're told that the divergence of magnetic field is zero(One of Maxwell's laws, the first one in the picture below), that implies that you cannot find in space a magnetic monopole, that is, a source of just one polarity magnetic field. When I was studying at the University, someone wrote on the blackboard:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;"The good God said: &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_FPAnLKzvHj8/TL4kqA7MvXI/AAAAAAAAAF8/6JNvRezQ5pQ/s1600/maxwell_01.gif"&gt;&lt;img src="http://1.bp.blogspot.com/_FPAnLKzvHj8/TL4kqA7MvXI/AAAAAAAAAF8/6JNvRezQ5pQ/s200/maxwell_01.gif" border="0" alt="" id="BLOGGER_PHOTO_ID_5529897696678952306" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 200px; height: 153px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;.... and then light was made" . . . &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;It had a lot of sense, for those laws were believed to hold true according to experience and according to the electromagnetic theory. However, in 1931, Dirac had already devised magnetic monopoles could exist. Moreover, he had already given a different form to equations 1 and 3 in the presence of magnetic monopoles, and it is exactly the same as their electric field counterparts( equations 1 and 3, but with electric field instead of magnetic field ). &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_FPAnLKzvHj8/TL5FcnaYigI/AAAAAAAAAGU/zSOlF8U4cfY/s1600/maxwell_02.gif"&gt;&lt;img src="http://3.bp.blogspot.com/_FPAnLKzvHj8/TL5FcnaYigI/AAAAAAAAAGU/zSOlF8U4cfY/s200/maxwell_02.gif" border="0" alt="" id="BLOGGER_PHOTO_ID_5529933750375844354" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 200px; height: 179px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;These new equations are very good to the eye for their symmetry. According with nowadays &lt;a href="http://www.nature.com/nphys/journal/vaop/ncurrent/full/nphys1794.html"&gt;evidence&lt;/a&gt;, Dirac was right. Apparently God had a lot more in his mind, and nature has a lot of surprises waiting to be found.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-8700474122941760708?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/8700474122941760708/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=8700474122941760708' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/8700474122941760708'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/8700474122941760708'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2010/10/magnetic-monopoles.html' title='Magnetic monopoles'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_FPAnLKzvHj8/TL4kqA7MvXI/AAAAAAAAAF8/6JNvRezQ5pQ/s72-c/maxwell_01.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-7193592153547613586</id><published>2010-10-01T13:28:00.000-07:00</published><updated>2010-10-01T20:11:32.336-07:00</updated><title type='text'>Sobre la falta de propósito</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_FPAnLKzvHj8/TKainptWHDI/AAAAAAAAAFs/tIPB65HYFoM/s1600/HPIM3408.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_FPAnLKzvHj8/TKainptWHDI/AAAAAAAAAFs/tIPB65HYFoM/s320/HPIM3408.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5523280795111136306" /&gt;&lt;/a&gt;&lt;br /&gt;La tragedia de la falta de propósito nos golpea inmarcesible, como queriéndose llevar los despojos de nuestro espíritu. Expectante aguarda sigilosa y luego asalta en el camino llenándolo de dudas, carcomiendo nuestra mente y destruyendo nuestra determinación y fuerza. Pero la vida en ese mismo camino nos da sorpresas y nos muestra que hay esperanza. A veces somos ciegos y no las notamos, pero ahi están y solamente hace falta un poco de imaginación y persistencia para encontrarlas.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-7193592153547613586?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/7193592153547613586/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=7193592153547613586' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/7193592153547613586'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/7193592153547613586'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2010/10/sobre-la-falta-de-proposito.html' title='Sobre la falta de propósito'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_FPAnLKzvHj8/TKainptWHDI/AAAAAAAAAFs/tIPB65HYFoM/s72-c/HPIM3408.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-7768768159711370807</id><published>2010-09-23T20:01:00.000-07:00</published><updated>2010-09-27T19:32:26.985-07:00</updated><title type='text'>Minimal portuguese survival kit</title><content type='html'>Thanks :  Obrigado&lt;br /&gt;Please :  Por favor&lt;br /&gt;Sorry:    Desculpe&lt;br /&gt;Where is _____ :   Onde fica _____&lt;br /&gt;Good Morning:   Bom Dia&lt;br /&gt;Bye:      Tchau&lt;br /&gt;I want a bottle of water:  Eu quero uma garrafa de água&lt;br /&gt;How much is that : Quanto custa isso?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-7768768159711370807?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/7768768159711370807/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=7768768159711370807' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/7768768159711370807'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/7768768159711370807'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2010/09/minimal-portuguese-survival-kit.html' title='Minimal portuguese survival kit'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-2197625449291527489</id><published>2010-09-22T07:53:00.000-07:00</published><updated>2010-09-22T07:56:24.594-07:00</updated><title type='text'>Remember to set up your geographic indexes in postgis</title><content type='html'>They will create  R-Trees for searching the geometric columns in such a way that geometric queries will be boosted in speed.&lt;br /&gt;&lt;br /&gt;CREATE INDEX useful_index ON mytable USING GIST ( the_geometric_column_in_mytable );&lt;br /&gt;VACUUM ANALYZE mytable;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-2197625449291527489?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/2197625449291527489/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=2197625449291527489' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/2197625449291527489'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/2197625449291527489'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2010/09/remember-to-set-up-your-geographic.html' title='Remember to set up your geographic indexes in postgis'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-1349081868710225673</id><published>2010-09-18T07:39:00.000-07:00</published><updated>2010-09-21T09:45:51.872-07:00</updated><title type='text'>No te vayas en noviembre</title><content type='html'>No te digo no te vayas, pues sé que debes irte, pero no te vayas en noviembre; no quiero que mis noviembres vuelvan a ser tristes. Vete en octubre, cuando la oscuridad oculte tu salida, o en diciembre, cuando en medio de las fiestas recuerde tu partida. . . pero por favor, no lo hagas en noviembre.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-1349081868710225673?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/1349081868710225673/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=1349081868710225673' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/1349081868710225673'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/1349081868710225673'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2010/09/no-te-vayas-en-noviembre.html' title='No te vayas en noviembre'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-553771757494269199</id><published>2010-07-23T22:01:00.000-07:00</published><updated>2010-09-18T07:39:02.734-07:00</updated><title type='text'>High voltage oscillators</title><content type='html'>I've been thinking in how interesting it is that exceptional people like Tesla [1] envisioned things like oscillators using very simple technology and without using active components like tubes, transistors or diodes. One of the common tools they used to build commuting systems was &lt;br /&gt;the understanding of the behavior of dielectrics before and after the rupture tension. When&lt;br /&gt;a dielectric is inside an electric potential it redistributes its electric charge. If this&lt;br /&gt;potential is high enough, the dielectric gets completely ionized and then starts conducting electricity with a comparatively small resistivity. Without being ionized, the conductivity of &lt;br /&gt;air is between 0.3x10^-14S/m[2]. However, after the rupture voltage( around 33kV/cm ),&lt;br /&gt;the air starts conducting, allowing the formation of electric arcs.&lt;br /&gt;Using this simple principle, a very simple kind of oscillator can be built. A capacitor can be charged using a voltage source and a resistor. If a spark gap is  placed&lt;br /&gt;in parallel with the capacitor, then an arc is formed when the capacitor potential is high &lt;br /&gt;enough. Once this happens the capacitor  discharges through the arc until its charge is too &lt;br /&gt;small to deliver the necessary current. When this happens, the arc is interrupted and the capacitor starts to get charged through the resistor. This produces a continuous oscillation. &lt;br /&gt;The stability of this kind of oscillator greatly depends on the dielectric used in the spark gap. In the case of air, its variability renders oscillations very variable. &lt;br /&gt;&lt;br /&gt;Tesla coils and pulsed lasers have been built using this simple principle. One of the advantages of using capacitors is that they can discharge very quickly hence producing large currents during brief periods of time. This enables them to release great amounts of "instantaneous" power.&lt;br /&gt;&lt;br /&gt;[1] http://en.wikipedia.org/wiki/Nikola_Tesla&lt;br /&gt;[2] http://en.wikipedia.org/wiki/Electrical_conductivity&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-553771757494269199?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/553771757494269199/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=553771757494269199' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/553771757494269199'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/553771757494269199'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2010/07/high-voltage-oscillators.html' title='High voltage oscillators'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-2404395843420245507</id><published>2010-07-15T12:06:00.000-07:00</published><updated>2010-07-15T12:31:17.171-07:00</updated><title type='text'>Using postgres from R</title><content type='html'>To use postgres from R, you can follow these steps:&lt;br /&gt;&lt;br /&gt;1. Install R&lt;br /&gt;http://cran.r-project.org/bin/linux/ubuntu/&lt;br /&gt;&lt;br /&gt;2. Install a postgresql client&lt;br /&gt;https://help.ubuntu.com/community/PostgreSQL&lt;br /&gt;&lt;br /&gt;3. From R install packages DBI and RPostgreSQL&lt;br /&gt; Download  the packages DBI and RPostgreSQL from CRAN.&lt;br /&gt; Then install them: &lt;br /&gt; sudo R CMD INSTALL DBI_0.2-5.tar.gz &lt;br /&gt; sudo R CMD INSTALL RPostgreSQL_0.1-6.tar.gz&lt;br /&gt;&lt;br /&gt;Now you should be able to connect to postgresql databases from R. &lt;br /&gt;&lt;br /&gt;To do so, you can use this code fragment:&lt;br /&gt;&lt;br /&gt;library(DBI)&lt;br /&gt;library(RPostgreSQL)&lt;br /&gt;drv &lt;- dbDriver("PostgreSQL")&lt;br /&gt;con &lt;- dbConnect(drv, dbname="my_database_name",host="my_host_name", user="my_dbuser", password="my_password", port= database_port_number)&lt;br /&gt;tableXX &lt;- dbGetQuery(con, "select * from tableXX")&lt;br /&gt;&lt;br /&gt;NOTE: In Linux this process is very straightforward. In Windows you have to make sure your Postgres bin directory is contained within your path variable definition. (http://support.microsoft.com/kb/310519)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-2404395843420245507?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/2404395843420245507/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=2404395843420245507' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/2404395843420245507'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/2404395843420245507'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2010/07/using-postgres-from-r.html' title='Using postgres from R'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-3774958371106361470</id><published>2010-07-14T10:37:00.000-07:00</published><updated>2010-07-23T14:30:36.077-07:00</updated><title type='text'>My plasma speaker</title><content type='html'>I've been recently making some sort of experiments with high voltage (3kV to 70kV). I have two interesting conclusions: &lt;br /&gt;&lt;br /&gt;1. High tension transformers have a narrow frequency response. That means that you have to know their frequency of operation to make them work properly. That also makes them suitable to use as FM decoders. &lt;br /&gt;&lt;br /&gt;2. Once an arc is produced, the current used to make the system work is not necessarily very high (I used 15V 1.2A, or about just 18Watts).&lt;br /&gt;&lt;br /&gt;To put this facts to work, and for the fun of making it, I built a plasma speaker: &lt;br /&gt;&lt;br /&gt;&lt;object width="480" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/T78tBERFR40&amp;amp;hl=en_US&amp;amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/T78tBERFR40&amp;amp;hl=en_US&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Not quite efficient but WTH!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-3774958371106361470?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/3774958371106361470/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=3774958371106361470' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/3774958371106361470'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/3774958371106361470'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2010/07/my-plasma-speaker.html' title='My plasma speaker'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-8096386157057225408</id><published>2010-07-06T21:59:00.000-07:00</published><updated>2010-07-06T22:12:24.727-07:00</updated><title type='text'>Video edition in Linux</title><content type='html'>Today I found &lt;a href="http://cinelerra.org/getting_cinelerra.php"&gt;cinelerra&lt;/a&gt;, a decent open source video edition program for Linux. I am quite happy with the first results and the flexibility of the tool. It has transitions, multiple video/audio channels, special effects and multiple codecs. You can copy/paste and move fragments of your videos quite easily.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-8096386157057225408?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/8096386157057225408/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=8096386157057225408' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/8096386157057225408'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/8096386157057225408'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2010/07/video-edition-in-linux.html' title='Video edition in Linux'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-4666952973854667889</id><published>2010-04-26T05:35:00.001-07:00</published><updated>2010-04-26T05:50:56.840-07:00</updated><title type='text'>Working with R from postgres in Ubuntu</title><content type='html'>In order to install R and make it work from postgres 8.4 in ubuntu  you should do as follows:&lt;br /&gt;&lt;br /&gt;* install postgresql-server&lt;br /&gt;sudo aptitude install postgresql postgresql-server-dev-8.4 postgis&lt;br /&gt;sudo -i&lt;br /&gt;su - postgres&lt;br /&gt;psql&lt;br /&gt;# alter user postgres with password 'some password, it will be asked later';&lt;br /&gt;CTRL-D&lt;br /&gt;&lt;br /&gt;* install R&lt;br /&gt;sudo aptitude install r-base r-base-dev&lt;br /&gt;sudo echo "/usr/lib/R/lib/" &gt; /etc/ld.so.conf.d/libR.conf&lt;br /&gt;sudo ldconfig&lt;br /&gt;&lt;br /&gt;* install pl/R&lt;br /&gt;(Follow http://www.joeconway.com/plr/doc/plr-install.html ) or:&lt;br /&gt;&lt;br /&gt;wget http://www.joeconway.com/plr/plr-8.3.0.10.tar.gz&lt;br /&gt;&lt;br /&gt;tar xvfz plr-8.3.0.10.tar.gz&lt;br /&gt;cd plr&lt;br /&gt;USE_PGXS=1 make&lt;br /&gt;sudo USE_PGXS=1 make install&lt;br /&gt;&lt;br /&gt;* restart postgres&lt;br /&gt;sudo /etc/init.d/postgres-8.4 restart&lt;br /&gt;&lt;br /&gt;* create a database&lt;br /&gt;&lt;br /&gt;psql -U postgres -h localhost -W&lt;br /&gt;# CREATE DATABASE plrtest&lt;br /&gt;# CREATE TABLE tst (a float);&lt;br /&gt;# insert into tst values (1.2342);&lt;br /&gt;# insert into tst values (2.1231);&lt;br /&gt;CTRL-D&lt;br /&gt;* load plr into the database&lt;br /&gt;psql -U postgres -h localhost -W plrtest &lt; /usr/share/postgresql/8.4/contrib/plr.sql&lt;br /&gt;&lt;br /&gt;psql -U postgres -h localhost -W plrtest&lt;br /&gt;# \c tst&lt;br /&gt;# create or replace function r_pnorm( x float ) returns float as '&lt;br /&gt;  return ( pnorm(x) );&lt;br /&gt;' LANGUAGE 'plr';&lt;br /&gt;&lt;br /&gt;* test the function&lt;br /&gt;# select r_pnorm( a ) from tst;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-4666952973854667889?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/4666952973854667889/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=4666952973854667889' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/4666952973854667889'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/4666952973854667889'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2010/04/working-with-r-from-postgres-in-ubuntu.html' title='Working with R from postgres in Ubuntu'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-6435213559281960969</id><published>2010-02-19T20:51:00.000-08:00</published><updated>2010-04-02T05:52:53.627-07:00</updated><title type='text'>Waning gibbous</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_FPAnLKzvHj8/S39rsIaKxCI/AAAAAAAAAFU/LSlqokTF5fM/s1600-h/moon.jpeg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 293px;" src="http://4.bp.blogspot.com/_FPAnLKzvHj8/S39rsIaKxCI/AAAAAAAAAFU/LSlqokTF5fM/s320/moon.jpeg" alt="" id="BLOGGER_PHOTO_ID_5440185280802505762" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;On January 31st I was looking at the moon with my telescope and decided to take as many pictures as I could to cover it all with my webcam. After some time, I managed to coalesce them. 70 pictures, with a resolution of 640x480 each. Lizzy taught me to like this kind of puzzles.&lt;br /&gt;&lt;br /&gt;It was not a particularly good night to watch the stars but the moon was magnificent and as lucid as one can expect her to be in this kind of nights.&lt;br /&gt;Saturn was also there, but I didn't get a good shot of it with my webcam.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_FPAnLKzvHj8/S39tIXgxaWI/AAAAAAAAAFc/nLF80_zLGq4/s1600-h/saturn01.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 79px; height: 95px;" src="http://4.bp.blogspot.com/_FPAnLKzvHj8/S39tIXgxaWI/AAAAAAAAAFc/nLF80_zLGq4/s320/saturn01.jpg" alt="" id="BLOGGER_PHOTO_ID_5440186865404701026" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Later on, I think I will add  a filter to improve the image based on video sequences, rather than snaps.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-6435213559281960969?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/6435213559281960969/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=6435213559281960969' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/6435213559281960969'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/6435213559281960969'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2010/02/waxing-gibbous.html' title='Waning gibbous'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_FPAnLKzvHj8/S39rsIaKxCI/AAAAAAAAAFU/LSlqokTF5fM/s72-c/moon.jpeg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-2697905476344670313</id><published>2010-01-27T08:52:00.000-08:00</published><updated>2010-12-13T14:37:09.034-08:00</updated><title type='text'>How to restore network status indicator in ubuntu</title><content type='html'>By mistake I removed it from the panel(Ubuntu 9.10). Then I searched the web to see if there was a post telling me how to restore it. Surprisingly, I didn't find a good one. Then I figured out myself. It is very simple, because all those basic applets (volume indicator, wifi, blue-tooth, battery) come in an applet called "Notification Area". Hence, to restore them is as simple as right clicking on the panel, then clicking "Add to panel", and then  selecting "Notification Area".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-2697905476344670313?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/2697905476344670313/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=2697905476344670313' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/2697905476344670313'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/2697905476344670313'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2010/01/how-to-restore-network-status-indicator.html' title='How to restore network status indicator in ubuntu'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-5604167197562094060</id><published>2009-12-30T20:39:00.000-08:00</published><updated>2009-12-30T21:01:35.003-08:00</updated><title type='text'>Heureuse nouvelle année</title><content type='html'>J'ai été en train de penser sur les choses qui se sont agis cette année ci. Je crois qu'il y a eu une grande varieté des choses, beaucoup des  bonnes choses, quelques  choses mouvaises et j'ai eu l'opportunité d'apprendre d'entre eux. Je remercis ma famille, je remercis mes amis et les gents qui sont pasés proches de moi.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-5604167197562094060?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/5604167197562094060/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=5604167197562094060' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/5604167197562094060'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/5604167197562094060'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2009/12/heureux-nouvelle-annee.html' title='Heureuse nouvelle année'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-6271303744752309162</id><published>2009-12-04T13:00:00.000-08:00</published><updated>2010-01-20T12:38:26.995-08:00</updated><title type='text'>El caballero enajenado</title><content type='html'>En una frivola mirada al pasado se encontró con los ojos de su alma&lt;br /&gt;Entonces los fantasmas se volvieron rostro y la luna bajó y se volvió carne&lt;br /&gt;Ya no había más vodka&lt;br /&gt;Un escalofrío tenso recorría su espina mientras sus pulmones inhalaban el aire&lt;br /&gt;turbio, contaminado por sus propios demonios inmarcesibles&lt;br /&gt;Ya no había más wiskey&lt;br /&gt;Su garganta ya no sentía, el aguardiente era agua dulce,&lt;br /&gt;la vida parecía una comedia trágica en la que todo era motivo de risa y llanto&lt;br /&gt;Ya no había más aguardiente&lt;br /&gt;De pronto no podía controlar sus manos, las palabras que escribía se hacian largas y los argumentos se hacian cortos. Empezaba a dejar de razonar&lt;br /&gt;Ya no había más vino&lt;br /&gt;Así se  sumergió en la inconsciencia ilusa de los enajenados por mucho, mucho tiempo.&lt;br /&gt;&lt;br /&gt;Alienado, permaneció sin sentido, sin frontera, sin motivo, rodando entre brazos igualmente alienados de seducciones igualmente enajenadas e irracionales. Usar y ser usado se hizo un vicio, vicio de piernas y caderas, vicio de labios, vicio compartido.&lt;br /&gt;&lt;br /&gt;Y enajenado olvidó sus sueños, sus amigos&lt;br /&gt;olvidó sus lazos, su familia&lt;br /&gt;y se perdió en imágenes que giraron alrededor de sus ojos por muchos años&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-6271303744752309162?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/6271303744752309162/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=6271303744752309162' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/6271303744752309162'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/6271303744752309162'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2009/12/el-caballero-enajenado.html' title='El caballero enajenado'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-2762377533804141177</id><published>2009-11-24T19:35:00.000-08:00</published><updated>2009-11-24T19:40:10.063-08:00</updated><title type='text'>Support wikipedia</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;a href="http://wikimediafoundation.org/wiki/Support_Wikipedia/en"&gt;&lt;img style="width: 153px; height: 153px;" alt="Wikipedia Affiliate Button" src="http://wikimediafoundation.org/w/extensions/skins/Donate/images/banners/Banner_125x125_0001_B.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Hey, I think we all benefit from wikipedia. It is time to try to keep it alive.&lt;br /&gt;&lt;br /&gt;I already donated, why don't you think about it ? You can donate from 1 USD !!! using your credit card or paypal account.&lt;br /&gt;&lt;br /&gt;For more details, go directly to their web page by clicking on the wikipedia icon.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-2762377533804141177?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/2762377533804141177/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=2762377533804141177' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/2762377533804141177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/2762377533804141177'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2009/11/support-wikipedia.html' title='Support wikipedia'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-3026251680671022794</id><published>2009-09-15T13:24:00.001-07:00</published><updated>2009-09-15T13:58:41.709-07:00</updated><title type='text'>Vacio implacable</title><content type='html'>Vacío en los ojos que contemplan el espacio&lt;br /&gt;que se llena solo con recuerdos&lt;br /&gt;Vacío silente, antes lleno de música, de risa&lt;br /&gt;Vacío estático, antes lleno de movimiento, de gracia&lt;br /&gt;Vacío solitario antes ocupado por &lt;br /&gt;la alegría y la amistad ahora perdida&lt;br /&gt;Vacío inmarcesible que se a veces se llena&lt;br /&gt;pero siempre vuelve .... siempre&lt;br /&gt;Vacía sensación de falta de propósito&lt;br /&gt;Vacío implacable que nos recuerda la fragilidad de esta perra vida y lo inevitable de la muerte&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-3026251680671022794?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/3026251680671022794/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=3026251680671022794' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/3026251680671022794'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/3026251680671022794'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2009/09/vacio-implacable.html' title='Vacio implacable'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-7534490880416358047</id><published>2009-09-05T22:48:00.000-07:00</published><updated>2009-09-05T23:23:20.552-07:00</updated><title type='text'>Google code jam 2009</title><content type='html'>This is the first time I enter the &lt;a href="http://code.google.com/codejam/contest/"&gt;code jam&lt;/a&gt; qualification. It was interesting to solve problems which put to test your imagination. Although I contemplated the possibility of coding in python, I coded in C.&lt;br /&gt;&lt;br /&gt;Problem C:&lt;br /&gt;&lt;br /&gt;This was my solution to &lt;a href="http://code.google.com/codejam/contest/dashboard?c=90101#s=p2"&gt;problem C&lt;/a&gt; (my favorite):&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush:js"&gt;&lt;br /&gt;#include &lt;stdio.h&gt;&lt;br /&gt;#include &lt;string.h&gt;&lt;br /&gt;int L[20][502];&lt;br /&gt;void init(){&lt;br /&gt;  int i, j;&lt;br /&gt;  for (i = 0; i&lt;20; i++){&lt;br /&gt;    for( j = 0; j &lt; 501; j++){&lt;br /&gt;      L[i][j] = -1;&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;int m(char *word, char *paragraph, int w_i,int p_i){&lt;br /&gt;  if (( paragraph[p_i] == 0 ) &amp;amp;&amp;amp; ( word[w_i] != 0) ) {&lt;br /&gt;    L[w_i][p_i] = 0;&lt;br /&gt;  } else if (L[w_i][p_i] != -1){&lt;br /&gt;  } else if (word[w_i] == 0){&lt;br /&gt;    L[w_i][p_i] = 1;&lt;br /&gt;  } else if (word[w_i] == paragraph[p_i]){&lt;br /&gt;    L[w_i][p_i] = (m(word, paragraph, w_i + 1, p_i + 1) + \&lt;br /&gt;        m(word, paragraph, w_i, p_i + 1))%10000;&lt;br /&gt;  } else{&lt;br /&gt;    L[w_i][p_i] = m(word, paragraph, w_i, p_i + 1);&lt;br /&gt;  }&lt;br /&gt;  return L[w_i][p_i];&lt;br /&gt;}&lt;br /&gt;int main(void){&lt;br /&gt;  int i, N;&lt;br /&gt;  char str[502];&lt;br /&gt;  char word[20] = "welcome to code jam";&lt;br /&gt;  scanf("%d\n", &amp;amp;N);&lt;br /&gt;  for (i = 0; i &lt; N ; i++){&lt;br /&gt;    fgets(str, 502, stdin);&lt;br /&gt;    init();&lt;br /&gt;    printf ("Case #%d: %.4d\n", i+1, m(word, str,0,0));&lt;br /&gt;  }&lt;br /&gt;  return 0;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;This was my solution to &lt;a href="http://code.google.com/codejam/contest/dashboard?c=90101#s=p1"&gt;problem B&lt;/a&gt; (My second favorite):&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush:js"&gt;&lt;br /&gt;char diffuse(int r, int c, int height, int width){&lt;br /&gt;  int n, s, e, w, m;&lt;br /&gt;  if (solution[r][c] == '.') {&lt;br /&gt;    n = get_terr(r-1, c, height, width);&lt;br /&gt;    s = get_terr(r+1, c, height, width);&lt;br /&gt;    e = get_terr(r, c+1, height, width);&lt;br /&gt;    w = get_terr(r, c-1, height, width);&lt;br /&gt;    m = min( min(n,s) , min(e,w) );&lt;br /&gt;    if ( terrain[r][c] &lt;= m ){&lt;br /&gt;       last_sink ++;&lt;br /&gt;       solution[r][c] = last_sink;&lt;br /&gt;       return solution[r][c];&lt;br /&gt;    }else{&lt;br /&gt;      if  (m == n){&lt;br /&gt;        solution[r][c] = diffuse(r-1, c, height, width);&lt;br /&gt;      }else if ( m == w){&lt;br /&gt;        solution[r][c] = diffuse(r, c-1, height, width);&lt;br /&gt;      }else if ( m == e){&lt;br /&gt;        solution[r][c] = diffuse(r, c+1, height, width);&lt;br /&gt;      }else if ( m == s){&lt;br /&gt;        solution[r][c] = diffuse(r+1, c, height, width);&lt;br /&gt;      }&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;  return solution[r][c];&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;This was my  solution to &lt;a href="http://code.google.com/codejam/contest/dashboard?c=90101#s=p0"&gt;problem A&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;pre class ="brush:js"&gt;&lt;br /&gt;#include &lt;stdio.h&gt;&lt;br /&gt;#include &lt;string.h&gt;&lt;br /&gt;&lt;br /&gt;#define MAX 502&lt;br /&gt;&lt;br /&gt;char words[5000][17];&lt;br /&gt;char patterns[500][MAX];&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;int L,D,N;&lt;br /&gt;&lt;br /&gt;void read_input(int d, int n){&lt;br /&gt;  int i;&lt;br /&gt;  for ( i = 0; i &lt; d; i++){&lt;br /&gt;    fgets(words[i],17,stdin);&lt;br /&gt;    words[i][strlen(words[i])-1] = 0;&lt;br /&gt;  }&lt;br /&gt;  for (i = 0; i &lt; n; i++){&lt;br /&gt;    fgets(patterns[i], MAX, stdin);&lt;br /&gt;    patterns[i][strlen(patterns[i])-1] = 0;&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void convert( char *pattern, char *pat[], int l){&lt;br /&gt;  int i = 0;&lt;br /&gt;  int inside = 0;&lt;br /&gt;  *pat = 0;&lt;br /&gt;  while (*pattern){&lt;br /&gt;    if(*pattern == '('){&lt;br /&gt;      pat[i] = pattern + 1;&lt;br /&gt;      i++;&lt;br /&gt;      inside = 1;&lt;br /&gt;    } else if (!inside ){&lt;br /&gt;      pat[i] = pattern;&lt;br /&gt;      i++;&lt;br /&gt;    } else if ( inside ){&lt;br /&gt;      if ( *pattern == ')'){&lt;br /&gt;        inside = 0;&lt;br /&gt;        pattern[0]  = 0;&lt;br /&gt;      }&lt;br /&gt;    }&lt;br /&gt;    pattern++;&lt;br /&gt;  }&lt;br /&gt;  pat[i] = 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;int matches( char *wrd, char *pat[], int l){&lt;br /&gt;  int i;&lt;br /&gt;  for( i = 0; i &lt; l; i++){&lt;br /&gt;    if(!strchr(pat[i], wrd[i])){&lt;br /&gt;      return 0;&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;  return 1;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;int main(void){&lt;br /&gt;  int i, j;&lt;br /&gt;  int counter ;&lt;br /&gt;  char *ptn[500];&lt;br /&gt;  if (3 != scanf ("%d%d%d\n", &amp;amp;L,&amp;amp;D,&amp;amp;N)){&lt;br /&gt;    printf ("Could not read sizes \n");&lt;br /&gt;    return 1;&lt;br /&gt;  }&lt;br /&gt;  read_input(D, N);&lt;br /&gt;  for (i = 0; i &lt; N; i++){&lt;br /&gt;    convert( patterns[i], ptn, L);&lt;br /&gt;    counter = 0;&lt;br /&gt;    for( j = 0; j &lt; D; j++){&lt;br /&gt;      if (matches( words[j], ptn, L )){&lt;br /&gt;        counter ++;&lt;br /&gt;      }&lt;br /&gt;    }&lt;br /&gt;    printf ("Case #%d: %d\n", i+1, counter);&lt;br /&gt;  }&lt;br /&gt;  return 0;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;It was really funny to participate. I used bad sizes for the buffers of fgets (i.e. 501 instead of 502) in A and C. I have to be more careful with that.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-7534490880416358047?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/7534490880416358047/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=7534490880416358047' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/7534490880416358047'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/7534490880416358047'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2009/09/google-code-jam-2009.html' title='Google code jam 2009'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-53006398247761776</id><published>2009-08-31T12:30:00.001-07:00</published><updated>2009-08-31T19:57:33.352-07:00</updated><title type='text'>Estará cerca la ruptura del cognocentrismo ?</title><content type='html'>La evolución humana ha estado siempre rodeada de tabús y creencias centristas, muchas veces cultivadas por la religión. El geocentrismo, por ejemplo, defendía la idea de que la tierra era el centro del universo. Esta teoría era defendida por la iglesia católica, pues parecía consistente con las antiguas creencias que la cimentaban, dejando espacio para cosas como el cielo y el infierno;  sin embargo, no fue sostenible cuando avanzó lo suficiente la ciencia y el conocimiento humano, pues a la luz de la evidencia era muy claro que la tierra era la que giraba alrededor del sol. Otro ejemplo se encuentra en los anales de la historia cuando se considera la esclavitud de los negros e indígenas, que muchos defendían argumentando que los negros e indígenas "no tenían alma", y por tanto no eran seres humanos.  Como un último ejemplo, se pueden citar los fundamentalistas, que creen que son el centro de alguna clase de verdad. Tal fundamentalismo llevó en el medioevo a las cruzadas, en donde en nombre de la religión se masacró millones de personas.&lt;br /&gt;&lt;br /&gt;Actualmente vivimos varios paradigmas centristas. Uno de ellos es la creencia de que somos los únicos seres vivos en el universo. Al igual que el geocentrismo, nos hace sentirnos más importantes y justifica otras creencias que probablemente simientan nuestra moral y costumbres. La ecuación de Drake y su estimación pesimista, determinan que solo en nuestra galaxia, debería haber alrededor de 10 civilizaciones extraterrestres además de la nuestra. Creo que la única postura razonable es mantener una prudente inquietud al respecto.  &lt;br /&gt;&lt;br /&gt;Otro de los paradigmas centristas de nuestra sociedad es el monopolio humano de la razón (que podemos llamar cognocentrismo). Si lo consideramos abiertamente, diferentes animales tienen diferentes niveles de razonamiento. Algunos son capaces de contar (como algunas especies de cuervos), otros se comunican e interactuan en grupo (como los delfines). Muchas personas sostienen que se trata de "instinto". Sin embargo, es evidente que los cerebros de todos los animales son en esencia conjuntos de neuronas y synapsis que se estructuran de alguna manera para razonar. Si bien el razonamiento de los animales no es tan complejo como el humano esto se debe en esencia a la cantidad de neuronas y conexiones que hay en sus cerebros. El cerebro humano, por ejemplo, es 150000 veces más complejo que el cerebro de una rata(en términos de cantidad de neuronas y synapsis). Aun así, las ratas son capaces de aprender y comunicarse. &lt;br /&gt;&lt;br /&gt;Los avances de la electrónica en campos como integración de circuitos a muy gran escala y la computación cuántica, hacen ahora que sea realista considerar la simulación de cerebros de animales, incluyendo el ser humano - aunque tal vez toca esperar unos 30 años para ello. Una vez se logre la simulación de un cerebro humano, solo queda esperar las consecuencias a nivel social. La posibilidad de crear "conciencia" inorgánica probablemente generará choques culturales, acabará creencias como la del cognocentrismo y generará algunos problemas sociales; pero también abrirá puertas y romperá los límites que contienen nuestra cultura, nuestra experiencia y nuestra presencia en el universo.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-53006398247761776?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/53006398247761776/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=53006398247761776' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/53006398247761776'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/53006398247761776'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2009/08/de-los-tabus-y-la-conciencia.html' title='Estará cerca la ruptura del cognocentrismo ?'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-2105904403901964045</id><published>2009-08-15T07:43:00.001-07:00</published><updated>2009-08-29T17:50:22.122-07:00</updated><title type='text'>Estrella bruja</title><content type='html'>Una estrella arrogante y distante con oscilar hipnótico me visitó en los sueños de la vigilia.&lt;br /&gt;Llena de colores reflejaba sus cuidados en silencio, solo insinuaba.&lt;br /&gt;Una estrella con ojos, me dije, mientras caia preso de su embrujo y comenzaba a tener ideas &lt;br /&gt;trascendentales inyectadas por su presencia en la distancia. Una estrella con labios, pensé, mientras me dejaba seducir por sus palabras. Una estrella en que me estrello una y mil veces con los ojos cerrados en un apasionado vacío de la mente, solo acción cruda, contemplación y ritmo. Una estrella en que me veo pensando a la orilla del agua. Una estrella que me controla, con solo una mirada. Estrella con espinas y encantos, estrella de una vida imaginada . . . una estrella bruja.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-2105904403901964045?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/2105904403901964045/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=2105904403901964045' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/2105904403901964045'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/2105904403901964045'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2009/08/estrella-bruja.html' title='Estrella bruja'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-1528359113209391746</id><published>2009-08-10T14:48:00.000-07:00</published><updated>2009-08-10T15:31:44.684-07:00</updated><title type='text'>Weekend</title><content type='html'>This weekend I did various things. First of all, I built a hovercraft using off the shelf parts that I already had. It was amazing to watch it hovering 1mm over the ground. After that, I built a spitfire model airplane (doesn't fly, just plastic; it was one the favorite airplanes of Jesus), which incredibly took me about the same time I took to design and build the hovercraft. Then I looked out of the window and there it was Jupiter, hence, I took my telescope (Meade LX90) and watched Jupiter and its moons for about an hour or so. Then I realized there was a communications tower in range. In order to re-calibrate the focuser of the telescope, I pointed to the light on top of  it. It was so funny that I was able to even read the serial number and brand of the antennas. Cool weekend, although I feel I could have done more things.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-1528359113209391746?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/1528359113209391746/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=1528359113209391746' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/1528359113209391746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/1528359113209391746'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2009/08/weekend.html' title='Weekend'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-6148762526808865177</id><published>2009-07-22T21:50:00.000-07:00</published><updated>2009-08-10T15:04:58.045-07:00</updated><title type='text'>El lenguaje</title><content type='html'>Las barreras ocultas del lenguaje más bien parecen cuerdas.&lt;br /&gt;Nos enredan y entre vueltas y nudos nos hacen a veces difícil saber si decimos lo que pensamos o si se entiende lo que decimos y por consiguiente,  si se entiende lo que pensamos . . .&lt;br /&gt;&lt;br /&gt;Y diciendo y diciendo inundamos el mundo de palabras  que se envuelven consigo mismas o se enredan con otras palabras. Palabras que se estrellan contra el vidrio, palabras que viajan por cables, palabras limitadas que tratan de expresar ideas ilimitadas o incontenibles. Y es que las gramáticas diferentes inspiradas por culturas diferentes se unen con fonéticas diversas que a veces son irreconciliables para formar mensajes que a veces son incomprensibles, nutridos tal vez por la falta de epítetos y por el exceso de metáforas, o por falta de ellas. Después de tantos enredos y problemas, lo más increible de todo es que la gente se comunique.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-6148762526808865177?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/6148762526808865177/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=6148762526808865177' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/6148762526808865177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/6148762526808865177'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2009/07/el-lenguaje.html' title='El lenguaje'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-296227288650798790</id><published>2009-07-16T06:05:00.000-07:00</published><updated>2009-07-16T06:19:01.991-07:00</updated><title type='text'>Embot</title><content type='html'>Embot is essentially an application of the ECB_AT91 V1 board. It shows how powerful can your applications get when using embedded technology. You can use the V1 to monitor enviroments, control mechanisms, or measure analog and digital variables.&lt;br /&gt;&lt;br /&gt;This is a video of Embot:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/D69NQ0UAGvQ&amp;hl=en&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/D69NQ0UAGvQ&amp;hl=en&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* The ECB_AT91 V1 be acquired at http://www.emqbit.com.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-296227288650798790?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/296227288650798790/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=296227288650798790' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/296227288650798790'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/296227288650798790'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2009/07/embot.html' title='Embot'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-3050670564962196202</id><published>2009-07-01T22:00:00.000-07:00</published><updated>2009-07-01T22:08:54.743-07:00</updated><title type='text'>EmBot . . . Coming soon</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_FPAnLKzvHj8/Skw_aZrH1MI/AAAAAAAAAEw/DoYFDivw56o/s1600-h/DSC01608.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_FPAnLKzvHj8/Skw_aZrH1MI/AAAAAAAAAEw/DoYFDivw56o/s320/DSC01608.JPG" alt="" id="BLOGGER_PHOTO_ID_5353723779837580482" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;This is a preview of the disassembled EmBot, which will be released next week by &lt;a href="http://www.emqbit.com"&gt;emQbit&lt;/a&gt; .&lt;br /&gt;&lt;br /&gt;It runs Linux, of course, and connects to the Internet. For more details, keep looking at the &lt;a href="http://www.emqbit.com"&gt;emQbit&lt;/a&gt; web page. I will publish more details later in this blog.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-3050670564962196202?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/3050670564962196202/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=3050670564962196202' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/3050670564962196202'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/3050670564962196202'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2009/07/embot-coming-soon.html' title='EmBot . . . Coming soon'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_FPAnLKzvHj8/Skw_aZrH1MI/AAAAAAAAAEw/DoYFDivw56o/s72-c/DSC01608.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-5152555626621523903</id><published>2009-06-09T12:57:00.000-07:00</published><updated>2009-08-10T15:29:31.619-07:00</updated><title type='text'>Confusión</title><content type='html'>Me confundes cuando callas, me confunde tu mirada, cuando te acercas sigilosa como quien puede ver a través de mis ojos, en mi alma. Me confunden tus retratos, me confunden tus amigos,y me enreda cuando expresas dagas en palabras que no sé si son pensadas. Te confunde mi distancia, te confunde mi silencio, pero tal vez mi silencio expresa más que mi arrogancia. Te sorprenden mis reacciones,&lt;br /&gt;y también mis decisiones,la distancia es la esa barca en la que no mueves el agua.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-5152555626621523903?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/5152555626621523903/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=5152555626621523903' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/5152555626621523903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/5152555626621523903'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2009/06/confusion.html' title='Confusión'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-4030602195752776139</id><published>2009-06-04T12:21:00.000-07:00</published><updated>2009-06-05T06:29:29.211-07:00</updated><title type='text'>N810-Debian Chroot</title><content type='html'>"Easy chroot" is too large,  and includes many unneeded things so I prefer to create my own chroot instead.&lt;br /&gt;&lt;br /&gt;#In your PC:&lt;br /&gt;#Download a fresh debian arm distribution :&lt;br /&gt;&lt;br /&gt;mkdir chroot_armel&lt;br /&gt;sudo debootstrap --arch=armel lenny chroot_armel&lt;br /&gt;&lt;br /&gt;#Create a large file ~600MB, and format it with ext2 fs&lt;br /&gt;&lt;br /&gt;dd if=/dev/zero of=chroot_armel.img.ext2 bs=1024 count=600k&lt;br /&gt;mkfs.ext2 chroot_armel.img.ext2&lt;br /&gt;&lt;br /&gt;#Mount the image and copy the bootstrap folders inside the image&lt;br /&gt;mkdir tst&lt;br /&gt;sudo mount -t ext2  -o loop,noatime   chroot_armel.img.ext2 tst&lt;br /&gt;sudo cp -a chroot_armel/*  tst/&lt;br /&gt;&lt;br /&gt;#Umount the image and copy it to your N810 using ssh (You can also do it&lt;br /&gt;#with the usb cable instead of using ssh)&lt;br /&gt;sudo umount tst&lt;br /&gt;scp chroot_armel.img.ext2 root@THEIPOFYOURN810:/media/mmc2&lt;br /&gt;#if you don't know the IP and you can't get a root terminal in your N810,&lt;br /&gt;#you can  just scan the network and see&lt;br /&gt;&lt;br /&gt;#Now ssh your N810&lt;br /&gt;ssh root@THEIPOFYOURN810&lt;br /&gt;cd /mnt/initfs/lib/modules/2.6.21-omap1&lt;br /&gt;insmod mbcache.ko&lt;br /&gt;insmod ext2.ko&lt;br /&gt;mount -o loop,noatime /media/mmc2/chroot_armel.img.ext2 /debian&lt;br /&gt;cd /&lt;br /&gt;mount -t proc proc debian/proc&lt;br /&gt;mount -o bind /dev  debian/dev&lt;br /&gt;mount -o bind /mnt/initrd/lib/modules  debian/lib/modules&lt;br /&gt;mount -o bind /sys debian/sys&lt;br /&gt;cp /etc/resolv.conf debian/resolv.conf&lt;br /&gt;cp /etc/hosts deban/hosts&lt;br /&gt;&lt;br /&gt;chroot /debian&lt;br /&gt;&lt;br /&gt;#Now install the deb packages in /var/cache/apt/archives using dpkg&lt;br /&gt;#(At least aptitude with its dependencies)&lt;br /&gt;&lt;br /&gt;#Update your apt sources.list:&lt;br /&gt;&lt;br /&gt;echo "deb http://ftp.de.debian.org/debian lenny main&lt;br /&gt;deb http://ftp.de.debian.org/debian unstable main" &gt; /etc/apt/sources.list&lt;br /&gt;&lt;br /&gt;#Upgrade using aptitude&lt;br /&gt;aptitude update&lt;br /&gt;aptitude safe-upgrade&lt;br /&gt;&lt;br /&gt;#Have fun&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-4030602195752776139?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/4030602195752776139/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=4030602195752776139' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/4030602195752776139'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/4030602195752776139'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2009/06/n810-debian-chroot.html' title='N810-Debian Chroot'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-490530821715757264</id><published>2009-05-20T16:04:00.000-07:00</published><updated>2009-05-29T07:10:27.714-07:00</updated><title type='text'>Alfresco Debian chroot in a hurry</title><content type='html'># The following instructions help create a chrooted&lt;br /&gt;# alfresco (www.alfresco.com) installation in a hurry.&lt;br /&gt;&lt;br /&gt;# Make sure your host computer doesn't run Postgres  or Tomcat&lt;br /&gt;# And the ports 5432, 8080, 8009 are free. You should also have&lt;br /&gt;# debootstrap (in debian - included ubuntu-  you can accomplish it by&lt;br /&gt;# typing :   aptitude install debootstrap&lt;br /&gt;&lt;br /&gt;# First create a fresh debian distro&lt;br /&gt;sudo debootstrap lenny chroot_debian&lt;br /&gt;&lt;br /&gt;#After it finishes, chroot to it and mount proc&lt;br /&gt;sudo chroot chroot_debian&lt;br /&gt;export LANG=C&lt;br /&gt;export HOME=/root&lt;br /&gt;mount /proc&lt;br /&gt;&lt;br /&gt;#Now, install postgres&lt;br /&gt;aptitude install postgresql&lt;br /&gt;#Create cluster&lt;br /&gt;pg_createcluster 8.3 main&lt;br /&gt;#Login as postgres&lt;br /&gt;su - postgres&lt;br /&gt;pg_ctlcluster 8.3 main start&lt;br /&gt;#Create database and user&lt;br /&gt;su - postgres&lt;br /&gt;psql&lt;br /&gt;&lt;br /&gt;CREATE USER alfresco WITH ENCRYPTED PASSWORD 'alfresco';&lt;br /&gt;CREATE DATABASE alfresco WITH OWNER=alfresco;&lt;br /&gt;exit&lt;br /&gt;&lt;br /&gt;#Download and install tomcat&lt;br /&gt;#I installed it to /usr/local/alfresco/apache-tomcat-5.5.27&lt;br /&gt;&lt;br /&gt;#Download and install the postgres jdbc driver to common/lib in tomcat&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#Install xorg&lt;br /&gt;aptitude install xorg&lt;br /&gt;&lt;br /&gt;#Download and install Openoffice&lt;br /&gt;cd /usr/local/alfresco&lt;br /&gt;wget  http://openoffice.mirror.wrpn.net/stable/3.1.0/OOo_3.1.0_LinuxIntel_install_en-US_deb.tar.gz&lt;br /&gt;&lt;br /&gt;tar xvfz OOo_3.1.0_LinuxIntel_install_en-US_deb.tar.gz&lt;br /&gt;cd OOO310_m11_native_packed-4_en-US.9399&lt;br /&gt;dpkg -i DEBS/*.deb&lt;br /&gt;rm -rf OOO310_m11_native_packed-4_en-US.9399&lt;br /&gt;rm -rf OOo_3.1.0_LinuxIntel_install_en-US_deb.tar.gz&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#Install imagemagick&lt;br /&gt;aptitude install imagemagick&lt;br /&gt;&lt;br /&gt;#Download and install alfresco war&lt;br /&gt;#The file is alfresco-enterprise-war-3.1.tar.gz&lt;br /&gt;mkdir tmp&lt;br /&gt;cd tmp&lt;br /&gt;tar xvfz ../alfresco-enterprise-war-3.1.tar.gz&lt;br /&gt;cp alfresco.war share.war /usr/local/alfresco/apache-tomcat-5.5.27/webapps&lt;br /&gt;&lt;br /&gt;#Alfresco looks for the extensions in the shared/classes/alfresco folder if you&lt;br /&gt;#use tomcat as your app-server&lt;br /&gt;cp extensions/* /usr/local/alfresco/apache-tomcat-5.5.27/shared/classes/alfresco&lt;br /&gt;&lt;br /&gt;#Configure alfresco database connectivity by editing&lt;br /&gt;# custom-hibernate-dialect.properties which is in the extensions folder&lt;br /&gt;# making sure you uncomment the Postgres database properties and&lt;br /&gt;# leave commented the rest of them&lt;br /&gt;&lt;br /&gt;#You configure alfresco by means of those properties files. If you copy the&lt;br /&gt;#property.sample file to a property file in the folder, it overrides the settings&lt;br /&gt;#inside the war WEB-INF folder. One file you will want to copy is the&lt;br /&gt;#custom-repository.properties&lt;br /&gt;#Leave it as follows:&lt;br /&gt;#==============================&lt;br /&gt;&lt;br /&gt;dir.root=/var/lib/alfresco/alf_data&lt;br /&gt;db.username=alfresco&lt;br /&gt;db.password=THE PASSWORD YOU LEFT IN THE POSTGRES DATABASE&lt;br /&gt;ooo.exe=/opt/openoffice.org3/program/soffice&lt;br /&gt;img.root=/usr&lt;br /&gt;swf.exe=/usr/bin/pdf2swf&lt;br /&gt;db.driver=org.postgresql.Driver&lt;br /&gt;db.url=jdbc:postgresql://localhost:5432/alfresco&lt;br /&gt;#==============================&lt;br /&gt;&lt;br /&gt;#Configure the permgen in Java&lt;br /&gt;export JAVA_OPTS="-server -Xss1024K -Xms1G -Xmx2G -XX:NewSize=512m -XX:MaxPermSize=128M"&lt;br /&gt;&lt;br /&gt;#Make sure JAVA_OPTS are active when you start tomcat&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#install libglut&lt;br /&gt;aptitude install libglut&lt;br /&gt;#install libgif&lt;br /&gt;aptitude install libgif4&lt;br /&gt;#install pdf2swf&lt;br /&gt;#download and compile it from http://www.swftools.org/&lt;br /&gt;#I compiled it outside chroot and then copied the binary to /usr/bin in the&lt;br /&gt;#chroot. In various distributions there is a package called swftools&lt;br /&gt;#which can be installed via yum or aptitude.&lt;br /&gt;&lt;br /&gt;#Start tomcat&lt;br /&gt;cd /usr/local/apache-tomcat-5.5.27&lt;br /&gt;bin/startup.sh&lt;br /&gt;&lt;br /&gt;#Go to http://localhost:8080/alfresco with a browser&lt;br /&gt;#Log in as admin with password admin&lt;br /&gt;#Change the admin password in the administration console (first icon in the&lt;br /&gt;#top right panel)&lt;br /&gt;&lt;br /&gt;#On the other hand, you should give a look at www.orfeogpl.org.&lt;br /&gt;#PHP tool for enterprise collaboration .&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-490530821715757264?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/490530821715757264/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=490530821715757264' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/490530821715757264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/490530821715757264'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2009/05/alfresco-debian-chroot-in-hurry.html' title='Alfresco Debian chroot in a hurry'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-6157234850294640238</id><published>2009-04-17T10:15:00.000-07:00</published><updated>2009-04-17T15:14:41.624-07:00</updated><title type='text'>Vino y se fue</title><content type='html'>Vino y se fue, clara como la insensatez de la soberbia,&lt;br /&gt;como recordándonos la fragilidad de la ignorancia.&lt;br /&gt;&lt;br /&gt;Vino y se fue, clara como el vodka&lt;br /&gt;que ahoga la consciencia del que no quiere ver,&lt;br /&gt;e intoxica el cuerpo de quien no quiere sentir.&lt;br /&gt;&lt;br /&gt;Vino y se fue, clara como el llanto de la madre&lt;br /&gt;que sufre al ver crecer a sus hijos.&lt;br /&gt;&lt;br /&gt;Vino y se fue, clara como la lluvia que hoy lava las calles,&lt;br /&gt;con la que yo quisiera lavar mi alma.&lt;br /&gt;&lt;br /&gt;Vino y se fue, clara como el aire que hoy respiro&lt;br /&gt;y que en algun tiempo esparcirá el polvo&lt;br /&gt;en el que me convertiré.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-6157234850294640238?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/6157234850294640238/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=6157234850294640238' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/6157234850294640238'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/6157234850294640238'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2009/04/vino-y-se-fue.html' title='Vino y se fue'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-3502176520115736318</id><published>2009-04-15T15:39:00.000-07:00</published><updated>2009-04-15T15:40:56.957-07:00</updated><title type='text'>Infinity</title><content type='html'>People can define infinity in very different ways.&lt;br /&gt;For some it is just&lt;br /&gt;&lt;br /&gt;unsigned int infinity = 0xffffffff;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-3502176520115736318?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/3502176520115736318/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=3502176520115736318' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/3502176520115736318'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/3502176520115736318'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2009/04/infinity.html' title='Infinity'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-9185090275167417065</id><published>2009-04-05T21:11:00.001-07:00</published><updated>2009-04-05T21:41:35.884-07:00</updated><title type='text'>Alba</title><content type='html'>Estando Gabriel enredado entre papeles, ideas y recuerdos, quedó de pronto conmovido por la vista de Alba. Ella fue y no fue... , y es que no podia ser aunque quisiera, aunque estuviera, aunque pasara por sus labios y sus manos. En palabras sin sentido, palabras esquivas se hizo hace tiempo la distancia, en historias incompletas que sonaban estúpidas y en silencios no acordados que solo crearon nuevas torturas y falsos espacios. El tiempo pasó y Gabriel creció sin saber nada de Alba, y el tiempo como un lastre colocó en su corazón el peso de sus propias cadenas arrastradas y oxidadas. Gabriel conoció a Margarita, a Blanca, a Luisa y Diana, pero Alba seguía ahí, en el fondo, en la sonrisa de la mirada perdida, en el suspiro de la tarde cuando los ojos siguen el sol rojizo que se une al agua. Gabriel unió su vida a Blanca, a quien amó, al igual que a sus hijos Carlos y Matilde, a quienes dedicó su vida. Y así vivió el resto de sus dias una vida un poco más sabia y sosegada . . . y cada tarde cuando el sol llegaba a las montañas, se le escapaba una sonrisa, un suspiro y una mirada.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-9185090275167417065?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/9185090275167417065/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=9185090275167417065' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/9185090275167417065'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/9185090275167417065'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2009/04/alba.html' title='Alba'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-3762885708849943321</id><published>2009-03-04T19:47:00.000-08:00</published><updated>2009-03-04T19:55:13.916-08:00</updated><title type='text'>N810</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_FPAnLKzvHj8/Sa9MXeu6AwI/AAAAAAAAAEY/mE8ao_U0RlM/s1600-h/small_openoffice_n810.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_FPAnLKzvHj8/Sa9MXeu6AwI/AAAAAAAAAEY/mE8ao_U0RlM/s320/small_openoffice_n810.jpg" alt="" id="BLOGGER_PHOTO_ID_5309546451963609858" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;So far, I've been pretty happy with my N810. First of all, I recently traveled from Miami, FL to Ann Arbor, MI in a car. The GPS worked very well. It helped me get out of trouble all the way.&lt;br /&gt;&lt;br /&gt;Then I could perform Internet calls from hot-spots using Skype. No need of cell phone.&lt;br /&gt;&lt;br /&gt;I also installed debian-chroot. Now it runs Open office, Mozilla, and thousands of useful programs.&lt;br /&gt;&lt;br /&gt;It also has 3D acceleration. So, if you are a Linux enthusiast, this may be the toy you're looking for.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-3762885708849943321?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/3762885708849943321/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=3762885708849943321' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/3762885708849943321'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/3762885708849943321'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2009/03/n810.html' title='N810'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_FPAnLKzvHj8/Sa9MXeu6AwI/AAAAAAAAAEY/mE8ao_U0RlM/s72-c/small_openoffice_n810.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-1895762948019595082</id><published>2009-02-25T19:10:00.000-08:00</published><updated>2009-02-25T19:12:34.597-08:00</updated><title type='text'>Frase célebre</title><content type='html'>"Gozque sin bozal muere solo en el tejado"&lt;br /&gt;                      Marcos Niño&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-1895762948019595082?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/1895762948019595082/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=1895762948019595082' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/1895762948019595082'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/1895762948019595082'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2009/02/frase-celebre.html' title='Frase célebre'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-2064369196272201428</id><published>2009-02-11T20:29:00.000-08:00</published><updated>2009-02-11T20:44:45.107-08:00</updated><title type='text'>Backup with ssh</title><content type='html'>One possibility : &lt;br /&gt;&lt;br /&gt;dd if=/dev/hda  | ssh xxuser@xxmachine  "cat &gt; /home/xxuser/backup.bin "&lt;br /&gt;&lt;br /&gt;Another possibility :&lt;br /&gt;&lt;br /&gt;tar cvfj - /important_dir | ssh xxuser@xxmachine  "cat &gt; /home/xxuser/backup.tar.bz2 "&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-2064369196272201428?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/2064369196272201428/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=2064369196272201428' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/2064369196272201428'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/2064369196272201428'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2009/02/backup-with-ssh.html' title='Backup with ssh'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-731599522017710325</id><published>2009-01-27T21:13:00.000-08:00</published><updated>2009-01-27T21:16:32.487-08:00</updated><title type='text'>Alligator tastes good</title><content type='html'>They are expensive to produce, but I think Alligators taste very good. Don't hesitate in having some alligator if you go by the Everglades. Just remember not to get dangerously close to them while they're still  alive.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-731599522017710325?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/731599522017710325/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=731599522017710325' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/731599522017710325'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/731599522017710325'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2009/01/alligator-tastes-good.html' title='Alligator tastes good'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-3593875357555384207</id><published>2008-12-16T18:27:00.000-08:00</published><updated>2008-12-16T18:45:03.044-08:00</updated><title type='text'>Enable your &gt;4GB in Ubuntu Intrepid</title><content type='html'>The default kernel uses CONFIG_HIGHMEM4G, which does not let you fully use your huge RAM (RAM is now very cheap) way above 4GB (the limit for a 32 bit address space). The best thing you can do is to tune your kernel. To do it you can download the latest one (from www.kernel.org), then configure it with &lt;br /&gt;&lt;br /&gt;make menuconfig&lt;br /&gt;&lt;br /&gt;Making sure you load configuration from alternate file "/boot/config-XXXX-generic". &lt;br /&gt;&lt;br /&gt;After you have loaded the original configuration, you can select :&lt;br /&gt;Processor Type and Features -&gt; High Memory Support  &lt;br /&gt;&lt;br /&gt;And then make sure 64GB is selected. &lt;br /&gt;&lt;br /&gt;Now you can exit the configuration menu and save your changes. &lt;br /&gt;&lt;br /&gt;You're ready to build the kernel. To make it the debian way, you can use: &lt;br /&gt;&lt;br /&gt;fakeroot make-kpkg --initrd  --append-to-version=-gralfca kernel_headers kernel_image&lt;br /&gt;&lt;br /&gt;it will generate the linux_headers and linux_image .deb files which you can install with&lt;br /&gt;&lt;br /&gt;dpkg -i linux_headers*.deb&lt;br /&gt;dpkg -i linux_image*.deb&lt;br /&gt;&lt;br /&gt;That's it. You will be able to use your RAM after you restart.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-3593875357555384207?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/3593875357555384207/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=3593875357555384207' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/3593875357555384207'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/3593875357555384207'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2008/12/enable-your-4gb-in-ubuntu-intrepid.html' title='Enable your &gt;4GB in Ubuntu Intrepid'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-134100565036197766</id><published>2008-12-12T09:49:00.001-08:00</published><updated>2008-12-12T09:50:24.376-08:00</updated><title type='text'>Make jboss listen in all interfaces</title><content type='html'>To make jboss listen in all interfaces you can start it with: &lt;br /&gt;&lt;br /&gt;./run.sh -b 0.0.0.0&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-134100565036197766?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/134100565036197766/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=134100565036197766' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/134100565036197766'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/134100565036197766'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2008/12/make-jboss-listen-in-all-interfaces.html' title='Make jboss listen in all interfaces'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-6376650756312305894</id><published>2008-12-10T19:24:00.000-08:00</published><updated>2008-12-10T19:45:31.809-08:00</updated><title type='text'>Mix C and C++ with JNI</title><content type='html'>I did it as follows: &lt;br /&gt;&lt;br /&gt;* I implemented an intermediate class in C++ that has a set of functions in C, which call the functions in C++. For instance, let's suppose you have a function func1 that you want to use from JNI. I implemented&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;extern int func1_cplus (int attrib1, int attrib2);&lt;br /&gt;extern "C" int func1 (int attrib1, int attrib2){&lt;br /&gt;  return func1_cplus(attrib1, attrib2);&lt;br /&gt;}&lt;br /&gt;int func1_cplus (int attrib1, int attrib2){&lt;br /&gt;  MyClass01 tst = new MyClass01();&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;This was the .c file. The .h file was like: &lt;br /&gt;&lt;pre&gt;int func1( int attrib1, int attrib2);&lt;/pre&gt;&lt;br /&gt;The real trick is to add the extern to the c++ functions in such a way that the C functions can use them.&lt;br /&gt;&lt;br /&gt;* I had to build the jni wrapper full of JNIEXPORT, JNICALL, JNIEnv, etc, the usual way, save that I used my Arhuaco's api that took the .h and generated the whole wrapper from it.  Anyway, &lt;br /&gt;if you do it by hand, you can use javah to generate the .h from the .java with native keys. &lt;br /&gt;(see &lt;a href="http://java.sun.com/docs/books/jni/html/start.html"&gt;JNI book&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;*. To compile all the C++ code with g++&lt;br /&gt;&lt;pre&gt; g++ -c -fPIC XX.cpp -o XX.o $(CFLAGS) &lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;*. To compile the jni wrapper with gcc&lt;br /&gt;&lt;pre&gt;gcc -c fPIC -o libWrapper.o libWrapper.c $(CFLAGS)&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;*. To compile all the classes and the wrapper inside the shared object&lt;br /&gt;&lt;pre&gt;g++ -shared -o libWrapper.so *.o&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-6376650756312305894?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/6376650756312305894/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=6376650756312305894' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/6376650756312305894'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/6376650756312305894'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2008/12/mix-c-and-c-with-jni.html' title='Mix C and C++ with JNI'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-5971235650341313100</id><published>2008-11-21T22:15:00.000-08:00</published><updated>2008-11-21T22:23:50.911-08:00</updated><title type='text'>Vigilia</title><content type='html'>Algunas veces se pierde algo pero se encuentra algo mejor. Algunas veces hay que destruir para poder construir de nuevo. Algunas veces incluso no somos conscientes de lo que ya hemos encontrado. Encontrando y encontrando sin saber, sin sentir, o más bien sin darse cuenta, llegamos a puntos inesperados, sorpresivos. Y no siempre, pero pasa, despertamos para notar lo bella que puede ser la vigilia y lo superfluo que puede ser el velo que cubre nuestra consciencia.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-5971235650341313100?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/5971235650341313100/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=5971235650341313100' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/5971235650341313100'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/5971235650341313100'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2008/11/vigilia.html' title='Vigilia'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-3604054952685720918</id><published>2008-11-12T20:37:00.000-08:00</published><updated>2008-11-12T20:40:15.763-08:00</updated><title type='text'>Surprising ourselves</title><content type='html'>Sometimes we lose the ability to surprise ourselves. I've come to find that we actually may need to surprise ourselves in order to create new things.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-3604054952685720918?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/3604054952685720918/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=3604054952685720918' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/3604054952685720918'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/3604054952685720918'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2008/11/surprising-ourselves.html' title='Surprising ourselves'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-341465559772562518</id><published>2008-11-10T19:42:00.000-08:00</published><updated>2008-11-11T07:58:22.619-08:00</updated><title type='text'>Magic squares (odd size)</title><content type='html'>&lt;pre&gt;&lt;br /&gt;#!/usr/bin/python&lt;br /&gt;"""This is a  simple algorithm I wrote to generate &lt;br /&gt;"""magic squares of odd size. Surprisingly it works &lt;br /&gt;&lt;br /&gt;print  "Type an odd number: "&lt;br /&gt;dim = raw_input ()&lt;br /&gt;dim = int(dim)&lt;br /&gt;&lt;br /&gt;if dim % 2 == 0 :&lt;br /&gt;    dim = dim + 1&lt;br /&gt;    print "Not an odd number, increasing to " + str(dim)&lt;br /&gt;&lt;br /&gt;print "Dim: " + str( dim )&lt;br /&gt;mat = range(dim)&lt;br /&gt;for i in range(dim):&lt;br /&gt;    mat[i] = range(dim)&lt;br /&gt;    for j in range(dim):&lt;br /&gt;        mat[i][j] = 0&lt;br /&gt;&lt;br /&gt;i = 0&lt;br /&gt;j = dim / 2&lt;br /&gt;&lt;br /&gt;mat[i][j] = 1&lt;br /&gt;for d in range(dim*dim - 1):&lt;br /&gt;   ni = (i + 1) % dim&lt;br /&gt;   nj = (j + 1) % dim&lt;br /&gt;    if mat[ni][nj] != 0 :&lt;br /&gt;       ni = i&lt;br /&gt;          nj = ( j + dim - 1 ) % dim&lt;br /&gt;   mat[ni][nj] = d + 2&lt;br /&gt;   i,j = ni,nj&lt;br /&gt;&lt;br /&gt;print mat&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;-----------------&lt;br /&gt;Type an odd number:&lt;br /&gt;5&lt;br /&gt;Dim: 5&lt;br /&gt;[[13, 7, 1, 25, 19], [20, 14, 8, 2, 21], [22, 16, 15, 9, 3], [4, 23, 17, 11, 10], [6, 5, 24, 18, 12]]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-341465559772562518?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/341465559772562518/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=341465559772562518' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/341465559772562518'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/341465559772562518'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2008/11/magic-squares-odd-size.html' title='Magic squares (odd size)'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-2063200229300853413</id><published>2008-11-09T11:15:00.000-08:00</published><updated>2008-11-09T11:20:12.925-08:00</updated><title type='text'>Our Christmas Tree</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_FPAnLKzvHj8/SRc3VHEGSwI/AAAAAAAAAD4/dETtPXLBvEw/s1600-h/DSC01247_small.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 240px; height: 320px;" src="http://4.bp.blogspot.com/_FPAnLKzvHj8/SRc3VHEGSwI/AAAAAAAAAD4/dETtPXLBvEw/s320/DSC01247_small.JPG" alt="" id="BLOGGER_PHOTO_ID_5266739125046102786" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;In my family we assemble the Christmas  tree after Halloween. This year we all helped setting it up.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-2063200229300853413?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/2063200229300853413/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=2063200229300853413' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/2063200229300853413'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/2063200229300853413'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2008/11/our-christmas-tree.html' title='Our Christmas Tree'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_FPAnLKzvHj8/SRc3VHEGSwI/AAAAAAAAAD4/dETtPXLBvEw/s72-c/DSC01247_small.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-4088486385140938708</id><published>2008-11-04T18:16:00.000-08:00</published><updated>2008-11-04T18:27:07.110-08:00</updated><title type='text'>Reading the battery level in linux</title><content type='html'>You can find all that information inside /proc/acpi/battery/. Each BATX (X is the battery number) corresponds to a battery in your system. To know the current percent you can use the info contained inside BATX/info and BATX/state.&lt;br /&gt;&lt;br /&gt;My BAT0/info is :&lt;br /&gt;&lt;br /&gt;present:                 yes&lt;br /&gt;design capacity:         7650 mAh&lt;br /&gt;last full capacity:      6784 mAh&lt;br /&gt;battery technology:      rechargeable&lt;br /&gt;design voltage:          7200 mV&lt;br /&gt;design capacity warning: 342 mAh&lt;br /&gt;design capacity low:     206 mAh&lt;br /&gt;capacity granularity 1:  10 mAh&lt;br /&gt;capacity granularity 2:  25 mAh&lt;br /&gt;model number:            Primary&lt;br /&gt;serial number:           &lt;br /&gt;battery type:            LION&lt;br /&gt;OEM info:                Hewlett-Packard&lt;br /&gt;&lt;br /&gt;An My BAT0/state is:&lt;br /&gt;&lt;br /&gt;present:                 yes&lt;br /&gt;capacity state:          ok&lt;br /&gt;charging state:          discharging&lt;br /&gt;present rate:            unknown&lt;br /&gt;remaining capacity:      4480 mAh&lt;br /&gt;present voltage:         7519 mV&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Hence, to know your battery percent you can divide your remaining capacity by the last full capacity. In this case it is :&lt;br /&gt;&lt;br /&gt;remaining capacity / last full capacity = 4480 mAh/ 6784 mAh = 66.04%&lt;br /&gt;&lt;br /&gt;You can easily parse those files and integrate this info to your apps.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-4088486385140938708?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/4088486385140938708/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=4088486385140938708' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/4088486385140938708'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/4088486385140938708'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2008/11/reading-battery-level-in-linux.html' title='Reading the battery level in linux'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-8954638194485356684</id><published>2008-11-03T10:19:00.000-08:00</published><updated>2008-11-03T10:37:24.386-08:00</updated><title type='text'>Voyager</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_FPAnLKzvHj8/SQ9B9vPvY2I/AAAAAAAAADw/leXtLdDxDO0/s1600-h/voyager.jpeg.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_FPAnLKzvHj8/SQ9B9vPvY2I/AAAAAAAAADw/leXtLdDxDO0/s320/voyager.jpeg.jpg" alt="" id="BLOGGER_PHOTO_ID_5264499018329711458" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;More than three decades ago, we were able to build machines that travel at 60000km/h and self power using solar energy. Because the research funds have been highly cut after the cold war finished, we have not made a lot of progress since then. It is sad that most of the inventions and developments of our era have been galvanized by wars.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-8954638194485356684?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/8954638194485356684/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=8954638194485356684' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/8954638194485356684'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/8954638194485356684'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2008/11/voyager.html' title='Voyager'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_FPAnLKzvHj8/SQ9B9vPvY2I/AAAAAAAAADw/leXtLdDxDO0/s72-c/voyager.jpeg.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-1740591671606703373</id><published>2008-10-31T16:23:00.000-07:00</published><updated>2008-10-31T16:34:53.752-07:00</updated><title type='text'>2 Months since my grandpa's death</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_FPAnLKzvHj8/SQuWC5EBDcI/AAAAAAAAADo/IiCMgcmRnD0/s1600-h/juan_in_airplane.jpeg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 226px; height: 132px;" src="http://2.bp.blogspot.com/_FPAnLKzvHj8/SQuWC5EBDcI/AAAAAAAAADo/IiCMgcmRnD0/s320/juan_in_airplane.jpeg" alt="" id="BLOGGER_PHOTO_ID_5263465565934128578" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The last time we met he was sick but he had brilliant eyes, a nice smile and he was proud of me. . . And I must admit I am proud of him.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-1740591671606703373?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/1740591671606703373/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=1740591671606703373' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/1740591671606703373'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/1740591671606703373'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2008/10/2-months-from-my-grandpas-death.html' title='2 Months since my grandpa&apos;s death'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_FPAnLKzvHj8/SQuWC5EBDcI/AAAAAAAAADo/IiCMgcmRnD0/s72-c/juan_in_airplane.jpeg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-6087670714573452951</id><published>2008-10-29T20:02:00.001-07:00</published><updated>2008-10-29T20:47:47.217-07:00</updated><title type='text'>Calculate the planet's periode</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_FPAnLKzvHj8/SQkuCXIV6gI/AAAAAAAAADg/EnihxJfeQyk/s1600-h/planets.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 312px; height: 286px;" src="http://2.bp.blogspot.com/_FPAnLKzvHj8/SQkuCXIV6gI/AAAAAAAAADg/EnihxJfeQyk/s320/planets.jpg" alt="" id="BLOGGER_PHOTO_ID_5262788257662757378" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Last night I was fascinated to find some planets on the sky and I wondered how to calculate their period in order to be able to find them again in the sky some months from now. This is a question already answered, but I just wanted to answer it myself in a very clear and simple way. It is not  difficult at all, you just need to use common sense.&lt;br /&gt;&lt;br /&gt;The planets and the Earth move in a way that can be compared to that of a wall clock. They rotate around a common center (the sun). Outer orbits possess longer periods of rotation around the sun than inner orbits. Having said that, now we can assume the outer planet behaves like the hour and the inner one behaves like the minutes. When the inner planet completes one revolution, the outer planet has just advanced a fraction of revolution(when the minutes complete one revolution, the hours reach an hour). After that, the inner planet advances and the line between the inner planet intersects that of the outer planet at time T(minutes and hours meet).  How to calculate T ?&lt;br /&gt;&lt;br /&gt;Let I be the interior planet's period of revolution around the sun.&lt;br /&gt;Let O be the outer planet's period of revolution around the sun.&lt;br /&gt;&lt;br /&gt;Inner Angle = 1Revolution * T / I&lt;br /&gt;Outer Angle = 1Revolution * T / O&lt;br /&gt;&lt;br /&gt;We need to find T such that :&lt;br /&gt;&lt;br /&gt;Inner Angle - 1 Revolution = Outer Angle&lt;br /&gt;&lt;br /&gt;1Revolution * T / I - 1 Revolution = 1Revolution * T / O&lt;br /&gt;&lt;br /&gt;We can cancel out the 1 Revolution.&lt;br /&gt;&lt;br /&gt;T/I -1 = T/O&lt;br /&gt;T/I - T/O = 1&lt;br /&gt;&lt;br /&gt;hence, we have T  = 1 / (1/I  - 1/O)&lt;br /&gt;&lt;br /&gt;We just made an assumption: I &lt; O. It does not have to be like that, in fact the wall clock is exactly the opposite case (minutes go faster that hours). But it doesn't really matter, as you can say I goes for minutes  and O for hours, for example, and the calculations remain valid. To avoid any conflict, we may rewrite T as&lt;br /&gt;&lt;br /&gt;T = 1/ (1/min(P1, P2) - 1/max(P1, P2)).&lt;br /&gt;&lt;br /&gt;where min (P1,P2) is the minimum among P1 and P2, max(P1, P2) is the maximum among P1 and P2 , P1 and P2 are the Periods for planets 1 and 2 respectively.&lt;br /&gt;&lt;br /&gt;This calculations were performed initially by Copernicus. I hope the wall clock simile helps clearly understand what happens there.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-6087670714573452951?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/6087670714573452951/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=6087670714573452951' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/6087670714573452951'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/6087670714573452951'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2008/10/calculate-planets-periode.html' title='Calculate the planet&apos;s periode'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_FPAnLKzvHj8/SQkuCXIV6gI/AAAAAAAAADg/EnihxJfeQyk/s72-c/planets.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-8360432593076994480</id><published>2008-10-26T21:36:00.000-07:00</published><updated>2008-10-26T21:47:26.833-07:00</updated><title type='text'>Create an executable jar</title><content type='html'>In order to create an executable jar, you must go to the folder that contains the packages you want to add to the jar. Assumming the folder is bin and the packages are under com (for instance com.company.package*) and the main class is com.packageXX.AppYY(there must be a main class, the class whose main method will be executed when executing the jar),  go inside the bin folder. You must create a manifest text file with information related to the application (refer to  http://java.sun.com/j2se/1.3/docs/guide/jar/jar.html). Let's assume the manifest file is called "manifest_file".  A really simple manifest file should include the following directives:&lt;br /&gt;&lt;br /&gt;Main-Class: com.packageXX.AppYY&lt;br /&gt;Created-By: WhoeverCreatedTheApp@wherever&lt;br /&gt;&lt;br /&gt;Finally, to create the jar, you just need to execute the jar utility (that comes with the Java SDK) like this:&lt;br /&gt;&lt;br /&gt;jar -cmvf manifest_file appyy.jar com&lt;br /&gt;&lt;br /&gt;where appyy.jar is the output file.&lt;br /&gt;&lt;br /&gt;To execute the jar you can double click it or execute it with :&lt;br /&gt;&lt;br /&gt;java -jar appyy.jar&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-8360432593076994480?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/8360432593076994480/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=8360432593076994480' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/8360432593076994480'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/8360432593076994480'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2008/10/create-executable-jar.html' title='Create an executable jar'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-1861394919931922338</id><published>2008-10-26T20:19:00.001-07:00</published><updated>2008-10-26T20:22:26.655-07:00</updated><title type='text'>Graph Editor</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_FPAnLKzvHj8/SQUzsdvbg2I/AAAAAAAAAC4/DwTD-M8MKtc/s1600-h/graph_editor.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 229px;" src="http://4.bp.blogspot.com/_FPAnLKzvHj8/SQUzsdvbg2I/AAAAAAAAAC4/DwTD-M8MKtc/s320/graph_editor.png" alt="" id="BLOGGER_PHOTO_ID_5261668578643116898" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;My Graph Editor is close to version 1.0. It is java based and a lot simpler to use than most of the editors I found around. It requires, however, more development yet.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-1861394919931922338?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/1861394919931922338/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=1861394919931922338' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/1861394919931922338'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/1861394919931922338'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2008/10/graph-editor.html' title='Graph Editor'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_FPAnLKzvHj8/SQUzsdvbg2I/AAAAAAAAAC4/DwTD-M8MKtc/s72-c/graph_editor.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-7525510452471539402</id><published>2008-10-26T07:58:00.000-07:00</published><updated>2008-10-26T08:19:15.151-07:00</updated><title type='text'>5 y 6</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_FPAnLKzvHj8/SQSKELWSU6I/AAAAAAAAACo/RQQ9TJN36D0/s1600-h/5y6_0_small.jpeg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 266px;" src="http://1.bp.blogspot.com/_FPAnLKzvHj8/SQSKELWSU6I/AAAAAAAAACo/RQQ9TJN36D0/s320/5y6_0_small.jpeg" alt="" id="BLOGGER_PHOTO_ID_5261482069045957538" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Recientemente encontramos con mi familia un recibo del 5 y 6 de mi abuelo. El 5 y 6 era un juego de azar basado en carreras de caballos. Había 6 carreras de caballos y se marcaban los caballos que uno creía que iva a ganar en cada una de ellas. Estas carreras se transmitían por televisión y eran muy populares. La probabilidad de ganar era en el peor de los casos de 1/12^6 = 1/2985984 (la lotto tiene una probabilidad de 1/C(45,6)=6!(45-6)!/45!=1/8145060, que es 2.73 veces más difícil ).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_FPAnLKzvHj8/SQSKPYyYKwI/AAAAAAAAACw/asjybZV62yc/s1600-h/5y6_1_small.jpeg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 266px;" src="http://4.bp.blogspot.com/_FPAnLKzvHj8/SQSKPYyYKwI/AAAAAAAAACw/asjybZV62yc/s320/5y6_1_small.jpeg" alt="" id="BLOGGER_PHOTO_ID_5261482261632002818" 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/9594897-7525510452471539402?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/7525510452471539402/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=7525510452471539402' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/7525510452471539402'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/7525510452471539402'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2008/10/5-y-6.html' title='5 y 6'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_FPAnLKzvHj8/SQSKELWSU6I/AAAAAAAAACo/RQQ9TJN36D0/s72-c/5y6_0_small.jpeg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-771041176741997634</id><published>2008-10-10T16:25:00.000-07:00</published><updated>2008-10-10T16:34:42.807-07:00</updated><title type='text'>NFS Tips with user mode Linux</title><content type='html'>If you use slirp to provide networking to your UML (User Mode Linux)  and you want to mount your host directories in your uml machine remember to:&lt;br /&gt;&lt;br /&gt;1. Compile the uml kernel with nfs support&lt;br /&gt;2. Export the filesystem using : the "insecure" option.  i.e.: /directoryXX host(ro,insecure). &lt;br /&gt;This is necessary since in user mode you cannot bind to ports under 1024.&lt;br /&gt;3. Mount the filesystem using the IP of your host machine and include the nolock mount option.&lt;br /&gt;&lt;br /&gt;For more information regading user mode linux, refer to :&lt;br /&gt;&lt;br /&gt;&lt;a href="http://wiki.freaks-unidos.net/instalando%20debian%20en%20user%20mode%20linux"&gt;Instalando debian en user mode linux&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;and&lt;br /&gt;&lt;a href="http://cosi.clarkson.edu/docs/kernel/setup/uml/uml.html"&gt;Installing user mode linux&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-771041176741997634?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/771041176741997634/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=771041176741997634' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/771041176741997634'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/771041176741997634'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2008/10/nfs-with-user-mode-linux.html' title='NFS Tips with user mode Linux'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-288952055940739880</id><published>2008-10-02T21:08:00.000-07:00</published><updated>2008-10-02T21:22:19.546-07:00</updated><title type='text'>OpenWRT fixup in a hurry</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_FPAnLKzvHj8/SOWd28L0QKI/AAAAAAAAAB8/UBmbgJMYcC8/s1600-h/wrt54gl_in_a_hurry_small.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_FPAnLKzvHj8/SOWd28L0QKI/AAAAAAAAAB8/UBmbgJMYcC8/s320/wrt54gl_in_a_hurry_small.jpg" alt="" id="BLOGGER_PHOTO_ID_5252778107591737506" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I modified my network configuration files in a Linksys wrt54GL in such a way that I could no longer access the router via the network. I had to solve the problem as fast as I could, so, I started looking for information on how to restore the firmware. Meanwhile, I found that the router actually has a serial port interface exposed in the hardware. The JP1 connector offers two serial ports. Moreover, OpenWRT has wisely used these ports as consoles. Using these consoles you can access the system and gain root access to the router. Detailed information can be found at : http://wiki.openwrt.org/OpenWrtDocs/Customizing/Hardware/Serial_Console.&lt;br /&gt;&lt;br /&gt;I connected ttyS0 to a MAX232 (http://focus.ti.com/lit/ds/symlink/max232.pdf) I had. I used two 0.47uF capacitors because I didn't have 1uF capacitors, but that was enough.&lt;br /&gt;&lt;br /&gt;Finally, I connected the serial port to a usb-serial interface in such a way that I could use minicom at 115400 on /dev/ttyUSB0.&lt;br /&gt;&lt;br /&gt;The whole thing was performed in an hour. I just wanted to share how easy it is to do it. The Linksys WRT54GL is very versatile and powerful enough to run interesting small programs.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-288952055940739880?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/288952055940739880/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=288952055940739880' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/288952055940739880'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/288952055940739880'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2008/10/openwrt-fixup-in-hurry.html' title='OpenWRT fixup in a hurry'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_FPAnLKzvHj8/SOWd28L0QKI/AAAAAAAAAB8/UBmbgJMYcC8/s72-c/wrt54gl_in_a_hurry_small.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-3977735985972704045</id><published>2008-09-25T09:44:00.000-07:00</published><updated>2008-09-25T09:47:08.426-07:00</updated><title type='text'>Create pdf from multiple jpg</title><content type='html'>This is really simple but proved to be useful for me today. If you have image magick, you should have the "convert" utility. It can be used to compose single multi-image files from multiple images.  &lt;br /&gt;&lt;br /&gt;Say you have 20 images image01.jpeg, .... image20.jpeg and you just want image.pdf. The only thing you need to do is : &lt;br /&gt;&lt;br /&gt;convert image*.jpeg -adjoin image.pdf&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-3977735985972704045?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/3977735985972704045/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=3977735985972704045' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/3977735985972704045'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/3977735985972704045'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2008/09/create-pdf-from-multiple-jpg.html' title='Create pdf from multiple jpg'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-4952319577888202386</id><published>2008-09-24T21:44:00.000-07:00</published><updated>2008-09-24T21:47:33.231-07:00</updated><title type='text'>cvCreateImage</title><content type='html'>Remember always to use cvReleaseImage(&amp;image) to release the images you create with cvCreateImage. Don't use delete, nor free, just cvReleaseImage. :(&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-4952319577888202386?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/4952319577888202386/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=4952319577888202386' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/4952319577888202386'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/4952319577888202386'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2008/09/cvcreateimage.html' title='cvCreateImage'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-709492611182370297</id><published>2008-09-19T06:47:00.000-07:00</published><updated>2008-10-26T08:21:20.609-07:00</updated><title type='text'>Fuego en mi corazón</title><content type='html'>La luz jugaba un juego con los rostros&lt;br /&gt;de energía y de nostalgia.&lt;br /&gt;Y allí, en el infinito inexistente yo te amé,&lt;br /&gt;como en aquellos años que se fueron,&lt;br /&gt;como en aquellos años que no olvido,&lt;br /&gt;como en tiempos lejanos que dejaron cicatrices...&lt;br /&gt;... Fuego en mi corazón,&lt;br /&gt;pasión en mi pensamiento,&lt;br /&gt;furia latiendo por dentro,&lt;br /&gt;y deseos de destrucción.&lt;br /&gt;Palabras encadenadas,&lt;br /&gt;pasiones desenfrenadas,&lt;br /&gt;conciencias distorsionadas&lt;br /&gt;y bosetos en crayón...&lt;br /&gt;Y allí, en el infinito inexistente yo te amé,&lt;br /&gt;como en aquellos años que se fueron,&lt;br /&gt;como en aquellos años que no olvido,&lt;br /&gt;como en tiempos lejanos que dejaron cicatrices...&lt;br /&gt;y fuego en mi corazón . . .&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-709492611182370297?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/709492611182370297/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=709492611182370297' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/709492611182370297'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/709492611182370297'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2008/09/pensamientos-desordenados-del-19-de.html' title='Fuego en mi corazón'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-2338261596076514326</id><published>2008-08-30T19:42:00.000-07:00</published><updated>2008-08-30T19:43:54.809-07:00</updated><title type='text'>Papi Juan</title><content type='html'>"La luna se había levantado hacía mucho tiempo, pero él seguía durmiendo y el pez seguía tirando del bote y éste entraba en un túnel de nubes".(El viejo y el mar)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-2338261596076514326?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/2338261596076514326/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=2338261596076514326' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/2338261596076514326'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/2338261596076514326'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2008/08/papi-juan.html' title='Papi Juan'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-9200718630915923578</id><published>2008-08-10T08:07:00.000-07:00</published><updated>2008-08-10T14:14:08.653-07:00</updated><title type='text'>Exporting schema in mysql</title><content type='html'>You can use the mysqldump command. According to the man page, you can invoke it with: &lt;br /&gt;&lt;br /&gt;    shell&gt; mysqldump [options] db_name [tables]&lt;br /&gt;    shell&gt; mysqldump [options] --databases db_name1 [db_name2 db_name3...]&lt;br /&gt;    shell&gt; mysqldump [options] --all-databases&lt;br /&gt;&lt;br /&gt;If you don't want data to be dumped, you can use&lt;br /&gt;    shell&gt; mysqldump -d -user USERNAME --password=PASSWORD DATABASENAME&lt;br /&gt;&lt;br /&gt;It will print the schema to stdout.&lt;br /&gt;&lt;br /&gt;To create the database using the exported schema my_schema.sql, you just need to : &lt;br /&gt;&lt;br /&gt;mysql --user USERNAME --password=PASSWORD DATABASE_NAME &lt; my_schema.sql&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-9200718630915923578?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/9200718630915923578/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=9200718630915923578' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/9200718630915923578'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/9200718630915923578'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2008/08/exporting-schema-in-mysql.html' title='Exporting schema in mysql'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-6106612233534768783</id><published>2008-08-06T12:35:00.001-07:00</published><updated>2008-08-06T12:48:15.532-07:00</updated><title type='text'>Quote</title><content type='html'>"It is dangerous to be right in matters on&lt;br /&gt;which the established authorities are wrong"&lt;br /&gt;&lt;br /&gt;"Il est dangereux  d’avoir raison &lt;br /&gt;quand le gouvernement à tort"&lt;br /&gt;&lt;br /&gt;Voltaire&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-6106612233534768783?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/6106612233534768783/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=6106612233534768783' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/6106612233534768783'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/6106612233534768783'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2008/08/quote.html' title='Quote'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-2572000661956234092</id><published>2008-08-02T10:31:00.000-07:00</published><updated>2008-08-02T10:48:39.695-07:00</updated><title type='text'>Libavcodec</title><content type='html'>&lt;a href="http://en.wikipedia.org/wiki/Libavcodec"&gt;Libavcodec&lt;/a&gt;  is a very  well thought library for decoding/encoding video. It is part of ffmpeg and is used in mplayer. Using libavcodec is very easy from either C or C++. I used to use other libraries, but libavcodec has some advantages over all of them: 1. It is alive and very active in the development comunity. 2. It is easier to use because of its simplistic API. 3. It supports lots of codecs, including MPEG4 and H261. 4. It runs in multiple platforms.  5. It is LGPL, hence you can feel free to use it in your own projects or  you can contribute to it in case you find something out of place.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-2572000661956234092?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/2572000661956234092/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=2572000661956234092' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/2572000661956234092'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/2572000661956234092'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2008/08/libavcodec.html' title='Libavcodec'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-5544158507063324073</id><published>2008-08-01T07:01:00.000-07:00</published><updated>2008-08-02T10:23:41.835-07:00</updated><title type='text'>L'Air Clair</title><content type='html'>Je voudrais te voir une encore fois&lt;br /&gt;Je voudrais aller à coté de ton chemin,&lt;br /&gt;quelque soir, comme l'air&lt;br /&gt;Comme l'air que peut toucher ton visage tout le temps&lt;br /&gt;Comme l'air que sait oú est ce que tu vas chaque matin&lt;br /&gt;Comme l'air que tu conais,&lt;br /&gt;mais je ne vais pas connetre jammais&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-5544158507063324073?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/5544158507063324073/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=5544158507063324073' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/5544158507063324073'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/5544158507063324073'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2008/08/lair-clair.html' title='L&apos;Air Clair'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-18753770578754936</id><published>2008-07-30T09:16:00.001-07:00</published><updated>2008-07-30T09:23:50.533-07:00</updated><title type='text'>Funny comment in ffmpeg</title><content type='html'>&lt;span style="text-decoration: underline;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;'Why not rewrite ffmpeg in object-oriented C++? ...&lt;br /&gt;For more arguments on this matter, read "Programming Religion" at (&lt;a href="http://www.tux.org/lkml/#s15"&gt;http://www.tux.org/lkml/#s15&lt;/a&gt;)'&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-18753770578754936?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/18753770578754936/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=18753770578754936' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/18753770578754936'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/18753770578754936'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2008/07/funny-comment-in-ffmpeg.html' title='Funny comment in ffmpeg'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-7017286802943320165</id><published>2008-07-29T04:25:00.000-07:00</published><updated>2008-07-29T04:26:10.296-07:00</updated><title type='text'>Funny comment in libtheora</title><content type='html'>&lt;pre&gt;, , ,&lt;br /&gt;/* You'll go to Hell for using globals. */&lt;br /&gt;&lt;br /&gt;FILE *audio=NULL;&lt;br /&gt;FILE *video=NULL;&lt;br /&gt;. . .&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&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/9594897-7017286802943320165?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/7017286802943320165/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=7017286802943320165' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/7017286802943320165'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/7017286802943320165'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2008/07/funny-comment-in-libtheora.html' title='Funny comment in libtheora'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-5359605719391034499</id><published>2008-07-16T11:56:00.000-07:00</published><updated>2008-07-16T11:58:22.457-07:00</updated><title type='text'>Pensamiento</title><content type='html'>Me aferraré a mis triunfos&lt;br /&gt;Aprenderé de mis derrotas&lt;br /&gt;Sacaré energía del fondo de mi corazón,&lt;br /&gt;en donde está la gente que quiero&lt;br /&gt;y mis más profundos anhelos&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-5359605719391034499?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/5359605719391034499/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=5359605719391034499' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/5359605719391034499'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/5359605719391034499'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2008/07/pensamiento.html' title='Pensamiento'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-5863458214049927288</id><published>2008-07-07T07:07:00.000-07:00</published><updated>2008-07-17T09:23:38.566-07:00</updated><title type='text'>Efímera visión</title><content type='html'>Hoy te vi a través de los ojos transparentes,&lt;br /&gt;Te vi en el caminar elegante de la desconocida,&lt;br /&gt;En la historia que se repite,&lt;br /&gt;En el anhelo infundado,&lt;br /&gt;En los modelos inertes de las vitrinas,&lt;br /&gt;Te ví en mis palabras cuando sin nombrarte, de tí hablaba&lt;br /&gt;Te ví en tu ausencia en el lugar que ya no estabas y&lt;br /&gt;en mi acompañada y egoista soledad.&lt;br /&gt;Te ví en la felicidad de otros que pudo haber sido mía&lt;br /&gt; Te ví sin verte, sin estar, sin que estuvieras&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-5863458214049927288?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/5863458214049927288/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=5863458214049927288' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/5863458214049927288'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/5863458214049927288'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2008/07/efmera-visin.html' title='Efímera visión'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-1545673930590837930</id><published>2008-06-20T13:07:00.000-07:00</published><updated>2008-06-20T13:08:49.544-07:00</updated><title type='text'>Virelangue</title><content type='html'>Tic et Tac ont chacun leur tactique: &lt;br /&gt;Tic pique Tac quand Tac attaque Tic&lt;br /&gt;Tac pique Tic quand Tic attaque Tac&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-1545673930590837930?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/1545673930590837930/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=1545673930590837930' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/1545673930590837930'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/1545673930590837930'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2008/06/virelangue.html' title='Virelangue'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-8387038353862457952</id><published>2008-06-16T15:40:00.000-07:00</published><updated>2008-06-23T14:38:01.683-07:00</updated><title type='text'>Tequendama Falls</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_FPAnLKzvHj8/SGAXj7qogsI/AAAAAAAAAB0/XZlpaTwrw0Y/s1600-h/tequendama.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_FPAnLKzvHj8/SGAXj7qogsI/AAAAAAAAAB0/XZlpaTwrw0Y/s320/tequendama.jpg" alt="" id="BLOGGER_PHOTO_ID_5215194274574402242" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;I hope those falls someday will have clean waters again.&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/9594897-8387038353862457952?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/8387038353862457952/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=8387038353862457952' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/8387038353862457952'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/8387038353862457952'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2008/06/tequendama-falls.html' title='Tequendama Falls'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_FPAnLKzvHj8/SGAXj7qogsI/AAAAAAAAAB0/XZlpaTwrw0Y/s72-c/tequendama.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-8909173213408505415</id><published>2008-06-06T16:21:00.000-07:00</published><updated>2008-06-06T16:24:56.428-07:00</updated><title type='text'>June 6th again</title><content type='html'>. . .&lt;br /&gt;I never knew I could hurt like this&lt;br /&gt;And everyday life goes on like&lt;br /&gt;"I wish I could talk to you for awhile"&lt;br /&gt;"I wish I could find a way try not to cry"&lt;br /&gt;As time goes by&lt;br /&gt;And soon as you reach a better place&lt;br /&gt;Still I'll give the whole world to see your face&lt;br /&gt;And I'm right here next to you&lt;br /&gt;It feels like you gone too soon&lt;br /&gt;The hardest thing to do is say bye bye . . .&lt;br /&gt;&lt;br /&gt;           (From Mariah Carey : Bye Bye)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-8909173213408505415?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/8909173213408505415/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=8909173213408505415' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/8909173213408505415'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/8909173213408505415'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2008/06/june-6th-again.html' title='June 6th again'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-5595600883405532056</id><published>2008-06-05T19:27:00.000-07:00</published><updated>2008-06-05T20:42:40.698-07:00</updated><title type='text'>Robot Party</title><content type='html'>Well, I know it's been a long time since we did the robot party. I didn't publish in part, because I think &lt;a href="http://wiki.freaks-unidos.net/weblogs/arhuaco/robot-party"&gt;Arhuaco's&lt;/a&gt; blog was pretty cool. But here you're with my report.&lt;br /&gt;&lt;br /&gt;Nelson arrived at 11AM with a wireless &lt;a href="http://www.paramountzone.com/micro-mosquito-heli.htm"&gt;mosquito&lt;/a&gt;. It was damaged but some days later I found it was only the battery. Their design requires some charge in it to be able to charge it !!!. So I only had to disassemble it and  load some charge in it.&lt;br /&gt;&lt;br /&gt;Lowfill wrote a list with the possible subjects which included:&lt;br /&gt;&lt;br /&gt;- Self balancing robot (the best one, but the one I didn't want given the short time)&lt;br /&gt;- Follow the line (with learning, a variation to the classical thing)&lt;br /&gt;- Basketball (my favorite)&lt;br /&gt;- Get off the labyrinth (the one Lowfill and Arhuaco didn't want)&lt;br /&gt;- Sumo (the easiest one, but nobody liked it this time)&lt;br /&gt;&lt;br /&gt;The choice was supposed to be random but we finally  decided to do the first three of them. At the end, however, we only managed to build the first one in our limited time schedule (we were too ambitious!! ).&lt;br /&gt;&lt;br /&gt;At around 2 p.m. we had a Richter's 5.5 magnitude  earth quake, so we were very nervous all the rest of the party.&lt;br /&gt;&lt;br /&gt;Each team built a skeleton for the robot. Both robots were symmetric and holonomic with two motors. Both designs were similar, although I was more familiar with the alluminium work.&lt;br /&gt;&lt;br /&gt;At the middle of the party I managed to build an ON/OFF controlled robot who kept equilibrium for about 20 seconds on a more/less regular floor. When Lowfill left (why the !#@$ Lowfill!!! you lost the funniest part!) Arhuaco and I started working together to improve my prototype. We did progress immediately. First of all we improved the ON/OFF prototype by implementing a proportional PWM controller. It was softer than that of the ON/OFF control, but it somehow was too slow.&lt;br /&gt;&lt;br /&gt;Our sensor was only light, which as every electromagnetic radial field reduces power with the inverse of the square of the distance. Hence&lt;br /&gt;&lt;br /&gt;    width =  k / tan^2{angle}&lt;br /&gt;&lt;br /&gt;We decided then to add a constant control to it. It made the system faster but less stable and soft.&lt;br /&gt;&lt;br /&gt;    width = k_1/ tan^2{angle} + k_2&lt;br /&gt;&lt;br /&gt;Finally we decided that in order to reduce oscillation we should base the width correction on the average rather than the sample. This, formally is an integral control system.&lt;br /&gt;&lt;br /&gt;    width = k_1/ sample_N + k_2 + k_3 . \sum_{i}{sample_i}&lt;br /&gt;&lt;br /&gt;The system worked then very well, but the sensor didn't help much. We had to test it in a very dim environment. I am sure it can work better with an angular sensor rather than using a longitudinal one (because of the tangent and inverse square, and light dependency) for it works pretty well with a very simple led - photo-resistor pair, holding equilibrium for more than twenty minutes (actually we got bored of seeing it swing and stand and we decided to turn it off for it was very late).&lt;br /&gt;&lt;br /&gt;We finished around 1 A.M.&lt;br /&gt;&lt;br /&gt;I am very happy with the results, Lowfill and Arhuaco did pretty well.  I also liked our very minimalist implementation of the PWM PID control system. All of us shared ideas and learned a lot in the process. It was in my opinion a very successful robot party.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-5595600883405532056?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/5595600883405532056/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=5595600883405532056' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/5595600883405532056'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/5595600883405532056'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2008/06/robot-party.html' title='Robot Party'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-2685163648154707741</id><published>2008-06-05T19:11:00.000-07:00</published><updated>2008-06-05T19:16:51.148-07:00</updated><title type='text'>Indiana Jones</title><content type='html'>Even if the tape does have various imprecisions related to Peruvian history and some over-used  wrong stereotypes  like those of Russian people, I liked the film ("Indiana Jones and the kingdom of the crystal skull"). It was entertaining, although not very instructive and it made my grandma and mom happy for a while. I recommend you to see it but be aware that you can not trust any historical data they provide.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-2685163648154707741?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/2685163648154707741/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=2685163648154707741' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/2685163648154707741'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/2685163648154707741'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2008/06/indiana-jones.html' title='Indiana Jones'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-7847164242580435225</id><published>2008-05-20T16:50:00.001-07:00</published><updated>2008-05-20T17:27:49.341-07:00</updated><title type='text'>Silent cry</title><content type='html'>The notes of the piano were like daggers in my soul. The fantastic voice was a reminder of an old failure I thought was for ever forgotten and I felt bad. And then her voice came out the handle to save my time, to save my day and mind. &lt;br /&gt;&lt;br /&gt;Sometimes I feel like I was blind. Sometimes lost memories come ahead from far behind . . . they  come to hunt.  And then I scratch my soul with a desperate feeling and a silent cry comes out of my brain but not my mouth. . . it comes to eat. . . it feeds from me. . . it feeds alone and free.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-7847164242580435225?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/7847164242580435225/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=7847164242580435225' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/7847164242580435225'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/7847164242580435225'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2008/05/silent-cry.html' title='Silent cry'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-1735704149275706622</id><published>2008-05-20T12:58:00.000-07:00</published><updated>2008-05-20T13:16:16.204-07:00</updated><title type='text'>Robot Party</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_FPAnLKzvHj8/SDMwZ-k4ZzI/AAAAAAAAABs/XVMe56Dz79o/s1600-h/motor_graph.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_FPAnLKzvHj8/SDMwZ-k4ZzI/AAAAAAAAABs/XVMe56Dz79o/s320/motor_graph.gif" alt="" id="BLOGGER_PHOTO_ID_5202555217395607346" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I managed to change some of my motors. Each team will now have two identical motors. However I'd prefer robots not to follow the typical holonomic design.  Those motors are very efficient. Their maximum current  is 350mA hence people will be able to drive them with small general purpose transistor arrays.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-1735704149275706622?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/1735704149275706622/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=1735704149275706622' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/1735704149275706622'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/1735704149275706622'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2008/05/robot-party.html' title='Robot Party'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_FPAnLKzvHj8/SDMwZ-k4ZzI/AAAAAAAAABs/XVMe56Dz79o/s72-c/motor_graph.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-4439160294154487704</id><published>2008-05-14T21:41:00.000-07:00</published><updated>2008-05-15T16:31:50.305-07:00</updated><title type='text'>AVR confirmed for the Robot party</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_FPAnLKzvHj8/SCzHzek4ZyI/AAAAAAAAABk/E6awqMBSvi0/s1600-h/robot_snap_small.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_FPAnLKzvHj8/SCzHzek4ZyI/AAAAAAAAABk/E6awqMBSvi0/s320/robot_snap_small.png" alt="" id="BLOGGER_PHOTO_ID_5200751356901091106" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In our robot party we will use AT Mega 16. We will program them using an in system programmer and GCC from Linux(avr-libc, binutils-avr, gcc-avr, gdb-avr).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-4439160294154487704?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/4439160294154487704/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=4439160294154487704' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/4439160294154487704'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/4439160294154487704'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2008/05/avr-confirmed-for-robot-party.html' title='AVR confirmed for the Robot party'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_FPAnLKzvHj8/SCzHzek4ZyI/AAAAAAAAABk/E6awqMBSvi0/s72-c/robot_snap_small.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-7543642080992580506</id><published>2008-05-14T08:50:00.000-07:00</published><updated>2008-05-14T21:48:55.681-07:00</updated><title type='text'>Sudoku</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_FPAnLKzvHj8/SCsLvOk4ZxI/AAAAAAAAABc/nxmqzSQ_f3A/s1600-h/sudoku_may14_u.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_FPAnLKzvHj8/SCsLvOk4ZxI/AAAAAAAAABc/nxmqzSQ_f3A/s320/sudoku_may14_u.png" alt="" id="BLOGGER_PHOTO_ID_5200263100723914514" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;I solved this one today. Cool huh?&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/9594897-7543642080992580506?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/7543642080992580506/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=7543642080992580506' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/7543642080992580506'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/7543642080992580506'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2008/05/sudoku.html' title='Sudoku'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_FPAnLKzvHj8/SCsLvOk4ZxI/AAAAAAAAABc/nxmqzSQ_f3A/s72-c/sudoku_may14_u.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-1667711904731344880</id><published>2008-05-13T17:11:00.000-07:00</published><updated>2008-05-13T17:25:15.416-07:00</updated><title type='text'>Robot party 2008</title><content type='html'>Well, we finally have quorum for the robot party 2008.&lt;br /&gt;&lt;br /&gt;Arhuaco, Lowfill and Lizzy have confirmed. It gives us 2 people per team. It would be good to have two more experts at least, though.&lt;br /&gt;&lt;br /&gt;I will make up a list of possible goals and introduce them in a bag. The day of the robot party each member will take out one goal and discard it. The last goal that remains in the bag will be the one to solve in the party.&lt;br /&gt;&lt;br /&gt;During the party, teams will be given the same materials. Then they will have 6 hours to build a robot to solve the problem.  When the time is out, teams will meet and their robots will compete for between 15 minutes and 30 minutes.&lt;br /&gt;&lt;br /&gt;Experts will be shared for questions, no matters their team, to give the party a more collaborative environment.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-1667711904731344880?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/1667711904731344880/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=1667711904731344880' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/1667711904731344880'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/1667711904731344880'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2008/05/robot-party-2008.html' title='Robot party 2008'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-1854830597229432693</id><published>2008-05-09T13:59:00.000-07:00</published><updated>2008-05-09T14:02:53.421-07:00</updated><title type='text'>Mate in 2</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_FPAnLKzvHj8/SCS7lymx6iI/AAAAAAAAABU/Esm5Mlh4XSg/s1600-h/mate_in_2.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_FPAnLKzvHj8/SCS7lymx6iI/AAAAAAAAABU/Esm5Mlh4XSg/s320/mate_in_2.gif" alt="" id="BLOGGER_PHOTO_ID_5198486127806376482" border="0" /&gt;&lt;/a&gt;From a Human Vs. GNU-Chess game.&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/9594897-1854830597229432693?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/1854830597229432693/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=1854830597229432693' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/1854830597229432693'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/1854830597229432693'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2008/05/mate-in-2.html' title='Mate in 2'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_FPAnLKzvHj8/SCS7lymx6iI/AAAAAAAAABU/Esm5Mlh4XSg/s72-c/mate_in_2.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-6205506109848092323</id><published>2008-05-08T13:00:00.000-07:00</published><updated>2008-05-08T14:45:26.202-07:00</updated><title type='text'>Jconsole with jboss</title><content type='html'>Jconsole comes with sun jdk 5 and above. It offers a lot of possibilities to manage the virtual machine of your java applications. To use it with jboss you can add the  "-Dcom.sun.management.jmxremote" option to the run.conf  (or run.bat in windows). Then you just run jconsole ($JAVA_HOME/bin).&lt;br /&gt;You can monitor the memory use and call the garbage collector manually among other things.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-6205506109848092323?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/6205506109848092323/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=6205506109848092323' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/6205506109848092323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/6205506109848092323'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2008/05/jconsole-with-jboss.html' title='Jconsole with jboss'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-5545330079295835713</id><published>2008-05-07T16:42:00.000-07:00</published><updated>2008-05-07T16:46:43.518-07:00</updated><title type='text'>Sybase tran log space in master</title><content type='html'>All we needed to do was a little maintenance :&lt;br /&gt;&lt;br /&gt;isql -U USERNAME -P PASSWORD -S SERVERNAME&lt;br /&gt;use master&lt;br /&gt;go&lt;br /&gt;dump tran DATABASENAME with no_log&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-5545330079295835713?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/5545330079295835713/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=5545330079295835713' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/5545330079295835713'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/5545330079295835713'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2008/05/sybase-tran-log-space-in-master.html' title='Sybase tran log space in master'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-9071438354845723044</id><published>2008-05-05T08:30:00.000-07:00</published><updated>2008-07-17T09:32:27.176-07:00</updated><title type='text'>Round Eyes</title><content type='html'>I love her round eyes,&lt;br /&gt;when she looks at me&lt;br /&gt;sharing a part of her heart with me&lt;br /&gt;I feel her inside, deep inside my soul.&lt;br /&gt;I can feel with her that I'm not alone, not any more.&lt;br /&gt;She makes me dream,&lt;br /&gt;dream of her, dream of happiness.&lt;br /&gt;Deam of broken pieces that come together for good,&lt;br /&gt;for her and for me.&lt;br /&gt;Deep eyes, round eyes, brown eyes,&lt;br /&gt;please stay always like that with me.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-9071438354845723044?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/9071438354845723044/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=9071438354845723044' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/9071438354845723044'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/9071438354845723044'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2008/05/round-eyes.html' title='Round Eyes'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-8842936874227903505</id><published>2008-05-04T21:43:00.000-07:00</published><updated>2008-05-04T21:48:10.925-07:00</updated><title type='text'>Another Nina's birthday : 77 years !!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_FPAnLKzvHj8/SB6RL41cWKI/AAAAAAAAABM/OSZ0QlYASb8/s1600-h/00026.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_FPAnLKzvHj8/SB6RL41cWKI/AAAAAAAAABM/OSZ0QlYASb8/s320/00026.jpg" alt="" id="BLOGGER_PHOTO_ID_5196750653453260962" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;It appears Life has given us the chance of another year with Nina. She's  very dear to us: she is smart and happy and knows a lot of life for she has lived lots of things in hers.  Long live to Nina. Nina: your family loves you.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-8842936874227903505?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/8842936874227903505/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=8842936874227903505' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/8842936874227903505'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/8842936874227903505'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2008/05/another-ninas-birthday-77-years.html' title='Another Nina&apos;s birthday : 77 years !!'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_FPAnLKzvHj8/SB6RL41cWKI/AAAAAAAAABM/OSZ0QlYASb8/s72-c/00026.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-2970500141338228092</id><published>2008-04-23T08:39:00.000-07:00</published><updated>2008-04-25T09:04:19.336-07:00</updated><title type='text'>Hofstadter : Gödel Escher Bach : Ein Endloses Geflochtenes Band</title><content type='html'>And this is how the comment on the first page  of this funny piece of art and wits starts:&lt;br /&gt;&lt;br /&gt;Epimenides, der Kreter, behauptete: Alle Kreter lügen . . .&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-2970500141338228092?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/2970500141338228092/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=2970500141338228092' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/2970500141338228092'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/2970500141338228092'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2008/04/hofstadter-gdel-escher-bach-ein.html' title='Hofstadter : Gödel Escher Bach : Ein Endloses Geflochtenes Band'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-6994305415843130111</id><published>2008-04-21T18:53:00.000-07:00</published><updated>2008-04-21T19:06:50.292-07:00</updated><title type='text'>Las sombras de la soledad egoista del caminante</title><content type='html'>Una toca negra y una lágrima transparente, unos ojos negros y una sonrisa aparente.&lt;br /&gt;Una profunda soledad que en las hondas cavidades de su corazón vivía de recuerdos y sueños, de las imágenes que tanto le gustaban pero que del mismo modo le atormentaban.  Así era la soledad del caminante que taciturno deambulaba de un lado para otro mirando hacia el pasado que le había dejado cicatrices invisibles. Así era la soledad de la sombra en la que se ocultaba para que nadie lo viera. Sombra de día, sombra sin sombra. Soledad valiente por fuera y cobarde por dentro. Soledad estúpidamente sensible y destructiva, de muerte y de canción, de tragos amargos. Soledad existente, soledad con rostro y nombre: Soledad egoista.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-6994305415843130111?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/6994305415843130111/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=6994305415843130111' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/6994305415843130111'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/6994305415843130111'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2008/04/las-sombras-de-la-soledad-egoista-del.html' title='Las sombras de la soledad egoista del caminante'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-3065087539570359208</id><published>2008-04-20T23:12:00.000-07:00</published><updated>2008-04-20T23:13:51.644-07:00</updated><title type='text'>Black and White Lizzy</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_FPAnLKzvHj8/SAwwiRdMZGI/AAAAAAAAABE/AaCg9VwBqbY/s1600-h/black_n_white_lizzy.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_FPAnLKzvHj8/SAwwiRdMZGI/AAAAAAAAABE/AaCg9VwBqbY/s320/black_n_white_lizzy.png" alt="" id="BLOGGER_PHOTO_ID_5191577835810874466" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Lizzy great, Lizzy white, Lizzy mine.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-3065087539570359208?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/3065087539570359208/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=3065087539570359208' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/3065087539570359208'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/3065087539570359208'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2008/04/black-and-white-lizzy.html' title='Black and White Lizzy'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_FPAnLKzvHj8/SAwwiRdMZGI/AAAAAAAAABE/AaCg9VwBqbY/s72-c/black_n_white_lizzy.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-5776800163043013825</id><published>2008-04-14T22:17:00.000-07:00</published><updated>2008-04-15T15:41:19.029-07:00</updated><title type='text'>OpenGL in Scheme</title><content type='html'>It was really good to find that chicken (www.call-with-current-continuation.org) has already an egg (plugin) to access opengl (gl, glu) and glut libraries. It is as easy to program 3D prototypes with chicken as it is with C in my opinion or even easier. I am contemplating migrating my current project to scheme instead of c++.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-5776800163043013825?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/5776800163043013825/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=5776800163043013825' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/5776800163043013825'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/5776800163043013825'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2008/04/opengl-in-scheme.html' title='OpenGL in Scheme'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-7089088740680051770</id><published>2008-02-13T09:16:00.000-08:00</published><updated>2008-04-20T23:16:10.540-07:00</updated><title type='text'>Enable select into in sybase</title><content type='html'>To enable inserts (i.e. if you want to restore a backup with bcp) you can use sp_dboption as follows:&lt;br /&gt;&lt;br /&gt;isql -S SERVER&lt;servername&gt;  -U USER&lt;user&gt; -PASSWORD&lt;password&gt;&lt;br /&gt;use master&lt;br /&gt;go&lt;br /&gt;sp_dboption &lt;database&gt;DATABASE, "select into", true&lt;br /&gt;go&lt;br /&gt;use  DATABASE&lt;database&gt;&lt;br /&gt;go&lt;br /&gt;checkpoint&lt;br /&gt;go&lt;/database&gt;&lt;/database&gt;&lt;/password&gt;&lt;/user&gt;&lt;/servername&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-7089088740680051770?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/7089088740680051770/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=7089088740680051770' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/7089088740680051770'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/7089088740680051770'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2008/02/enable-select-into-in-sybase.html' title='Enable select into in sybase'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-6567944359898716141</id><published>2008-02-01T11:48:00.000-08:00</published><updated>2008-02-01T11:49:57.709-08:00</updated><title type='text'>Quote</title><content type='html'>&lt;i&gt;"It pays to be obvious, especially if you have a reputation for subtlety"&lt;br /&gt;                                                                 Salvor Hardin, Foundation&lt;br /&gt;&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-6567944359898716141?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/6567944359898716141/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=6567944359898716141' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/6567944359898716141'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/6567944359898716141'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2008/02/quote.html' title='Quote'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-2746471752358121048</id><published>2008-01-22T16:48:00.000-08:00</published><updated>2008-01-22T16:50:54.540-08:00</updated><title type='text'>Mate in 2</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://home.no.net/ronnell/chessproblems/2-2.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px;" src="http://home.no.net/ronnell/chessproblems/2-2.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Today I saw a couple of check mate problems. I found this to be simple but beautiful.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-2746471752358121048?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/2746471752358121048/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=2746471752358121048' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/2746471752358121048'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/2746471752358121048'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2008/01/mate-in-2.html' title='Mate in 2'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-2717668800207441095</id><published>2008-01-22T07:00:00.000-08:00</published><updated>2008-09-28T22:32:34.137-07:00</updated><title type='text'>Caraluna</title><content type='html'>January the 22nd, again&lt;br /&gt;&lt;br /&gt;Quien dice que no duelen&lt;br /&gt;las huellas en la arena&lt;br /&gt;Tu huella el mar se la llevó&lt;br /&gt;pero la luna sigue ahí,&lt;br /&gt;pero la luna es mi condena . . . (Caraluna, Bacilos)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-2717668800207441095?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/2717668800207441095/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=2717668800207441095' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/2717668800207441095'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/2717668800207441095'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2008/01/caraluna.html' title='Caraluna'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-1307315015993896135</id><published>2008-01-15T09:43:00.000-08:00</published><updated>2008-01-15T09:45:01.471-08:00</updated><title type='text'>Say no to terrorists</title><content type='html'>Here in Colombia most People are peaceful. I join peaceful People to say: No to terrorism, no to kidnapping.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-1307315015993896135?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/1307315015993896135/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=1307315015993896135' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/1307315015993896135'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/1307315015993896135'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2008/01/say-no-to-terrorists.html' title='Say no to terrorists'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-7647608684889278275</id><published>2008-01-12T10:17:00.001-08:00</published><updated>2008-01-12T10:20:19.253-08:00</updated><title type='text'>May the source be with you</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_FPAnLKzvHj8/R4kEkMuuKfI/AAAAAAAAAAc/xHALno3jZFw/s1600-h/YodaAndRichard2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_FPAnLKzvHj8/R4kEkMuuKfI/AAAAAAAAAAc/xHALno3jZFw/s320/YodaAndRichard2.png" alt="" id="BLOGGER_PHOTO_ID_5154656268441233906" border="0" /&gt;&lt;/a&gt;And happy new year 2008 for all the software developers and enthusiasts around the globe.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-7647608684889278275?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/7647608684889278275/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=7647608684889278275' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/7647608684889278275'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/7647608684889278275'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2008/01/may-source-be-with-you.html' title='May the source be with you'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_FPAnLKzvHj8/R4kEkMuuKfI/AAAAAAAAAAc/xHALno3jZFw/s72-c/YodaAndRichard2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-4379745828179151013</id><published>2008-01-08T07:18:00.000-08:00</published><updated>2008-01-08T07:20:40.649-08:00</updated><title type='text'>Quotation</title><content type='html'>"The violence is the last resource of the incompetent"&lt;br /&gt;                                            Salvor Hardin - Foundation&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-4379745828179151013?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/4379745828179151013/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=4379745828179151013' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/4379745828179151013'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/4379745828179151013'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2008/01/quotation.html' title='Quotation'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-1823065979640704305</id><published>2008-01-07T20:11:00.000-08:00</published><updated>2008-01-09T16:44:50.796-08:00</updated><title type='text'>hanoi</title><content type='html'>An always classic:&lt;br /&gt;&lt;br /&gt;(define  ( hanoi n src dst tmp s)&lt;br /&gt;(if (= n 1)  (print "move from " src " to " dst )&lt;br /&gt;  (hanoi (- n 1)  tmp dst src (hanoi 1 src dst tmp (hanoi (- n 1) src tmp dst s)))))&lt;br /&gt;(hanoi 3 0 1 2 '() )&lt;br /&gt;(exit)&lt;br /&gt;&lt;br /&gt;Version 2:&lt;br /&gt;&lt;br /&gt;(define (pass-stack stack src dst)&lt;br /&gt; (if (null? stack ) '()&lt;br /&gt;   (if (= src 0) (cons (- (car stack) 1) (pass-stack (cdr stack) (- src 1) (- dst 1) ))&lt;br /&gt;     (if (= dst 0) (cons (+ (car stack) 1) (pass-stack (cdr stack) (- src 1) (- dst 1) ))&lt;br /&gt;       (if (and (&lt; dst 0) (&lt; src 0)) stack&lt;br /&gt;         (cons (car stack) (pass-stack (cdr stack) (- src 1) (- dst 1))))))))&lt;br /&gt;&lt;br /&gt;(define (print-move stack src dst)&lt;br /&gt; (print (pass-stack stack src dst)))&lt;br /&gt;&lt;br /&gt;(define (hanoi n src dst tmp stack)&lt;br /&gt; (if (= n 1) (print-move stack src  dst )&lt;br /&gt;    (hanoi (- n 1) tmp dst src (hanoi 1 src dst tmp ( hanoi (- n 1) src tmp dst  stack)))))&lt;br /&gt;&lt;br /&gt;(hanoi 3 0 1 2 '(3 0 0) )&lt;br /&gt;(exit)&lt;br /&gt;&lt;br /&gt;Version 3:&lt;br /&gt;&lt;br /&gt;(define stacks (list '(1 2 3 4 5) '() '()))&lt;br /&gt;&lt;br /&gt;(define (build-stacks a b c la lb lc)&lt;br /&gt; (if (&lt; a b c) (list la lb lc)&lt;br /&gt; (if (&lt; a c b) (list la lc lb)&lt;br /&gt; (if (&lt; b a c) (list lb la lc)&lt;br /&gt; (if (&lt; b c a) (list lb lc la)&lt;br /&gt; (if (&lt; b a c) (list lb la lc)&lt;br /&gt; (if (&lt; c a b) (list lc la lb)&lt;br /&gt; (list lc lb la))))))))&lt;br /&gt;&lt;br /&gt;(define (move stack src dst tmp)&lt;br /&gt; (build-stacks src dst tmp&lt;br /&gt;   (cdr (list-ref stack src))&lt;br /&gt;   (cons (car (list-ref stack src)) (list-ref stack dst))&lt;br /&gt;   (list-ref stack tmp)))&lt;br /&gt;&lt;br /&gt;(define (print-move stack src dst tmp)&lt;br /&gt; (and (print (move stack src dst tmp)) (move stack src dst tmp)))&lt;br /&gt;&lt;br /&gt;(define (hanoi n stack src dst tmp)&lt;br /&gt; (if (= n 1)&lt;br /&gt;   (print-move stack src dst tmp)&lt;br /&gt;   (hanoi (- n 1) (hanoi 1 (hanoi (- n 1) stack src tmp dst) src dst tmp) tmp dst src)))&lt;br /&gt;&lt;br /&gt;(hanoi 5 stacks 0 1 2)&lt;br /&gt;(exit)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-1823065979640704305?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/1823065979640704305/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=1823065979640704305' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/1823065979640704305'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/1823065979640704305'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2008/01/hanoi.html' title='hanoi'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9594897.post-2884258066006699161</id><published>2007-12-28T07:14:00.000-08:00</published><updated>2007-12-28T07:19:29.873-08:00</updated><title type='text'>Tale and moral</title><content type='html'>"There was a bird flying south for the winter, but he got caught in an ice storm and fell to the ground. He froze, but a cow came along and clapped on him. The warm poop unthawed him and he liked it, so much he started to sing. A cat came along to see what the commotion was about, asked if he could help, saw it was a meal and ate the bird. Herae are ther morals of the story. &lt;span style="font-style: italic;"&gt;Everybody who shits in you  ain't your enemy. Everybody who comes along to help ain't your friend. And if you're warm and happy, even in a pile of shit, keep your mouth shut&lt;/span&gt;. "&lt;br /&gt;(Steve Berry, The Alexandria Link)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9594897-2884258066006699161?l=gralfca.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gralfca.blogspot.com/feeds/2884258066006699161/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9594897&amp;postID=2884258066006699161' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/2884258066006699161'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9594897/posts/default/2884258066006699161'/><link rel='alternate' type='text/html' href='http://gralfca.blogspot.com/2007/12/tale-and-moral.html' title='Tale and moral'/><author><name>Luis</name><uri>http://www.blogger.com/profile/07462759312178250398</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
