<?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-6183884398183715183</id><updated>2012-02-16T10:38:32.583-08:00</updated><category term='less ungly hacks'/><category term='typeface'/><category term='control'/><category term='SQL'/><category term='icons'/><category term='C'/><category term='DIY'/><category term='STEP'/><category term='concurrent programming'/><category term='community'/><category term='verbs'/><category term='time management'/><category term='Codeblocks'/><category term='voice picking'/><category term='medical'/><category term='game development'/><category term='manuals'/><category term='linear algebra'/><category term='NeHe'/><category term='DX'/><category term='OpenDX'/><category term='v4l'/><category term='wikimedia'/><category term='mouse handling'/><category term='EIT'/><category term='performance'/><category term='glut'/><category term='art work'/><category term='Brazilian President'/><category term='Ogre'/><category term='OCR'/><category term='notebook'/><category term='ugly hacks'/><category term='kids'/><category term='control engineering'/><category term='wxWidgets'/><category term='simulation'/><category term='EasyCAP'/><category term='gdm'/><category term='CAD'/><category term='CSS'/><category term='engineering'/><category term='sparse matrix'/><category term='security'/><category term='fluid dynamics'/><category term='CVS'/><category term='XML'/><category term='kicad'/><category term='HPC'/><category term='PIC'/><category term='FISL10'/><category term='bash'/><category term='links'/><category term='gui'/><category term='FISL'/><category term='Regex'/><category term='Speech Recognition'/><category term='Maps'/><category term='PostgreSQL'/><category term='cc'/><category term='Edward Tufte'/><category term='design'/><category term='AVR'/><category term='network'/><category term='statistics'/><category term='automation'/><category term='ftdi'/><category term='comic strip'/><category term='libftdi'/><category term='webapps'/><category term='google'/><category term='web design'/><category term='gnuplot'/><category term='Unix'/><category term='javascript'/><category term='Virtual Reality'/><category term='Calendar'/><category term='OpenCV'/><category term='cross-compiling'/><category term='webfonts'/><category term='piracy'/><category term='creative commons'/><category term='GNU Emacs'/><category term='becaming father'/><category term='E.T.'/><category term='openGL'/><category term='high performance computing'/><category term='C++'/><category term='portable'/><category term='Nardol'/><category term='nerdson'/><category term='data visualization'/><category term='python'/><category term='infographics'/><category term='Finite Element Method'/><category term='SDL'/><category term='animation'/><category term='IGES'/><category term='AVS'/><category term='windows'/><category term='FEM'/><category term='Tron'/><category term='inkscape'/><category term='EIDORS'/><category term='hardware'/><category term='math'/><category term='LAMP'/><category term='operating systems'/><category term='3D Scanner'/><category term='usb'/><category term='helthcare'/><category term='fortran'/><category term='politics'/><category term='firewire'/><category term='opencascade'/><category term='multithreading'/><category term='Dev-Cpp'/><category term='ssh'/><category term='bookmarks'/><category term='digital video'/><category term='CG'/><category term='OpenSG'/><category term='electronics'/><category term='goverment'/><category term='Computer Vision'/><category term='mindmapping'/><category term='matlab'/><category term='PHP'/><category term='Stallman'/><category term='jquery'/><category term='free software'/><category term='DV'/><category term='energy'/><category term='notes to remember'/><category term='IE6 compatibility'/><category term='Moleskine'/><category term='hacks'/><category term='GNU Octave'/><category term='Linux'/><category term='netbook'/><category term='project management'/><category term='Ubuntu'/><category term='parser'/><category term='TED'/><category term='LaTeX'/><category term='money'/><title type='text'>FilipiVianna</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default?start-index=101&amp;max-results=100'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>137</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-1249910606408740999</id><published>2011-11-23T09:37:00.000-08:00</published><updated>2012-01-31T13:56:27.842-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='animation'/><category scheme='http://www.blogger.com/atom/ns#' term='hacks'/><title type='text'>Resizing images and generating animated gifs</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;After writing my last posts (P&lt;a href="http://filipivianna.blogspot.com/2011/11/plotting-memory-usage-on-console.html"&gt;lotting memory usage on console&lt;/a&gt; and &lt;a href="http://filipivianna.blogspot.com/2011/11/more-trickery-with-gnuplot-dumb.html" target="_blank"&gt;More trickery with gnuplot dumb terminal&lt;/a&gt;), I had to put here some lines used to make the screenshot I'd put there.&lt;br /&gt;To resize all screen shot frames:&lt;br /&gt;&lt;br /&gt;&lt;b style="color: lime; font-family: 'Courier New', Courier, monospace;"&gt;ls -1 *.png | cut -d . -f 1 | while read line ; do convert $line.png -resize 60% $line.mini.png; done&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: lime; font-family: 'Courier New', Courier, monospace;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;In stead of resizing the image, they can be cropped:&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;b style="color: lime; font-family: 'Courier New', Courier, monospace;"&gt;ls -1 *.png | cut -d . -f 1 | while read line ; do convert $line.png  -crop 400x270+92+37  $line.mini.png; done&lt;/b&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="color: lime; font-family: 'Courier New', Courier, monospace;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;To make the animated gif&lt;br /&gt;&lt;b style="color: lime; font-family: 'Courier New', Courier, monospace;"&gt;convert   -delay 100   -loop 0   screenshot0*mini.png  screenshot.gif&lt;/b&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-1249910606408740999?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/1249910606408740999/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2011/11/resizing-images-and-generate-animated.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/1249910606408740999'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/1249910606408740999'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2011/11/resizing-images-and-generate-animated.html' title='Resizing images and generating animated gifs'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-8578757349027998326</id><published>2011-11-23T07:38:00.001-08:00</published><updated>2011-11-23T09:29:54.339-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='less ungly hacks'/><category scheme='http://www.blogger.com/atom/ns#' term='gnuplot'/><category scheme='http://www.blogger.com/atom/ns#' term='data visualization'/><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><category scheme='http://www.blogger.com/atom/ns#' term='hacks'/><title type='text'>More trickery with gnuplot dumb terminal</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;In my post "&lt;a href="http://filipivianna.blogspot.com/2011/11/plotting-memory-usage-on-console.html"&gt;Plotting memory usage on console&lt;/a&gt;" the chart doesn't panned the data.&lt;br /&gt;Now, using a named pipe, the&amp;nbsp;effect&amp;nbsp;got a little bit nicer.&lt;br /&gt;First we have to run the &lt;a href="http://pastebin.com/EzsYhemg" target="_blank"&gt;memUsage.sh&lt;/a&gt; script to get a file filled with memory usage info:&lt;br /&gt;&lt;b style="color: lime; font-family: 'Courier New', Courier, monospace;"&gt;./memUsage.sh &amp;gt; memUsage.dat &amp;amp;&lt;/b&gt;&lt;br /&gt;Then we have to create a named pipe:&lt;br /&gt;&lt;b style="color: lime; font-family: 'Courier New', Courier, monospace;"&gt;mkfifo pipe&lt;/b&gt;&lt;br /&gt;Now we have to run another process to tail only the last 64 lines from the memUsage.dat&lt;br /&gt;&lt;b style="color: lime; font-family: 'Courier New', Courier, monospace;"&gt;while [ 1 ]; do  tail -64 memUsage.dat&amp;gt; pipe; done  &amp;amp;&lt;/b&gt;&lt;br /&gt;And now we just have to plot the data from the pipe:&lt;br /&gt;&lt;b style="color: lime; font-family: 'Courier New', Courier, monospace;"&gt; watch -n 1 'gnuplot -e "set terminal dumb;p \"pipe\" with lines"'&lt;/b&gt;&lt;br /&gt;And that is it!&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-6m29LnS1AR0/Ts0tJUar0EI/AAAAAAAAAwo/9lGnM2wA8sk/s1600/screenshot.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-6m29LnS1AR0/Ts0tJUar0EI/AAAAAAAAAwo/9lGnM2wA8sk/s1600/screenshot.gif" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-8578757349027998326?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/8578757349027998326/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2011/11/more-trickery-with-gnuplot-dumb.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/8578757349027998326'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/8578757349027998326'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2011/11/more-trickery-with-gnuplot-dumb.html' title='More trickery with gnuplot dumb terminal'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-6m29LnS1AR0/Ts0tJUar0EI/AAAAAAAAAwo/9lGnM2wA8sk/s72-c/screenshot.gif' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-3203364900583374996</id><published>2011-11-23T03:09:00.001-08:00</published><updated>2011-11-23T04:41:59.580-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='less ungly hacks'/><category scheme='http://www.blogger.com/atom/ns#' term='gnuplot'/><category scheme='http://www.blogger.com/atom/ns#' term='data visualization'/><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><category scheme='http://www.blogger.com/atom/ns#' term='hacks'/><title type='text'>Plotting memory usage on console</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;This is just a simple hack to play around with gnuplot set to dumb terminal (character console), doesn't meant to be serious application.&lt;br /&gt;&lt;div&gt;First I had written a bash scritp to log memory usage a while ago:&lt;/div&gt;&lt;script src="http://pastebin.com/embed_js.php?i=EzsYhemg"&gt;&lt;/script&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;So, while running this script in background (&lt;b style="color: lime; font-family: 'Courier New', Courier, monospace;"&gt;./memUsage.sh &amp;gt; memUsage.dat &amp;amp;&lt;/b&gt;),&amp;nbsp;logging&amp;nbsp;the data, the memory usage information can be plotted with gnuplot and watched in real time:&lt;br /&gt;&lt;b style="color: lime; font-family: 'Courier New', Courier, monospace;"&gt;watch -n 1 'gnuplot -e "set terminal dumb;p \"memUsage.dat\" with impulses"'&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The chart can be plotted with lines, with impulses or any &lt;a href="http://t16web.lanl.gov/Kawano/gnuplot/intro/style-e.html" target="_blank"&gt;gnuplot style option&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-EU6CrYfU8lw/TszZpMcJs5I/AAAAAAAAAwg/AkhK24PobAo/s1600/screenshot.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-EU6CrYfU8lw/TszZpMcJs5I/AAAAAAAAAwg/AkhK24PobAo/s1600/screenshot.gif" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-3203364900583374996?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/3203364900583374996/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2011/11/plotting-memory-usage-on-console.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/3203364900583374996'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/3203364900583374996'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2011/11/plotting-memory-usage-on-console.html' title='Plotting memory usage on console'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-EU6CrYfU8lw/TszZpMcJs5I/AAAAAAAAAwg/AkhK24PobAo/s72-c/screenshot.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-6419396724884868105</id><published>2011-11-22T11:29:00.000-08:00</published><updated>2011-11-22T11:42:01.542-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='libftdi'/><category scheme='http://www.blogger.com/atom/ns#' term='3D Scanner'/><category scheme='http://www.blogger.com/atom/ns#' term='hacks'/><category scheme='http://www.blogger.com/atom/ns#' term='ftdi'/><category scheme='http://www.blogger.com/atom/ns#' term='hardware'/><category scheme='http://www.blogger.com/atom/ns#' term='usb'/><category scheme='http://www.blogger.com/atom/ns#' term='AVR'/><title type='text'>ftdi232 permission on Ubuntu</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;I'am using the ftdi chip with bitbang mode to control some hardware with linux.&lt;br /&gt;Every time a copy my software to a new desktop, it always toke me hours to figure out why it has not permission to run the bitbang mode as a regular user.&lt;br /&gt;Every website or forum I look around tells me about the udev, but I check back on the working desktops and there is no udev rule for the ftdi hardware. And after trying to force permissions with chgrp and chmod directly on /dev/bus/usb/* I figured out that I had to master at least a little about udev rules.&lt;br /&gt;&lt;br /&gt;Checking with a little more care at a working machine I´ve found a Virtualbox instalation which created a udev rule for the virtualbox usb driver. Changing that rule to be used with the FTI chip I do the following steps, with had worked perfeclty:&lt;br /&gt;&lt;br /&gt;Create the file &lt;span class="Apple-style-span" style="color: lime; font-family: 'Courier New', Courier, monospace;"&gt;&lt;b&gt;/etc/udev/rules.d/10-ftdi.rules&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Write on it:&lt;br /&gt;&lt;b style="color: lime; font-family: 'Courier New', Courier, monospace;"&gt;SUBSYSTEM=="usb_device", GROUP="dialout", MODE="0664"&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: lime; font-family: 'Courier New', Courier, monospace;"&gt;&lt;b&gt;SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="dialout", MODE="0664"&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;I have to make sure my user belongs to the dialout group, reboot the machine and that´s done.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-6419396724884868105?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/6419396724884868105/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2011/09/ftdi232-permission-on-ubuntu.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/6419396724884868105'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/6419396724884868105'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2011/09/ftdi232-permission-on-ubuntu.html' title='ftdi232 permission on Ubuntu'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-792948552672033559</id><published>2011-08-25T18:03:00.000-07:00</published><updated>2011-08-25T18:09:45.365-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='less ungly hacks'/><title type='text'>powerpoint slides to jpeg</title><content type='html'>Looking for some way to convert power point slides to JPG, I've found this site:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.commandlinefu.com/commands/browse"&gt;http://www.commandlinefu.com/commands/browse&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It has tons of good linux command line tips.&lt;br /&gt;&lt;br /&gt;And here is the tip about the pdf to jpg which brought me there:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.commandlinefu.com/commands/view/719/convert-pdf-to-jpg"&gt;http://www.commandlinefu.com/commands/view/719/convert-pdf-to-jpg&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And to convert the powerpoint to pdf before, one can issue the unoconv command:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 0); font-weight: bold;font-family:courier new;"&gt;&lt;br /&gt;&lt;b&gt;unoconv -f pdf slides.ppt&lt;/b&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-792948552672033559?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/792948552672033559/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2011/08/commandlinefu-nice-command-line-tips.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/792948552672033559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/792948552672033559'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2011/08/commandlinefu-nice-command-line-tips.html' title='powerpoint slides to jpeg'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-2071942733225799703</id><published>2011-08-12T19:02:00.000-07:00</published><updated>2011-11-23T05:44:02.078-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PostgreSQL'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Books</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;a href="http://3.bp.blogspot.com/-vC_H0XTCC8M/TkXdbGDXn1I/AAAAAAAAAuM/cuVUwjXod5c/s1600/practical-postgresql_cover_0611.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5640157565902364498" src="http://3.bp.blogspot.com/-vC_H0XTCC8M/TkXdbGDXn1I/AAAAAAAAAuM/cuVUwjXod5c/s200/practical-postgresql_cover_0611.jpg" style="cursor: hand; cursor: pointer; float: left; height: 200px; margin: 0 10px 10px 0; width: 151px;" /&gt;&lt;/a&gt;&lt;br /&gt;Tonight I was home alone with my kid. Fortunetly for us (the kid and me) our PC is connected to the TV set. So, he watched his favorites DVDs, while I had Google Reader in play mode with slide show enabled and side by side windows.&lt;br /&gt;&lt;br /&gt;After playing the DVDs a dozen times, Google Reader showed this &lt;a href="http://www.readwriteweb.com/hack/2011/06/free-e-books-on-sql.php?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A+readwriteweb+%28ReadWriteWeb%29"&gt;e-book post&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;PostgreSQL is my database of choice, so this book will be very appreciated.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The PostgreSQL e-book is at:&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.commandprompt.com/ppbook/"&gt;http://www.commandprompt.com/ppbook/&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-2071942733225799703?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/2071942733225799703/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2011/08/books.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/2071942733225799703'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/2071942733225799703'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2011/08/books.html' title='Books'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-vC_H0XTCC8M/TkXdbGDXn1I/AAAAAAAAAuM/cuVUwjXod5c/s72-c/practical-postgresql_cover_0611.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-1824729335966583831</id><published>2011-08-12T05:15:00.000-07:00</published><updated>2011-08-12T05:23:08.241-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hacks'/><title type='text'>Mac OS X in Linux via VirtualBox (as guest OS)</title><content type='html'>That is some thing I want to do for quite some time:&lt;br /&gt;&lt;br /&gt;Install Mac OS X Snow Leopard as a guest OS in a VirtualBox Linux host&lt;br /&gt;&lt;br /&gt;&lt;a href="http://martinml.com/en/how-to-install-mac-os-x-snow-leopard-in-virtualbox/"&gt;http://martinml.com/en/how-to-install-mac-os-x-snow-leopard-in-virtualbox/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.nguyenvq.com/2010/12/04/mac-os-x-in-linux-via-virtualbox-as-guest-os/"&gt;http://blog.nguyenvq.com/2010/12/04/mac-os-x-in-linux-via-virtualbox-as-guest-os/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://myhack.sojugarden.com/guide/"&gt;http://myhack.sojugarden.com/guide/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-1824729335966583831?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/1824729335966583831/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2011/08/mac-os-x-in-linux-via-virtualbox-as.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/1824729335966583831'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/1824729335966583831'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2011/08/mac-os-x-in-linux-via-virtualbox-as.html' title='Mac OS X in Linux via VirtualBox (as guest OS)'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-4126141384098128207</id><published>2011-08-09T07:27:00.000-07:00</published><updated>2011-08-09T07:44:10.913-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='data visualization'/><title type='text'>JavaScript Pie charts</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/-pbT9NPhGfes/TkFHtQAnNuI/AAAAAAAAAuE/phm63T1jR3Y/s1600/article_pie.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 128px; height: 128px;" src="http://4.bp.blogspot.com/-pbT9NPhGfes/TkFHtQAnNuI/AAAAAAAAAuE/phm63T1jR3Y/s320/article_pie.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5638867051161794274" /&gt;&lt;/a&gt;&lt;br /&gt;Considering the "&lt;a href="http://filipivianna.blogspot.com/2009/08/warning-against-using-pie-charts.html"&gt;Warning against using pie charts&lt;/a&gt;", I'm needing to produce a couple of jquery/json ajax enabled piecharts within a simple webapp I'm designing.&lt;br /&gt;&lt;br /&gt;There are some sort of ready to use examples:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.artetics.com/Articles/using-various-javascript-libraries-to-create-pie-chart"&gt;Using various javascript libraries to create pie chart&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.jscharts.com/how-to-use-pie-charts"&gt;JavaScript charts | Pie charts&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-4126141384098128207?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/4126141384098128207/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2011/08/javascript-pie-charts.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/4126141384098128207'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/4126141384098128207'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2011/08/javascript-pie-charts.html' title='JavaScript Pie charts'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-pbT9NPhGfes/TkFHtQAnNuI/AAAAAAAAAuE/phm63T1jR3Y/s72-c/article_pie.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-3523138253602849613</id><published>2011-08-01T10:46:00.000-07:00</published><updated>2011-08-01T10:51:47.959-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hacks'/><title type='text'>dd over ssh</title><content type='html'>Just to make some backups:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 0); font-weight: bold;font-family:courier new;"&gt;&lt;br /&gt;&lt;b&gt;dd if=/dev/sda1 | gzip -c | ssh filipi@10.30.46.11 'dd of=/opt/backups/big/filipi/disk.image.gz'&lt;/b&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-3523138253602849613?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/3523138253602849613/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2011/08/dd-over-ssh.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/3523138253602849613'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/3523138253602849613'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2011/08/dd-over-ssh.html' title='dd over ssh'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-6620613890832483025</id><published>2011-08-01T05:57:00.000-07:00</published><updated>2011-08-02T06:02:57.620-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='Calendar'/><category scheme='http://www.blogger.com/atom/ns#' term='time management'/><title type='text'>Flash Calendar V2.0 to iCal</title><content type='html'>The organization where I work uses a Flash Calendar to show holidays, special day activities and other public calendar. The Flash Calendar loads its events from a XML file which, in our case, is keeped really up to date. So I was willing to view those events on my Google Calendar screen, to better plan my meatings and so on.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;After that, I had written a small wrapper to parse the XML and echo iCal output. It still not fully compatible with Flash Calendar XML, but for the uses of my organization is enougth.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I did put it on github.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="https://github.com/filipi/swfcalendar2iCalWrapper"&gt;https://github.com/filipi/swfcalendar2iCalWrapper&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-6620613890832483025?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/6620613890832483025/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2011/08/flash-calendar-v20-to-ical.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/6620613890832483025'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/6620613890832483025'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2011/08/flash-calendar-v20-to-ical.html' title='Flash Calendar V2.0 to iCal'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-6003382741402692273</id><published>2011-08-01T05:08:00.000-07:00</published><updated>2011-08-01T05:15:55.530-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web design'/><category scheme='http://www.blogger.com/atom/ns#' term='design'/><category scheme='http://www.blogger.com/atom/ns#' term='Tron'/><title type='text'>Tron CSS theme</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/-X2xwcACjyVM/TjaYRQXLiCI/AAAAAAAAAtg/_Onr2nVDBDg/s1600/Screenshot.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 130px;" src="http://1.bp.blogspot.com/-X2xwcACjyVM/TjaYRQXLiCI/AAAAAAAAAtg/_Onr2nVDBDg/s400/Screenshot.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5635859405918144546" /&gt;&lt;/a&gt;&lt;br /&gt;After two posts about the last Tron Legacy movie (&lt;a href="http://filipivianna.blogspot.com/2011/04/web-fonts.html"&gt;Web Fonts, emacs, Tron Legacy&lt;/a&gt; and &lt;a href="http://filipivianna.blogspot.com/2011/07/interface-design.html"&gt;Interface design&lt;/a&gt;), and trying to make a Tron theme for my web apps. I decided to google for a Tron CSS theme... Wasn't a surprise Google came with &lt;a href="http://oranlooney.com/sassy-tron/"&gt;Sassy Tron Theme&lt;/a&gt;, which includes the movie's touch keyboard entirely written with CSS.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-6003382741402692273?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/6003382741402692273/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2011/08/tron-css-theme.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/6003382741402692273'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/6003382741402692273'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2011/08/tron-css-theme.html' title='Tron CSS theme'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-X2xwcACjyVM/TjaYRQXLiCI/AAAAAAAAAtg/_Onr2nVDBDg/s72-c/Screenshot.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-7671100013120564854</id><published>2011-07-29T10:13:00.000-07:00</published><updated>2011-07-29T10:18:23.940-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='design'/><title type='text'>Design Stencils</title><content type='html'>We need to develop some interface sketch at one of our labs.&lt;br /&gt;So would be good to have a collection of gui stencils to draw it in inkscape.&lt;br /&gt;&lt;br /&gt;Yahoo has a beautiful stencils collection at: &lt;a href="http://developer.yahoo.com/ypatterns/about/stencils/"&gt;http://developer.yahoo.com/ypatterns/about/stencils/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And there is also the Axure at:&lt;br /&gt;&lt;a href="http://www.axure.com/widgetlibraries#Widget_Libraries"&gt;http://www.axure.com/widgetlibraries#Widget_Libraries &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-k8IWzdAb4D0/TjLq0G0MLsI/AAAAAAAAAtY/MAaP4qpCaYU/s1600/screen.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;" src="http://1.bp.blogspot.com/-k8IWzdAb4D0/TjLq0G0MLsI/AAAAAAAAAtY/MAaP4qpCaYU/s400/screen.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5634824264697523906" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-7671100013120564854?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/7671100013120564854/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2011/07/design-stencils.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/7671100013120564854'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/7671100013120564854'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2011/07/design-stencils.html' title='Design Stencils'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-k8IWzdAb4D0/TjLq0G0MLsI/AAAAAAAAAtY/MAaP4qpCaYU/s72-c/screen.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-6537903076736174230</id><published>2011-07-28T06:22:00.000-07:00</published><updated>2011-07-28T06:51:39.640-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C'/><category scheme='http://www.blogger.com/atom/ns#' term='Dev-Cpp'/><category scheme='http://www.blogger.com/atom/ns#' term='Codeblocks'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='cross-compiling'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>More on cross-compiling (Codeblocks targets)</title><content type='html'>Following two old posts (&lt;a href="http://filipivianna.blogspot.com/2009/11/cross-compiling-windows-applications.html"&gt;Cross-compiling windows applications under linux with wine and DevC++&lt;/a&gt; and &lt;a href="http://filipivianna.blogspot.com/2009/06/compiling-win32-binaries-on-linux.html"&gt;Compiling win32 binaries on linux&lt;/a&gt;) here another post on cross-compiling windows applications on linux.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.bloodshed.net/devcpp.html"&gt;DevC++&lt;/a&gt; has apparently been droped by its creators, as it has been years since its last release.&lt;/div&gt;&lt;div&gt;After that I am willing to migrate some projetcs  to &lt;a href="http://www.codeblocks.org/"&gt;Codeblocks&lt;/a&gt;. To not loose to much productivity, I am using a windows vitual machine (Virtual Box) to compile my windows projects, with DevC++, Codeblocks and Borland C++ Builder.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;But what I want most is to do everything from my emacs window. Until I can do it so, I am using Codeblocks which is a multiplatform IDE, running on Windows, Linux and Mac.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Codeblocks has a target option to its projects. One can set diferent target platforms for the same project. The same project can be opened on diferent Codeblocks versions, linux and windows for example, and, with the propoer target configuration, be compiled for windows and for linux even folowing different kind of dependencies at each platform.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://3.bp.blogspot.com/-V6eujx1E3T4/TjFo8dmiZ5I/AAAAAAAAAtQ/Ad__TGmMwUw/s1600/CodeblocksTargets.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 301px;" src="http://3.bp.blogspot.com/-V6eujx1E3T4/TjFo8dmiZ5I/AAAAAAAAAtQ/Ad__TGmMwUw/s400/CodeblocksTargets.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5634399996764907410" /&gt;&lt;/a&gt;Codeblocks wiki has a simple, but nice,&lt;a href="http://wiki.codeblocks.org/index.php?title=Cross_Compiling_wxWidgets_Applications_on_Linux"&gt; tutorial on cross compiling wxWidgets with codeblocks&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-6537903076736174230?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/6537903076736174230/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2011/07/more-on-cross-compiling-codeblocks.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/6537903076736174230'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/6537903076736174230'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2011/07/more-on-cross-compiling-codeblocks.html' title='More on cross-compiling (Codeblocks targets)'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-V6eujx1E3T4/TjFo8dmiZ5I/AAAAAAAAAtQ/Ad__TGmMwUw/s72-c/CodeblocksTargets.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-4814948381650525506</id><published>2011-07-27T12:16:00.000-07:00</published><updated>2011-07-27T12:23:56.359-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HPC'/><category scheme='http://www.blogger.com/atom/ns#' term='high performance computing'/><title type='text'>plaNETlab</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/-1HZl7-4xhcE/TjBkPX73yhI/AAAAAAAAAtA/9_gADf_y1XA/s1600/logo.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 27px;" src="http://3.bp.blogspot.com/-1HZl7-4xhcE/TjBkPX73yhI/AAAAAAAAAtA/9_gADf_y1XA/s200/logo.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5634113349126441490" /&gt;&lt;/a&gt;Working in multiple labs sometimes worth new infos on different knowledge  areas. As I am at &lt;a href="http://www.pucrs.br/ideia/lad"&gt;LAD&lt;/a&gt; every Wednesday and Friday at afternoon, people there always came with news on high performance computing. Today, one former student visiting the lab told me about the &lt;a href="http://www.planet-lab.org/"&gt;PlaNETLab&lt;/a&gt; project, wich is s a global research network that supports the development of new network services. There are hosts spread trough many countries as shown on their map.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-IHeIjxtDoxY/TjBlLak5C2I/AAAAAAAAAtI/p9zyuSq6pJs/s1600/World50.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 200px;" src="http://1.bp.blogspot.com/-IHeIjxtDoxY/TjBlLak5C2I/AAAAAAAAAtI/p9zyuSq6pJs/s400/World50.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5634114380627512162" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-4814948381650525506?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/4814948381650525506/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2011/07/planetlab.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/4814948381650525506'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/4814948381650525506'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2011/07/planetlab.html' title='plaNETlab'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-1HZl7-4xhcE/TjBkPX73yhI/AAAAAAAAAtA/9_gADf_y1XA/s72-c/logo.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-2537810858361494928</id><published>2011-07-27T06:55:00.000-07:00</published><updated>2011-07-27T07:08:33.747-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='design'/><title type='text'>Interface design</title><content type='html'>I am not a designer... much worst, I am an engineer. But I was always fascinated with beautyfull interfaces designed for movies. In speciall from last movies like Tron Legacy, Iron Man 2 and Avatar and one a little dated, LCARS from Star Trek.&lt;br /&gt;&lt;br /&gt;Googling a little on "lcars avatar tron iron man interface design", I've found some awesome links:&lt;br /&gt;&lt;br /&gt;&lt;div&gt;Interesting user interfaces from sci-fi movies &amp;amp; tv?&lt;br /&gt;&lt;a href="http://ux.stackexchange.com/questions/998/interesting-user-interfaces-from-sci-fi-movies-tv"&gt;http://ux.stackexchange.com/questions/998/interesting-user-interfaces-from-sci-fi-movies-tv&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Visual effects of Tron: Legacy and beyond – conversation with GMUNK&lt;br /&gt;&lt;a href="http://www.pushing-pixels.org/2011/06/01/visual-effects-of-tron-legacy-and-beyond-conversation-with-gmunk.html"&gt;http://www.pushing-pixels.org/2011/06/01/visual-effects-of-tron-legacy-and-beyond-conversation-with-gmunk.html&lt;/a&gt;&lt;br /&gt;TRON Board Room&lt;br /&gt;&lt;a href="http://work.gmunk.com/#1190825/TRON-Board-Room"&gt;http://work.gmunk.com/#1190825/TRON-Board-Room&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;Iron Man 2 Case Study&lt;br /&gt;&lt;a href="http://perceptionnyc.com/node/68"&gt;http://perceptionnyc.com/node/68&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.behance.net/jose_ortiz"&gt;http://www.behance.net/jose_ortiz&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.behance.net/gallery/IRON-MAN-II-Molecule-Discovery/573381"&gt;http://www.behance.net/gallery/IRON-MAN-II-Molecule-Discovery/573381&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.behance.net/gallery/IRON-MAN-II-Hologram-Armor-Suit-Development/570107"&gt;http://www.behance.net/gallery/IRON-MAN-II-Hologram-Armor-Suit-Development/570107&lt;/a&gt;&lt;br /&gt;&lt;a href="http://motionographer.com/features/prologue-iron-man-2/"&gt;http://motionographer.com/features/prologue-iron-man-2/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://prologue.com/projects/iron-man-2--2/groups/interfaces--3/galleries/interface-design--2"&gt;http://prologue.com/projects/iron-man-2--2/groups/interfaces--3/galleries/interface-design--2&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Sci-Fi Movie Interfaces: Why Transparent Screens Are Miserable to Use&lt;br /&gt;&lt;a href="http://www.switched.com/2011/03/16/sci-fi-movie-interfaces-why-transparent-screens-are-miserable-t/"&gt;http://www.switched.com/2011/03/16/sci-fi-movie-interfaces-why-transparent-screens-are-miserable-t/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;How Can the Division of the Screen Enhance our Experience of Dimensionality?&lt;br /&gt;&lt;a href="http://davidtatnell.wordpress.com/2010/12/01/research-paper/"&gt;http://davidtatnell.wordpress.com/2010/12/01/research-paper/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I hope to improve this blog design :-) and to put more content on desgin here.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-2537810858361494928?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/2537810858361494928/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2011/07/interface-design.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/2537810858361494928'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/2537810858361494928'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2011/07/interface-design.html' title='Interface design'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-7652359204966209724</id><published>2011-06-02T16:49:00.000-07:00</published><updated>2011-06-03T08:25:54.381-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='performance'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='web design'/><category scheme='http://www.blogger.com/atom/ns#' term='data visualization'/><category scheme='http://www.blogger.com/atom/ns#' term='webapps'/><title type='text'>Web page test</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/-Ah3fzW3sN10/TegibzH1oyI/AAAAAAAAArY/tUTheFRrscg/s1600/Screenshot.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 326px;" src="http://3.bp.blogspot.com/-Ah3fzW3sN10/TegibzH1oyI/AAAAAAAAArY/tUTheFRrscg/s400/Screenshot.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5613774796492219170" /&gt;&lt;/a&gt;&lt;div&gt;&lt;a href="http://use.perl.org/~fglock/journal/"&gt;An old friend&lt;/a&gt; which is working for an high volume web site just pass by for a short visit. Chatting a little about simple technicalities he gave me a tip about a web site which gives statistics about site performance.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.webpagetest.org/"&gt;http://www.webpagetest.org&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;They access your web site, from a location and web browser of your choice and give back to you lots of statistics about download time of your web site.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I have tested this blog, the results are at &lt;a href="http://www.webpagetest.org/result/110602_F6_R879/"&gt;http://www.webpagetest.org/result/110602_F6_R879/&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;And the IDEIA's web site restuls:&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.webpagetest.org/result/110603_73_RDWS/"&gt;http://www.webpagetest.org/result/110603_73_RDWS/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-7652359204966209724?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/7652359204966209724/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2011/06/web-page-test.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/7652359204966209724'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/7652359204966209724'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2011/06/web-page-test.html' title='Web page test'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-Ah3fzW3sN10/TegibzH1oyI/AAAAAAAAArY/tUTheFRrscg/s72-c/Screenshot.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-2263537995783648364</id><published>2011-05-10T09:46:00.000-07:00</published><updated>2011-08-01T13:09:16.828-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='digital video'/><category scheme='http://www.blogger.com/atom/ns#' term='hacks'/><title type='text'>Using ffmpeg to encode a high quality video</title><content type='html'>&lt;div&gt;I had acquired some high quality images and was willing to encode them into a video, but ffmpeg default settings was always outputting a ugly video which had 1280x720, but with lots of artifacts.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;After googling a little, I've found:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://stackoverflow.com/questions/3561715/using-ffmpeg-to-encode-a-high-quality-video"&gt;http://stackoverflow.com/questions/3561715/using-ffmpeg-to-encode-a-high-quality-video&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Digging a little more on the comments I've found:&lt;/div&gt;&lt;div&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-size: 14px; line-height: 18px; "&gt;&lt;p style="font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif; margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; clear: both; word-wrap: break-word; "&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p style="font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif; margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; clear: both; word-wrap: break-word; "&gt;You need to specify the -vb option to increase the video bitrate, otherwise you get the default which produces smaller videos but with more artifacts.&lt;/p&gt;&lt;p style="font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif; margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; clear: both; word-wrap: break-word; "&gt;Try something like this:&lt;/p&gt;&lt;p style="font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif; margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; clear: both; word-wrap: break-word; "&gt;&lt;code style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-right: 5px; padding-bottom: 1px; padding-left: 5px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(238, 238, 238); font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; background-position: initial initial; background-repeat: initial initial; "&gt;&lt;span class="Apple-style-span"&gt;&lt;span style="color: rgb(51, 204, 0); font-weight: bold;font-family:courier new;"&gt;&lt;br /&gt;&lt;b&gt;ffmpeg -r 25 -i %4d.png -vb 20M myvideo.mpg&lt;/b&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;/div&gt;So, the key was the -vb flag!&lt;br /&gt;&lt;span style="color: rgb(51, 204, 0); font-weight: bold;font-family:courier new;"&gt;&lt;br /&gt;&lt;b&gt;ffmpeg  -i Image-%d.jpg -s 1280x720 -aspect 16:9 -r 24 -vb 20M teste.mp4&lt;/b&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-2263537995783648364?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/2263537995783648364/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2011/05/using-ffmpeg-to-encode-high-quality.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/2263537995783648364'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/2263537995783648364'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2011/05/using-ffmpeg-to-encode-high-quality.html' title='Using ffmpeg to encode a high quality video'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-321000455425397802</id><published>2011-04-19T11:36:00.000-07:00</published><updated>2011-04-19T11:51:31.268-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='typeface'/><category scheme='http://www.blogger.com/atom/ns#' term='webapps'/><category scheme='http://www.blogger.com/atom/ns#' term='GNU Emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='design'/><category scheme='http://www.blogger.com/atom/ns#' term='webfonts'/><category scheme='http://www.blogger.com/atom/ns#' term='Tron'/><title type='text'>Web Fonts, emacs, Tron Legacy</title><content type='html'>&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 337px;" src="http://2.bp.blogspot.com/-spHEyoq1LXY/Ta3Y-ooAMAI/AAAAAAAAAqE/cqEBWTyWh08/s400/Screenshot-1.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5597368482460086274" /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 210px; height: 400px;" src="http://4.bp.blogspot.com/-nCn5tCov3D4/Ta3Y2u4OY2I/AAAAAAAAAp8/aFyovP5IlU8/s400/Screenshot.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5597368346699785058" /&gt;After read the &lt;a href="http://jtnimoy.net/"&gt;jtnimoy&lt;/a&gt; blog, about &lt;a href="http://jtnimoy.net/workviewer.php?q=178"&gt;how emacs got into Tron Legacy&lt;/a&gt;. I had noticed he had embedded a beautiful typeface on his site and I started to pay some attention on web fonts and the new Google service "&lt;a href="http://www.google.com/webfonts"&gt;Google Web Fonts&lt;/a&gt;".&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;They have a good collection of fonts available under an open source license.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-321000455425397802?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/321000455425397802/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2011/04/web-fonts.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/321000455425397802'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/321000455425397802'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2011/04/web-fonts.html' title='Web Fonts, emacs, Tron Legacy'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-spHEyoq1LXY/Ta3Y-ooAMAI/AAAAAAAAAqE/cqEBWTyWh08/s72-c/Screenshot-1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-1316320878079777182</id><published>2011-04-12T10:31:00.000-07:00</published><updated>2011-04-12T10:44:54.524-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='hacks'/><category scheme='http://www.blogger.com/atom/ns#' term='IE6 compatibility'/><title type='text'>Getting which browser access your site, from apache's logs</title><content type='html'>I am developing a small web based system to run inside my sector here where I work. I had spend some time to make it compatible with the majority of web browsers available. I'm still not using html 5 and rendering dynamic graphics to png to display on Internet Explorer browsers. Even the PNG transparency is fixed to a solid background color for better rendering on Internet Explorer 6, so I decided to check which browser my colleges  are using to access this small system.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;To do it so, I used the follow line on my server's console:&lt;/div&gt;&lt;br /&gt;&lt;tt&gt;cat /var/log/apache2/access.log | cut -d "\"" -f 6 | sort | uniq&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;Which had returned:&lt;br /&gt;&lt;tt&gt;&lt;br /&gt;GbPlugin&lt;br /&gt;Mozilla/4.0 (compatible; &lt;b&gt;MSIE 7.0&lt;/b&gt;; Windows NT 5.1; InfoPath.1; InfoPath.2)&lt;br /&gt;Mozilla/4.0 (compatible; &lt;b&gt;MSIE 7.0&lt;/b&gt;; Windows NT 5.1; InfoPath.2)&lt;br /&gt;Mozilla/4.0 (compatible; &lt;b&gt;MSIE 7.0&lt;/b&gt;; Windows NT 5.1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.2)&lt;br /&gt;Mozilla/4.0 (compatible; &lt;b&gt;MSIE 8.0&lt;/b&gt;; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2)&lt;br /&gt;Mozilla/4.0 (compatible; &lt;b&gt;MSIE 8.0&lt;/b&gt;; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2; OfficeLiveConnector.1.3; OfficeLivePatch.0.0)&lt;br /&gt;Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) &lt;b&gt;Chrome/10.0.648.204 Safari/534.16&lt;/b&gt;&lt;br /&gt;Mozilla/5.0 (X11; U; Linux x86_64; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Ubuntu/10.04 &lt;b&gt;Chromium/10.0.648.133 Chrome/10.0.648.133 Safari/534.16&lt;/b&gt;&lt;br /&gt;&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;So... nobody is using IE6. Good!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-1316320878079777182?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/1316320878079777182/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2011/04/getting-which-browser-access-your-site.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/1316320878079777182'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/1316320878079777182'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2011/04/getting-which-browser-access-your-site.html' title='Getting which browser access your site, from apache&apos;s logs'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-6664566269098905264</id><published>2011-04-12T04:40:00.000-07:00</published><updated>2011-04-12T04:48:53.042-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gnuplot'/><category scheme='http://www.blogger.com/atom/ns#' term='data visualization'/><title type='text'>How to create stacked area graphs with Gnuplot</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/-s_Ia5u0Y6mU/TaQ671ula8I/AAAAAAAAApo/QITjxeuJldM/s1600/with_filledcurves.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 171px;" src="http://3.bp.blogspot.com/-s_Ia5u0Y6mU/TaQ671ula8I/AAAAAAAAApo/QITjxeuJldM/s400/with_filledcurves.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5594661436810161090" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://freesoftware.zona-m.net/author/marco/"&gt;Marco&lt;/a&gt; has a nice tutorial showing how to make stacked area charts using Gnuplot.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://freesoftware.zona-m.net/how-to-create-stacked-area-graphs-with-gnuplot/"&gt;http://freesoftware.zona-m.net/how-to-create-stacked-area-graphs-with-gnuplot/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-6664566269098905264?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/6664566269098905264/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2011/04/how-to-create-stacked-area-graphs-with.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/6664566269098905264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/6664566269098905264'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2011/04/how-to-create-stacked-area-graphs-with.html' title='How to create stacked area graphs with Gnuplot'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-s_Ia5u0Y6mU/TaQ671ula8I/AAAAAAAAApo/QITjxeuJldM/s72-c/with_filledcurves.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-1539734286510074011</id><published>2011-04-07T12:06:00.000-07:00</published><updated>2011-04-07T12:12:05.410-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='data visualization'/><category scheme='http://www.blogger.com/atom/ns#' term='jquery'/><category scheme='http://www.blogger.com/atom/ns#' term='mindmapping'/><title type='text'>jquery plugin for mind mapping</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/-IDeX1FMrbpA/TZ4MZnB2xdI/AAAAAAAAApg/V-1_ghcZAx8/s1600/Screenshot.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 304px;" src="http://1.bp.blogspot.com/-IDeX1FMrbpA/TZ4MZnB2xdI/AAAAAAAAApg/V-1_ghcZAx8/s400/Screenshot.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5592921421353764306" /&gt;&lt;/a&gt;&lt;br /&gt;Looking for some jquery plugin for mind mapping, I've reached a stakoverflow conversation:&lt;br /&gt;&lt;a href="http://stackoverflow.com/questions/1374149/jquery-mind-map-think-map"&gt;http://stackoverflow.com/questions/1374149/jquery-mind-map-think-map&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And there is a cool demo here re-written with jquery:&lt;br /&gt;&lt;a href="https://github.com/kennethkufluk/js-mindmap"&gt;https://github.com/kennethkufluk/js-mindmap&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Last version (pure javascript)&lt;br /&gt;&lt;a href="http://kenneth.kufluk.com/google/js-mindmap/"&gt;http://kenneth.kufluk.com/google/js-mindmap/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And another tool, also interesting which worth a future review:&lt;br /&gt;&lt;a href="http://thejit.org/demos/"&gt;http://thejit.org/demos/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-1539734286510074011?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/1539734286510074011/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2011/04/jquery-plugin-for-mind-mapping.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/1539734286510074011'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/1539734286510074011'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2011/04/jquery-plugin-for-mind-mapping.html' title='jquery plugin for mind mapping'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-IDeX1FMrbpA/TZ4MZnB2xdI/AAAAAAAAApg/V-1_ghcZAx8/s72-c/Screenshot.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-1600297789028603388</id><published>2011-04-07T07:51:00.000-07:00</published><updated>2011-04-13T05:59:15.996-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='network'/><category scheme='http://www.blogger.com/atom/ns#' term='data visualization'/><title type='text'>RRDtool, MRTG, Tobi Oetiker</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/-axmKmdBxR4A/TZ3QwWDJ7yI/AAAAAAAAApY/DrL5hqFLenM/s1600/mmh11_er.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 166px; height: 200px;" src="http://2.bp.blogspot.com/-axmKmdBxR4A/TZ3QwWDJ7yI/AAAAAAAAApY/DrL5hqFLenM/s200/mmh11_er.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5592855841235136290" /&gt;&lt;/a&gt;&lt;div&gt;&lt;a href="http://enthused.oetiker.ch/"&gt;Tobi Oetiker&lt;/a&gt; has created two good tools for visualizations, th &lt;a href="http://oss.oetiker.ch/mrtg/"&gt;MRTG&lt;/a&gt; and the &lt;a href="http://www.mrtg.org/rrdtool"&gt;RRDtool&lt;/a&gt;. Both realy worth attention for their performance and in special the RRDtool for its versatility.&lt;/div&gt;&lt;div&gt;&lt;a href="http://2.bp.blogspot.com/-gPeTsnKjkPw/TZ3QwEz6c7I/AAAAAAAAApQ/mivWf8wolPA/s1600/mmh11_pi.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 166px; height: 200px;" src="http://2.bp.blogspot.com/-gPeTsnKjkPw/TZ3QwEz6c7I/AAAAAAAAApQ/mivWf8wolPA/s200/mmh11_pi.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5592855836607804338" /&gt;&lt;/a&gt;&lt;div&gt;&lt;a href="http://2.bp.blogspot.com/-gPeTsnKjkPw/TZ3QwEz6c7I/AAAAAAAAApQ/mivWf8wolPA/s1600/mmh11_pi.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;/a&gt;&lt;span class="Apple-style-span"&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-1600297789028603388?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/1600297789028603388/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2011/04/rrdtool-mrtg-tobi-oetiker.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/1600297789028603388'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/1600297789028603388'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2011/04/rrdtool-mrtg-tobi-oetiker.html' title='RRDtool, MRTG, Tobi Oetiker'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-axmKmdBxR4A/TZ3QwWDJ7yI/AAAAAAAAApY/DrL5hqFLenM/s72-c/mmh11_er.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-5280691364381658085</id><published>2011-04-06T06:34:00.001-07:00</published><updated>2011-04-06T06:43:11.647-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='less ungly hacks'/><category scheme='http://www.blogger.com/atom/ns#' term='verbs'/><category scheme='http://www.blogger.com/atom/ns#' term='inkscape'/><category scheme='http://www.blogger.com/atom/ns#' term='hacks'/><title type='text'>Changing SVG with inkscape from command line</title><content type='html'>One can do more than simple convert vector to raster drawings with inkscape from the command line. In fact, there are other tools if the goal is just converting files, as rsvg and convert.&lt;br /&gt;&lt;br /&gt;With inkscape, is also possible to change the drawing, using &lt;b&gt;verbs&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;From the&lt;a href="http://inkscape.modevia.com/inkscape-man.html"&gt; inkscape man page&lt;/a&gt;, we can find the folowing example:&lt;br /&gt;&lt;blockquote&gt;Duplicate the object with id="path1555", rotate the duplicate 90 degrees, save SVG, and quit:&lt;br /&gt;&lt;tt&gt;&lt;b&gt;inkscape filename.svg --select=path1555 --verb=EditDuplicate --verb=ObjectRotate90 --verb=FileSave --verb=FileClose&lt;/b&gt;&lt;/tt&gt;&lt;/blockquote&gt;Googling a little on &lt;a href="http://www.google.com/#hl=en&amp;amp;biw=1280&amp;amp;bih=867&amp;amp;q=inkscape+%22--verb%22&amp;amp;aq=f&amp;amp;aqi=&amp;amp;aql=&amp;amp;oq=&amp;amp;fp=bbe42f06e077aa25"&gt;inkscape "--verb"&lt;/a&gt;, I did find &lt;a href="http://tavmjong.free.fr/INKSCAPE/MANUAL/html/CommandLine.html"&gt;more examples&lt;/a&gt;, a &lt;a href="http://how-to.wikia.com/wiki/How_to_use_Inkscape_in_commandline_mode/List_of_verbs"&gt;list with the available verbs&lt;/a&gt; and &lt;a href="http://wiki.inkscape.org/wiki/index.php/AddingInterfaceVerbs"&gt;details from the inkscape wiki&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-5280691364381658085?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/5280691364381658085/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2011/04/changing-svg-with-inkscape-from-command.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/5280691364381658085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/5280691364381658085'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2011/04/changing-svg-with-inkscape-from-command.html' title='Changing SVG with inkscape from command line'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-6369993294863435516</id><published>2011-03-28T05:26:00.000-07:00</published><updated>2011-03-28T05:32:35.347-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gnuplot'/><category scheme='http://www.blogger.com/atom/ns#' term='Edward Tufte'/><category scheme='http://www.blogger.com/atom/ns#' term='data visualization'/><title type='text'>On Tuftefying gnuplot</title><content type='html'>&lt;div&gt;&lt;a href="http://www.inf.ufrgs.br/~mrpritt/doku.php"&gt;Marcus Ritt&lt;/a&gt; has a nice tutorial on how to make gunplot graphics a little more Tufte.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.inf.ufrgs.br/~mrpritt/doku.php?id=tufte"&gt;http://www.inf.ufrgs.br/~mrpritt/doku.php?id=tufte&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://2.bp.blogspot.com/-v8M4EpojBPA/TZB-8beCyCI/AAAAAAAAAo0/FK05-cS2Y_I/s1600/4aded6f1e3366ff8d5163fdbf35e6c7d.media.480x360.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://2.bp.blogspot.com/-v8M4EpojBPA/TZB-8beCyCI/AAAAAAAAAo0/FK05-cS2Y_I/s400/4aded6f1e3366ff8d5163fdbf35e6c7d.media.480x360.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5589106714197805090" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;And &lt;span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-size: small; "&gt;&lt;a href="http://technolope.livejournal.com/"&gt;Technolope&lt;/a&gt; also has some &lt;a href="http://community.livejournal.com/amitufteornot/281.html"&gt;considerations&lt;/a&gt; on Tufte and gnuplot.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-6369993294863435516?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/6369993294863435516/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2011/03/on-tuftefying-gnuplot.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/6369993294863435516'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/6369993294863435516'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2011/03/on-tuftefying-gnuplot.html' title='On Tuftefying gnuplot'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-v8M4EpojBPA/TZB-8beCyCI/AAAAAAAAAo0/FK05-cS2Y_I/s72-c/4aded6f1e3366ff8d5163fdbf35e6c7d.media.480x360.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-1975254871007904542</id><published>2011-03-20T08:52:00.000-07:00</published><updated>2011-03-20T10:33:28.774-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='Edward Tufte'/><category scheme='http://www.blogger.com/atom/ns#' term='data visualization'/><category scheme='http://www.blogger.com/atom/ns#' term='E.T.'/><category scheme='http://www.blogger.com/atom/ns#' term='LaTeX'/><title type='text'>Latex following Edward Tufte</title><content type='html'>I was putting some &lt;a href="http://en.wikipedia.org/wiki/Sparkline"&gt;sparklines&lt;/a&gt;  at an web app I am designing. I am using the &lt;a href="http://www.sparkline.org/"&gt;"Sparkline PHP Graphing Library"&lt;/a&gt; which is a well written PHP library for generating the famous sparklines created by &lt;a href="http://en.wikipedia.org/wiki/Edward_Tufte"&gt;Edward Tufte&lt;/a&gt;. So I was wondering which another advice I could pick up from Master Tufte... I went &lt;i&gt;googling&lt;/i&gt; arround for Edward Tufte and a bunch of links came up but, the one which most called my attention was a &lt;a href="http://code.google.com/p/tufte-latex/"&gt;Tufte-inspired LaTeX class&lt;/a&gt; for producing handouts, papers, and books. The samples provided by the web site are really well designed.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-1975254871007904542?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/1975254871007904542/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2011/03/latex-following-edward-tufte.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/1975254871007904542'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/1975254871007904542'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2011/03/latex-following-edward-tufte.html' title='Latex following Edward Tufte'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-8110236699339239196</id><published>2011-03-19T16:03:00.000-07:00</published><updated>2011-03-19T17:12:02.602-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='data visualization'/><title type='text'>Javascript, visualization and statistics (Protovis and Jstat)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-Jjxi0TZ7UgE/TYU3wzmOOOI/AAAAAAAAAos/QCDVPNbqqlQ/s1600/force-sm.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 180px;" src="http://1.bp.blogspot.com/-Jjxi0TZ7UgE/TYU3wzmOOOI/AAAAAAAAAos/QCDVPNbqqlQ/s320/force-sm.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5585932224446740706" /&gt;&lt;/a&gt;Last week I got faced with two very interesting libraries.&lt;div&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: 24px; font-weight: bold; "&gt;&lt;a href="http://vis.stanford.edu/protovis/"&gt;Protovis&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;Protovis uses JavaScript and SVG for web-native visualizations. Protovis composes custom views of data with simple marks such as bars and dots. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-GgBF6gagRbs/TYU3wgFSEOI/AAAAAAAAAok/J2V7XS67P70/s1600/cars-sm.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 180px;" src="http://4.bp.blogspot.com/-GgBF6gagRbs/TYU3wgFSEOI/AAAAAAAAAok/J2V7XS67P70/s320/cars-sm.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5585932219208306914" /&gt;&lt;/a&gt;Unlike low-level graphics libraries that quickly become tedious for visualization, Protovis defines marks through dynamic properties that encode data, allowing inheritance, scales and layouts to simplify construction.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: 24px; font-weight: bold; "&gt;&lt;a href="http://www.jstat.org/"&gt;jStat&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;jStat is a statistical library written in JavaScript that allows you to perform advanced statistical operations without the need of a dedicated statistical language (i.e. MATLAB or R). &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-pDiEXwBRgCM/TYU3wvALuFI/AAAAAAAAAoc/o5ei2l-Dlxg/s1600/bar-chart.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 150px; height: 150px;" src="http://1.bp.blogspot.com/-pDiEXwBRgCM/TYU3wvALuFI/AAAAAAAAAoc/o5ei2l-Dlxg/s320/bar-chart.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5585932223213451346" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;Read Write Web has also an article about other &lt;a href="http://www.readwriteweb.com/cloud/2011/03/a-sample-of-20-javascript-libr.php?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed:+readwriteweb+(ReadWriteWeb)&amp;amp;utm_content=Google+Reader"&gt;20 JavaScript Libraries for Data Visualization&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-8110236699339239196?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/8110236699339239196/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2011/03/javascript-visualization-and-statistics.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/8110236699339239196'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/8110236699339239196'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2011/03/javascript-visualization-and-statistics.html' title='Javascript, visualization and statistics (Protovis and Jstat)'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-Jjxi0TZ7UgE/TYU3wzmOOOI/AAAAAAAAAos/QCDVPNbqqlQ/s72-c/force-sm.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-5166988426111383198</id><published>2011-03-14T11:05:00.000-07:00</published><updated>2011-03-14T11:06:21.924-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TED'/><title type='text'>Let’s use video to reinvent education: Salman Khan on TED.com</title><content type='html'>&lt;object width="446" height="326"&gt;&lt;param name="movie" value="http://video.ted.com/assets/player/swf/EmbedPlayer.swf"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;param name="allowScriptAccess" value="always"/&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;param name="bgColor" value="#ffffff"&gt;&lt;/param&gt; &lt;param name="flashvars" value="vu=http://video.ted.com/talks/dynamic/SalmanKhan_2011-medium.flv&amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/SalmanKhan-2011.embed_thumbnail.jpg&amp;vw=432&amp;vh=240&amp;ap=0&amp;ti=1090&amp;introDuration=15330&amp;adDuration=4000&amp;postAdDuration=830&amp;adKeys=talk=salman_khan_let_s_use_video_to_reinvent_education;year=2011;theme=a_taste_of_ted2011;theme=new_on_ted_com;event=TED2011;&amp;preAdTag=tconf.ted/embed;tile=1;sz=512x288;" /&gt;&lt;embed src="http://video.ted.com/assets/player/swf/EmbedPlayer.swf" pluginspace="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent" bgColor="#ffffff" width="446" height="326" allowFullScreen="true" allowScriptAccess="always" flashvars="vu=http://video.ted.com/talks/dynamic/SalmanKhan_2011-medium.flv&amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/SalmanKhan-2011.embed_thumbnail.jpg&amp;vw=432&amp;vh=240&amp;ap=0&amp;ti=1090&amp;introDuration=15330&amp;adDuration=4000&amp;postAdDuration=830&amp;adKeys=talk=salman_khan_let_s_use_video_to_reinvent_education;year=2011;theme=a_taste_of_ted2011;theme=new_on_ted_com;event=TED2011;"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-5166988426111383198?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/5166988426111383198/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2011/03/lets-use-video-to-reinvent-education.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/5166988426111383198'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/5166988426111383198'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2011/03/lets-use-video-to-reinvent-education.html' title='Let’s use video to reinvent education: Salman Khan on TED.com'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-753821133491549847</id><published>2011-02-08T05:19:00.000-08:00</published><updated>2011-02-08T05:20:06.118-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hardware'/><title type='text'>Acer Aspire One BIOS Recovery</title><content type='html'>From (&lt;a href="http://macles.blogspot.com/2008/08/acer-aspire-one-bios-recovery.html"&gt;http://macles.blogspot.com/2008/08/acer-aspire-one-bios-recovery.html&lt;/a&gt;)&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: sans-serif; font-size: medium; border-collapse: collapse; color: rgb(37, 37, 37); "&gt;&lt;div class="post" style="font-size: 13px; line-height: 16px; margin-left: 10px; width: 730px; "&gt;The Acer Aspire One has a built-in BIOS recovery routine, which can boot into a minimal BIOS environment via a special boot block to re-flash the BIOS, even if the system does not pass POST and does otherwise not boot anymore. This procedure is also known as Crisis Disk.&lt;br /&gt;&lt;br /&gt;First format an USB flash drive with FAT. It does not need to be bootable.&lt;br /&gt;&lt;br /&gt;Download the &lt;a href="http://macles.blogspot.com/p/acer-aspire-one-bios.html" style="color: rgb(47, 90, 161); text-decoration: none; "&gt;latest&lt;/a&gt; BIOS, and extract all files. Put both FLASHIT.EXE and the BIOS file with FD suffix in the root directory of the flash drive. The files must not be in a folder. Rename the BIOS file to &lt;b&gt;ZG5IA32.FD&lt;/b&gt; before proceeding. It only works with this exact filename.&lt;br /&gt;&lt;br /&gt;Turn the AA1 off, and verify both battery and AC adapter are plugged in.&lt;br /&gt;&lt;br /&gt;Press &lt;b&gt;Fn&lt;/b&gt; and &lt;b&gt;Esc&lt;/b&gt; simultaneously, keep them pressed and press the power button. Release Fn+Esc after a few seconds. The power button starts blinking at this point. Press it once. The AA1 will now access the files on the flash drive and initiate flashing the BIOS. After a while the power button stops blinking, and the AA1 reboots by itself. Wait patiently.&lt;br /&gt;&lt;br /&gt;If it doesn't reboot, but keeps blinking, wait at least a few minutes before turning it off, and try again.&lt;/div&gt;&lt;table class="cmt" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 13px; line-height: 13px; margin-bottom: 27px; margin-left: 10px; margin-top: 16px; width: 730px; "&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;/td&gt;&lt;td class="label" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: right; "&gt;&lt;a href="http://macles.blogspot.com/search/label/BIOS" style="color: rgb(47, 90, 161); text-decoration: none; "&gt;BIOS&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&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/6183884398183715183-753821133491549847?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/753821133491549847/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2011/02/acer-aspire-one-bios-recovery.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/753821133491549847'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/753821133491549847'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2011/02/acer-aspire-one-bios-recovery.html' title='Acer Aspire One BIOS Recovery'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-7334847169355662903</id><published>2011-01-18T02:35:00.000-08:00</published><updated>2011-01-18T02:35:19.846-08:00</updated><title type='text'>Open Source Your Rave with OpenLase</title><content type='html'>&lt;a href="http://feedproxy.google.com/~r/hackaday/LgoM/~3/VQXb-g7PiJM/"&gt;Open Source Your Rave with OpenLase&lt;/a&gt;: "&lt;p&gt;&lt;img title="OpenLase" src="http://hackadaycom.files.wordpress.com/2011/01/screenshot-1.png?w=470&amp;amp;h=257" alt="" width="470" height="257" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Without a doubt, Laser Projectors are a great way to project large, bright images on any surface you can imagine. With a high enough quality projector and software package, excellent images and visualizations can be displayed in real time. [marcan], of the openkinect project, decided that there were not any open source laser projection packages out there that suited his wants or needs, so logically he decided to &lt;a href="http://marcansoft.com/blog/2010/11/openlase-open-realtime-laser-graphics/"&gt;write his own&lt;/a&gt;. Because &lt;a href="http://hackaday.com/2010/08/22/another-home-built-laser-projector/"&gt;home-made&lt;/a&gt; laser projectors often use the audio out port of a PC, building the framework on top of the JACK unix sound software to control the hardware made perfect sense. OpenLase includes plugins for audio visualizations, 2D and 3D gaming, as well as converting video streams into laser format in real time.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Be sure to check out the &lt;a href="http://events.ccc.de/congress/2010/wiki/Welcome"&gt;Chaos Communication Congress&lt;/a&gt; presentation [marcan] gave after the break, as well as all the extra demo videos on his website.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-7334847169355662903?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://feedproxy.google.com/~r/hackaday/LgoM/~3/VQXb-g7PiJM/' title='Open Source Your Rave with OpenLase'/><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/7334847169355662903/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2011/01/open-source-your-rave-with-openlase.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/7334847169355662903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/7334847169355662903'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2011/01/open-source-your-rave-with-openlase.html' title='Open Source Your Rave with OpenLase'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-6119893595634945283</id><published>2011-01-14T03:01:00.000-08:00</published><updated>2011-01-17T09:59:24.684-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='less ungly hacks'/><category scheme='http://www.blogger.com/atom/ns#' term='hacks'/><category scheme='http://www.blogger.com/atom/ns#' term='ugly hacks'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='GNU Emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>How to fix Emacs 23 Huge ungly font on Lucid</title><content type='html'>Since I've upgraded to Ubuntu 10.04 (Lucid) Emacs 23 now has beautiful antialiased fonts, but I like the old bitmaped X11 "fixed" font. I do use a .Xresources file to setup emacs default font.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This is my emacs section at .Xresources&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span"&gt;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span"&gt;! emacs, xemacs&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span"&gt;!emacs*Background: DarkSlateGray&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span"&gt;emacs*Background: Black&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span"&gt;!!!emacs*Foreground: Wheat&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span"&gt;emacs*Foreground: White&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span"&gt;emacs*pointerColor: Red&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span"&gt;emacs*cursorColor: Red&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span"&gt;emacs*bitmapIcon: on&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span"&gt;emacs*font: fixed&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span"&gt;!!!emacs*font: 9x15bold&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span"&gt;!!emacs*geometry: 100x40+20+20&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;But for my surprise using this setup emacs launches with a ugly huge serif font. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I tried to launch emacs with -fn fixed but the ugly font did still there.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So I checked at my /etc/X11/fonts/misc/xfonts-base.alias, which is the file where fixed font is declared. And it was there:&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span"&gt;fixed        -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-1&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;And which had called my attention, was that 6x13 font alias had the same properties as the fixed:&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;b&gt;6x13         -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-1&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So launching emacs with -fn 6x13 gave me back the look and feel I wanted. After that I changed my .Xresources to use 6x13 instead of fixed. And it is done.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I don't know what was done with emacs but this little work around fix the Huge Ugly font issue which I had see while I was googling arround on that subject.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-6119893595634945283?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/6119893595634945283/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2011/01/how-to-fix-emacs-23-huge-ungly-font-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/6119893595634945283'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/6119893595634945283'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2011/01/how-to-fix-emacs-23-huge-ungly-font-on.html' title='How to fix Emacs 23 Huge ungly font on Lucid'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-8837807321903489577</id><published>2011-01-12T04:07:00.000-08:00</published><updated>2011-01-12T05:01:44.300-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='less ungly hacks'/><category scheme='http://www.blogger.com/atom/ns#' term='hacks'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='gdm'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Extended desktop at the login screen in ubuntu</title><content type='html'>I have an ATI Raden dual head at my desktop here at my job. I like to use &lt;a href="http://windowmaker.org/"&gt;WindowMaker &lt;/a&gt;as my window manager of choice, but since I had upgraded to Ubuntu 10.04 Lucid, WindowMaker is showing some issues regarding the dual monitor setup. WindowMaker follows the login screen (GDM) monitor setup and when I launch a gnome-session, things get messed up.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The first solution which came to my mind is to make gdm aware of the two monitors.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;"Googling" &lt;/i&gt;around I've found two usefull links:&lt;/div&gt;&lt;div&gt;&lt;a href="https://help.ubuntu.com/community/MultiseatOneCard"&gt;https://help.ubuntu.com/community/MultiseatOneCard&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://ubuntuforums.org/showthread.php?t=1611704"&gt;http://ubuntuforums.org/showthread.php?t=1611704&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Following the first section of the first link ("Extended desktop through both monitors") I've wrote my new xorg.conf file:&lt;/div&gt;&lt;pre&gt;Section "Monitor"&lt;br /&gt; Identifier      "monitor0"&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;Section "Monitor"&lt;br /&gt; Identifier      "monitor1"&lt;br /&gt; Option          "RightOf" "monitor0"&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;Section "Device"&lt;br /&gt; Identifier      "card0"&lt;br /&gt; Driver          "radeon"                     ### EDIT ###&lt;br /&gt; Option          "Monitor-DVI-0" "monitor0"   ### EDIT ###&lt;br /&gt; Option          "Monitor-DVI-1" "monitor1"   ### EDIT ###&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;Section "Screen"&lt;br /&gt; Identifier      "screen0"&lt;br /&gt; Device          "card0"&lt;br /&gt; Monitor         "monitor0"&lt;br /&gt; DefaultDepth    24&lt;br /&gt; SubSection "Display"&lt;br /&gt;         Depth   24&lt;br /&gt;         Virtual 1280 1024                   ### EDIT ###&lt;br /&gt; EndSubSection&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;Section "ServerLayout"&lt;br /&gt; Identifier      "default"&lt;br /&gt; Screen          "screen0"&lt;br /&gt;EndSection&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;And everything worked just fine.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-8837807321903489577?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/8837807321903489577/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2011/01/extended-desktop-at-login-screen-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/8837807321903489577'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/8837807321903489577'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2011/01/extended-desktop-at-login-screen-in.html' title='Extended desktop at the login screen in ubuntu'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-7528053627814785427</id><published>2010-10-13T09:47:00.000-07:00</published><updated>2010-10-13T09:53:50.462-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='voice picking'/><title type='text'>SVox PicoTTS (from Android) is available on Ubuntu 10.10</title><content type='html'>Another repost. This pos, form &lt;a href="http://acassis.wordpress.com/2010/10/13/svox-picotts-on-ubuntu-10-10/"&gt;acassis&lt;/a&gt; is special for my quest to Voice Picking with freesoftware. More resources on &lt;a href="http://www.svox.com/News-Items-SVOX-brings-speech-solutions-to-Android.aspx"&gt;SVox&lt;/a&gt; can be found at Open Hand Set Alliance &lt;span id="lblBodyText"&gt;&lt;a href="http://www.openhandsetalliance.com/"&gt;www.openhandsetalliance.com&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://acassis.wordpress.com/2010/10/13/svox-picotts-on-ubuntu-10-10/"&gt;acassis&lt;/a&gt;: "&lt;p&gt;Finally SVox PicoTTS (from Android) is available on Ubuntu 10.10.&lt;/p&gt;&lt;p&gt;To install it execute:&lt;/p&gt;&lt;pre&gt;$ sudo apt-get install libttspico-utils&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;To test execute it:&lt;/p&gt;&lt;pre&gt;$ pico2wave -w /tmp/test.wav 'Hello World'&lt;br /&gt;$ aplay /tmp/test.wav&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/6183884398183715183-7528053627814785427?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/7528053627814785427/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2010/10/svox-picotts-from-android-is-available.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/7528053627814785427'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/7528053627814785427'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2010/10/svox-picotts-from-android-is-available.html' title='SVox PicoTTS (from Android) is available on Ubuntu 10.10'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-7521031822569726469</id><published>2010-09-28T19:11:00.000-07:00</published><updated>2010-09-28T19:12:28.527-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Computer Vision'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenCV'/><title type='text'>Transparent image overlays in OpenCV</title><content type='html'>&lt;a href="http://www.aishack.in/2010/07/transparent-image-overlays-in-opencv/"&gt;http://www.aishack.in/2010/07/transparent-image-overlays-in-opencv/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-7521031822569726469?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/7521031822569726469/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2010/09/transparent-image-overlays-in-opencv.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/7521031822569726469'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/7521031822569726469'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2010/09/transparent-image-overlays-in-opencv.html' title='Transparent image overlays in OpenCV'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-5010918254971868429</id><published>2010-09-28T05:59:00.000-07:00</published><updated>2010-09-28T05:59:55.090-07:00</updated><title type='text'>GPU Processing and Password Cracking</title><content type='html'>&lt;a href="http://hackaday.com/2010/09/27/gpu-processing-and-password-cracking/"&gt;GPU Processing and Password Cracking&lt;/a&gt;: "&lt;p&gt;&lt;img title="nvidia-geforce-480" src="http://hackadaycom.files.wordpress.com/2010/09/nvidia-geforce-gtx-480-graphics-card-financed1.jpg?w=470&amp;amp;h=325" alt="" width="470" height="325" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Recently, research students at Georgia Tech &lt;a href="http://www.gtri.gatech.edu/casestudy/Teraflop-Troubles-Power-Graphics-Processing-Units-GPUs-Password-Security-System"&gt;released a report&lt;/a&gt; outlining the dangers that GPUs pose to the current state of password security. There are &lt;a href="http://hackaday.com/2010/09/09/password-exploitation-classes-online/"&gt;a number of ways&lt;/a&gt; to crack a password, all with their different pros and cons, but when it comes down to it, the limiting factor in all of these methods is processing complexity. The more operations that need to be run, the longer it takes, and the less useful each tool is for cracking passwords. In the past, most recommendations for password security revolved around making sure your password wasn’t something predictable, such as “password” or your birthday. With today’s (and tomorrows) GPUs, this may no longer be enough.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Although the article never mentions them by name, the newest tools in password cracking are based around two tools, &lt;a href="http://developer.nvidia.com/object/gpucomputing.html"&gt;nVidia’s CUDA&lt;/a&gt; and &lt;a href="http://www.amd.com/US/PRODUCTS/TECHNOLOGIES/STREAM-TECHNOLOGY/Pages/stream-technology.aspx"&gt;AMD’s Stream&lt;/a&gt; SDKs. These tools allow programs to be written in C that can be broken up and utilize the parallel nature of the hardware that is usually optimized for graphics. GPUs are much better at large-scale mathematical operations than CPUs because of this parallel layout. Chances are, if you have a &lt;a href="http://www.nvidia.com/object/cuda_gpus.html"&gt;somewhat recent&lt;/a&gt; graphics card, it is probably compatible with either CUDA or Stream, and if you already know C, you have all the tools necessary to get started.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The lesson to learn here, the longer or more complex a password is, generally the safer it is. Because of this, a number of tools, both &lt;a href="http://www.google.com/url?sa=t&amp;amp;source=web&amp;amp;cd=1&amp;amp;ved=0CBgQFjAA&amp;amp;url=http%3A%2F%2Fkeepass.info%2F&amp;amp;rct=j&amp;amp;q=Keepass&amp;amp;ei=x9agTJTVJ4bCnAeSh8iwDQ&amp;amp;usg=AFQjCNFjJ7S8ZplrJAHDP8XPoAjZuv6-EA&amp;amp;sig2=TZMrsVxZo8U66KTlN6jaJw&amp;amp;cad=rja"&gt;software&lt;/a&gt; and &lt;a href="http://hackaday.com/2010/09/26/portable-password-vault/"&gt;hardware,&lt;/a&gt; may become more and more popular, or necessary, to accommodate this need.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt; &lt;a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/28644/"&gt;&lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/28644/" /&gt;&lt;/a&gt; &lt;a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/28644/"&gt;&lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/28644/" /&gt;&lt;/a&gt; &lt;a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/28644/"&gt;&lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/28644/" /&gt;&lt;/a&gt; &lt;a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/28644/"&gt;&lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/28644/" /&gt;&lt;/a&gt; &lt;a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/28644/"&gt;&lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/28644/" /&gt;&lt;/a&gt; &lt;a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/28644/"&gt;&lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/28644/" /&gt;&lt;/a&gt; &lt;a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/28644/"&gt;&lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/28644/" /&gt;&lt;/a&gt; &lt;img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;amp;blog=4779443&amp;amp;post=28644&amp;amp;subd=hackadaycom&amp;amp;ref=&amp;amp;feed=1" width="1" height="1" /&gt;"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-5010918254971868429?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://hackaday.com/2010/09/27/gpu-processing-and-password-cracking/' title='GPU Processing and Password Cracking'/><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/5010918254971868429/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2010/09/gpu-processing-and-password-cracking.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/5010918254971868429'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/5010918254971868429'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2010/09/gpu-processing-and-password-cracking.html' title='GPU Processing and Password Cracking'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-1987523841556472522</id><published>2010-09-25T18:14:00.000-07:00</published><updated>2010-09-25T18:14:52.101-07:00</updated><title type='text'>Open source substituto para o LabView</title><content type='html'>&lt;a href="http://acassis.wordpress.com/2010/09/25/open-source-substituto-para-o-labview/"&gt;Open source substituto para o LabView&lt;/a&gt;: "&lt;p&gt;Ha algum tempo recebemos na empresa onde trabalho a visita de um representante da National Instruments que demonstrou varias placas e o LabView para utilizar como ferramentas para diagnostico e testes de placas na nossa linha de producao.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Na epoca eu comecei a imaginar algumas solucoes open source para fazer as mesmas funcoes da solucao apresentada pela NI, uma vez que a nossa empresa preferiu nao comprar a solucao deles.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Hoje resolvi documentar as quais software e placa eu utilizarei para implementar uma solucao equivalte ao da NI:&lt;br /&gt;&lt;br /&gt;- Scilab: &lt;a href="http://www.scilab.org"&gt;http://www.scilab.org&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;- Comedi: &lt;a href="http://www.comedi.org"&gt;http://www.comedi.org&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;- USBDUX: &lt;a href="http://www.linux-usb-daq.co.uk/prod2_usbdux/"&gt;http://www.linux-usb-daq.co.uk/prod2_usbdux/&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt; &lt;a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/acassis.wordpress.com/1824/"&gt;&lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/acassis.wordpress.com/1824/" /&gt;&lt;/a&gt; &lt;a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/acassis.wordpress.com/1824/"&gt;&lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/acassis.wordpress.com/1824/" /&gt;&lt;/a&gt; &lt;a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/acassis.wordpress.com/1824/"&gt;&lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/acassis.wordpress.com/1824/" /&gt;&lt;/a&gt; &lt;a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/acassis.wordpress.com/1824/"&gt;&lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/acassis.wordpress.com/1824/" /&gt;&lt;/a&gt; &lt;a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/acassis.wordpress.com/1824/"&gt;&lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/acassis.wordpress.com/1824/" /&gt;&lt;/a&gt; &lt;a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/acassis.wordpress.com/1824/"&gt;&lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/acassis.wordpress.com/1824/" /&gt;&lt;/a&gt; &lt;a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/acassis.wordpress.com/1824/"&gt;&lt;img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/acassis.wordpress.com/1824/" /&gt;&lt;/a&gt; &lt;img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=acassis.wordpress.com&amp;amp;blog=1286908&amp;amp;post=1824&amp;amp;subd=acassis&amp;amp;ref=&amp;amp;feed=1" width="1" height="1" /&gt;"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-1987523841556472522?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://acassis.wordpress.com/2010/09/25/open-source-substituto-para-o-labview/' title='Open source substituto para o LabView'/><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/1987523841556472522/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2010/09/open-source-substituto-para-o-labview.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/1987523841556472522'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/1987523841556472522'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2010/09/open-source-substituto-para-o-labview.html' title='Open source substituto para o LabView'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-2212054153964976100</id><published>2010-09-13T04:18:00.000-07:00</published><updated>2010-09-13T04:44:38.962-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='CAD'/><title type='text'>More on Web3D</title><content type='html'>Following some posts on standards for 3D (&lt;a href="http://filipivianna.blogspot.com/2010/05/web-cad.html"&gt;Web CAD&lt;/a&gt; and &lt;a href="http://filipivianna.blogspot.com/2010/05/how-about-make-pseudo-3d-game-with-your.html"&gt;Pseudo 3D game&lt;/a&gt;)  here are some other links on Web3D:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.web3d.org/"&gt;http://www.web3d.org/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.web3d.org/x3d/x3dom/"&gt;http://www.web3d.org/x3d/x3dom/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.teratec.eu/gb/forum/atelier_3.html"&gt;http://www.teratec.eu/gb/forum/atelier_3.html&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.x3dom.org/"&gt;http://www.x3dom.org/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-2212054153964976100?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/2212054153964976100/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2010/09/more-on-web3d.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/2212054153964976100'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/2212054153964976100'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2010/09/more-on-web3d.html' title='More on Web3D'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-8379228933862182206</id><published>2010-09-08T07:48:00.000-07:00</published><updated>2010-09-08T07:57:29.912-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IGES'/><category scheme='http://www.blogger.com/atom/ns#' term='engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='STEP'/><category scheme='http://www.blogger.com/atom/ns#' term='CAD'/><title type='text'>IGES STEP data formats links</title><content type='html'>&lt;div&gt;I have to write a full post about this. But for now, just some links&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://machinedesign.com/article/whats-new-with-iges-and-step-0524"&gt;http://machinedesign.com/article/whats-new-with-iges-and-step-0524&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.wiz-worx.com/iges5x/gehaeuse/"&gt;http://www.wiz-worx.com/iges5x/gehaeuse/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.llach.com/cimcad3d.htm"&gt;http://www.llach.com/cimcad3d.htm&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-8379228933862182206?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/8379228933862182206/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2010/09/iges-step-data-formats-links.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/8379228933862182206'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/8379228933862182206'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2010/09/iges-step-data-formats-links.html' title='IGES STEP data formats links'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-4634772150051443995</id><published>2010-08-23T13:15:00.000-07:00</published><updated>2010-08-23T13:16:34.044-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DIY'/><category scheme='http://www.blogger.com/atom/ns#' term='control'/><category scheme='http://www.blogger.com/atom/ns#' term='control engineering'/><title type='text'>Another home-built laser projector</title><content type='html'>&lt;div&gt;From my Google Reader:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://hackaday.com/2010/08/22/another-home-built-laser-projector/"&gt;Another home-built laser projector&lt;/a&gt;: "&lt;p&gt;&lt;img title="diy-laser-projector" src="http://hackadaycom.files.wordpress.com/2010/08/diy-laser-projector.jpg?w=470&amp;amp;h=374" alt="" width="470" height="374" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;[Jarrod] sent us a link to this &lt;a href="http://elm-chan.org/works/vlp/report_e.html"&gt;home-built laser projector&lt;/a&gt; after seeing a different projector that we &lt;a href="http://hackaday.com/2010/08/21/vector-plotter-with-lasers/"&gt;featured yesterday&lt;/a&gt;. This system is fundamentally different. [ChaN], who finished the project several years ago, didn’t use a loudspeaker to move the mirrors, but instead build his own closed-loop Galvanometers. Two of these are controlled by an ATmega64 to produce incredibly clean and accurate vector images. It’s not just the images that are impressive, his hardware is laid-out with skill and forethought that make hiding it in a case a sacrilege.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-4634772150051443995?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/4634772150051443995/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2010/08/another-home-built-laser-projector.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/4634772150051443995'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/4634772150051443995'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2010/08/another-home-built-laser-projector.html' title='Another home-built laser projector'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-4788037900647697228</id><published>2010-07-26T09:51:00.001-07:00</published><updated>2010-07-26T09:53:47.228-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ssh'/><title type='text'>Quickstart: SSH Public Key Infrastructure</title><content type='html'>The following quickstart was copied from &lt;a href="http://uaahosting.uaa.alaska.edu/axjww/sshkey/"&gt;http://uaahosting.uaa.alaska.edu/axjww/sshkey/&lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;By Jim Weller&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;The purpose of this document is to quickly step you through using&lt;br /&gt;passwordless authentication to connect to servers using the SSH2&lt;br /&gt;protocol. This document is unique in that it unifies all the clients&lt;br /&gt;and servers under a single identity. This document is very coarse&lt;br /&gt;and expects that you'll follow along with the videos and only&lt;br /&gt;use the notes as a supplement.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h2&gt;Prerequisites&lt;/h2&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Commercial SSH client version 3.2 or higher installed.&lt;br /&gt;&lt;br /&gt;       &lt;a href="ftp://ssh.com/pub/ssh"&gt;ftp://ssh.com/pub/ssh&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Commercial SSH Accession agent&lt;br /&gt;&lt;br /&gt;       &lt;a href="ftp://ssh.com/pub/accession"&gt;ftp://ssh.com/pub/accession&lt;/a&gt;&lt;br /&gt;      &lt;br /&gt;&lt;/li&gt;&lt;li&gt;PuTTY SSH2 Client Suite&lt;br /&gt;&lt;br /&gt;       &lt;a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/"&gt;http://www.chiark.greenend.org.uk/~sgtatham/putty/&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;OpenSSH environment. Cygwin shown here, but Linux, Mac X, BSD, Solaris and many others apply&lt;br /&gt;&lt;br /&gt; &lt;a href="http://www.cygwin.com/"&gt;http://www.cygwin.com/&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;      &lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Video Guides&lt;/h2&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.blogger.com/sshkey_creation.asx"&gt;Generating your public and private keys&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.blogger.com/sshkey_comm2comm.asx"&gt;Commercial SSH client to Commercial SSH Server&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.blogger.com/sshkey_comm2open.asx"&gt;Commercial SSH client to OpenSSH Server&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.blogger.com/sshkey_putty2comm.asx"&gt;PuTTY client to Commercial SSH Server&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.blogger.com/sshkey_putty2open.asx"&gt;PuTTY client to OpenSSH Server&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.blogger.com/sshkey_open2comm.asx"&gt;OpenSSH client to Commercial SSH  Server&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.blogger.com/sshkey_open2open.asx"&gt;OpenSSH client to OpenSSH Server&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Terse Text Notes&lt;/h2&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Generating Private and Public Keys&lt;br /&gt;&lt;br /&gt;A - Pick a strong password. You'll need to remember it because you'll type it&lt;br /&gt;a couple of times during this setup and once every windows login after that.&lt;br /&gt;&lt;br /&gt;B - Generate a key using commercial SSH.&lt;br /&gt;       1 edit-&gt;settings-&gt;keys-&gt;new key&lt;br /&gt;          Key Type: DSA&lt;br /&gt;          Key Length: 2048&lt;br /&gt;          NEXT&gt;&lt;br /&gt;          name: dsa204_commssh&lt;br /&gt;          Pasword: leave blank&lt;br /&gt;          Comment: leave blank&lt;br /&gt;&lt;br /&gt;C - convert the key to openssh private key format and set a password&lt;br /&gt;on it. You'll have to move the key you created above to a location&lt;br /&gt;where you can use ssh-keygen from the openssh package. Either cygwin&lt;br /&gt;or an openssh unix box (like linux/mac) or whatever you have handy.&lt;br /&gt;&lt;br /&gt;       # convert commercialssh private to openssh private&lt;br /&gt;       ssh-keygen -i -f dsa1024_commercial &gt; dsa1024_openssh&lt;br /&gt;       # convert openssh private to opensshpublic&lt;br /&gt;       ssh-keygen -y -f dsa1024_openssh &gt; dsa1024_openssh.pub&lt;br /&gt;       # convert openssh public to commercialssh public&lt;br /&gt;       ssh-keygen -e -f dsa1024_openssh.pub &gt; dsa1024_commercial.pub&lt;br /&gt;       # finally set a password on openssh private&lt;br /&gt;       ssh-keygen -p -N password -f dsa1024_openssh&lt;br /&gt;     &lt;br /&gt;D - go back to commercial ssh and change to the password to match.&lt;br /&gt;&lt;br /&gt;E - Use puttygen to convert the openssh key to a putty key. Set your&lt;br /&gt;password while doing it. You only need to save a private key.&lt;br /&gt;&lt;br /&gt;Now you have 3 identical private key files with the same passphrase&lt;br /&gt;for each of the three different clients. The private keys must be&lt;br /&gt;kept very secure. Never share them or leave them lying around. Make a&lt;br /&gt;backup copy to put in a vault, firebox, or ziploc bag.&lt;br /&gt;&lt;br /&gt;You also have two public key files, one for each brand of server.&lt;br /&gt;These are not critical files. You'll share them with the servers you&lt;br /&gt;want to connect to. As shown above, you can always re-create the&lt;br /&gt;public keys from the private keys.&lt;br /&gt;&lt;br /&gt;Just remember the server gets the public key of its flavor. The client&lt;br /&gt;uses the private key of its flavor.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Making the Connection&lt;br /&gt;&lt;br /&gt;Here are all the connection combinations&lt;br /&gt;&lt;br /&gt;c - commercial ssh&lt;br /&gt;o - openssh&lt;br /&gt;p - putty&lt;br /&gt;&lt;br /&gt;Client -&gt; Server&lt;br /&gt;----------------&lt;br /&gt;c -&gt; c&lt;br /&gt;o -&gt; c&lt;br /&gt;p -&gt; c&lt;br /&gt;&lt;br /&gt;c -&gt; o&lt;br /&gt;o -&gt; o&lt;br /&gt;p -&gt; o&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;You don't have to learn all six. You just need to learn 5 things. 2&lt;br /&gt;ways to put public keys on servers and 3 clients to connect using&lt;br /&gt;private keys.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Servers&lt;br /&gt;&lt;br /&gt;You have to connect to the server at least once with a password in&lt;br /&gt;order to perform these operations. Very high security environments&lt;br /&gt;might have someone else do this for you. Either way, you have&lt;br /&gt;to have your account on the server configured to accept your&lt;br /&gt;public key.&lt;br /&gt;&lt;br /&gt;1 - OpenSSH server&lt;br /&gt;&lt;br /&gt;connect to the server&lt;br /&gt;# mkdir .ssh&lt;br /&gt;# chmod 700 .ssh&lt;br /&gt;# cd .ssh&lt;br /&gt;copy the OpenSSH public key file and append it to authorized_keys&lt;br /&gt;&lt;br /&gt;2 - Commercial SSH server&lt;br /&gt;&lt;br /&gt;connect to the server&lt;br /&gt;# mkdir .ssh2&lt;br /&gt;# chmod 700 .ssh2&lt;br /&gt;# cd .ssh2&lt;br /&gt;copy the commercial ssh public key file and put it in it's own file on the server&lt;br /&gt;add a line to the authorization file to reference your key&lt;br /&gt;&lt;br /&gt;Clients&lt;br /&gt;&lt;br /&gt;By default you have to authenticate against your key every time you&lt;br /&gt;connect to a server. This is good for security because you never send&lt;br /&gt;a password over the wire; just big complex key strings. It's a pain&lt;br /&gt;for you though. That's why most clients have an "agent" which runs in&lt;br /&gt;the background on your computer and remembers the keys you&lt;br /&gt;authenticated against. It's very convenient.&lt;br /&gt;&lt;br /&gt;COOL!: Once the ssh-agent is running. You can eject your USB keychain. The&lt;br /&gt;authentication ends when either you 1 kill the agent 2 exit your windows session&lt;br /&gt;(killing the agent) 3 deallocate the key from the running agent.&lt;br /&gt;&lt;br /&gt;1 - PuTTY and Pageant&lt;br /&gt;start pageant.exe&lt;br /&gt;right click the icon-&gt;add key&lt;br /&gt;browse for your .PPK key&lt;br /&gt;select the PPK key&lt;br /&gt;type the key's password&lt;br /&gt;launch putty sessions to servers having the key&lt;br /&gt;&lt;br /&gt;2 - Commercial SSH Client and Accession&lt;br /&gt;start accession&lt;br /&gt;click add key&lt;br /&gt;browse for your dsa2048_commssh&lt;br /&gt;type the key's password&lt;br /&gt;launch commercial ssh sessions to servers having the key&lt;br /&gt;&lt;br /&gt;3 - OpenSSH client, ssh-agent, and ssh-add&lt;br /&gt;&lt;br /&gt;ssh-agent bash -login&lt;br /&gt;# bash -login could be another program like X or xterm or login&lt;br /&gt;ssh-add /YourUsbKeyStore/dsa2048_openssh&lt;br /&gt;# type your password&lt;br /&gt;# launch openssh sessions to servers having the key&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;br /&gt;Getting your public key into banner&lt;br /&gt;-----------------------------------&lt;br /&gt;prod.alaska.edu (aka Toklat) is a commercial SSH server. So all the&lt;br /&gt;notes I presented earlier about commercial ssh servers still apply.&lt;br /&gt;prod.alaska.edu differs because statewide does not give you a standard&lt;br /&gt;shell like bash or csh. They give you a homegrown menu system that&lt;br /&gt;keeps you in a sandbox.&lt;br /&gt;&lt;br /&gt;S for shell commands&lt;br /&gt;D for directory commands&lt;br /&gt;2-y-.ssh2 to make the .ssh2 directory&lt;br /&gt;1-y-.ssh2 to change to the .ssh2 directory&lt;br /&gt;R to return to the main menu&lt;br /&gt;4 or 5-y-mykey.pub to edit a file with emacs or vi respectively (this is the jim.pub file from the videos). Paste your commercial public key into the file&lt;br /&gt;4 or 5-y-authorization add 'Key mykey.pub' to this file just like in the videos&lt;br /&gt;&lt;br /&gt;You're done. You should be able to SSH in using public key&lt;br /&gt;authentication. I don't know yet how this relates to you password on&lt;br /&gt;glacier, but I assume you'll never need to worry about it which is&lt;br /&gt;fine as this is a billion times more secure.&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/6183884398183715183-4788037900647697228?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/4788037900647697228/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2010/07/quickstart-ssh-public-key_26.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/4788037900647697228'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/4788037900647697228'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2010/07/quickstart-ssh-public-key_26.html' title='Quickstart: SSH Public Key Infrastructure'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-8028498923312074749</id><published>2010-07-26T05:43:00.000-07:00</published><updated>2010-07-26T06:19:39.176-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='opencascade'/><category scheme='http://www.blogger.com/atom/ns#' term='CAD'/><title type='text'>Free Open Source Parametric 3D CAD on Linux</title><content type='html'>&lt;div&gt;The folks looking for a free and open source option for a Parametric 3D CAD have theirs choice now. &lt;a href="http://code.google.com/p/heekscad/"&gt;HeeksCAD&lt;/a&gt; is a parametric 3D CAD, based on the open source modeler &lt;a href="http://www.opencascade.org/"&gt;OpenCascade&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;Actually it is for Linux and Windwos. It uses WX Widgets as its widget set.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The &lt;a href="http://code.google.com/p/heekscad/"&gt;HeeksCAD&lt;/a&gt; site lacks on screenshots, as long as they are keeping a good work on the software... (let the community provides the screenshots ;-)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Googling a little we can found a good discussion in a forum at&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.linuxgraphic.org/forums/viewtopic.php?f=41&amp;amp;t=5728"&gt;http://www.linuxgraphic.org/forums/viewtopic.php?f=41&amp;amp;t=5728&lt;/a&gt; (it is in French)&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;From the forum discussion above, I had extracted the following shots:&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_rkUXgNHl-OM/TE2DoJlw2HI/AAAAAAAAAjg/WyBnW5F-F-I/s1600/Corps_Pompe_256.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 263px;" src="http://4.bp.blogspot.com/_rkUXgNHl-OM/TE2DoJlw2HI/AAAAAAAAAjg/WyBnW5F-F-I/s400/Corps_Pompe_256.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5498195445881559154" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_rkUXgNHl-OM/TE2G3qqLxoI/AAAAAAAAAkI/wfxxqaQope4/s1600/Corps_Didact_15_256.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 258px;" src="http://1.bp.blogspot.com/_rkUXgNHl-OM/TE2G3qqLxoI/AAAAAAAAAkI/wfxxqaQope4/s400/Corps_Didact_15_256.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5498199010991392386" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_rkUXgNHl-OM/TE2G3VH_NuI/AAAAAAAAAkA/jljxpPAsAcA/s1600/Heeks_1_256.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 336px;" src="http://4.bp.blogspot.com/_rkUXgNHl-OM/TE2G3VH_NuI/AAAAAAAAAkA/jljxpPAsAcA/s400/Heeks_1_256.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5498199005210818274" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_rkUXgNHl-OM/TE2G2zrCjWI/AAAAAAAAAj4/s25xqyidI7M/s1600/Heeks082.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 278px;" src="http://1.bp.blogspot.com/_rkUXgNHl-OM/TE2G2zrCjWI/AAAAAAAAAj4/s25xqyidI7M/s400/Heeks082.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5498198996231032162" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_rkUXgNHl-OM/TE2G2c2v-mI/AAAAAAAAAjw/2hTJEt9nrgs/s1600/f616ae233d703a1e59c76e9427a4cd5a_medium.jpeg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 358px;" src="http://4.bp.blogspot.com/_rkUXgNHl-OM/TE2G2c2v-mI/AAAAAAAAAjw/2hTJEt9nrgs/s400/f616ae233d703a1e59c76e9427a4cd5a_medium.jpeg" border="0" alt="" id="BLOGGER_PHOTO_ID_5498198990106131042" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_rkUXgNHl-OM/TE2G15bjRPI/AAAAAAAAAjo/_2715QUyGA8/s1600/Corps_Pompe_Coupe_256.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_rkUXgNHl-OM/TE2G15bjRPI/AAAAAAAAAjo/_2715QUyGA8/s400/Corps_Pompe_Coupe_256.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5498198980596810994" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_rkUXgNHl-OM/TE2H-k8fP3I/AAAAAAAAAlQ/dOxCRoy2OA8/s1600/V08.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 281px;" src="http://1.bp.blogspot.com/_rkUXgNHl-OM/TE2H-k8fP3I/AAAAAAAAAlQ/dOxCRoy2OA8/s400/V08.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5498200229228265330" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_rkUXgNHl-OM/TE2H-QRAClI/AAAAAAAAAlI/E-Db5hT6B9Y/s1600/HeeksFran_256.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 288px;" src="http://1.bp.blogspot.com/_rkUXgNHl-OM/TE2H-QRAClI/AAAAAAAAAlI/E-Db5hT6B9Y/s400/HeeksFran_256.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5498200223677155922" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_rkUXgNHl-OM/TE2H94trTOI/AAAAAAAAAlA/UwO0Lzq-dRk/s1600/HeeksCNC_256.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 110px;" src="http://2.bp.blogspot.com/_rkUXgNHl-OM/TE2H94trTOI/AAAAAAAAAlA/UwO0Lzq-dRk/s400/HeeksCNC_256.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5498200217354980578" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_rkUXgNHl-OM/TE2H8jFPH6I/AAAAAAAAAk4/-s_kQub1KA4/s1600/Heeks083.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 238px;" src="http://1.bp.blogspot.com/_rkUXgNHl-OM/TE2H8jFPH6I/AAAAAAAAAk4/-s_kQub1KA4/s400/Heeks083.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5498200194368348066" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_rkUXgNHl-OM/TE2HuzxftuI/AAAAAAAAAkw/HjUcoxviZmo/s1600/Corps_Didact_14_256.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 263px;" src="http://2.bp.blogspot.com/_rkUXgNHl-OM/TE2HuzxftuI/AAAAAAAAAkw/HjUcoxviZmo/s400/Corps_Didact_14_256.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5498199958330783458" /&gt;&lt;/a&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I had already used the &lt;a href="http://www.salome-platform.org/"&gt;Salome&lt;/a&gt; (another OpenCascade based tool), but the CAD it provides where more for geometry design for finite element pre and post processing. Diferent from Salome, HeeksCAD has much more functionalities from CADs like &lt;a href="http://www.ptc.com/products/proengineer/"&gt;Pro/Engineer&lt;/a&gt; and &lt;a href="http://www.solidworks.com/"&gt;SolidWorks&lt;/a&gt;. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I have around 8 years of experience in P&lt;a href="http://www.ptc.com/products/proengineer/"&gt;ro/Engineer&lt;/a&gt; and 5 years using &lt;a href="http://www.solidworks.com/"&gt;SolidWorks&lt;/a&gt;, I had no difficult to start modeling on &lt;a href="http://code.google.com/p/heekscad/"&gt;HeeksCAD&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There are another Free and Open Source CAD based on OpenCascade. I had tried the &lt;a href="http://www.gcad3d.org/gCAD3D_en.htm"&gt;gCAD&lt;/a&gt;, the &lt;a href="http://www.gcad3d.org/gCAD3D_en.htm"&gt;FreeCAD&lt;/a&gt; and the &lt;a href="http://code.google.com/p/heekscad/"&gt;HeeksCAD&lt;/a&gt;. The three are good, but the one which I was more productive was the &lt;a href="http://code.google.com/p/heekscad/"&gt;HeeksCAD&lt;/a&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-8028498923312074749?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/8028498923312074749/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2010/07/free-open-source-parametric-3d-cad-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/8028498923312074749'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/8028498923312074749'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2010/07/free-open-source-parametric-3d-cad-on.html' title='Free Open Source Parametric 3D CAD on Linux'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_rkUXgNHl-OM/TE2DoJlw2HI/AAAAAAAAAjg/WyBnW5F-F-I/s72-c/Corps_Pompe_256.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-1693323313737842166</id><published>2010-07-09T16:14:00.000-07:00</published><updated>2010-07-09T16:16:44.828-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Computer Vision'/><category scheme='http://www.blogger.com/atom/ns#' term='3D Scanner'/><category scheme='http://www.blogger.com/atom/ns#' term='CAD'/><title type='text'>A few links from iheartrobotics.com</title><content type='html'>&lt;div&gt;A few links from &lt;a href="http://www.iheartrobotics.com/"&gt;http://www.iheartrobotics.com&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://code.google.com/p/structured-light/"&gt;http://code.google.com/p/structured-light/&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://meshlab.sourceforge.net/"&gt;http://meshlab.sourceforge.net/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://openscad.org/"&gt;http://openscad.org/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.iheartrobotics.com/search?q=robot+vision"&gt;http://www.iheartrobotics.com/search?q=robot+vision&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-1693323313737842166?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/1693323313737842166/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2010/07/few-links-from-iheartroboticscom.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/1693323313737842166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/1693323313737842166'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2010/07/few-links-from-iheartroboticscom.html' title='A few links from iheartrobotics.com'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-6632253000294243753</id><published>2010-07-09T10:05:00.000-07:00</published><updated>2010-07-09T10:07:26.524-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>Security, auditing, etc</title><content type='html'>Chating with an old friend, he told me to check these tools:&lt;br /&gt;the hydra, at &lt;a href="http://freeworld.thc.org/"&gt;http://freeworld.thc.org/&lt;/a&gt; and the Sipvicious at h&lt;a href="http://blog.sipvicious.org/"&gt;ttp://blog.sipvicious.org/&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-6632253000294243753?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/6632253000294243753/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2010/07/security-auditing-etc.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/6632253000294243753'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/6632253000294243753'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2010/07/security-auditing-etc.html' title='Security, auditing, etc'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-1565154181192180939</id><published>2010-07-06T10:13:00.000-07:00</published><updated>2010-07-06T10:13:30.470-07:00</updated><title type='text'>Benoit Mandelbrot: Fractals and the art of roughness | Video on TED.com</title><content type='html'>&lt;a href="http://www.ted.com/talks/benoit_mandelbrot_fractals_the_art_of_roughness.html"&gt;Benoit Mandelbrot: Fractals and the art of roughness | Video on TED.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-1565154181192180939?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.ted.com/talks/benoit_mandelbrot_fractals_the_art_of_roughness.html' title='Benoit Mandelbrot: Fractals and the art of roughness | Video on TED.com'/><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/1565154181192180939/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2010/07/benoit-mandelbrot-fractals-and-art-of.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/1565154181192180939'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/1565154181192180939'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2010/07/benoit-mandelbrot-fractals-and-art-of.html' title='Benoit Mandelbrot: Fractals and the art of roughness | Video on TED.com'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-4639184677865594366</id><published>2010-07-01T07:25:00.000-07:00</published><updated>2010-07-05T18:27:33.226-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='less ungly hacks'/><category scheme='http://www.blogger.com/atom/ns#' term='hacks'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>uSleep on windows (win32)</title><content type='html'>I am facing a terrible issue regarding timing on windows.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;Googling arround, I've found those infos:&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Using QueryPerformanceCounter and QueryPerformanceFrequency APIs in Dev-C++&lt;br /&gt;(&lt;a href="http://yeohhs.blogspot.com/2005/08/using-queryperformancecounter-and_13.html"&gt;http://yeohhs.blogspot.com/2005/08/using&lt;/a&gt;&lt;a href="http://yeohhs.blogspot.com/2005/08/using-queryperformancecounter-and_13.html"&gt;-queryperformancecounter-and_13.html&lt;/a&gt;)&lt;br /&gt;QueryPerformanceCounter() vs. GetTickCount()&lt;br /&gt;&lt;a href="http://www.delphifaq.com/faq/delphi_windows_API/f345.shtml"&gt;http://www.delphifaq.com/faq/delphi_windows_API/f345.shtml&lt;/a&gt;&lt;br /&gt;How to time a block of code&lt;br /&gt;&lt;a href="http://www.cryer.co.uk/brian/delphi/howto_time_code.htm"&gt;http://www.cryer.co.uk/brian/delphi/howto_time_code.htm&lt;/a&gt;&lt;br /&gt;&lt;div&gt;And Results of some quick research on timing in Win32&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.geisswerks.com/ryan/FAQS/timing.html"&gt;http://www.geisswerks.com/ryan/FAQS/timing.html&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;With that I'm trying to write something like a uSleep function for windows:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;br /&gt;#&lt;b&gt;&lt;span style="color:#5F9EA0;"&gt;include&amp;lt;windows.h&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="color:#228B22;"&gt;void&lt;/span&gt;&lt;/b&gt; &lt;b&gt;&lt;span style="color:#0000FF;"&gt;uSleep&lt;/span&gt;&lt;/b&gt;(&lt;b&gt;&lt;span style="color:#228B22;"&gt;int&lt;/span&gt;&lt;/b&gt; waitTime){&lt;br /&gt;__int64 time1 = 0, time2 = 0, sysFreq = 0;&lt;br /&gt;&lt;br /&gt;QueryPerformanceCounter((LARGE_INTEGER *)&amp;amp;time1);&lt;br /&gt;QueryPerformanceFrequency((LARGE_INTEGER *)&amp;amp;freq);&lt;br /&gt;&lt;b&gt;&lt;span style="color:#A020F0;"&gt;do&lt;/span&gt;&lt;/b&gt;{&lt;br /&gt;QueryPerformanceCounter((LARGE_INTEGER *)&amp;amp;time2);&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;span style="color:#B22222;"&gt;//  }while((((time2-time1)*1.0)/sysFreq)&amp;lt;waitTime);&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;  }&lt;b&gt;&lt;span style="color:#A020F0;"&gt;while&lt;/span&gt;&lt;/b&gt;( (time2-time1) &amp;lt;waitTime);&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;There is also already a nanosleep at:&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.mail-archive.com/bug-gnulib@gnu.org/msg17746.html"&gt;http://www.mail-archive.com/bug-gnulib@gnu.org/msg17746.html&lt;/a&gt;&lt;/div&gt;&lt;div&gt;and a usleep at MKSToolkit at:&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.mkssoftware.com/docs/man3/usleep.3.asp"&gt;http://www.mkssoftware.com/docs/man3/usleep.3.asp&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-4639184677865594366?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/4639184677865594366/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2010/07/usleep-on-windows-win32.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/4639184677865594366'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/4639184677865594366'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2010/07/usleep-on-windows-win32.html' title='uSleep on windows (win32)'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-5296848162912449089</id><published>2010-06-30T17:48:00.000-07:00</published><updated>2010-07-09T04:58:08.756-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PIC'/><category scheme='http://www.blogger.com/atom/ns#' term='hacks'/><category scheme='http://www.blogger.com/atom/ns#' term='hardware'/><title type='text'>Low cost microcontrolling</title><content type='html'>I had a terrible issue at work today. We certainly have to give up from a windows controlled device, depending on time critical software to use a cheap and easy to find microcontroller.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Making a couple of phone calls to local electronics shops, draws me to one single option. Microchip's PIC 16F family.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So, let's go to PIC world:&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.grennan.com/picprog/"&gt;http://www.grennan.com/picprog/&lt;/a&gt; (Programming the PIC16F84 with LINUX)&lt;/div&gt;&lt;div&gt;The PIC16F84 is easily found at any electronics shops in my town. It costs around R$ 15,00 (fifteen reais), local brazilian currency, which is around US$ 8.45. &lt;/div&gt;&lt;br /&gt;&lt;a href="http://www.micahcarrick.com/04-25-2005/pic-c-programming-linux.html"&gt;Programming PIC’s in Linux using C with SDCC&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.micahcarrick.com/04-19-2005/pic-programming-linux.html"&gt;Intro to Programming PIC Microcontrollers in Linux&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.lancos.com/prog.html"&gt;http://www.lancos.com/prog.html&lt;/a&gt; (PonyProg - GLP Serial devices programmer)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.freenet.org.nz/sdcc/"&gt;http://www.freenet.org.nz/sdcc/&lt;/a&gt; (sdcc for PIC HowTo)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There is a good Spanish site about PIC projects at &lt;a href="http://www.micropic.es/"&gt;http://www.micropic.es/&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-5296848162912449089?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/5296848162912449089/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2010/06/low-cost-microcontrolling.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/5296848162912449089'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/5296848162912449089'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2010/06/low-cost-microcontrolling.html' title='Low cost microcontrolling'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-4458951405859723829</id><published>2010-06-26T14:33:00.000-07:00</published><updated>2010-07-08T12:31:33.045-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PIC'/><category scheme='http://www.blogger.com/atom/ns#' term='hacks'/><category scheme='http://www.blogger.com/atom/ns#' term='hardware'/><category scheme='http://www.blogger.com/atom/ns#' term='CAD'/><category scheme='http://www.blogger.com/atom/ns#' term='AVR'/><title type='text'>Some free/open tools for hobbies</title><content type='html'>[Open source PCB routing] MUCS-PCB - The University of Manchester School Of Computer Science PCB design software&lt;br /&gt;&lt;a href="http://intranet.cs.man.ac.uk/apt/projects/tools/mucs-pcb/"&gt;http://intranet.cs.man.ac.uk/apt/projects/tools/mucs-pcb/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ladder Logic for PIC and AVR&lt;br /&gt;&lt;a href="http://www.cq.cx/ladder.pl"&gt;http://www.cq.cx/ladder.pl&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;SketchFlat: 2d CAD, with Constraints&lt;br /&gt;&lt;a href="http://www.cq.cx/sketchflat.pl"&gt;http://www.cq.cx/sketchflat.pl&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;SOLVESPACE -- parametric 3d CAD&lt;br /&gt;&lt;a href="http://solvespace.com/index.pl"&gt;http://solvespace.com/index.pl&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;And for &lt;a href="http://kicad.sourceforge.net/wiki/index.php/Mini_tutorial#Auto-routing"&gt;autorouting on kicad&lt;/a&gt;, there is the closed source &lt;a href="http://www.freerouting.net/"&gt;freerouting&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-4458951405859723829?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/4458951405859723829/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2010/06/some-freeopen-tools-for-hobies.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/4458951405859723829'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/4458951405859723829'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2010/06/some-freeopen-tools-for-hobies.html' title='Some free/open tools for hobbies'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-2543329002216441864</id><published>2010-06-14T10:57:00.000-07:00</published><updated>2010-06-14T11:02:20.204-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='webapps'/><category scheme='http://www.blogger.com/atom/ns#' term='CSS'/><title type='text'>Multi (platform) browser CSS</title><content type='html'>Reading an &lt;a href="http://giorgenes.blogspot.com/"&gt;old friend's blog&lt;/a&gt;, I've seeing some &lt;a href="http://giorgenes.blogspot.com/2010/05/stuff-ive-been-working-with.html"&gt;tools he likes&lt;/a&gt; and there a particular one very suitable for my own needs. The &lt;a href="http://www.blueprintcss.org/"&gt;blueprint CSS framework&lt;/a&gt; it uses the &lt;a href="http://wiki.github.com/joshuaclayton/blueprint-css/tools-and-resources"&gt;git hub&lt;/a&gt;. There is also some tips on &lt;a href="http://habilis.net/cssmixin/"&gt;using it with PHP&lt;/a&gt; (my favorite scripting language).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-2543329002216441864?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/2543329002216441864/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2010/06/multi-platform-browser-css.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/2543329002216441864'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/2543329002216441864'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2010/06/multi-platform-browser-css.html' title='Multi (platform) browser CSS'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-356727046572322543</id><published>2010-06-14T10:42:00.000-07:00</published><updated>2010-06-14T10:44:32.286-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wxWidgets'/><category scheme='http://www.blogger.com/atom/ns#' term='hacks'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='hardware'/><title type='text'>wxTerm</title><content type='html'>IFTools has an free/libre open source (wxWindows license) communication terminal which uses a multi platform communications library.&lt;div&gt;Worth to take a look at:&lt;/div&gt;&lt;div&gt;&lt;a href="https://iftools.com/opensource/download.en.php"&gt;https://iftools.com/opensource/download.en.php&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-356727046572322543?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/356727046572322543/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2010/06/wxterm.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/356727046572322543'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/356727046572322543'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2010/06/wxterm.html' title='wxTerm'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-8437977547897350756</id><published>2010-06-14T10:33:00.000-07:00</published><updated>2010-06-14T10:41:14.440-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hacks'/><category scheme='http://www.blogger.com/atom/ns#' term='hardware'/><title type='text'>Coffee machine robot</title><content type='html'>Here at IDEIA we share a common spare time project. We want to build a robot which brings the coffee from the kitchen to our offices. &lt;div&gt;This project was a little inspired by the &lt;a href="http://stair.stanford.edu/"&gt;S.T.A.I.R.&lt;/a&gt; project from Stanford.&lt;/div&gt;&lt;div&gt;Looking around we've found the &lt;a href="http://www.mrpt.org/"&gt;Mobile Robot Programming Toolkit (MRPT)&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;And perhaps worth to look at:&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.arduino.cc/en/Main/ArduinoEthernetShield"&gt;Arduino Ethernet Shield&lt;/a&gt;&lt;/div&gt;&lt;div&gt;and&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.arduino.cc/en/Reference/Ethernet"&gt;Arduino Ethernet Library&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-8437977547897350756?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/8437977547897350756/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2010/06/coffee-machine-robot.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/8437977547897350756'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/8437977547897350756'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2010/06/coffee-machine-robot.html' title='Coffee machine robot'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-8531139424458564622</id><published>2010-06-10T19:41:00.000-07:00</published><updated>2010-06-21T04:44:30.649-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='3D Scanner'/><category scheme='http://www.blogger.com/atom/ns#' term='CG'/><title type='text'>[SIGGRAPH 2009]Build Your Own 3D Scanner: Optical Triangulation for Beginners</title><content type='html'>There is an interesting course on 3D scanning at SIGRAPH 2009: &lt;br /&gt;&lt;br /&gt;&lt;a href="http://mesh.brown.edu/byo3d/source.html"&gt;http://mesh.brown.edu/byo3d/source.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Other good resources on 3D can be found at:&lt;br /&gt;&lt;a href="http://www.ieeta.pt/~pdias/Low_Cost_3D_Sensor/Low_Cost3DSensor.htm"&gt;http://www.ieeta.pt/~pdias/Low_Cost_3D_Sensor/Low_Cost3DSensor.htm&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.ieeta.pt/~pdias/Camera%20Calibration/Camera%20Calibration.htm"&gt;http://www.ieeta.pt/~pdias/Camera%20Calibration/Camera%20Calibration.htm&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.awn.com/articles/tutorials/iinspired-3d-modeling-and-texture-mappingi-part-2/page/1,1"&gt;http://www.awn.com/articles/tutorials/iinspired-3d-modeling-and-texture-mappingi-part-2/page/1,1&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www-2.cs.cmu.edu/afs/cs.cmu.edu/user/rgw/www/TsaiCode.html"&gt;http://www-2.cs.cmu.edu/afs/cs.cmu.edu/user/rgw/www/TsaiCode.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www-2.cs.cmu.edu/afs/cs/usr/rgw/www/HomePage.html"&gt;http://www-2.cs.cmu.edu/afs/cs/usr/rgw/www/HomePage.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-8531139424458564622?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/8531139424458564622/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2010/06/siggraph-2009build-your-own-3d-scanner.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/8531139424458564622'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/8531139424458564622'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2010/06/siggraph-2009build-your-own-3d-scanner.html' title='[SIGGRAPH 2009]Build Your Own 3D Scanner: Optical Triangulation for Beginners'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-1591956191759885971</id><published>2010-05-31T21:17:00.000-07:00</published><updated>2010-06-04T17:48:57.376-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='game development'/><category scheme='http://www.blogger.com/atom/ns#' term='CG'/><title type='text'>Pseudo 3D game</title><content type='html'>&lt;div&gt;How about make an pseudo 3D game with your company as th scenario?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This tutorial brings some examples:&lt;/div&gt;&lt;a href="http://dev.opera.com/articles/view/creating-pseudo-3d-games-with-html-5-can-1/"&gt;http://dev.opera.com/articles/view/creating-pseudo-3d-games-with-html-5-can-1/&lt;/a&gt;&lt;div&gt;&lt;a href="http://dev.opera.com/articles/view/creating-pseudo-3d-games-with-html-5-can-1/"&gt;http://dev.opera.com/articles/view/creating-pseudo-3d-games-with-html-5-can-1/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://blog.nihilogic.dk/2008/07/wolfenflickr-3d-unlikely-mashup.html"&gt;http://blog.nihilogic.dk/2008/07/wolfenflickr-3d-unlikely-mashup.html&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Another demo:&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.benjoffe.com/code/demos/canvascape/"&gt;http://www.benjoffe.com/code/demos/canvascape/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.benjoffe.com/code/demos/canvascape/textures"&gt;http://www.benjoffe.com/code/demos/canvascape/textures&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-1591956191759885971?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/1591956191759885971/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2010/05/how-about-make-pseudo-3d-game-with-your.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/1591956191759885971'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/1591956191759885971'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2010/05/how-about-make-pseudo-3d-game-with-your.html' title='Pseudo 3D game'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-4863262738648181175</id><published>2010-05-31T21:00:00.000-07:00</published><updated>2010-05-31T21:02:36.984-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='data visualization'/><title type='text'>Yet another javascript charting library</title><content type='html'>I have to remember to check &lt;a href="http://kilianvalkhof.com/2010/design/grafico-javascript-charting-library/"&gt;Grafico&lt;/a&gt;, another javascript charting library.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;References:&lt;/div&gt;&lt;div&gt;&lt;a href="http://dailyjs.com/2010/02/08/grafico/"&gt;http://dailyjs.com/2010/02/08/grafico/&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-4863262738648181175?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/4863262738648181175/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2010/05/yet-another-javascript-charting-library.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/4863262738648181175'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/4863262738648181175'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2010/05/yet-another-javascript-charting-library.html' title='Yet another javascript charting library'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-2806476061437232420</id><published>2010-05-31T20:38:00.001-07:00</published><updated>2010-09-13T04:43:38.727-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='opencascade'/><category scheme='http://www.blogger.com/atom/ns#' term='CG'/><category scheme='http://www.blogger.com/atom/ns#' term='Ogre'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenSG'/><category scheme='http://www.blogger.com/atom/ns#' term='CAD'/><title type='text'>Web CAD</title><content type='html'>More on my quest to build something near a 3D visualizer with PHP and Javascript&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Web 3D rendering:&lt;br /&gt;&lt;div&gt;&lt;a href="http://www.uselesspickles.com/triangles/demo.html"&gt;http://www.uselesspickles.com/triangles/demo.html&lt;/a&gt; (this one uses less divs for the rendering)&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.treebuilder.de/default.asp?file=844112.xml"&gt;http://www.treebuilder.de/default.asp?file=844112.xml&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.lutanho.net/svgvml3d/index.html"&gt;http://www.lutanho.net/svgvml3d/index.html&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://deanm.github.com/pre3d/"&gt;http://deanm.github.com/pre3d/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.nihilogic.dk/labs/canvas3dtexture_0.2/"&gt;http://www.nihilogic.dk/labs/canvas3dtexture_0.2/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.nihilogic.dk/labs/canvas3d/"&gt;http://www.nihilogic.dk/labs/canvas3d/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;3D Chrome Experiments&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.chromeexperiments.com/detail/monster/"&gt;http://www.chromeexperiments.com/detail/monster/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Quering for "chrome experiments 3D shading" on google&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.chromeexperiments.com/detail/colorscube/"&gt;http://www.chromeexperiments.com/detail/colorscube/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.chromeexperiments.com/detail/orange-tunnel/"&gt;http://www.chromeexperiments.com/detail/orange-tunnel/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Some other Chrome experiments&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.chromeexperiments.com/detail/js-touch/"&gt;http://www.chromeexperiments.com/detail/js-touch/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.chromeexperiments.com/detail/3d-waveform/"&gt;http://www.chromeexperiments.com/detail/3d-waveform/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Opening IGES/STEP files&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.opensg.org/wiki/PotentialContributions"&gt;http://www.opensg.org/wiki/PotentialContributions&lt;/a&gt; (with OpenSG)&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.ogre3d.org/forums/viewtopic.php?t=33146&amp;amp;highlight=&amp;amp;sid=ce193664e1d3d7c4af509e6f4e2718c6"&gt;http://www.ogre3d.org/forums/viewtopic.php?t=33146&amp;amp;highlight=&amp;amp;sid=ce193664e1d3d7c4af509e6f4e2718c6&lt;/a&gt; (with Ogre)&lt;/div&gt;&lt;div&gt;&lt;a href="http://code.google.com/p/heekscad/"&gt;http://code.google.com/p/heekscad/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Linux CADs&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.gcad3d.org/gCAD3D_en.htm"&gt;http://www.gcad3d.org/gCAD3D_en.htm&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://sourceforge.net/apps/mediawiki/free-cad/index.php?title=Main_Page"&gt;http://sourceforge.net/apps/mediawiki/free-cad/index.php?title=Main_Page&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.pythonocc.org/"&gt;http://www.pythonocc.org/&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-2806476061437232420?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/2806476061437232420/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2010/05/web-cad.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/2806476061437232420'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/2806476061437232420'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2010/05/web-cad.html' title='Web CAD'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-6820078653781065333</id><published>2010-05-31T17:23:00.002-07:00</published><updated>2010-05-31T17:40:01.625-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='game development'/><category scheme='http://www.blogger.com/atom/ns#' term='CG'/><title type='text'>Gaming</title><content type='html'>&lt;div&gt;Looking for some other software to load wavefront obj files I've found some interesting things on the gaming field:&lt;/div&gt;&lt;a href="http://tfc.duke.free.fr/"&gt;http://tfc.duke.free.fr/&lt;/a&gt; How to load Quane, Quake 2 and Doom3 characters with OpenGL&lt;div&gt;and&lt;/div&gt;&lt;div&gt;&lt;a href="https://help.ubuntu.com/community/Doom3"&gt;https://help.ubuntu.com/community/Doom3&lt;/a&gt; How to setup Doom 3 on Ubuntu Linux&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-6820078653781065333?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/6820078653781065333/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2010/05/gaming.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/6820078653781065333'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/6820078653781065333'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2010/05/gaming.html' title='Gaming'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-1543891431361158894</id><published>2010-05-31T17:23:00.001-07:00</published><updated>2010-06-15T04:17:56.279-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='game development'/><category scheme='http://www.blogger.com/atom/ns#' term='CG'/><category scheme='http://www.blogger.com/atom/ns#' term='openGL'/><title type='text'>Loading wavefront obj files</title><content type='html'>Looking for some other software to load wavefront obj files I've found some interesting thins on the gaming field:&lt;a href="http://tfc.duke.free.fr/"&gt;http://tfc.duke.free.fr/&lt;/a&gt; How to load Quake, Quake 2 and Doom3 characters with OpenGL&lt;div&gt;and&lt;/div&gt;&lt;div&gt;&lt;a href="https://help.ubuntu.com/community/Doom3"&gt;https://help.ubuntu.com/community/Doom3&lt;/a&gt; How to setup Doom 3 on Ubuntu Linux&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-1543891431361158894?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/1543891431361158894/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2010/05/loading-wavefront-obj-files.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/1543891431361158894'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/1543891431361158894'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2010/05/loading-wavefront-obj-files.html' title='Loading wavefront obj files'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-3517246034980549251</id><published>2010-05-31T14:40:00.000-07:00</published><updated>2010-05-31T14:50:22.488-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CG'/><title type='text'>Teaching Internship - Lab Class</title><content type='html'>Tonight  was my first lab class at my teaching internship.&lt;br /&gt;&lt;br /&gt;We were preparing the undergrad  students to make their final work for this class.&lt;br /&gt;At this class professor introduced the "&lt;a href="http://sourceforge.net/projects/objloader/"&gt;objloader&lt;/a&gt;" to them. For them to use it to open wavefront obj files for their animation work.&lt;br /&gt;Professor also talked about the &lt;a href="http://www.micromouse.ca/"&gt;Accutrans3d&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The old Pro/Engineer also saves wavefront obj files.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-3517246034980549251?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/3517246034980549251/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2010/05/teaching-internship-lab-class.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/3517246034980549251'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/3517246034980549251'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2010/05/teaching-internship-lab-class.html' title='Teaching Internship - Lab Class'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-2327487870617069387</id><published>2010-05-13T10:35:00.000-07:00</published><updated>2011-08-18T05:36:45.635-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='becaming father'/><category scheme='http://www.blogger.com/atom/ns#' term='inkscape'/><category scheme='http://www.blogger.com/atom/ns#' term='typeface'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><title type='text'>Done - with Catull type face</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_rkUXgNHl-OM/S-w4nIsNU8I/AAAAAAAAAiw/JOsyGwAoSeI/s1600/Goostavo.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 75px;" src="http://4.bp.blogspot.com/_rkUXgNHl-OM/S-w4nIsNU8I/AAAAAAAAAiw/JOsyGwAoSeI/s400/Goostavo.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5470809892347270082" /&gt;&lt;/a&gt;&lt;div style="text-align: center;"&gt;(Done with inkscape, following the tutorial cited on a &lt;a href="http://filipivianna.blogspot.com/2010/05/google-logo-to-goostavo.html"&gt;previous post&lt;/a&gt;.)&lt;/div&gt;&lt;div style="text-align: center;"&gt;Goostavo&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-2327487870617069387?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/2327487870617069387/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2010/05/done-with-catull-type-face.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/2327487870617069387'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/2327487870617069387'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2010/05/done-with-catull-type-face.html' title='Done - with Catull type face'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_rkUXgNHl-OM/S-w4nIsNU8I/AAAAAAAAAiw/JOsyGwAoSeI/s72-c/Goostavo.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-94747486333717853</id><published>2010-05-11T10:45:00.000-07:00</published><updated>2010-05-11T18:46:30.953-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Finite Element Method'/><category scheme='http://www.blogger.com/atom/ns#' term='FEM'/><category scheme='http://www.blogger.com/atom/ns#' term='engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='notes to remember'/><title type='text'>Bookmarks on Finite Element Analisys</title><content type='html'>&lt;div&gt;&lt;a href="http://www.freebyte.com/cad/fea.htm"&gt;http://www.freebyte.com/cad/fea.htm&lt;/a&gt;&lt;/div&gt;&lt;a href="http://www.engineersedge.com/engineering/Engineering_Downloads/Finite_Element_Software_Public_Domain/"&gt;http://www.engineersedge.com/engineering/Engineering_Downloads/Finite_Element_Software_Public_Domain/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://geuz.org/gmsh/"&gt;http://geuz.org/gmsh/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.range-software.com/"&gt;http://www.range-software.com/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.caelinux.com/"&gt;http://www.caelinux.com/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-94747486333717853?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/94747486333717853/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2010/05/bookmarks-on-finite-element-analisys.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/94747486333717853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/94747486333717853'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2010/05/bookmarks-on-finite-element-analisys.html' title='Bookmarks on Finite Element Analisys'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-6126926495934789044</id><published>2010-05-11T09:48:00.000-07:00</published><updated>2010-05-11T10:47:45.954-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Finite Element Method'/><category scheme='http://www.blogger.com/atom/ns#' term='FEM'/><category scheme='http://www.blogger.com/atom/ns#' term='engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='CAD'/><title type='text'>CAD Tutorials</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_rkUXgNHl-OM/S-mM8gaLylI/AAAAAAAAAig/0RyZOiLRxYs/s1600/bridge.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 198px; height: 144px;" src="http://1.bp.blogspot.com/_rkUXgNHl-OM/S-mM8gaLylI/AAAAAAAAAig/0RyZOiLRxYs/s400/bridge.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5470058193537976914" /&gt;&lt;/a&gt;&lt;br /&gt;The Mechanical Engineering Department from the Carnigie Mellon University has placed some good &lt;a href="http://www.me.cmu.edu/academics/courses/NSF_Edu_Proj/Wildfire_short_course/tutorials.htm"&gt;tutorials on how to use the PTC Pro/Engineer CAD software&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;It is an excellent material and is based on Pro/Engineer Wildfire 3, the last one with a Linux version.&lt;br /&gt;&lt;br /&gt;It also includes Sheet Metal and Surfaces design and Finite Element Analisys using the Pro/Mechanica module.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_rkUXgNHl-OM/S-mNBGk1R1I/AAAAAAAAAio/4dqQe2pUVv0/s1600/problem7.png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 192px; height: 144px;" src="http://1.bp.blogspot.com/_rkUXgNHl-OM/S-mNBGk1R1I/AAAAAAAAAio/4dqQe2pUVv0/s400/problem7.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5470058272502662994" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-6126926495934789044?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/6126926495934789044/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2010/05/cad-tutorials.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/6126926495934789044'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/6126926495934789044'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2010/05/cad-tutorials.html' title='CAD Tutorials'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_rkUXgNHl-OM/S-mM8gaLylI/AAAAAAAAAig/0RyZOiLRxYs/s72-c/bridge.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-4787382855264363160</id><published>2010-05-10T06:56:00.000-07:00</published><updated>2011-08-18T05:36:50.249-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='becaming father'/><category scheme='http://www.blogger.com/atom/ns#' term='inkscape'/><category scheme='http://www.blogger.com/atom/ns#' term='data visualization'/><category scheme='http://www.blogger.com/atom/ns#' term='typeface'/><title type='text'>Google Logo to Goostavo</title><content type='html'>&lt;p&gt;I was looking for a way to make a colored logo likes Google's to use for my kid's name.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://howto.nicubunu.ro/3d_text_inkscape/"&gt;Here&lt;/a&gt; is a simple tutorial on how to make the colored 3D effect with inkscape.&lt;br /&gt;&lt;/p&gt;&lt;a href="http://1.bp.blogspot.com/_rkUXgNHl-OM/S-gRxJ9GrgI/AAAAAAAAAiQ/2nAVLc393Tk/s1600/3d_text.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 280px; height: 80px;" src="http://1.bp.blogspot.com/_rkUXgNHl-OM/S-gRxJ9GrgI/AAAAAAAAAiQ/2nAVLc393Tk/s400/3d_text.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5469641283624939010" /&gt;&lt;/a&gt;&lt;p&gt;If I had the Catull type face, used by Google, it would be very cool to write my son's name (Gustavo) as Goostavo ;-) (&lt;a href="http://filipivianna.blogspot.com/2010/05/done-with-catull-type-face.html"&gt;done at May 13, 2010&lt;/a&gt;)&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_rkUXgNHl-OM/S-gR27Je7kI/AAAAAAAAAiY/pzTecISyMlY/s1600/Catull.gif" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="text-align: left;display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; cursor: pointer; width: 400px; height: 267px; " src="http://4.bp.blogspot.com/_rkUXgNHl-OM/S-gR27Je7kI/AAAAAAAAAiY/pzTecISyMlY/s400/Catull.gif" border="0" alt="" id="BLOGGER_PHOTO_ID_5469641382729543234" /&gt;&lt;/a&gt;&lt;div style="text-align: center;"&gt;Catull Type face&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;(tutorial done with Catull, results at "&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, sans-serif; color: rgb(51, 51, 51); line-height: 17px; "&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;a href="http://filipivianna.blogspot.com/2010/05/done-with-catull-type-face.html"&gt;Done - with Catull type face&lt;/a&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&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/6183884398183715183-4787382855264363160?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/4787382855264363160/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2010/05/google-logo-to-goostavo.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/4787382855264363160'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/4787382855264363160'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2010/05/google-logo-to-goostavo.html' title='Google Logo to Goostavo'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_rkUXgNHl-OM/S-gRxJ9GrgI/AAAAAAAAAiQ/2nAVLc393Tk/s72-c/3d_text.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-2203801193458302429</id><published>2010-04-22T05:04:00.000-07:00</published><updated>2010-04-22T05:31:57.823-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='kicad'/><category scheme='http://www.blogger.com/atom/ns#' term='electronics'/><category scheme='http://www.blogger.com/atom/ns#' term='hacks'/><title type='text'>Kicad - crossplatform suite of programs for EDA</title><content type='html'>&lt;div&gt;&lt;div&gt;Working in a place where people do projects on electronics using different platforms (windows and linux) certainly leads us to look for some tool which enables us to exchange our schematics and layouts through all this platforms. There is where &lt;a href="http://kicad.sourceforge.net/"&gt;Kicad&lt;/a&gt; came to help us.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_rkUXgNHl-OM/S9BBpbBDFYI/AAAAAAAAAiA/sli6ucKOBnk/s1600/kicadshot.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_rkUXgNHl-OM/S9BBpbBDFYI/AAAAAAAAAiA/sli6ucKOBnk/s400/kicadshot.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5462938527883007362" /&gt;&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;And, to help us to use it, here is a short tutorial on how to do simple things with Kicad:&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.curiousinventor.com/guides/kicad"&gt;Tutorials for KiCad - A Free Open Source Schematic and PCB Layout Editor&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.curiousinventor.com/guides/kicad/schematic"&gt;KiCad Overview and Schematic Tutoria&lt;/a&gt;l&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.curiousinventor.com/guides/kicad/schematic_to_layout"&gt;Going from Schematic to PCB Layout in KiCad (using Cvpcb)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.curiousinventor.com/guides/kicad/new_components"&gt;Making New Components and Modules (Footprints) in KiCad:&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.curiousinventor.com/guides/kicad/pcb_layout"&gt;Designing PCBs in Kicad and PcbNew:&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;PS.: &lt;/div&gt;&lt;div&gt;Other interesting link on GNU/Linux and Electronics:&lt;/div&gt;&lt;div&gt;&lt;a href="http://1010.co.uk/scrying_tech_notes.html"&gt;http://1010.co.uk/scrying_tech_notes.html&lt;/a&gt;&lt;/div&gt;&lt;div&gt;And on electronics:&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.electronics-lab.com/blog/?tag=power-supply&amp;amp;paged=2"&gt;http://www.electronics-lab.com/blog/?tag=power-supply&amp;amp;paged=2&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-2203801193458302429?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/2203801193458302429/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2010/04/kicad-crossplatform-suite-of-programs.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/2203801193458302429'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/2203801193458302429'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2010/04/kicad-crossplatform-suite-of-programs.html' title='Kicad - crossplatform suite of programs for EDA'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_rkUXgNHl-OM/S9BBpbBDFYI/AAAAAAAAAiA/sli6ucKOBnk/s72-c/kicadshot.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-9072986903272673068</id><published>2010-04-20T10:05:00.000-07:00</published><updated>2010-04-20T10:36:31.658-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='less ungly hacks'/><category scheme='http://www.blogger.com/atom/ns#' term='OCR'/><category scheme='http://www.blogger.com/atom/ns#' term='hacks'/><category scheme='http://www.blogger.com/atom/ns#' term='ugly hacks'/><category scheme='http://www.blogger.com/atom/ns#' term='manuals'/><title type='text'>Convert Scanned PDF Documents to Text without having to wait for google bots</title><content type='html'>Working supporting old scientific hardware sometimes brings me some challenges.  Usually, the manuals are only on paper and when there is a digital version it was digitized (scanned) .&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Googling a little, came to me an &lt;a href="http://www.labnol.org/software/convert-scanned-pdf-images-to-text-with-google-ocr/5158/"&gt;article&lt;/a&gt; which relies on waiting for the google to index your files and OCR them. But there is an open source alternative.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Looking a little further, I did find another two articles at&lt;a href="http://www.linuxquestions.org/questions/linux-software-2/convert-pdf-to-tif-709895/"&gt; linuxquestions.org&lt;/a&gt; and at &lt;a href="http://www.linux.com/archive/feature/138511"&gt;linux.com&lt;/a&gt;, on which I've found the &lt;a href="http://code.google.com/p/tesseract-ocr/"&gt;tesseract-ocr&lt;/a&gt;. So to solve my issue, I had to first convert my PDF file to a bunch of TIF images, and so OCR them with tesseract. This way:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="color:#33CC00;"&gt;gs  -dNOPAUSE -sDEVICE=tiffg4 -r300x300 -sOutputFile=page%03d.tif -- 1850_operators_manual.pdf&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="color:#33CC00;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="color:#33CC00;"&gt;ls -1 *.tif | cut -d e -f 2 | while read line ; do tesseract "page"$line "page"$line -l eng; done&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Hope this helps somebody...&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-9072986903272673068?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/9072986903272673068/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2010/04/convert-scanned-pdf-documents-to-text.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/9072986903272673068'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/9072986903272673068'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2010/04/convert-scanned-pdf-documents-to-text.html' title='Convert Scanned PDF Documents to Text without having to wait for google bots'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-3647916662713616480</id><published>2010-04-20T06:25:00.000-07:00</published><updated>2010-04-20T10:36:14.076-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CVS'/><category scheme='http://www.blogger.com/atom/ns#' term='hacks'/><category scheme='http://www.blogger.com/atom/ns#' term='ugly hacks'/><title type='text'>Recursively Adding files to CVS</title><content type='html'>I'm still running a couple of projects which rely on CVS for version control. But adding more folders recursively is very painful. So I use this line as many times as there still being files/folders to be added.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="color:#33CC00;"&gt;cvs update -R -P -d | grep "?" | cut -d " " -f 2 | while read line ; &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="color:#33CC00;"&gt;do cvs add $line ; done&lt;/span&gt;&lt;/b&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/6183884398183715183-3647916662713616480?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/3647916662713616480/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2010/04/recursively-adding-files-to-cvs.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/3647916662713616480'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/3647916662713616480'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2010/04/recursively-adding-files-to-cvs.html' title='Recursively Adding files to CVS'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-3679337249975585317</id><published>2010-04-12T13:30:00.000-07:00</published><updated>2010-04-14T08:50:12.089-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='kids'/><category scheme='http://www.blogger.com/atom/ns#' term='becaming father'/><title type='text'>New boy in town...</title><content type='html'>&lt;div&gt;My son (Gustavo) was born last Saturday (April 10th 2010), with 2.790kg (6.15 pounds) and 48cm (1.57 feet).&lt;br /&gt;Here is a picture to share the most amazing moment in my life.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_rkUXgNHl-OM/S8OEv7s4PjI/AAAAAAAAAhY/OvNOhy_san8/s1600/100_0009.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_rkUXgNHl-OM/S8OEv7s4PjI/AAAAAAAAAhY/OvNOhy_san8/s400/100_0009.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5459353132317818418" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-3679337249975585317?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/3679337249975585317/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2010/04/new-boy-in-town.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/3679337249975585317'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/3679337249975585317'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2010/04/new-boy-in-town.html' title='New boy in town...'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_rkUXgNHl-OM/S8OEv7s4PjI/AAAAAAAAAhY/OvNOhy_san8/s72-c/100_0009.JPG' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-3327648001574511827</id><published>2010-03-10T04:55:00.000-08:00</published><updated>2010-03-10T04:59:27.255-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='data visualization'/><category scheme='http://www.blogger.com/atom/ns#' term='infographics'/><title type='text'>Cool demo on TED</title><content type='html'>Hmmm... I am not shy to say I am following &lt;a href="http://twitter.com/billgates"&gt;Bill Gates on twitter&lt;/a&gt;. And he posted a link to &lt;a href="http://www.ted.com/talks/gary_flake_is_pivot_a_turning_point_for_web_exploration.html"&gt;Gary Flake talk&lt;/a&gt;, in which he demos “pivot”. A very cool tool for info graphics.&lt;br /&gt;&lt;br /&gt;Here it is:&lt;br /&gt;&lt;object width="446" height="326"&gt;&lt;param name="movie" value="http://video.ted.com/assets/player/swf/EmbedPlayer.swf"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;param name="bgColor" value="#ffffff"&gt;&lt;/param&gt; &lt;param name="flashvars" value="vu=http://video.ted.com/talks/dynamic/GaryFlake_2010-medium.flv&amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/GaryFlake-2010.embed_thumbnail.jpg&amp;vw=432&amp;vh=240&amp;ap=0&amp;ti=783&amp;introDuration=16500&amp;adDuration=4000&amp;postAdDuration=2000&amp;adKeys=talk=gary_flake_is_pivot_a_turning_point_for_web_exploration;year=2010;theme=what_s_next_in_tech;theme=a_taste_of_ted2010;theme=new_on_ted_com;event=TED2010;&amp;preAdTag=tconf.ted/embed;tile=1;sz=512x288;" /&gt;&lt;embed src="http://video.ted.com/assets/player/swf/EmbedPlayer.swf" pluginspace="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent" bgColor="#ffffff" width="446" height="326" allowFullScreen="true" flashvars="vu=http://video.ted.com/talks/dynamic/GaryFlake_2010-medium.flv&amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/GaryFlake-2010.embed_thumbnail.jpg&amp;vw=432&amp;vh=240&amp;ap=0&amp;ti=783&amp;introDuration=16500&amp;adDuration=4000&amp;postAdDuration=2000&amp;adKeys=talk=gary_flake_is_pivot_a_turning_point_for_web_exploration;year=2010;theme=what_s_next_in_tech;theme=a_taste_of_ted2010;theme=new_on_ted_com;event=TED2010;"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-3327648001574511827?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/3327648001574511827/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2010/03/cool-demo-on-ted.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/3327648001574511827'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/3327648001574511827'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2010/03/cool-demo-on-ted.html' title='Cool demo on TED'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-4715923199649813772</id><published>2010-02-26T13:47:00.000-08:00</published><updated>2010-02-26T13:51:26.708-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hardware'/><title type='text'>More on Open Source Hardware</title><content type='html'>Slashdot came with this &lt;a href="http://hardware.slashdot.org/story/10/02/26/1738245/Make-Your-Own-Open-Source-Retro-Arcade-Style-Clock"&gt;Retro Arcade-Style Clock&lt;/a&gt;, designed by A&lt;a href="http://praxical.blogspot.com/"&gt;manda 'w0z' Wozniak&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;object width="400" height="225"&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=9749504&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" /&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=9749504&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="225"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;p&gt;&lt;a href="http://vimeo.com/9749504"&gt;MONOCHRON - open source retro clock&lt;/a&gt; from &lt;a href="http://vimeo.com/adafruit"&gt;adafruit industries&lt;/a&gt; on &lt;a href="http://vimeo.com"&gt;Vimeo&lt;/a&gt;.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;This toke me the &lt;a href="http://www.ladyada.net/"&gt;Lady Ada web site&lt;/a&gt; with some projects on open source hardware.&lt;br /&gt;&lt;a href="http://www.ladyada.net/"&gt;http://www.ladyada.net/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-4715923199649813772?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/4715923199649813772/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2010/02/more-on-open-source-hardware.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/4715923199649813772'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/4715923199649813772'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2010/02/more-on-open-source-hardware.html' title='More on Open Source Hardware'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-5082463485221076263</id><published>2010-02-11T17:03:00.000-08:00</published><updated>2010-02-11T17:04:58.756-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='data visualization'/><title type='text'>Tableau Public</title><content type='html'>New tool for interactive data visualization:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.tableausoftware.com/public/"&gt;http://www.tableausoftware.com/public/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-5082463485221076263?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/5082463485221076263/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2010/02/tableau-public.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/5082463485221076263'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/5082463485221076263'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2010/02/tableau-public.html' title='Tableau Public'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-1760347842448823966</id><published>2010-01-28T05:21:00.001-08:00</published><updated>2010-01-28T09:16:17.306-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='less ungly hacks'/><category scheme='http://www.blogger.com/atom/ns#' term='GNU Emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='Regex'/><title type='text'>Emacs Regular Expressions</title><content type='html'>I do use GNU Emacs for almost every text file related thing. Functions like search, replace, cut, paste, etc are all quickly mastered. But, then I've faced a different situation. I had to replace a string, repeat some numbers and put another string. The answer: regular expressions.&lt;br /&gt;&lt;br /&gt;Emacs has a regular expression replace function. To access it, just type: "Ctrl + Alt + Shift + 5" (too much keys huh... ?) And it asks what should be searched. In my case, in which I wanted to capture the regex match, I did type \([0-9][0-9][0-9]\) to locate a 3 digit numbers and capture them. Then I typed enter and did tell Emacs what it should put in those numbers place: ID=\1; mv \1 ./safebox/\1 &lt;br /&gt;And enter again and ! to replace all. That is it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-1760347842448823966?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/1760347842448823966/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2010/01/emacs-regular-expressions.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/1760347842448823966'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/1760347842448823966'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2010/01/emacs-regular-expressions.html' title='Emacs Regular Expressions'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-7338651750943669454</id><published>2010-01-05T02:52:00.000-08:00</published><updated>2010-01-05T02:55:37.664-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='automation'/><title type='text'>Automation</title><content type='html'>As an exercise for our teaching methodologies class, my group had made an automation lecture. Here are a couple of videos illustrating a cool kind of automation.&lt;br /&gt;&lt;br /&gt;&lt;object type="application/x-shockwave-flash" data="http://www.xpock.tv/playerf/embed/1823" width="425" height="320"&gt;&lt;param name="movie" value="http://www.xpock.tv/playerf/embed/1823" /&gt;&lt;param name="flashVars" value="id=1823" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;embed src="http://www.xpock.tv/playerf/embed/1823" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="425" height="320"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;More on &lt;a href="http://xpock.tv/play.php?vid=1823"&gt;http://xpock.tv/play.php?vid=1823&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-7338651750943669454?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/7338651750943669454/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2010/01/automation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/7338651750943669454'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/7338651750943669454'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2010/01/automation.html' title='Automation'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-217933766868648502</id><published>2009-12-28T07:58:00.000-08:00</published><updated>2011-09-09T17:35:14.490-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='libftdi'/><category scheme='http://www.blogger.com/atom/ns#' term='less ungly hacks'/><category scheme='http://www.blogger.com/atom/ns#' term='ftdi'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='hardware'/><title type='text'>FTDI USB to Serial</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Hack a Day has exactly the tutorial I am needing: &lt;a href="http://hackaday.com/2009/09/22/introduction-to-ftdi-bitbang-mode/#more-15652"&gt;Introduction to FTDI bitbang mode&lt;/a&gt;.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It is also a Windows Serial thought USB programming tutorial for dummies.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-217933766868648502?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/217933766868648502/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2009/12/ftdi-usb-to-serial.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/217933766868648502'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/217933766868648502'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2009/12/ftdi-usb-to-serial.html' title='FTDI USB to Serial'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-1191477831691252295</id><published>2009-12-28T03:55:00.000-08:00</published><updated>2009-12-28T04:03:43.159-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Maps'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><category scheme='http://www.blogger.com/atom/ns#' term='notes to remember'/><title type='text'>Reducing Browser Memory Leaks with Google Maps API</title><content type='html'>&lt;span class="Apple-style-span"   style="  ;font-family:Helvetica, Arial, sans-serif;font-size:small;"&gt;&lt;h2 style="margin-bottom: 0px; font-size: 17px; font-weight: bold; margin-top: 1.5em; margin-right: 0px; margin-left: 0px; "&gt;Reducing Browser Memory Leaks&lt;/h2&gt;&lt;p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 16px; "&gt;The Google Maps API encourages the use of &lt;a href="http://jibbering.com/faq/faq_notes/closures.html" rel="nofollow" style="color: rgb(0, 0, 204); "&gt;function closures&lt;/a&gt;, and the API event handling system &lt;code style="font-family: monospace; color: rgb(0, 112, 0); font-size: 10pt; "&gt;GEvent&lt;/code&gt; attaches events to DOM nodes in such a way that almost inevitably causes some browsers to leak memory, &lt;a href="http://jibbering.com/faq/faq_notes/closures.html#clMem" rel="nofollow" style="color: rgb(0, 0, 204); "&gt;particularly Internet Explorer&lt;/a&gt;. Version 2 of the Maps API introduces a new method, &lt;code style="font-family: monospace; color: rgb(0, 112, 0); font-size: 10pt; "&gt;GUnload()&lt;/code&gt;, that will remove most of the circular references that cause these leaks. You should call &lt;code style="font-family: monospace; color: rgb(0, 112, 0); font-size: 10pt; "&gt;GUnload()&lt;/code&gt; in the &lt;code style="font-family: monospace; color: rgb(0, 112, 0); font-size: 10pt; "&gt;onunload&lt;/code&gt; event of your page to reduce the potential that your application leaks memory:&lt;/p&gt;&lt;p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 16px; "&gt;&lt;span class="Apple-style-span"  style="line-height: normal;  font-size:small;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;pre class="prettyprint"   style=" color: rgb(0, 112, 0);  background-color: rgb(250, 250, 250); border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(187, 187, 187); border-right-color: rgb(187, 187, 187); border-bottom-color: rgb(187, 187, 187); border-left-color: rgb(187, 187, 187); line-height: 15px; margin-top: 1em; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.99em; padding-right: 0.99em; padding-bottom: 0.99em; padding-left: 0.99em; overflow-x: auto; overflow-y: auto; word-wrap: break-word; font-family:monospace;font-size:9pt;"&gt;&lt;span class="tag" style="color: rgb(0, 0, 136); "&gt;&lt;/span&gt;&lt;span class="pln" style="color: rgb(0, 0, 0); "&gt; onunload&lt;/span&gt;&lt;span class="pun" style="color: rgb(102, 102, 0); "&gt;=&lt;/span&gt;&lt;span class="atv" style="color: rgb(0, 136, 0); "&gt;"&lt;/span&gt;&lt;span class="typ" style="color: rgb(102, 0, 102); "&gt;GUnload&lt;/span&gt;&lt;span class="pun" style="color: rgb(102, 102, 0); "&gt;()&lt;/span&gt;&lt;span class="atv" style="color: rgb(0, 136, 0); "&gt;"&lt;/span&gt;&lt;span class="tag" style="color: rgb(0, 0, 136); "&gt;&gt;&lt;/span&gt;&lt;/pre&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 16px; "&gt;Using this function has virtually eliminated Internet Explorer memory leaks in Google Maps, though you should test for memory leaks on your own site using tools like &lt;a href="http://www.outofhanwell.com/ieleak/" rel="nofollow" style="color: rgb(0, 0, 204); "&gt;Drip&lt;/a&gt; if you are noticing memory consumption problems.&lt;/p&gt;&lt;p style="padding-top: 1em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 16px; "&gt;SOURCE: &lt;a href="http://code.google.com/apis/maps/documentation/#Memory_Leaks"&gt;GOOGLE&lt;/a&gt;&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-1191477831691252295?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/1191477831691252295/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2009/12/reducing-browser-memory-leaks-with.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/1191477831691252295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/1191477831691252295'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2009/12/reducing-browser-memory-leaks-with.html' title='Reducing Browser Memory Leaks with Google Maps API'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-1750725275897725253</id><published>2009-12-28T03:02:00.000-08:00</published><updated>2009-12-30T07:46:27.210-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='EasyCAP'/><category scheme='http://www.blogger.com/atom/ns#' term='v4l'/><title type='text'>Internal Projects</title><content type='html'>We can't open much about our internal projects here at IDEIA. But now that University students and and professors, our main customers are on vacation, we have more time to spend on some internal projects which were put aside during the year.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;One of them, in cooperation with the IDEIA's Optics Lab, is related to digitize images captured with a regular composite video camera. The guy from the Optics Lab have a EasyCAP USB device, which I have to put to work with my linux box.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I didn't find an out of the box solution, or a few steps tutorial to put it to work during the year. Looking again, I've found a couple of forums, tutorials, and links:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://ubuntuforums.org/showthread.php?t=662531"&gt;http://ubuntuforums.org/showthread.php?t=662531&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.unicap-imaging.org/download.htm"&gt;http://www.unicap-imaging.org/download.htm&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://sourceforge.net/projects/syntekdriver/files/syntekdriver/Release%202.1.0/stk11xx-2.1.0.tar.gz/download"&gt;http://sourceforge.net/projects/syntekdriver/files/syntekdriver/Release%202.1.0/stk11xx-2.1.0.tar.gz/download&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://ubuntuforums.org/showthread.php?t=451200&amp;amp;highlight=Syntek+Semiconductor"&gt;http://ubuntuforums.org/showthread.php?t=451200&amp;amp;highlight=Syntek+Semiconductor&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I hope these might be useful to others trying to make this EasyCAP thing work with Linux.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-1750725275897725253?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/1750725275897725253/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2009/12/internal-projects.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/1750725275897725253'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/1750725275897725253'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2009/12/internal-projects.html' title='Internal Projects'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-548642327194008813</id><published>2009-12-23T03:38:00.000-08:00</published><updated>2010-04-30T11:20:11.134-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='data visualization'/><title type='text'>Information Visualization</title><content type='html'>Since I had done the &lt;a href="http://filipivianna.blogspot.com/2009/05/who-runs-more.html"&gt;visualization class&lt;/a&gt; at grad school, the world wans't the same anymore. To look at informational illustrations and graphic plots is being a real cool exercise. And when I have to use some software to plot some chart, quickly come back to my mind when our professor were telling us if we went to his office, he will receive us with a box of paper tissue to wipe our tears away...&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So, when I read the &lt;a href="http://tech.slashdot.org/story/09/12/22/221230/Nuclear-Reactors-As-Art"&gt;slashdot article&lt;/a&gt; about a Ronald Knief collecting charts of nuclear reactors, originally published in issues of &lt;i&gt;&lt;a href="http://www.wired.com/wiredscience/2009/12/reactors-gallery/"&gt;Nuclear Engineering International&lt;/a&gt;&lt;/i&gt;, I became very curious.&lt;/div&gt;&lt;div&gt;The &lt;a href="http://www.wired.com/wiredscience/2009/12/reactors-gallery/"&gt;Wired website brings more details&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;But after reading those articles I had reached the &lt;b&gt;&lt;i&gt;&lt;a href="http://bibliodyssey.blogspot.com/"&gt;BibliOdissey&lt;/a&gt;&lt;/i&gt;&lt;/b&gt; blog, which has much more digitized illustrations, from artistic illustrations, through info charts, to puzzles. It is really awesome... It has lots of illustrations. They are all hires illustrations, the B&lt;a href="http://www.flickr.com/photos/bibliodyssey/"&gt;ibliOdissey has a Flickr gallery&lt;/a&gt; with them in &lt;span class="Dimensions"&gt;5156 x 3244.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;Here are some of my favorites:&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm5.static.flickr.com/4045/4199976029_e365e7ea5c_o_d.jpg"&gt;&lt;br /&gt;&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm4.static.flickr.com/3418/3838642206_0f9d9c58a7.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 364px; height: 284px;" src="http://farm4.static.flickr.com/3418/3838642206_0f9d9c58a7.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm4.static.flickr.com/3431/3836255162_74f17a1c23.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 378px; height: 500px;" src="http://farm4.static.flickr.com/3431/3836255162_74f17a1c23.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm4.static.flickr.com/3510/3845254688_ffbc80e51b.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 371px; height: 298px;" src="http://farm4.static.flickr.com/3510/3845254688_ffbc80e51b.jpg" alt="" 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/6183884398183715183-548642327194008813?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/548642327194008813/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2009/12/information-visualization.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/548642327194008813'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/548642327194008813'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2009/12/information-visualization.html' title='Information Visualization'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm4.static.flickr.com/3418/3838642206_0f9d9c58a7_t.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-2698413413940181397</id><published>2009-11-21T14:05:00.000-08:00</published><updated>2010-04-20T10:37:08.114-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C'/><category scheme='http://www.blogger.com/atom/ns#' term='Dev-Cpp'/><category scheme='http://www.blogger.com/atom/ns#' term='wxWidgets'/><category scheme='http://www.blogger.com/atom/ns#' term='hacks'/><category scheme='http://www.blogger.com/atom/ns#' term='ugly hacks'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='cross-compiling'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>Cross-compiling windows applications under linux with wine and DevC++</title><content type='html'>This post has the same title as &lt;a href="http://blog.violin-bg.com/?p=34"&gt;this&lt;/a&gt;, from &lt;a href="http://blog.violin-bg.com/"&gt;Violin Iliev&lt;/a&gt; because it is almost a "repost". I had an old post on &lt;a href="http://filipivianna.blogspot.com/2009/06/compiling-win32-binaries-on-linux.html"&gt;compiling win32 binaries on linux&lt;/a&gt;, but the technique I had shown lack the windows resource file compiling. Violin had written his wrapper to the windres resource compiler, but one good "emergency option" if one couldn't, or don't want, or hasn't time to, write a wrapper or compile Violin'd wrapper, is to follow what was commented on Violin's blog by someone who signed as Andy. Andy said:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;"I had the same problems with windres and mingw32-make under wine 1.0.1&lt;br /&gt;I solved the problems by putting an original copy of msvcrt.dll in the bin subfolder of mingw32 and telling wine to load it first instead of its own msvcrt emulation.&lt;br /&gt;hope it can be useful&lt;br /&gt;Andy"&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-2698413413940181397?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/2698413413940181397/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2009/11/cross-compiling-windows-applications.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/2698413413940181397'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/2698413413940181397'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2009/11/cross-compiling-windows-applications.html' title='Cross-compiling windows applications under linux with wine and DevC++'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-7348481919571526603</id><published>2009-11-12T03:32:00.000-08:00</published><updated>2009-11-12T03:34:35.684-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='inkscape'/><category scheme='http://www.blogger.com/atom/ns#' term='art work'/><title type='text'>All my avatars until now</title><content type='html'>These are the avatars I use for instant messaging. They were all made with &lt;a href="http://www.inkscape.org"&gt;inkscape&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_rkUXgNHl-OM/SvvyiPkvouI/AAAAAAAAAck/iY0tAjRBXQ0/s1600-h/Todos.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 267px; height: 400px;" src="http://1.bp.blogspot.com/_rkUXgNHl-OM/SvvyiPkvouI/AAAAAAAAAck/iY0tAjRBXQ0/s400/Todos.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5403178848071164642" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-7348481919571526603?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/7348481919571526603/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2009/11/all-my-avatars-until-now.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/7348481919571526603'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/7348481919571526603'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2009/11/all-my-avatars-until-now.html' title='All my avatars until now'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_rkUXgNHl-OM/SvvyiPkvouI/AAAAAAAAAck/iY0tAjRBXQ0/s72-c/Todos.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-3856830028786186563</id><published>2009-11-06T04:17:00.000-08:00</published><updated>2009-11-06T04:22:49.328-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Computer Vision'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenCV'/><title type='text'>Region of interest</title><content type='html'>This another test was made with a restricted region of interest, to avoid the detection of undesired squares. &lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/rAEuo6gfkdI&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/rAEuo6gfkdI&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;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-3856830028786186563?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/3856830028786186563/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2009/11/region-of-interest.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/3856830028786186563'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/3856830028786186563'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2009/11/region-of-interest.html' title='Region of interest'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-7778386648521554622</id><published>2009-11-05T04:20:00.001-08:00</published><updated>2009-11-05T04:24:12.671-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Computer Vision'/><title type='text'>Square detection results:</title><content type='html'>This is a first test on my square detection system that will be used for syncing stereo videos. &lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/duPocl3y360&amp;hl=en&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/duPocl3y360&amp;hl=en&amp;fs=1" 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;The centroid of each square is also marked with a red circle, for motion tracking purposes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-7778386648521554622?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/7778386648521554622/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2009/11/square-detection-results.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/7778386648521554622'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/7778386648521554622'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2009/11/square-detection-results.html' title='Square detection results:'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-5052317788081861507</id><published>2009-11-02T16:34:00.000-08:00</published><updated>2009-11-12T03:19:10.256-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Computer Vision'/><title type='text'>Quadrilateral Centroid Algorithm</title><content type='html'>Oh men... This time google wasn't helping much...&lt;br /&gt;&lt;br /&gt;I was looking for an algorithm to find the centroid from a quadrilateral polygon. It wasn't necessary to be a general, any polygon, centroid algorithm... just one which give me the centroid of a regular convex quadrilateral. It was hard to find something that simple. But finally, here is.&lt;br /&gt;The following code is a C example on how to compute the area and the centroid from a regular convex quadrilateral polygon:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;#include&amp;lt;stdio.h&amp;gt;&lt;br /&gt;&lt;br /&gt;int main(void){&lt;br /&gt;  float verticesX[5];&lt;br /&gt;  float verticesY[5];&lt;br /&gt;  float centroidX = 0;&lt;br /&gt;  float centroidY = 0;&lt;br /&gt;&lt;br /&gt;  verticesX[0] = 3.58; verticesY[0] = 1.90;&lt;br /&gt;  verticesX[1] = 4.48; verticesY[1] = 1.88;&lt;br /&gt;  verticesX[2] = 4.56; verticesY[2] = 2.71;&lt;br /&gt;  verticesX[3] = 3.64; verticesY[3] = 2.74;&lt;br /&gt;  verticesX[4] = 3.58; verticesY[4] = 1.90; // Repeat the first vertex&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  int i, k;&lt;br /&gt;  float area = 0.0f;&lt;br /&gt;  float tmp = 0.0f;&lt;br /&gt;  &lt;br /&gt;  for (i = 0; i &lt;= 4; i++){&lt;br /&gt;    k = (i + 1) % (4 + 1);&lt;br /&gt;    tmp = verticesX[i] * verticesY[k] - &lt;br /&gt;          verticesX[k] * verticesY[i];&lt;br /&gt;    area += tmp;&lt;br /&gt;    centroidX += (verticesX[i] + verticesX[k]) * tmp;&lt;br /&gt;    centroidY += (verticesY[i] + verticesY[k]) * tmp;&lt;br /&gt;  }&lt;br /&gt;  area *= 0.5f;&lt;br /&gt;  centroidX *= 1.0f / (6.0f * area);&lt;br /&gt;  centroidY *= 1.0f / (6.0f * area);&lt;br /&gt;  printf("Centroid = (%1.2f, %1.2f),  area = %1.2f\n", centroidX, centroidY, area);&lt;br /&gt;&lt;br /&gt;  return 0;&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/6183884398183715183-5052317788081861507?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/5052317788081861507/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2009/11/quadrilateral-centroid-algorithm.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/5052317788081861507'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/5052317788081861507'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2009/11/quadrilateral-centroid-algorithm.html' title='Quadrilateral Centroid Algorithm'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-1410847173753431304</id><published>2009-10-29T15:39:00.000-07:00</published><updated>2009-10-31T15:33:26.124-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Computer Vision'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenCV'/><title type='text'>Experiences with OpenCV</title><content type='html'>OpenCV has really lots of useful classes and features.&lt;br /&gt;The square detection for my virtual reality class work is being made with it.&lt;br /&gt;&lt;br /&gt;Unfortunately, on my tests, I was detecting squares which I didn't want the software to detect. Like on the image below:&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_rkUXgNHl-OM/SuocoVvKp8I/AAAAAAAAAcU/io_omexY7GU/s1600-h/withoutcrop.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 267px;" src="http://4.bp.blogspot.com/_rkUXgNHl-OM/SuocoVvKp8I/AAAAAAAAAcU/io_omexY7GU/s400/withoutcrop.jpg" alt="" id="BLOGGER_PHOTO_ID_5398158582712281026" border="0" /&gt;&lt;/a&gt;It would be much better if I could do the image analysis only inside the laptop screen. "Googling" on "OpenCV image crop" I had reached the &lt;a href="http://nashruddin.com/"&gt;nashruddin.com&lt;/a&gt; (&lt;a href="http://nashruddin.com/OpenCV_Region_of_Interest_%28ROI%29"&gt;OpenCV Region of Interest - ROI&lt;/a&gt;). This blog has a good explanation on how to crop (extract the region of interest) from a image.&lt;br /&gt;With those informations I got the following result for the same frame:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_rkUXgNHl-OM/Suofc842-KI/AAAAAAAAAcc/0RwJ06P-a7A/s1600-h/withroi.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 350px; height: 200px;" src="http://2.bp.blogspot.com/_rkUXgNHl-OM/Suofc842-KI/AAAAAAAAAcc/0RwJ06P-a7A/s400/withroi.jpg" alt="" id="BLOGGER_PHOTO_ID_5398161685598369954" border="0" /&gt;&lt;/a&gt;Now I have to check the area of the detected squares. At the web archives of the c&lt;a href="http://valis.cs.uiuc.edu/%7Esariel/research/CG/compgeom/msg00831.html"&gt;omputer geometry class mailing list&lt;/a&gt;, from the Illinois University, google had shown me one algorithm to calculate the area of a closed polygon, as follows:&lt;br /&gt;&lt;pre&gt;Let 'vertices' be an array of N pairs (x,y), indexed from 0&lt;br /&gt;Let 'area' = 0.0&lt;br /&gt;for i = 0 to N-1, do&lt;br /&gt;Let j = (i+1) mod N&lt;br /&gt;Let area = area + vertices[i].x * vertices[j].y&lt;br /&gt;Let area = area - vertices[i].y * vertices[j].x&lt;br /&gt;end for&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;In C, to use with OpenCV:&lt;br /&gt;&lt;pre&gt;double polygonArea(CvPoint vertices[]){&lt;br /&gt;  double area = 0.0;&lt;br /&gt;  int i, j;&lt;br /&gt;  for (i=0;i&lt;4;i++){&lt;br /&gt;    j = (i+1) % 4;&lt;br /&gt;    area = area + vertices[i].x * vertices[j].y;&lt;br /&gt;    area = area - vertices[i].y * vertices[j].x;&lt;br /&gt;  }&lt;br /&gt;  if (area&lt;0) area = -area;&lt;br /&gt;  return area;&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/6183884398183715183-1410847173753431304?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/1410847173753431304/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2009/10/experiences-with-opencv.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/1410847173753431304'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/1410847173753431304'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2009/10/experiences-with-opencv.html' title='Experiences with OpenCV'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_rkUXgNHl-OM/SuocoVvKp8I/AAAAAAAAAcU/io_omexY7GU/s72-c/withoutcrop.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-2624744368533518529</id><published>2009-10-27T13:35:00.000-07:00</published><updated>2009-10-28T16:27:55.900-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='becaming father'/><category scheme='http://www.blogger.com/atom/ns#' term='data visualization'/><title type='text'>Becoming father...</title><content type='html'>After 4 years of marriage we will finally have our first kid.&lt;br /&gt;&lt;br /&gt;My wife is writing a &lt;a href="http://miriamvianna.blogspot.com/"&gt;blog with more details&lt;/a&gt; (in Portuguese). But which is letting me more exited about this near future is the new excuse to buy toys. The chart below from graphjam illustrates well:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://graphjam.com/2009/09/19/song-chart-memes-being-father/"&gt;&lt;img style="width: 442px; height: 221px;" class="mine_4985315" title="song-chart-memes-being-father" src="http://graphjam.wordpress.com/files/2009/08/song-chart-memes-being-father.jpg" alt="song chart memes" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;see more &lt;a href="http://graphjam.com/"&gt;Funny Graphs&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And here is one echo scan image made when we were with 12 weeks of pregnancy:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_nmPNOe4p78Y/SuUExKQB1_I/AAAAAAAAABg/RHf3H4xro7w/s400/Rafaela_Gustavo.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 344px;" src="http://1.bp.blogspot.com/_nmPNOe4p78Y/SuUExKQB1_I/AAAAAAAAABg/RHf3H4xro7w/s400/Rafaela_Gustavo.jpg" alt="" 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/6183884398183715183-2624744368533518529?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/2624744368533518529/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2009/10/becoming-father.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/2624744368533518529'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/2624744368533518529'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2009/10/becoming-father.html' title='Becoming father...'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_nmPNOe4p78Y/SuUExKQB1_I/AAAAAAAAABg/RHf3H4xro7w/s72-c/Rafaela_Gustavo.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-1957905967370387757</id><published>2009-10-24T18:48:00.000-07:00</published><updated>2009-10-29T15:21:27.960-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='game development'/><title type='text'>Developing PlayStation2 Games</title><content type='html'>The I finally have a PlayStation2 at home. Now it is time to start looking for tools for game developing for it.&lt;br /&gt;&lt;br /&gt;The first place google has shown was &lt;a href="http://ps2dev.org/"&gt;http://ps2dev.org/&lt;/a&gt;. The first look has been promising. Besides the PlayStation2 related pages, it also has tutorials and articles related to the PlayStation3 and the PSP.&lt;br /&gt;&lt;br /&gt;I hope to sooner be posting something about my experiences developing for the PlayStation2.&lt;br /&gt;&lt;br /&gt;The results should probably be tested with some PlayStation2 emulator (&lt;a href="http://pcsx2.net/"&gt;http://pcsx2.net/&lt;/a&gt;, &lt;a href="http://www.emulator-zone.com/doc.php/ps2/"&gt;http://www.emulator-zone.com/doc.php/ps2/&lt;/a&gt;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-1957905967370387757?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/1957905967370387757/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2009/10/developing-plastation-games.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/1957905967370387757'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/1957905967370387757'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2009/10/developing-plastation-games.html' title='Developing PlayStation2 Games'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-948592197541680950</id><published>2009-10-21T05:57:00.000-07:00</published><updated>2009-10-21T06:10:25.130-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>How many times each user has logged in</title><content type='html'>With this line, we can check how many times our users had logged in with SSH:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(51, 204, 0);font-family:courier new;" &gt;cat /etc/passwd | cut -d ":" -f 1 | sort | uniq | while read line ; do echo -n $line" "; zgrep "user $line" /var/log/auth.log* | grep -i ssh | grep -vi fail | grep -vi invalid | wc -l; done | sort -n -r -k 2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;On my system, the only user which has logged in was my own user:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;filipi 52&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;And for non SSH logins:&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(51, 204, 0);font-family:courier new;" &gt;cat /etc/passwd | cut -d ":" -f 1 | sort | uniq | while read line ; do echo -n $line" "; zgrep "user $line" /var/log/auth.log* | grep -vi fail | grep -vi invalid | wc -l; done | sort -n -r -k 2&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-948592197541680950?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/948592197541680950/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2009/10/how-many-times-each-user-has-logged-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/948592197541680950'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/948592197541680950'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2009/10/how-many-times-each-user-has-logged-in.html' title='How many times each user has logged in'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-7322827032031029105</id><published>2009-10-20T14:34:00.000-07:00</published><updated>2009-10-21T06:00:20.639-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='ssh'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>Checking auth.log for ssh brute force attacks</title><content type='html'>As I am letting my personal computer always on, as a homelinux server, I decided to check if someone is trying to breaking in with SSH brute force attacks.&lt;br /&gt;&lt;br /&gt;First I did a grep for fail at the /var/log/auth.log. (&lt;span style="color: rgb(51, 204, 0); font-weight: bold;font-family:courier new;" &gt;grep -i /var/log/auth.log&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;And I got lots of lines with the string "fail". With [&lt;span style="font-weight: bold; color: rgb(51, 204, 0);font-family:courier new;" &gt;grep -i /var/log/auth.log | wc -l&lt;/span&gt;] I figured out that were &lt;span style="font-weight: bold;"&gt;1164&lt;/span&gt; fail entries at auth.log&lt;br /&gt;&lt;br /&gt;With an [&lt;span style="font-weight: bold; color: rgb(51, 204, 0);font-family:courier new;" &gt;grep -i fail auth.log | cut -d " " -f 6 | sort | uniq&lt;/span&gt;] I checked that were two kind of failed attempts:&lt;br /&gt;Failed&lt;br /&gt;pam_unix(sshd:auth):&lt;br /&gt;&lt;br /&gt;So I wrote the following line to check with which users they were attempting to log:&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(51, 204, 0);font-family:courier new;" &gt;grep Failed auth.log | cut -d " " -f 11 | sort | uniq | while read line ; do  echo -n $line" "; grep $line auth.log | wc -l; done | sort -n  -k 2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Here, the field position (the number 11 at the above command lines [-f 11]) may change in some systems. At my desktop at work, the username came at the position 9.&lt;br /&gt;&lt;br /&gt;Here are the "top ten":&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;root 2922&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;user 2884&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;test 30&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;oracle 26&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;admin 22&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;mythtv 12&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;user1 6&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;teste 4&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;silentios 4&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;setup 4&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Iauch! 2922 attempts! Luckily I always change my SSH config to not permit root logons.&lt;br /&gt;&lt;br /&gt;At the /etc/ssh/sshd_config, PermitRootLogin no&lt;br /&gt;And a good habit is to add a last AllowUsers line, followed by the usernames enabled to log trough SSH.&lt;br /&gt;&lt;br /&gt;As most unixes do log rotation with gzip, the line above can be changed to zgrep all auth logs as follows:&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(51, 204, 0);font-family:courier new;" &gt;zgrep Failed auth.log* | cut -d " " -f 11 | sort | uniq | while read line ; do echo -n $line" "; zgrep Failed auth.log* | grep $line | wc -l; done | sort -n -k 2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This particular line took me around 4 minutes running. After that, it came with a list with &lt;span style="font-weight: bold;"&gt;676&lt;/span&gt; diferent users which attemped to log with ssh in my host.&lt;br /&gt;&lt;br /&gt;Here are the top 50:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;w 9707&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;u 9707&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;t 9707&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;sshd 9707&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ssh 9707&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;s 9707&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;r 9707&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;p 9707&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;o 9707&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;m 9707&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;log 9707&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;l 9707&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;k 9707&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;i 9707&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;h 9707&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;g 9707&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;f 9707&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ed 9707&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;e 9707&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;desktop 9707&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;d 9707&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;am 9707&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;a 9707&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;v 9706&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;user 9706&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;n 9706&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;id 9706&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;z 8419&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;c 6818&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;root 2322&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;y 840&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;b 677&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;j 381&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;test 319&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;adm 268&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;admin 253&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;at 222&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;x 189&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;it 167&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;q 134&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ftp 124&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;mail 113&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;web 102&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;postgres 79&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;mysql 78&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;mini 74&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;suporte 71&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;guest 67&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;pop 65&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;oracle 62&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-7322827032031029105?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/7322827032031029105/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2009/10/checking-authlog-for-ssh-brute-force.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/7322827032031029105'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/7322827032031029105'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2009/10/checking-authlog-for-ssh-brute-force.html' title='Checking auth.log for ssh brute force attacks'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-7842988920383019614</id><published>2009-10-17T19:37:00.000-07:00</published><updated>2009-10-18T11:38:26.723-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GNU Octave'/><category scheme='http://www.blogger.com/atom/ns#' term='control'/><category scheme='http://www.blogger.com/atom/ns#' term='control engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='firewire'/><title type='text'>Control and Industrial applications</title><content type='html'>&lt;a href="http://epics.web.psi.ch/software/ioc-octave/index.php"&gt;http://epics.web.psi.ch/software/ioc-octave/index.php&lt;/a&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://epics.web.psi.ch/"&gt;EPICS at the SLS&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://epics.web.psi.ch/software/firewire/"&gt;EPICS Video Server using Firewire Camera&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-7842988920383019614?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/7842988920383019614/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2009/10/control-and-industrial-applications.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/7842988920383019614'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/7842988920383019614'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2009/10/control-and-industrial-applications.html' title='Control and Industrial applications'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-4327143037247463628</id><published>2009-10-17T19:16:00.000-07:00</published><updated>2009-10-24T18:31:18.657-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='GNU Octave'/><title type='text'>GNU Octave from PHP without temp files</title><content type='html'>Of course... How haven't I thought that? Pipes!&lt;br /&gt;&lt;br /&gt;I was "googling" about PHP and Octave and I had found some simple approach at a m&lt;a href="https://www-old.cae.wisc.edu/pipermail/help-octave/2008-July/010297.html"&gt;ailing list archive&lt;/a&gt;. &lt;a href="http://filipivianna.blogspot.com/2009/03/php-gnu-octave-to-build-web-based-pump.html"&gt;I had already used Octave with PHP&lt;/a&gt; but I had always used temporary files, but pipes are a much simpler approach.&lt;br /&gt;&lt;br /&gt;From the mailing list post:&lt;br /&gt;&lt;pre&gt;&lt;blockquote&gt;in php&lt;br /&gt;start "octave -q script" with popen&lt;br /&gt;&lt;br /&gt;create a string in php e.g. "input_data = [102 10 10 10 10 10];"&lt;br /&gt;&lt;br /&gt;write this string to the pipe&lt;br /&gt;&lt;br /&gt;in octave&lt;br /&gt;&lt;br /&gt;recive the string with fread on stdin&lt;br /&gt;let the eval function do the job&lt;br /&gt;calculate&lt;br /&gt;&lt;br /&gt;print the result with printf in php syntax "$result = array(12,10,9,12,)"&lt;br /&gt;&lt;br /&gt;php&lt;br /&gt;read the output from the pipe (with php fread)&lt;br /&gt;use phps eval function&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;but using eval with octave and php is a security risk, to avid eval parse&lt;br /&gt;the matrix wird scanf&lt;br /&gt;&lt;br /&gt;this is also not the fastes way to use octave (the octave startup needs a&lt;br /&gt;lot of time)&lt;/blockquote&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-4327143037247463628?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/4327143037247463628/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2009/10/gnu-octave-from-php-without-temp-files.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/4327143037247463628'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/4327143037247463628'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2009/10/gnu-octave-from-php-without-temp-files.html' title='GNU Octave from PHP without temp files'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-6332796083173029077</id><published>2009-10-09T17:12:00.000-07:00</published><updated>2009-10-27T10:12:24.825-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='data visualization'/><title type='text'>Plotting with AJAX + Javascript</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://nettuts.s3.amazonaws.com/098_FlotPlugin/options-3.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 335px; height: 186px;" src="http://nettuts.s3.amazonaws.com/098_FlotPlugin/options-3.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;A friend of mine had written an application which communicates with a small microcotroled board and saves data read from this board on a mysql database. He wants to plot these data on the web. He wrote a PHP script using the GD lib. He did a real good job, but he wants it to plot the data dynamically and an http refresh made things a little ugly. He is now trying to plot directly with AJAX + Javascript. He is trying to use &lt;a href="http://net.tutsplus.com/javascript-ajax/visualizing-data-with-flot/"&gt;Flot&lt;/a&gt;, which is a javascrit for plotting data.&lt;br /&gt;Another usefull resource for realtime web graphics is the &lt;a href="http://www.canvasdemos.com/"&gt;CavasDemos&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-6332796083173029077?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/6332796083173029077/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2009/10/ploting-with-ajax-javascript.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/6332796083173029077'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/6332796083173029077'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2009/10/ploting-with-ajax-javascript.html' title='Plotting with AJAX + Javascript'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-4603381727764290946</id><published>2009-10-05T13:48:00.000-07:00</published><updated>2009-10-20T15:36:10.447-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='less ungly hacks'/><category scheme='http://www.blogger.com/atom/ns#' term='PostgreSQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Regex'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Regex within PostgreSQL</title><content type='html'>Regex (Regular expressions) are very useful.  I had to make a SQL query to return only the firstname from a table where the field provides the full name.&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;ideia_onde=# SELECT name FROM users;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;              name              &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;--------------------------------&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;Linus Torvalds&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;Randal Schwartz&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;Steve Wozniak&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;(3 rows)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;ideia_onde=# &lt;/span&gt;&lt;br /&gt;Now, with a simple substring using a regular expression:&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;SELECT SUBSTRING(name, '(.*?(\\s))') FROM users;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt; substring &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;-----------&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;Linus&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;Randal&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;Steve&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;(3 rows)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;ideia_onde=# &lt;/span&gt;&lt;br /&gt;What do I did?&lt;br /&gt;The substring function extracts from the name field everything (.*) until (?) a space character (\\s).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-4603381727764290946?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/4603381727764290946/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2009/10/regex-within-postgresql.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/4603381727764290946'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/4603381727764290946'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2009/10/regex-within-postgresql.html' title='Regex within PostgreSQL'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-2522880573760430615</id><published>2009-10-03T18:50:00.001-07:00</published><updated>2009-10-21T12:19:15.972-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='CG'/><category scheme='http://www.blogger.com/atom/ns#' term='Virtual Reality'/><title type='text'>Experiences with Tecgraf Libraries</title><content type='html'>My advisor is always right. So I have decided to take a look at&lt;a href="http://www.tecgraf.puc-rio.br/im/"&gt; Im lib&lt;/a&gt;, from &lt;a href="http://www.tecgraf.puc-rio.br/"&gt;Tecgraf&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;As a learner by example, I first tried to compile and run the examples provided with Im lib, but most of their examples came written in lua and I need to write my code in C (or C++).  Fortunately there were 6 examples written in C++:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;glut_capture.c&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;im_copy.cpp&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;im_info.cpp&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;im_view.c&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;iupglview.c&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;proc_fourier.cpp&lt;/span&gt;&lt;br /&gt;But, I wans't use glut (discarted glut_capture.c and iupglview.c)&lt;br /&gt;So I've choosen im_view.c to try to compile, and the torture has started. There wans't any doc, readme or anything which tells something on how to compile the examples. The only clue was the comments written on the source header:&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);font-family:courier new;" &gt;/*&lt;br /&gt;IM 3 sample that shows an image.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;  &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:courier new;" &gt;  Needs "im.lib", "iup.lib", "cd.lib" and "cdiup.lib".&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;  &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:courier new;" &gt;  Usage: im_view &lt;file_name&gt;&lt;/file_name&gt;&lt;/span&gt;  &lt;span style="color: rgb(255, 0, 0);font-family:courier new;" &gt;    Example: im_view test.tif&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;  &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:courier new;" &gt;    &lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);font-family:courier new;" &gt;  Click on image to open another file.&lt;br /&gt;&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);font-family:courier new;" &gt;*/&lt;/span&gt;&lt;br /&gt;Well, I had discovered that I was needing three more libs from Tecgraf to compile this example. So let's get them. With all these four libs I did put them all at /usr/local/tec/include and /usr/local/tec/lib, changed my /etc/ld.so.conf to add /usr/local/tec/lib and had runned the ldconfig command. But now, which GCC parameters I should use?&lt;br /&gt;&lt;br /&gt;Issuing a &lt;span style="font-family:courier new;"&gt;gcc -I/usr/local/tec/include/ -L/usr/local/tec/lib im_view.c&lt;/span&gt;&lt;br /&gt;was always resulting on error. Taking a look at imlib dependencies with ldd&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;# ldd libim.so&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;linux-gate.so.1 =&gt;  (0xb7f27000)&lt;br /&gt;&lt;/span&gt;  &lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;libm.so.6 =&gt; not found&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;libgcc_s.so.1 =&gt; /lib/libgcc_s.so.1 (0xb7dc9000)&lt;br /&gt;&lt;/span&gt; &lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;libc.so.6 =&gt; /lib/tls/i686/cmov/libc.so.6 (0xb7c79000)&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;        /lib/&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;ld-linux.so.2 (0xb7f28000)&lt;/span&gt;&lt;br /&gt;I have discovered that my system was missing the libm.so.6. After googling a little I have figured out that libm is the motif library. With a apt-cache search libmotif:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; &lt;span style="color: rgb(0, 102, 0);"&gt;apt-cache search libmotif&lt;/span&gt;&lt;/span&gt; &lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;&lt;br /&gt;libmotif-dev - Open Motif - development files&lt;br /&gt;&lt;/span&gt; &lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;libmotif3 - Open Motif - shared libraries&lt;/span&gt;&lt;br /&gt;Ubuntu has a package for libmotif3. Installing it the ldd on libim.so din'd show bronken dependencies anymore:&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;# ldd libim.so&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;linux-gate.so.1 =&gt;  (0xb7f27000)&lt;br /&gt;&lt;/span&gt;  &lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;libm.so.6 =&gt; /lib/tls/i686/cmov/libm.so.6 (0xb7dd4000)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;libgcc_s.so.1 =&gt; /lib/libgcc_s.so.1 (0xb7dc9000)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;libc.so.6 =&gt; /lib/t&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;ls/i686/cmov/libc.so.6 (0xb7c79000)&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;        /lib/ld-linux.so.2 (0xb7f28000)&lt;/span&gt;&lt;br /&gt;And adding the -l flag to the gcc, I got this output:&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;gcc -I/usr/local/tec/include/ -L/usr/local/tec/lib im_view.c -liup -lim -lcd&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;/tmp/ccKdeRAP.o: In function `CreateDialog':&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;im_view.c:(.text+0x634): undefined reference to `cdContextIup'&lt;br /&gt;&lt;/span&gt; &lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;/usr/local/tec/lib/libim.so: undefined reference to `operator new[](unsigned int)'&lt;br /&gt;&lt;/span&gt; &lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;/usr/local/tec/lib/libim.so: undefined reference to `operator delete[](void*)'&lt;br /&gt;&lt;/span&gt; &lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;/usr/local/tec/lib/libim.so: undefined reference to `operator delete(void*)'&lt;/span&gt; &lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;&lt;br /&gt;/usr/local/tec/lib/libim.&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;so: undefined reference to `__cxa_pure_virtual'&lt;/span&gt; &lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;&lt;br /&gt;/usr/local/tec/lib/libim.so: undefined reference to `__gxx_personality_v0'&lt;br /&gt;&lt;/span&gt; &lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;/usr/local/tec/lib/libim.so: undefined reference to `vtable for __cxxabiv1::__vmi_class_type_info'&lt;br /&gt;&lt;/span&gt; &lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;/usr/local/tec/li&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;b/libim.so: undefined reference to `vtable for __cxxabiv1::__class_type_info'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;/usr/local/tec/li&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;b/libim.so: undefined reference to `operator new(unsigned int)'&lt;/span&gt; &lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;&lt;br /&gt;/usr/local/tec/lib/libim.so: undefined reference to `vtable for __cxxabiv1::__si_class_type_info'&lt;/span&gt; &lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;&lt;br /&gt;collect2: ld returned 1 exit status&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Very strange, as im_view.c was suposed to be a C program, not C++. Well the libs must have C++ operations, so let's compile with g++.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt; g++ -I/usr/local/tec/include/ -L/usr/local/tec/lib im_view.c -liup -lim -lcd&lt;/span&gt; &lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;&lt;br /&gt;/tmp/cc01yIbF.o: In function `CreateDialog()':&lt;/span&gt; &lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;&lt;br /&gt;im_view.c:(.text+0xd8): undefined reference to `cdContextIup'&lt;/span&gt; &lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;collect2: ld returned 1 exit status&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;But there still one missing reference. Obviously I had missed -lcdiup, but:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;g++ -I/usr/local/tec/include/ -L/usr/local/tec/lib im_view.c -liup -lim -lcd -lcdiup&lt;/span&gt; &lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;&lt;br /&gt;/usr/bin/ld: cannot find -lcdiup&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;collect2: ld returned 1 exit status&lt;/span&gt;&lt;br /&gt;So what's up.&lt;br /&gt;Fortunately, the project has an on-line history log&lt;br /&gt;&lt;a href="http://www.tecgraf.puc-rio.br/cd/en/history.html"&gt;http://www.tecgraf.puc-rio.br/cd/en/histor&lt;/a&gt;&lt;a href="http://www.tecgraf.puc-rio.br/cd/en/history.html"&gt;y.html&lt;/a&gt;&lt;br /&gt;And looking at the history, I found this peace of information:&lt;br /&gt;&lt;blockquote&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;Changed:&lt;/span&gt;    &lt;strong&gt;   &lt;span style="color: rgb(255, 0, 0);"&gt;IMPORTANT&lt;/span&gt;&lt;/strong&gt; - the "cdiup" and "cdluaiup"   libraries moved from CD to IUP under the name "iupcd" and "iupluacd". But   headers and documentation remains on the CD package. Function names were NOT   changed. This change eliminates a cross-dependency that IUP and CD had, now   only IUP depends on CD.&lt;/blockquote&gt;&lt;br /&gt;So, it wasn't -lcdiup, in stead it was -liupcd. I finally had my g++ command line:&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;g++ -I/usr/local/tec/include/ -L/usr/local/tec/lib im_view.c -liup -lim -lcd -liupcd&lt;/span&gt;&lt;br /&gt;And here is a screenshot of my im_view running:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_rkUXgNHl-OM/SslUXxCi_9I/AAAAAAAAAcM/_49NXiMhUlE/s1600-h/im_view.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_rkUXgNHl-OM/SslUXxCi_9I/AAAAAAAAAcM/_49NXiMhUlE/s400/im_view.png" alt="" id="BLOGGER_PHOTO_ID_5388931196403253202" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Im lib looks very promising. Now that I have runned my first example, I hope to learn it soon.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-2522880573760430615?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/2522880573760430615/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2009/10/experiences-with-tecgraf-libraries.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/2522880573760430615'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/2522880573760430615'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2009/10/experiences-with-tecgraf-libraries.html' title='Experiences with Tecgraf Libraries'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_rkUXgNHl-OM/SslUXxCi_9I/AAAAAAAAAcM/_49NXiMhUlE/s72-c/im_view.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-4361553207659684816</id><published>2009-10-03T13:19:00.000-07:00</published><updated>2010-04-20T10:37:31.149-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hacks'/><category scheme='http://www.blogger.com/atom/ns#' term='ugly hacks'/><category scheme='http://www.blogger.com/atom/ns#' term='CG'/><category scheme='http://www.blogger.com/atom/ns#' term='Virtual Reality'/><title type='text'>Converting a video file to lots of images</title><content type='html'>Still for that grad school work on stereo video, I want to convert the videos I made to a bunch of bitmap images.&lt;br /&gt;&lt;br /&gt;With linux and ffmpeg it is easy. It is just type:&lt;br /&gt;&lt;pre&gt;ffmpeg -i video.dv image%03d.bmp&lt;/pre&gt;&lt;br /&gt;There are more ffmpeg cheats at:&lt;br /&gt;&lt;a href="http://webupd8.blogspot.com/2009/08/ffmpeg-cheat-sheet-19-best-practices.html"&gt;http://webupd8.blogspot.com/2009/08/ffmpeg-cheat-sheet-19-best-practices.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Here is a couple of links very useful:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.m3fe.com/31765/"&gt;Video convertion cheat sheat (http://www.m3fe.com/31765/)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.tech-faq.com/Video-Editing-Software.shtml"&gt;Video editing software (http://www.tech-faq.com/Video-Editing-Software.shtml)&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Specifically, the command line I was looking for is:&lt;br /&gt;&lt;br /&gt;&lt;code style="font-family: courier new; color: rgb(51, 204, 0); font-weight: bold;"&gt;ffmpeg -i esquerda.dv -f image2 foo_%02d.bmp&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-4361553207659684816?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/4361553207659684816/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2009/10/converting-video-file-to-lots-of-images.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/4361553207659684816'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/4361553207659684816'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2009/10/converting-video-file-to-lots-of-images.html' title='Converting a video file to lots of images'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-835870341425576071</id><published>2009-10-01T05:22:00.000-07:00</published><updated>2009-10-01T05:26:50.493-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='notebook'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><category scheme='http://www.blogger.com/atom/ns#' term='bookmarks'/><title type='text'>Google Bookmarks And Google Notebook</title><content type='html'>As an advise from my grad school advisor, I am now putting all references I am reading for my master's thesis on google bookmarks. There also is a short cut to directly add a page on ones bookmarks, using a simple firefox bookmarks toolbar button. The best part, is that with google notebook, another tool, one can share the bookmarks. So my advisor can check what I am reading.&lt;br /&gt;&lt;br /&gt;The URL of my public bookmarks is:&lt;br /&gt;&lt;a href="https://www.google.com/notebook/public/02836905453520795692/BDT3iIgoQh_GewpYj" target="_blank"&gt;https://&lt;wbr&gt;www.google.com/&lt;wbr&gt;notebook/&lt;wbr&gt;public/&lt;wbr&gt;02836905453520795692/&lt;wbr&gt;BDT3iIgoQh_GewpYj&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-835870341425576071?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/835870341425576071/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2009/10/google-bookmarks-and-google-notebook.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/835870341425576071'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/835870341425576071'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2009/10/google-bookmarks-and-google-notebook.html' title='Google Bookmarks And Google Notebook'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-2239451101901384773</id><published>2009-09-16T10:54:00.001-07:00</published><updated>2009-09-16T11:07:05.036-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Finite Element Method'/><title type='text'>Some light at the end of the tunnel! Hope it is not the train!</title><content type='html'>Watching a phd presentation this afternoon, I was introduced to two new libraries &lt;a href="http://www.dealii.org/"&gt;deal.II&lt;/a&gt; and the &lt;a href="http://trilinos.sandia.gov/"&gt;trilinos project&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-2239451101901384773?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/2239451101901384773/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2009/09/some-light-at-end-of-tunnel-hope-it-is.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/2239451101901384773'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/2239451101901384773'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2009/09/some-light-at-end-of-tunnel-hope-it-is.html' title='Some light at the end of the tunnel! Hope it is not the train!'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-4662520602906985231</id><published>2009-09-13T15:32:00.000-07:00</published><updated>2009-09-13T15:33:30.304-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EIDORS'/><category scheme='http://www.blogger.com/atom/ns#' term='EIT'/><title type='text'>EIDORS on geophysics</title><content type='html'>&lt;a href="http://eidors3d.sourceforge.net/tutorial/other_models/square_mesh.shtml"&gt;&lt;br /&gt;http://eidors3d.sourceforge.net/tutorial/other_models/square_mesh.shtml&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-4662520602906985231?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/4662520602906985231/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2009/09/eidors-on-geophysics-httpeidors3d.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/4662520602906985231'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/4662520602906985231'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2009/09/eidors-on-geophysics-httpeidors3d.html' title='EIDORS on geophysics'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-6733742726973263200</id><published>2009-09-12T18:48:00.001-07:00</published><updated>2010-06-15T04:18:47.199-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='control'/><category scheme='http://www.blogger.com/atom/ns#' term='control engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='engineering'/><title type='text'>Relay Method Automates PID Loop Tuning</title><content type='html'>&lt;a href="http://www.controleng.com/article/339859-Relay_Method_Automates_PID_Loop_Tuning.php"&gt;http://www.controleng.com/article/339859-Relay_Method_Automates_PID_Loop_Tuning.php&lt;br /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-6733742726973263200?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/6733742726973263200/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2009/09/relay-method-automates-pid-loop-tuning.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/6733742726973263200'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/6733742726973263200'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2009/09/relay-method-automates-pid-loop-tuning.html' title='Relay Method Automates PID Loop Tuning'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-888073854622024790</id><published>2009-09-11T21:10:00.000-07:00</published><updated>2009-09-11T21:27:57.473-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CG'/><category scheme='http://www.blogger.com/atom/ns#' term='Virtual Reality'/><title type='text'>Stereo Video</title><content type='html'>Another grad school class work... Stereo Video.&lt;br /&gt;&lt;br /&gt;Let's start googling around...&lt;br /&gt;&lt;br /&gt;First good impression link: &lt;a href="http://stereo.jpn.org/eng/stvmkr/"&gt;http://stereo.jpn.org/eng/stvmkr/&lt;/a&gt;&lt;br /&gt;And this another one:&lt;a href="http://www.blender.org/forum/viewtopic.php?highlight=active+stereo&amp;amp;t=9984"&gt; http://www.blender.org/forum/viewtopic.php?highlight=active+stereo&amp;amp;t=9984&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-888073854622024790?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/888073854622024790/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2009/09/stereo-video.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/888073854622024790'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/888073854622024790'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2009/09/stereo-video.html' title='Stereo Video'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-3556630615639719268</id><published>2009-09-11T08:20:00.000-07:00</published><updated>2009-09-22T05:29:37.572-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C'/><category scheme='http://www.blogger.com/atom/ns#' term='sparse matrix'/><category scheme='http://www.blogger.com/atom/ns#' term='engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='linear algebra'/><title type='text'>Numerical Linear Algebra Packages on Linux</title><content type='html'>As a control engineer, I am always needing to use some numerical linear algebra software, usually Matlab or GNU Octave, but now that I have to write some C code using MPI for solving some linear algebra problems.&lt;br /&gt;There are some software packages for that so.&lt;br /&gt;&lt;br /&gt;Jochen Voss has a nice tutorial on BLAS and LAPACK at &lt;a href="http://seehuhn.de/pages/linear"&gt;http://seehuhn.de/pages/linear&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I was also googling around looking for something on sparse matrix with C. I've found this thread at a forum:&lt;br /&gt;&lt;a href="http://forums.aspfree.com/programming-help-33/c-initializing-a-sparse-matrix-236415.html"&gt;http://forums.aspfree.com/programming-help-33/c-initializing-a-sparse-matrix-236415.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-3556630615639719268?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/3556630615639719268/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2009/09/numerical-linear-algebra-packages-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/3556630615639719268'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/3556630615639719268'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2009/09/numerical-linear-algebra-packages-on.html' title='Numerical Linear Algebra Packages on Linux'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-8515977427576810896</id><published>2009-08-19T16:52:00.000-07:00</published><updated>2009-08-31T16:50:07.649-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Finite Element Method'/><category scheme='http://www.blogger.com/atom/ns#' term='FEM'/><category scheme='http://www.blogger.com/atom/ns#' term='CG'/><category scheme='http://www.blogger.com/atom/ns#' term='openGL'/><category scheme='http://www.blogger.com/atom/ns#' term='EIT'/><title type='text'>Mesh generator and Finite Element Solver</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://geuz.org/gmsh/gallery/screenshot.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 364px; height: 273px;" src="http://geuz.org/gmsh/gallery/screenshot.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I was reading some papers at &lt;a href="http://biblioteca.universia.net/keywords/Electrical%20Impedance%20Tomography.html"&gt;Universia&lt;/a&gt;, and I've found &lt;a href="http://biblioteca.universia.net/ficha.do?id=32213757"&gt;this one&lt;/a&gt; which references the &lt;a href="http://geuz.org/gmsh/"&gt;Gmsh&lt;/a&gt;, a apparently simple mesh generator with an simple integrated CAD. It also has &lt;a href="http://geuz.org/gmsh/screencasts/"&gt;screencasts&lt;/a&gt; showing how to use it.&lt;br /&gt;Gmsh was is developed by the professor &lt;a href="http://www.montefiore.ulg.ac.be/%7Egeuzaine/"&gt;Christophe Geuzaine&lt;/a&gt; for academic uses. I didn't read much, but Gmsh is apparently scriptable and the CAD tool is realy simple to use. I was planning to develop something very similar. Another cool thing at the professor's site is the project &lt;a href="http://geuz.org/gl2ps/"&gt;GL2PS&lt;/a&gt;, which the main idea, on convert OpenGL rendering in PS, PDF and SVG, I was also thinking in.&lt;br /&gt;Professor Geyzaine had also written an finite element solver, the &lt;a href="http://geuz.org/getdp/"&gt;GetDP&lt;/a&gt;.&lt;br /&gt;I am planning to use them all on some grad school works.&lt;br /&gt;Another code on Finite Element Analysis is the &lt;a href="http://slffea.sourceforge.net/"&gt;SLFFEA&lt;/a&gt;, &lt;span style=";font-family:HELVETICA;font-size:100%;"  &gt;which stands for San Le's Free Finite Element Analysis, deserves note and is entierly written in Ansi C.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-8515977427576810896?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/8515977427576810896/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2009/08/mesh-generator-and-finite-element.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/8515977427576810896'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/8515977427576810896'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2009/08/mesh-generator-and-finite-element.html' title='Mesh generator and Finite Element Solver'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-1558112384611396001</id><published>2009-08-18T18:17:00.000-07:00</published><updated>2009-08-18T18:30:47.135-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='data visualization'/><title type='text'>Warning against using pie charts</title><content type='html'>&lt;a href="http://www.usf.uos.de/%7Ebreiter/index.en.html"&gt;Bernhard Reiter&lt;/a&gt; had wrote a really nice &lt;a href="http://www.usf.uni-osnabrueck.de/%7Ebreiter/tools/piechart/warning.en.html"&gt;warning against using pie charts&lt;/a&gt;, and he did put it on his plotting tool ;-)&lt;br /&gt;&lt;br /&gt;Here is a peace:&lt;br /&gt;&lt;blockquote&gt;"...  Piecharts are generally not recommended to visualise information!  Use bar- or pointchars instead if the quantities are important. Studies have shown that piecharts are hard to read if you actually have to answer questions about the numbers they  represent. They look very pleasing and are used in a lot of places but they do not help to visualise information that well. Analytic thing person will read the percentages or values given on the legend or the chart itself and analyse them in their head. ... "&lt;/blockquote&gt;Check the full text at his &lt;a href="http://www.usf.uni-osnabrueck.de/%7Ebreiter/tools/piechart/warning.en.html"&gt;web site&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-1558112384611396001?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/1558112384611396001/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2009/08/warning-against-using-pie-charts.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/1558112384611396001'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/1558112384611396001'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2009/08/warning-against-using-pie-charts.html' title='Warning against using pie charts'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-8321687840797976308</id><published>2009-08-03T10:39:00.000-07:00</published><updated>2011-04-12T04:46:23.691-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gnuplot'/><category scheme='http://www.blogger.com/atom/ns#' term='data visualization'/><category scheme='http://www.blogger.com/atom/ns#' term='ugly hacks'/><title type='text'>Some tricks with gnuplot</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_rkUXgNHl-OM/SncjFgGvxzI/AAAAAAAAAbk/X1JB21O9ikU/s1600-h/pie3ds.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 212px; height: 112px;" src="http://3.bp.blogspot.com/_rkUXgNHl-OM/SncjFgGvxzI/AAAAAAAAAbk/X1JB21O9ikU/s400/pie3ds.png" alt="" id="BLOGGER_PHOTO_ID_5365796058459785010" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I've been using gnuplot to embed graphics on my scripts for quite some time. And I liked it much.&lt;br /&gt;&lt;br /&gt;Last month I was asked to maintain a legacy application which generates some live graphics using the JFreeChart class. It has  some transparent animated 3D pie charts. So, I was wondering if I could do the same with a couple of scripts and gnuplot, generating an animated gif.&lt;br /&gt;&lt;br /&gt;After googling a little, I've found these links:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://gnuplot-tricks.blogspot.com/2009/05/simple-pie-chart-with-gnuplot.html"&gt;Simple pie chart with Gnuplot&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://gnuplot-tricks.blogspot.com/2009/05/another-simple-3d-pie-chart-with.html"&gt;Another simple 3D pie chart with gnuplot (script included)&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;And, with &lt;a href="http://www.bmsc.washington.edu/people/merritt/gnuplot/"&gt;these &lt;/a&gt;new gnuplot features, I will try to do some cool scripts ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-8321687840797976308?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/8321687840797976308/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2009/08/some-tricks-with-gnuplot.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/8321687840797976308'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/8321687840797976308'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2009/08/some-tricks-with-gnuplot.html' title='Some tricks with gnuplot'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_rkUXgNHl-OM/SncjFgGvxzI/AAAAAAAAAbk/X1JB21O9ikU/s72-c/pie3ds.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-1452155339898787573</id><published>2009-07-24T07:10:00.000-07:00</published><updated>2009-11-06T06:11:09.393-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='digital video'/><category scheme='http://www.blogger.com/atom/ns#' term='animation'/><category scheme='http://www.blogger.com/atom/ns#' term='DV'/><category scheme='http://www.blogger.com/atom/ns#' term='engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='firewire'/><title type='text'>Remember to try this</title><content type='html'>&lt;a href="http://www.nerdlogger.com/2008/06/transcode-and-stream-dv-to-mpeg4-via.html"&gt;http://www.nerdlogger.com/2008/06/transcode-and-stream-dv-to-mpeg4-via.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-1452155339898787573?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/1452155339898787573/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2009/07/remember-to-try-this.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/1452155339898787573'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/1452155339898787573'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2009/07/remember-to-try-this.html' title='Remember to try this'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6183884398183715183.post-7194046175235139388</id><published>2009-07-23T04:14:00.000-07:00</published><updated>2009-07-23T10:08:26.446-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='energy'/><title type='text'>Engineer Honoris Causa</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_rkUXgNHl-OM/SmhLquiTAiI/AAAAAAAAAbU/gWatZR4lYyk/s1600-h/windmill.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 165px; height: 284px;" src="http://4.bp.blogspot.com/_rkUXgNHl-OM/SmhLquiTAiI/AAAAAAAAAbU/gWatZR4lYyk/s400/windmill.png" alt="" id="BLOGGER_PHOTO_ID_5361618553803047458" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;We always think of an engineer as a guy who has a college degree. But, in the case o &lt;span style="font-weight: bold;"&gt;William Kamkwamba&lt;/span&gt;, who build an windmill from scrap in his village on Malawi (Africa) we just got back to what really powers engineering: Inspiration, Motivation, Information and Dedication.&lt;br /&gt;He had the &lt;span style="font-weight: bold;"&gt;Information&lt;/span&gt; available at a library, on how a windmill works, he had the &lt;span style="font-weight: bold;"&gt;Inspiration&lt;/span&gt; to see the windmill would fulfill the necessity of electric power his village had and those factors gave him the &lt;span style="font-weight: bold;"&gt;Motivation&lt;/span&gt; and with &lt;span style="font-weight: bold;"&gt;Dedication&lt;/span&gt; he did accomplish his windmill.&lt;br /&gt;&lt;a href="http://www.ted.com/talks/lang/eng/william_kamkwamba_on_building_a_windmill.html"&gt;&lt;br /&gt;William Kamkwamba spoke at TED &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://williamkamkwamba.typepad.com/williamkamkwamba/2008/02/video-documenta.html"&gt;And has a blog now&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;This is a good example of a talented engineer.&lt;br /&gt;&lt;br /&gt;College degrees give us &lt;span style="font-weight: bold;"&gt;Information&lt;/span&gt;, but if we don't have the &lt;span style="font-weight: bold;"&gt;Inspiration&lt;/span&gt;, &lt;span style="font-weight: bold;"&gt;Motivation &lt;/span&gt;&lt;span&gt;and&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; Dedication&lt;/span&gt;, we will never be a real engineer. The College degree also legitimates the engineer but in William's case, his windmill legitimates his engineering skills.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6183884398183715183-7194046175235139388?l=filipivianna.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://filipivianna.blogspot.com/feeds/7194046175235139388/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://filipivianna.blogspot.com/2009/07/engineer-honoris-causa.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/7194046175235139388'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6183884398183715183/posts/default/7194046175235139388'/><link rel='alternate' type='text/html' href='http://filipivianna.blogspot.com/2009/07/engineer-honoris-causa.html' title='Engineer Honoris Causa'/><author><name>Filipi Vianna</name><uri>http://www.blogger.com/profile/01480277868839345761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_rkUXgNHl-OM/SqWVKMBxpBI/AAAAAAAAAbs/g4Qe0paqeWE/S220/FilipiViannaCabeloCurto.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_rkUXgNHl-OM/SmhLquiTAiI/AAAAAAAAAbU/gWatZR4lYyk/s72-c/windmill.png' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
