Friday, March 18, 2011

The new Computer Vision book





If you'd like to get a broad view of what I work with, take a look at the latest book, launched in November 2010, that represents the state-of-the-art, "Computer Vision: Algorithms and Applications", by Richard Szeliski. The digital version of this book is freely available as a PDF at the author's website http://szeliski.org/Book. And the cover reflects 3D reconstruction algorithms that I've been trying to extend through the use of curve and surface differential geometry!



Tuesday, June 29, 2010

Brown University has gone Google

Brown switched to Google apps. I mean, the entire Brown University switched to Google (students, professors, and remaining staff): http://googleblog.blogspot.com/2010/06/brown-university-has-gone-google.html

Wednesday, March 03, 2010

CVPR 2010 paper accepted

Hi, my paper was accepted for the IEEE Conference in Computer Vision and Pattern Recognition. It is one of the major 3 conferences in my field. My paper is entitled "3D Curve Sketch: Flexible Curve-Based Stereo Reconstruction and Calibration".

Wednesday, December 30, 2009

Google's definition of 'Open'

Interesting article at google about the meaning of Open here.

Tuesday, November 17, 2009

Fixing EPS bounding box automatically

Writing a paper. Time to put Matlab or Scilab plots in. You go file->
save as EPS to include into Latex.
Surprise: Matlab has an awful bounding box space around the figure.
You want to autocrop it but its a vector graphics format,
so you can't use mogrify -trim +repage <filename> as you would normally
do with an image.

Solution: epstool. It does an autocrop for the EPS file:

epstool --copy --bbox input.eps output.eps

and your final plot will still look crisp.

Another option: save as PDF in matlab. Then use ImageMagick's convert to convert it to eps:

convert file.pdf file.eps

this will keep the vector graphics intact (at least in recent versions of ImageMagick).

Of course, you can always use pdflatex instead and avoid EPS altogether.

Friday, October 02, 2009

Oympics and World cup in Brazil

The 2016 olympic games will be at Rio! Also, the 2014 world cup will be in Curitiba, Brazil:

Thursday, August 13, 2009

Website back up

My website is back after I took my server out of the lab.
www.lems.brown.edu/~rfabbri
or, during daytime, you can check:
cortex.homelinux.org

Friday, May 29, 2009

Applets - the geometry of 2 and 3 views

These are insightful applets to introduce the concept of epipolar
geometry of two and three views.

http://www.ai.sri.com/~luong/research/Meta3DViewer/EpipolarGeo.html

When you press any key, you can drag the 3D point around and sense how
the geometry changes.

Thursday, May 14, 2009

More action in twitter

http://twitter.com/rfabbri
Because the iphone interfaces to twitter rock. And "twittering" to blogger using gmail — like I'm doing right now — just doesn't sound as cool.

RISD GRADUATE THESIS EXHIBITION 2009

Tuesday, May 12, 2009

2 colors are enough

I posted another video like this a while ago, but I always get amazed at them. I can't help but think how shape and boundaries are enough for vision. I'd like to write up what's the role of the contrast sign in producing these effects. For one, the shadows being black helps a lot. The black traces the robots leave on the street make it look like it is covered in snow. Here is a simple inversion of the video (no sound so you can play them together without interference): Shadows become highlights, and the ground seems to be covered in water instead of snow. It would be cool to have another version of the vid with only the boundaries between the black & white regions.

Monday, April 20, 2009

Google Similar Image Search

This new cool feature allow you to search for images similar to a given image. Let's say you want to search for "apple" - how to search only for the Apple, Inc, not the fruit?

http://similar-images.googlelabs.com/

Friday, March 13, 2009

Thursday, March 05, 2009

I passed prelims!

...and I am now officially back to answering emails.

Wednesday, February 11, 2009

Video screen shots in Linux

I recently had to do a video of a rotating 3D reconstruction.

The simplest thing that worked out of the box was a utility called recordMyDesktop:

http://recordmydesktop.sourceforge.net

Easy to install & use, at least in Gentoo. The way I used it was simple:

recordmydesktop -x X_pos -y Y_pos -width WIDTH -height HEIGHT -o foo.ogv

play it with

mplayer foo.ogv

Mplayer/Mencoder can also be used to convert it to any other video format if you want, e.g. to AVI:

mencoder -idx input.ogv -ovc lavc -lavcopts vcodec=mjpeg -oac mp3lame -o output.avi

I also need to generate an animated GIF. Here's how:

mplayer input.ogv -vo gif89a:output=output.gif:fps=5 -vf crop=850:562:17:99 -frames 999

If you use the input from the OGV file (not AVI), the quality will likely be better.

You can nonlinearly edit the video by opening the GIF in GIMP and deleting the frames you don't want as layers, then saving it. If you want to alter the speed, make sure you set this during the export and make sure you check the box that tells GIMP to override the default frame delays. You can also use GIMP to crop your video further.

To play your GIF animation, just open it in firefox or any browser.

Friday, January 23, 2009

Ignoring Mortality We Worship Mediocrity

This video is a good inspiration for us to gain courage to be innovative and bold I'm trying to build up the courage to grow a mohawk -:^) Only then I will feel like I'm truly living up to my ideals.

Tuesday, January 13, 2009

Happy 2009

Got married in December! I am now a man with responsibilities, another reason I've been studying for my prelims now. Need to finish my PhD! Among the subjects, I've picked differential geometry and complex analysis as a minor. Reviewing math after some motivation from research feels really productive. And, man, times have changed - during my PhD years I've witnessed the rise of core information technologies such as Youtube & Wikipedia (sounds already like grandpa talk!). What great tools to study math with. Check out this video on mobius transformations (related to homographies in projective geometry): Which goes back to support an old point of mine: computer technologies have an explosive (exponential) effect in improving society.

Tuesday, December 09, 2008

Optimal 3D Triangulation Code

The source code (in C) for a recently published optimal 3D triangulation / reconstruction algorithm can be found at:

http://www.iim.ics.tut.ac.jp/~sugaya/public-e.html

The method supposedly does not have the singularities of the widely-used Hartley-Sturm algorithm, and was developed by K. Kanatani, Y. Sugaya, and H. Niitsuma.

Thursday, December 04, 2008

Monday, December 01, 2008

VxL code browsing in ViM

When working with a huge codebase, its nice to be able to browse
through the code lying in different directories.
Most other sites about ctags only deal with files in the same
directory, though.
I use vxl.sf.net, which consists of a huge source tree of C++
libraries, headers, and templates.
Here is my solution:

I installed exuberant-ctags (make sure this is the one in your system),

then I issued the following command:

ctags -R vxl lemsvxlsrc

from the directory containing the vxl source tree 'vxl' and the
internal Brown 'lemsvxlsrc' tree.
This generates a tags file. Now, tell VIM to always use that by
setting a tags search path:


" Set the tag file search order
set tags=./tags,tags,~/tags,/home/rfabbri/cprg/vxlprg/tags

You can add the above line to your ~/.vimrc or, even better, to a file
in ~/.vim/ftplugins/cpp_xxx.vim, where xxx is a custom extension you
choose.

Tuesday, October 28, 2008

Windows partition deleted.

Never used it, never needed it, never respected it. Now let me pump up my Linux environment with the Windows carcass left in my harddrive :-)

Pós-doc e Pós-grad na USP

Altamente recomendado!
Sem duvida o melhor grupo cientifico em que ja estive :)

==========================
OPORTUNIDADES PARA PÓS-GRADUÇÃO E PÓS-DOUTORADO
GRUPO DE COMPUTAÇÃO INTERDISCIPLINAR, IFSC-USP
Outubro de 2008 a Maio de 2009

Comunicamos diversas possibilidades para pesquisa, a nível de
pós-graduação e pós-doutorado, no Grupo de Computação Interdisciplinar (GCI)
do IFSC-USP. As principais áreas de pesquisa incluem mas não se limitam a:
1. VISÃO E IMAGENS
2. INTELIGÊNCIA ARTIFICIAL
3. REDES COMPLEXAS
3. BIOINFORMÁTICA E BIOLOGIA DE SISTEMAS
4. COMPUTAÇÃO DE ALTO DESEMPENHO
5. SISTEMAS DISTRIBUÍDOS E GRIDS
6. REDES DE COMPUTADORES
Os candidatos poderão ter formação anterior em computação, informática,
física, matemática, engenharia, estatística, química ou bioinformática.
Os trabalhos de pesquisa serão desenvolvidos nas respectivas áreas de formação
dos candidatos. As possibilidades de pós-graduação incluem o IFSC (nível 7
CAPES) e Bioinformática da USP (nível 5 CAPES).

PARA INFORMAÇÕES ADICIONAIS, visite a página
http://cyvision.if.sc.usp.br/~francisco/comp_inter/index.html

Thursday, October 16, 2008

John Maeda talk at Brown

The new RISD president, and former MIT Media-Labber John Maeda spoke
today at Brown.

It was an interesting experience, more of a light sequence of simple
facts that did the job of kepping people entertained; I feel nobody
was profoundly illuminated.
But maybe that's exactly the message - life simple facts and tidbits
can be more important than they seem. But at the same time it does
bring a sense of unfulfilment and apathy towards getting
anything explained, nailed down, or thoroughly illuminated. I had a
simple mild positive reaction to it. Simplicity and mediocrity
inevitably must have something in common. Its much like short Tao
wisdom.

One of his little ideas that really shook me was the fact that
technology is kind of saturating in the 21st century, and that what we
really need is more human reality, sensibility, and creativity into
our lives.
That's pretty much true. As a computer vision scientist, I think we
already threw hardware at problems a lot, and although it does bring
insights and immediate results, what we really feel the need for is
some human spark, human care, and human design to actually get
algorithms to be smarter, faster, and solve the innumerous problems
that fundamentally weren't solved before. Yes, like the vision
problem.

Friday, July 18, 2008

Pics of my dog, Eve.

She's a Beagle mix, but a very beautiful one probably a Beagador.

Wednesday, July 02, 2008

Congrats to my Angie

Angie just told me she scored straight A's this semester. A great feat!

Sunday, May 18, 2008

Augmented Virtual Reality in your Phone

Another awesome application of computer vision being materialized - point your cellphone's camera into the environment, and have it augment the video stream by tagging the buildings, restaurants, and attactions for you:
Enkin on Vimeo.

Wednesday, May 14, 2008

[linux] CVS server issue + solution

I was trying to use my computer to serve a CVS repository. Should be
simple as connecting through SSH,
but I was getting the error "unknown command server" whenever I typed
"cvs up -d"

The solution in Gentoo Linux was to re-emerge CVS with the server flag
enabled, which can be done by adding the line "dev-util/cvs server" to
/etc/portage/package.use

Monday, April 28, 2008

The Rise of Computer Vision

Computer vision, automatic image analysis applications, panoramic and
3D reconstructions, face recognition...
all this has attracted more and more attention in the press. Its is
always good to remind readers that this area remains largely unsolved,
and that it is very easy to claim something can be done and to talk
about it, but actually get it working is really really hard.

Some recent major news articles (on basic stuff without details)

A Google Prototype for a Precision Image Search
http://www.nytimes.com/2008/04/28/technology/28google.html?_r=2&oref=slogin&oref=slogin

Next-Generation CAPTCHA Exploits the Semantic Gap
http://tech.slashdot.org/article.pl?sid=08/04/23/0044223&from=rss

Lyrics of the day

Operation Ivy - Healthy Body Sick Mind

Expensive vitamin pills and wheat germ on your windowsill
Your schedule's hectic and you've got no time to kill
Earning money and you're spending it the right way
Just in such a rush you don't know if it's night or day
5:30 get up, run, run, run
Then you work eight hours slaving under the gun
Your little world's based on lies lies lies
Always rushing but you're never ever satisfied
Healthy body, Sick mind (working overtime)
Healthy body, Sick mind (Too hectic too hectic)
Healthy body, Sick mind (why don't you just survive)
Its just a matter of time sick body sick mind
The money you spend on running shoes could feed me for a week
Your plans are laid so well you can't even sleep
Pursuit of happiness got your life locked up under martial law
You got everything to lose so you're paranoid about some fatal flaw
5:30 get up and you run, run, run
Then you work eight hours slaving underneath the gun
Your little world's based on lies lies lies lies lies lies lies
Always rushing but you're never ever satisfied
Healthy body, Sick mind (working overtime)
Healthy body, Sick mind (Too hectic too hectic)
Healthy body, Sick mind (why don't you just survive)
Its just a matter of time Sick body Sick mind

Tuesday, April 01, 2008

True Happiness

This is a really inspiring video. It is pretty much the way I like to intuitively think about deep things in life, but hearing such a reasonable person speaking about it really made an impact on me. You should really watch the whole thing!

Tuesday, February 19, 2008

Just a funny pic

This is my niece Sara

Friday, February 08, 2008

Panoramic video used in google maps

The demo videos in this website is really cool - drag the mouse and you can look
around while the video is playing:

http://demos.immersivemedia.com

The images are acquired using an 11 lens camera. I'll put some more
cool info here if I get some more time, but it is all in that website.

Friday, February 01, 2008

Face reconstruction

I decided to make a series of posts about computer vision demos and software related to my research in 3D reconstruction and camera calibration. The following is a video I had seen about a year ago and and I thought it was a hoax: It turns out that it is really a true working system. In fact this group from Germany have published in major conferences and journals in my area. They use techniques that I work with in my PhD. Yes -- they have to be restricted to a face model, thats how they get away with making this work. But they also recover everything from a single image. Another one of their video: And there even seems to be an end-product based on this idea: www.gizmoz.com. Brown is teaching a course where they will try to implement this face reconstruction system as a class project: www.cs.brown.edu/courses/cs296-4

Tuesday, January 22, 2008

Structure from Motion

Angela found this interesting video showing how you don't need two eyes to have a very good impression of 3D: Original article: www.geekologie.com/2008/01/johnny_lee_is_my_hero_headtrac.php

Brazilian Cheese Bread Recipe

Here is my mom's cheese bread recipe:

Ingredients 2 Cups of milk 3/4 cup of corn oil (or any light tasting oil) 1 table spoon of salt 1-3 cups of cheese, either parmesan or romano (you can try other hard cheeses) 2 big eggs or 3 small ones 1 package of "povilho doce" flour, Yoki brand (or any other brand)

Instructions Mix milk, oil, and salt into a pan and bring to a boil, mixing the bottom once in a while. Be careful as the milk will suddenly boil and you don't want it to spill. Now empty the flour into a deep bowl. Pour the milk mixture over the flour, while mixing well avoiding the formation of clumps. Leave the dough sitting until it cools down (about 15 min, but they say the longer, the better). Now alternate between adding the eggs and the cheese, while working the dough with your hands in order to mix everything together as well as possible. The longer you squeeze the dough, the better. You can now wash your hands, then butter-up a cookie sheet or similar container, then add a little bit of oil to your hands, spreading it out. Make little balls of the desired size, adding oil to your hands whenever the dough starts getting sticky. Pre-heat the oven to 356F, and bake your Brazilian cheese bread.

The cheese bread takes around 15min to bake, sometimes longer. After those 15min, if the cheese bread is not light-gold, then continue baking and monitor the oven every 5min to see if it has reached the desired coloration. Usually you don't want it to get too brown, but tastes vary.

Friday, January 18, 2008

Computer vision and partial solutions

In computer vision, no problem has been completely solved. People tend to move to more complex problems in an anxiety to do something new, but the fact is that this fatally builds upon a very wobbly foundation of partial solutions. My fear is that there is a high risk that nothing really gets done in this process. Here is an excerpt from a researcher in my field:

Monkey Collects Corn Cobs.
Before an old and more basic problem is completely solved, one would accept a partial, suboptimal solution and use it in a solution to a new or supposedly more challenging problem. When a partial solution or result is found, one moves on again. Such a constant shift of focus is very counterproductive. When others try to revisit some of the problems, one would claim that the problems have already been addressed and there would be no need for any improvement. It is impossible to measure progress or compare different solutions if they are all to some extent partial. From a pedagogical perspective, from partial results like that, it is impossible to develop a systematic body of knowledge that can be effectively transferred to future students and researchers. -- Yi. Ma, in Warning Signs of Bugus Progress in Research in an Age of Rich Computation and Information, 2007.

That is something to think about. Nowadays, researchers have the big challenge of dealing with vast informational and computational resources. All this power also leads to lack of focus and fundamental research when used without discipline.

Saturday, December 22, 2007

Opening Up a Sony Cybershot DSC-L1

I purchased this little guy three years ago, but the lens cover stopped working, displaying the message "ERROR: TURN THE POWER OFF AND ON AGAIN" on the LCD. After searching the web, I only found useless manuals for sale or just basic consumer reviews. Since my fiancee and I already have two other Sony's, I figured I'd open up this one just as a saturday-afternoon adventure. Last time I opened up a consumer electronics device (other than a computer) I was probably 6. It was my first vinyl player whose plate suddenly stopped spinning. As usual, we took it to the nearest electronics repair shop, and they said they'd have to order this new motor, and that it'd cost a lot (sounds familiar?). So I got pissed and I just opened it up on my own at home, and starting touching random electronic components while the thing was still plugged to the wall. Finally, I touched something and the record player started spinning. It was a ridiculous potentiometer (a mere variable resistor)! Couldn't be easier and cheaper to fix, my dad just spent a few cents and I could hear my music again. Although I could have electrocuted myself that day, my mom still prides herself of her son's feat, more so than anything else I ever consciously did. Anyways, I figured I don't need to be an expert to be able to fix today's electronics. They have become more complicated but I am not 6 anymore, and sony electronics engineers haven't become all that much smarter, believe me, you'll see how cheap the shutter cover is. So lets start the step-by-step quest to open the Cybershot DSC-L1. (Do it at your own risk!)

First of all, go to radio shack and get yourself a set of precision screwdrivers. Get good ones since you need good grip here, as the screws will be really tight. Remove the battery from the camera. Now lets unscrew it, literally. There are 4 pairs of screws in total - 2 pairs on the bottom, 2 pairs on each side. The side screws become visible once you open the compartments for the batteries and the compartment for the DC power.

Ok, now that you removed the 8 screws, snap-out the plastic cover on the side where the DC input is. Then try to pull apart the two halves of the camera, the front cover from the back cover. One of the corners is kinda tricky, but just force it a little and it will snap open. Be careful but firm. Now you have the camera opened-up, it should look like this: You can now hook the camera to the outlet as the figure shows. Turn on the camera, and it should work as before. In my case, the shutter cover is stuck, so the lenses don't open or extend. Now notice that there are two switches that sense whether the shutter cover has retracted or not: In the case of my camera, I can fool it to extend the lenses by pressing the top left switch with a screwdriver:
Now unplug the power chord. The next step is to remove the plastic connectors from the front of the camera, so we can detach the two halves of the camera. First remove the two screws that hold the strap, one in the middle, the other near the motor. Do this by carefully using a precision screwdriver to help take the strap from under the plastic holders along its track. After some careful but trivial process, you obtain: Good. Now lets take care of that front cover. If so far it felt like you're performing a careful brain surgery, the next step will be more of an orthopedic surgery, except that you probably don't need a hammer. The problem is that the freakin' asses at sony actually glued the mechanics of the lens cover onto the front steel case. I thought I was doomed at this point, that the only way would be to order another front case, if sony still manufactures them, which I doubt. I got pissed and went for a high-risk brutal operation: to forcibly detach the black part from the steel case. Yes, it feels grotesque but it is the only way. Use a precision screwdriver to help you detach the two parts by "carving" into the glue. Sounds laughable, and looks even more laughable: Notice all the glue? Yeah, now you realize how the lens cover mechanics is by far the crappiest part of this camera. I don't know why sony tried to save money by doing such a shitty job at this, given that it is nothing compared to the cost of the software, signal processing and lens optics. Anyways, this is why probably every owner of the DSC-L1 will have problems with the lens cover at some point. Ok, back to business. Notice that there is a rod with a spring. Be careful with that little spring, it'll easily fall or jump all over the place. Anyways, the problem with my camera was that this rod wasn't perfectly in place, it seems, and that the gears weren't able to grasp the shutter cover. Now try to put that rod in place. First take the lens cover off and slide it all the way to the right of the rod. Carefully place the lens cover back in the track on the black plastic base by first fitting the bottom of it, then the top-right part of the rod, then, by squeezing the spring, fit the left part of the rod into the plastic case. You should feel it snap, and you need to put some pressure to get it to fit. After some patience with the damn spring, it is now time to reconnect the orange strap back into the black plastic support. Start by fitting and screwing the motor tight and move your way to the end of the strap. Plug the camera on the wall. You should end up with this: Now there is a subtle trick to it. The switch in the middle has to be pressed-in. Use a screw driver to press the switch and your finger to snap it in, then screw the middle switch: Ok, now you can turn your camera on to test the shutter cover. It should work! If not, post a comment and I'll try to help. If it worked, now you have to stick the black plastic component back into the metal cover. Do this by positioning it carefully then pressing firmly so that the glue sticks to the metal again (argh this horrendously cheap). Make sure the little transparent LED plastic on top of the shutter cover is in place. Now put the two halves of the camera back together, and screw the outer 8 screws back in. Snap the side plastic cover and you should have your >$100 value reward (>$250 back in the days):

Sunday, December 09, 2007

high quality eps in pdf

From http://electron.mit.edu/~gsteele/pdf/

One of the problems with pdf conversion is that most pdf converters
("distillers") are configured by default to always use lossy (DCT
Encoding) for color and grayscale images. For a scientific paper, this
produces very poor results. In order to get high quality figures in
the converted PDF, you can either tell the PDF distiller to use
FlateEncode or to use DCTEncode with a high quality factor. Here are
the postscript snippets that allow you to do this:

* Use DCTEncode with a high quality factor: this involves setting
a parameter called "/Qfactor" to a small number. The /Qfactor
parameter actually refers to "Quantization factor". Setting this to
0.15 uses the same settings as "Maximum Quality" mode for Acrobat
distiller.

systemdict /setdistillerparams known {
<< /ColorACSImageDict << /QFactor 0.15 /Blend 1 /ColorTransform
1 /HSamples [1 1 1 1] /VSamples [1 1 1 1] >>
>> setdistillerparams
} if

* Use FlateEncode: this way, the images that you see in the
converted pdf file will be exactly identical to the EPS images you
submit.

systemdict /setdistillerparams known {
<< /AutoFilterColorImages false /ColorImageFilter /FlateEncode
>> setdistillerparams
} if

To use these, simply open up your .eps file in a text editor such as
emacs and insert the text after the end of the "%" commented area at
the beginning of the file. This should automatically work with dvipdfm
conversion as well as the pdf conversion software used on the arXiv
server.

Thursday, December 06, 2007

Sources of Inspiration

Two major sources of inspiration have dominated my years at Brown: philosophical/religious essays and biographies.

I am not Jewish nor radically religious, but since it's Hanukkah, I'll mention a collection of practical essays rooted in Jewish wisdom: www.aish.com/spirituality/48ways

Again, I am not blindly religious, but here is my own piece of wisdom - nothing is totally black and white, so be humble to listen, filtering what you like and questioning what you don't like in a constructive way. In fact the above essays are very rational in many ways, although at times they might be slightly simplistic - which is unavoidable even in less religious texts.

The essays are quite effective in inciting energy and vitality. My favorite ones:

It is interesting how Catholicism, although rooted in Judaism, has forgotten a little about a more proactive attitude towards achieving things in practice. Being meek and humble can be a very important concept, but that doesn't mean you should act foolish or abstain yourself from achieving. This is a recurring confusion among Catholics and paints a wrong image of Catholicism in the mind of non-Catholics. Anyways, human affairs are complicated, again, nothing is black-and-white.

I finish this part of this post with a quotation from one of the essays that is particularly well suited to my research

"You couldn't buy an eye for a million dollars. Yet God gave you -- for free -- a pair of eyes that work more accurately, quickly and efficiently than the most sophisticated digital vision devices."

Basically the Rabbi is challenging us researchers in the field : he wrote an essay that is supposed to offer timeless wisdom - and he certainly thinks machine vision doesn't work as good as human vision, and probably never will !!!!

***

The second part of this post is about these fantastic biographies of mathematicians and scientists we are used to hear about. I have just read a particularly amazing one, from Grassman. The man was never recognized as a major mathematician at his time, mostly taught at high schools, and yet had discovered a stupendous amount of concepts which, 100 years later, are now the basic "look and feel" of math.

After struggling all his life to get his ideas accepted, obtaining little visibility, and being criticized by major mathematicians for his abstract presentation, he finalizes his years by insisting on publishing yet another edition of his work, with a magnificent foreword:

==The following is an extract from the Foreword of Die Ausdehnungslehre: Vollständig und in strenger Form bearbeitet published by Grassmann in 1862:==

"I remain completely confident that the labour I have expended on the science presented here and which has demanded a significant part of my life as well as the most strenuous application of my powers, will not be lost. It is true that I am aware that the form which I have given the science is imperfect and must be imperfect. But I know and feel obliged to state (though I run the risk of seeming arrogant) that even if this work should again remain unused for another seventeen years or even longer, without entering into the actual development of science, still that time will come when it will be brought forth from the dust of oblivion and when ideas now dormant will bring forth fruit. I know that if I also fail to gather around me (as I have until now desired in vain) a circle of scholars, whom I could fructify with these ideas, and whom I could stimulate to develop and enrich them further, yet there will come a time when these ideas, perhaps in a new form, will arise anew and will enter into a living communication with contemporary developments. For truth is eternal and divine and no phase of it ... can pass without a trace; it remains in existence even if the cloth in which weak mortals dress it disintegrates into dust."

And ditto - his truth remains and there's nothing you can do about it. This is a sublime example of unshakable belief in ones purest thoughts, and this brings us back to one of the wisdom articles above - Use Your Inner Guide.

The full biography can be found at: www-history.mcs.st-andrews.ac.uk/Biographies/Grassmann.html

Friday, October 12, 2007

SO many Smart People are not Wise

Smart: adj. showing mental alertness and calculation and resourcefulness

Wise: adj. having or prompted by wisdom or discernment; marked by the exercise of good judgment or common sense

Who is intelligent, the wise or the smart??

Intelligent: adj. having the capacity for thought and reason especially to a high degree; 2: possessing sound knowledge; 3: exercising or showing good judgment; 4: endowed with the capacity to reason

Wisdom is certainly more connected to intelligence than the pure mental quickness characterizing smart people. There is a vast amount of smart people - a vastness that is increasingly alarming - that are foolish, ignorant, and ignoble. We lack people with slow, careful but creative mindset. A lot of smart people oversimplify and are extremely anxious. Imagine if they could use their powerful brains in a disciplined, calm, and lucid way?

Check out this funny link http://www.slowleadership.org/2006/10/hamburger-management-revealed.html

It is intriguing how much we need this in all areas, in computer science in specific. Instead of devising clever, smart hacks - still so popular nowadays - we really need to think deep and do everything very carefully. This is because we have so many people with simplistic thinking out there, which can only scratch the surfaces of problems. If you really want to succeed in life in the long run, it is better to be very wise and a little smart, than very smart and a little wise. There is no such thing as too much wisdom in this era where everyone has access to information that is already far beyond the level of clever and careless tricks.

A practical advice: study the relevant background in whatever your endeavor carefully. In the world of computers there is a saying that can be generalized: RTFM "read the fucking manual" ; follow the good tutorials on the net. Dont fool around with poor tricks trying to learn or do something that has already been clearly and neatly described. Spare some time to learning new things, RTFM and focus your smart ass where it is really needed.

Monday, July 23, 2007

[Linux] Bug in EPS export

When I try to export an OpenOffice.org drawing to EPS, the right and bottom parts of the drawing
are not shown, even though the bounding box seems right.
This bug started to occur when I upgraded to 2.2.1, although earlier versions
worked fine for me (I would guess the upgrade was from 2.2.0, but I am not
sure). Something definitely changed in recent versions regarding to EPS export
that caused things to stop working.

WORKAROUND 1) Select the whole drawing, then export. For some reason
it works like this.

WORKAROUND 2) Increase the margins by dragging
the margins to be far from the object. This screws-up the bounding box, but at
least the whole object is drawn. I then edit the eps file using a text
editor (vim),
and adjust the bounding box values according to the values I determine by
inspecting the drawing in ghostview ('gv'). The cursor in 'gv' shows the
bounding box value.

http://qa.openoffice.org/issues/show_bug.cgi?id=76048

Keywords: cut-off, draw, impress, latex, bounding box, margins, eps, postscript

[Linux] Printing with CUPS

I was trying to use the KDE control pannel to add printers to my
system, but I would get:
"unable to create temporary printer"

I also had a perfectly working printer, which suddenly became "not
ready" from the acrobat printing menu. When I opened the KDE printing
control panel, and tried "start printer", I got
client-error-not-found

The solution was to add the printer through the CUPS web interface,
which is actually very good. The way to do it is to open the following
link in your browser (konqueror/firefox):

http://localhost:631/

And add the printer from there. The process was straightforward for my
Lexmark Optra T612.
For the record, my CUPS version is 1.2.10. Maybe I updated CUPS and
the KDE print manager got lost? Go figure.. at least I will only use
the CUPS web interface from now on.

Tuesday, July 17, 2007

Birthday photos / Fotos do aniversario!

Check out my Birthday photos are at:
Vejam as Fotos do meu aniversario em:

http://cortex.lems.brown.edu/~rfabbri/gallery

Sunday, July 08, 2007

[Linux] Text encoding

I recently had a problem with special Portuguese characters and latex.
The problem is that the input must be in latin1 encoding, and I was
using utf-8 to edit an input file. It took me quite a while to figure
out why latex would not compile my recently edited file, but would
nicely compile my old files written in Portuguese. The error I was
getting was:

"Command \textcent unavailable in encoding T1"

Your command was ignored.

whenever a special symbol was found (for instance, the letter 'a'
circumflex). After studying encodings, unicode, ascii, latin1, and
also searching for similar errors, I found that Latex does not fully
support UTF-8 (as of this date), and that the input should be encoded
in latin1. The way to check the encoding of a file in VIM is to open
the file and type:

:set fileencoding

if it is utf-8 or anything other than 'latin1', you will get error
messages. So it really turned out that some recently edited files of
mine were in utf-8. My solution was then to type

:set fileencoding=latin1

inside GVIM, and save file, re-run latex and .... done.

PS: my latex preamble has the following:

\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage[portuges]{babel}

I am using tetex-3.0_p1-r3

Sunday, June 10, 2007

[Linux] Inkscape vector drawing program

I recently found this vector drawing program for Linux as a lightweight and libre alternative to Illustrator: http://www.inkscape.org

It looks very promising and it renders graphics and fonts very well with very nice effects (if properly installed). It can even render Latex math formulas using Effects->Render->Latex formula. And the nice thing is -- it converts the formulas to vectors, so no bitmaps are used, giving an amazing quality improvement to text in the drawings.

I am using Gentoo and I had to enable the plotutils use flag and re-emerge pstoedit in order for Latex rendering to work in Inkscape. The next thing I'd like to get working would be to have some easy way of specifying a Latex preamble so I could use my macros and commands when typing the formulas. A larger space for typing the formulas would also be part of my wish list.

Before Inkscape, I have been using OpenOffice.org draw, which is quite decent and has a good EPS export, although its rendering capabilities are far from Inkscape's, and it doesn't support reading SVG as of this time. OpenOffice.org can render Latex formulas if you use OOoLatex http://ooolatex.sourceforge.net - and it even supports a user-defined preamble. However, the formulas are in bitmap format only.

The main reason for my attempt to switch to Inkscape is that the effects (such as many options for stylized strokes) and rendering are way better than Open office draw. However, OOoLatex still is superior in certain features, for instance you can edit the formula and correct mistakes, something impossible with inkscape 0.45.1

Monday, June 04, 2007

New Photos

There are some new photos from last weekend:
http://cortex.lems.brown.edu/~rfabbri/gallery/
I went to Long Island with a Brazilian friend of mine.

Thursday, May 24, 2007

Accepted paper

I just got a final notice of acceptance of my manuscript at ACM
Computing Surveys:

R. Fabbri, O. M. Bruno, J. C. Torelli, L. da F. Costa "2D Euclidean
Distance Transform Algorithms: A Comparative Survey", ACM Computing
Surveys, 2007 (Accepted)

Supplementary material will soon be available at:
http://distance.sf.net

I'd like to thank all my family, friends, and my current and previous
advisors for their enthusiastic support. I hope this research will
prove useful for the community.

Monday, May 07, 2007

Spring

More of my spring photos here

Friday, April 27, 2007

Angela's website

This is my girlfriend's website
www.guzdesign.com

Her name is Angela Guzman and she is a Graphic designer and Industrial designer. She crafted that
website Guz Design a long time ago but still looks cool. She will supposedly
update it soon with lots of interesting stuff she's been doing at her
master's program at Rhode Island School of Design. Angela loves making patterns, playing with typography, and combining 3D and 2D approaches to design.

photos!

I have been posting more photos at my album:

http://cortex.lems.brown.edu/~rfabbri/gallery

I will leave them public for a while, but after that you'll have to
ask me for password.
You also need a password in order to access my complete photo collection which includes a lot of older stuff.

Sunday, February 04, 2007

Key Lime Pie

This is a nice & simple dessert from the Florida Keys.

6 egg yolks 1 can of condensed milk. (No evaporated milk!) 4oz of Key lime juice (maybe lemon or lime juice will work too)

Blend eggs and condensed milk, pour juice slowly while blending, then beat like a cake. The longer you beat, the puffier it gets.

Oven temperature at 325F, 15min. Let it cool, then freeze.

Monday, January 01, 2007

Shell World Florida Keys


Shell World Florida Keys
Originally uploaded by rfabbri.
This is a huge suvenir, home decor, and sea-shell store owned by my girlfriend's parents, take a look. They also have a website
www.shellworldflkeys.com

Friday, December 15, 2006

vxl vgui compilation workaround (and others)

In this post and the comments section below are various issues encountered while compiling VXL under Linux, and how I solved them.

To solve the following errors, put a blank "opengl_xmesa_include" in cmake. I have NVIDIA drivers and everything works fine after this.

make[1]: *** [core/vgui/tests/CMakeFiles/vgui_test_events.dir/all] Error 2 Linking CXX executable vgui_test_front_back /home/rfabbri/cprg/vxlprg/vxl-bin/lib/libvgui.a(vgui_accelerate_x11.o): In function `vgui_accelerate_x11::vgui_copy_back_to_aux()': /home/rfabbri/cprg/vxlprg/vxl/core/vgui/internals/vgui_accelerate_x11.cxx:426: undefined reference to `XMesaGetCurrentBuffer' /home/rfabbri/cprg/vxlprg/vxl/core/vgui/internals/vgui_accelerate_x11.cxx:435: undefined reference to `XMesaGetBackBuffer' /home/rfabbri/cprg/vxlprg/vxl-bin/lib/libvgui.a(vgui_accelerate_x11.o): In function `vgui_accelerate_x11::vgui_copy_aux_to_back()': /home/rfabbri/cprg/vxlprg/vxl/core/vgui/internals/vgui_accelerate_x11.cxx:458: undefined reference to `XMesaGetCurrentBuffer' /home/rfabbri/cprg/vxlprg/vxl/core/vgui/internals/vgui_accelerate_x11.cxx:467: undefined reference to `XMesaGetBackBuffer'

Thursday, November 09, 2006

[Linux] Some NFS issues

I wanted to share partitions via NFS. I followed: http://gentoo-wiki.com/HOWTO_Share_Directories_via_NFS At first I got the errors:

* Error starting NFS daemon

and

clientmachinename:/directory/to/export: Function not implemented

The mistake was to skip the kernel compilation step. Simply build modules for NFS server and call modprobe nfsd. You don't even have to restart your machine.

Sunday, October 15, 2006

A merda?

A felicidade pode estar contida na resposta `a seguinte pergunta: mando `a merda ou nao?

Wednesday, October 11, 2006

Valgrind for profiling

Valgrind is amazing. Not only it does memcheck, it also does code profiling without need to recompile everything. Use it with kcachegrind, and you can see a very nice visualization of the profiling data.

http://valgrind.org/docs/manual/cl-manual.html

Sunday, October 01, 2006

Poperâ

1989: aos meus 9 anos, meus amigos mais velhos me chamaram para ir ao "Poperâ", a sensacao do momento:

http://www.youtube.com/watch?v=Lap_Nd6P0W4

Thursday, September 21, 2006

Research Demo 1: Medusa

http://cortex.lems.brown.edu/~rfabbri/stuff/videos/medusa.mpg

Bottom-line: "Demo or die"

Thursday, September 07, 2006

Stolen red schwinn sidewinder bike

I had my bike stolen between tuesday sept 5th and sept 6th. It was parked on 280 Benefit street, Providence, RI, with a coil-type lock wrapped around the frame and front wheel. It was bought on walmart: [Link]

If you have any notices of similar bikes, notices of similar thefts around this area, or any other information to give, please comment this post.

Friday, August 18, 2006

change of email address

My new email is from google: rfabbri(a)NOSPAM.gmail.com.NOSPAM

Sunday, August 06, 2006

verso da semana

Sem a loucura o que é o homem Mais que a besta sadia, Cadáver adiado que procria? -- Fernando Pessoa (copiado da pagina do Stolfi)

visita!

E ai pessoal, chego a Sao Paulo dia 17 / Agosto, visito a familia e amigos, e fico ate 04/Set. Liguem pra minha vo ou me mandem um email!

abracos!

Tuesday, July 11, 2006

suddenly no sound in linux

Card: Intel ICH5 Chip: Analog Devices AD1981B

Today I tried to play a CD rom and I suddenly got no sound in linux; very weird. After some fooling around, the solution was to turn off "Headphone Jack Sense" in alsamixer. Allright, hope someone can benefit from this.

Friday, June 23, 2006

movie

Just watched the movie Frida... a very strong and fulfilling movie, one of my all-time favorites.

Thursday, June 01, 2006

Slackware 64bit

My bottomline opinion: stick with 32bit for now; its still fast. Use 2 or 3 partitions to install slamd64 and gentoo and slowly transition to the best one.

Useful post from the newsgroup:

Date: Mon, Mar 13 2006 2:20 pm Email: "Mogens V." <NOSPAMmoge...@vip.cybercity.dk> Groups: alt.os.linux.slackware

Carsten Becher wrote: > what about 64-bit support(*) in Slackware? Anything planned?

Pat's answer to my Q (december 05) about Slack 64bit:

"It's possible that we'll eventually do something about x86-64, but it's not a top priority, and I don't believe that "most of the Slackers" will switch away on account of 32 vs. 64 bit support in the forseeable future, but if they do it's going to be more about an imagined benefit that about any real one. The majority of users really don't have any need for 64 bit processing at this time, but it is cool to be able to say that your AMD64 processor is running in 64-bit mode. (just like it's cool to be able to say that your binaries have all possible processor specific optimizations compiled in, even if there's no measurable performance difference and the system might be less stable overall)."

Wednesday, May 17, 2006

Bugs!!!

Bugs, bugs, pesky little bugs!!! So much time do I loose with you, but time is all that is necessary to KILL YOU! And when that time comes, oh how sweet it is to SLAY YOU!! DIE, M*, DIE!!!!

Sunday, April 23, 2006

CS Rulez

I am beginning to realize that the next major problems in Science will not so much be tractable by neither new theories of Math nor Physics, neither Psychophysics or Neuroscience, but rather by Computer Science. That is because CS tackles directly that level of explanation of things that no other science has ever seriously explored - the level of information processing. (Hmm.... guess I'll take more CS courses now.)

Thursday, April 13, 2006

The price of righteousness

Be willing to pay the price of righteousness, the price of doing what you feel is most noble and right. Sacrifice little things for the sake of bigger things in life. Don't be a wuss

Wednesday, April 05, 2006

Coisitas no ebay

Ai, galera, minha irma ta vendendo umas coisitas na internet:

Little-Brazil Store

se quiser fazer negocio com a gente, eh so dizer que a gente arma os esquema :)

Monday, February 13, 2006

Photos!

Fotos do meu sobrinho / Pics of my nephew!

http://cortex.lems.brown.edu/~rfabbri/gallery/

Thursday, February 09, 2006

NENEM!!

Papai................ ainda nao hehehehe, mas sim TIOZAO!!!!!

(My brother just got a new baby, called Antonio!)

Friday, January 20, 2006

Sorrindo, ao lado de Deus

Colossians 3:1-2

3:1 If then you have been raised with Christ, seek the things that are above, where Christ is, seated at the right hand of God. 2 Set your minds on things that are above, not on things that are on earth.

Blessed be my Uncle Fernando Costa Abencoado seja meu Tio, Fernando Costa

Friday, December 09, 2005

Frase de fim de semestre

It is not good for a man to be without knowledge, and he who makes haste with his feet misses his way. -- Proverbs 19:2

Wednesday, December 07, 2005

Latex direto no Open Office: OOoLatex

Sempre quis editar equacoes complicadas nas minhas apresentacoes e documentos no Open Office. No MS-Word, tem o texpoint, mas no OpenOffice tem coisa melhor (especialmente em Linux):

http://ooolatex.sourceforge.net/

Eu uso isso pra colocar simbolos matematicos nas minhas figuras e apresentacoes.

No caso de figuras, eu geralmente desenho esquemas cientificos no OpenOffice, os quais usam simbolos matematicos. Eu exporto o desenho para EPS, que eh o formato util para para incluir em documentos Latex. Alias, o EPS export do OpenOffice eh simplesmente incrivel; nao da pra voltar pro Word.

Thursday, November 10, 2005

Presentation

The poster presentation went very well!! Now its time to relax in the conference banquet a little...

-- Ricardo Fabbri

PhD Student in Computer Engineering / Computer Vision LEMS - Laboratory for Engineering Man-Machine Systems Brown University, USA

Tuesday, November 08, 2005

Florida trip

I'm here at Saint Augustine having lots of fun. The city is very pretty, cozy, historical but also with a very clear funny beach mood. The weather is warm (~80 Farenheit), the sky is very clear, this is just awesome! My hotel is half a mile from the conference hotel and from downtown. The latter is full of nice restaurants and artsy/gifts/antiques stores. Nice desert stores are spreaded throughout, for my joy. Now I'll get back to hard work cause my presentation is thursday afternoon.

Thursday, October 27, 2005

Aaaahhhhh

Desfrutou, agora vai ter que trabalhar pra pagar Ricardo....

Sunday, October 23, 2005

Viva!

Ah, doce vitoria, gloria, alegria..

Wednesday, September 07, 2005

Comecou

As aulas comecaram; revendo amigos; bastante atividade intelectual interessante; O tempo esta perfeito.. Isso aqui ta bom demais!

Monday, September 05, 2005

Questao

Matematica ou Computacao Eis minha questao

Wednesday, August 31, 2005

Contribua com o Wiktionario Portugues!

Existe um dicionario online portugues que pode ser editado por qualquer pessoa! Nao conheco dicionario portugues gratis online.

Nao existem muitos verbetes ainda, mas eh ridiculamente facil contribuir.

No endereco abaixo:

http://pt.wiktionary.org/wiki/Coruja

substitua "Coruja" por qualquer outra palavra que voce deseja consultar.

Se a palavra nao estiver no dicionario, leia as instrucoes; sera dada a opcao de editar a pagina. Simplesmente insira qualquer definicao que vier `a sua mente, bem rapidamente. O que mais importa eh a informacao. Ninguem sabera quem editou a pagina; nao ha autoria do conteudo. Eh um projeto colaborativo.

Monday, August 22, 2005

Ferias do Barulho em Long Island

E ai rapazeada,

estou aqui em Port Jeffersson, NY, curtindo uma semana de ferias. Minha irmazinha de 9 meses esta muito esperta e rochunchuda, esta quase aprendendo a andar, fala algumas palavras bem basicas, e ate canta! E tenho uma otima noticia: vou ser padrinho dela!

Estou muito bem e me divertindo bastante com minha irmazona Iza, a qual nao tinha visto ha quase 1 ano. Usamos internet discada ou atraves de uma biblioteca publica, mas o acesso eh relativamente limitado. Se nao der pra te escrever - quem quer que voce seja - pelo menos as noticias basicas estao aqui. Volto em 1 semana para Providence continuar meu PhD. Em breve iremos a alguma praia aqui conferir os points e as cachorras hehehehe.. e tambem vamos `a uma boate de noite, deve tocar so' hip-hop fulera, mas eh o jeito. Tenho ido a aulas de cardio kickboxing com minha irma, esta sendo legal.

Por enquanto eh isso. Um abraco de saudades!

Friday, July 22, 2005

C vs C++

This is a classical fortune whose truth I face every day of C++ programming:

C makes it easy for you to shoot yourself in the foot. C++ makes that harder, but when you do, it blows away your whole leg. -- Bjarne Stroustrup

Sunday, June 26, 2005

Absorto

Estou extremamente ocupado no momento. Nao esquenta, logo apareco de novo, do nada, e dou noticias.

Wednesday, June 15, 2005

As bombas

Obra prima da musica brasileira, as cancoes deste LP sao estilosas, suaves e confortantes. Mas a verdadeira beleza esta nas letras.. verdadeira poesia. O ponto culminante desta obra lirica soa mais ou menos assim: Bombas "A sociedade tem eh que lutar Para impedir a guerra nuclear! (refrao) ... Nao pode ser assim, nao podemos desisti Que as bombas do futuro ja estao aqui" e por ai vai, a letra quase nao muda, pra nao contaminar a perfeicao do refrao, feito para ser repetido ad infinitum. Eis um classico da extinta banda Espermogramix, exemplar do mais fino punk rock brasileiro dos anos 80. Ainda neste LP podemos encontrar a cancao "Cerebros atomicos", obra prima dos Ratos do Porao, da epoca que ninguem mexia com eles.

Sunday, June 12, 2005

Radio

I've been listening to this one:

http://www.wazee.org/

basically "mainstream alternative rock" :^)

Of course, there's hideout.com.br but that one you already know about.

Tuesday, May 17, 2005

Secret to Energy

Da onde tiro animo e disposicao? Como eh que o Fabbri fica em cima daqueles livros todo feliz? Meu, nao conta pra ninguem ok? Promete? veja aqui Decepcionado? rsrs Conhece algo melhor e mais fodao? diga ai! OBS: metallica sucks!!........ megadeth tbm, nao fosse por esse album hehe

Wednesday, May 11, 2005

secret to happiness

Fight hard until the end, but accept your destiny without sorrow when its revealed. If its bad, at least you tried your best, so you can just say "oh well, screw it".

Friday, May 06, 2005

essa foi boa

Reality is an obstacle to hallucination. -- Linux fortune cookie

Tuesday, May 03, 2005

Think long term

This is a call of desperation. THINK LONG TERM. When you're here in the USA you can FEEL why capitalism is so destructive, so corruptive, so unjust.... Americans simply don't think long-term. They wanna produce. Produce, produce, produce. Do it now. No matter what. No matter what you're leaving behind. But don't they realize that true reward comes with long-range thinking?

Monday, April 25, 2005

fim de semestre

estou fim de semestre, isolado, absorto, sumido (e cocando um pouquinho escrevendo pro blog porque ninguem eh de ferro)

Wednesday, April 20, 2005

A nova onda em visao computacional: varias imagens

Aqui na Brown University o pessoal esta trabalhando bastante com problemas aplicados a varias imagens de uma mesma cena; sejam varias fotos, seja uma sequencia de video. Por exemplo, extender metodos anteriores de deteccao de borda, matching, reconhecimento e segmentacao para trabalhar em diversas imagens eh o que tem estado em alta por aqui. E tem sido bastante interessante, em particular por se tratar de um problema classico mas que tem ganhado poder devido ao aumento da capacidade computacional dos PCs, das cameras digitais, bem como ao amadurecimento desta comunidade em relacao a geometria desses problemas. Eh curioso que no Brasil conheco pouca gente que trabalha em visao com multiplas imagens p.ex. visao estereo, video,reconstrucao a partir de fotografias e fotogrametria UTILIZANDO tecnicas modernas (i.e. de apos 1991).
Tres representantes populares desses problemas:
The Geometry of Multiple Images.
Visual Motion of Curves and Surfaces. (este usa geometria diferencial)
Multiple View Geometry. (este eh o mais popular; realmente muito bom) O amadurecimento que tem havido na area consiste basicamente na aplicacao consistente de geometria projetiva, algebrica, e diferencial, teorias utilizadas bastante em fisica moderna.

Monday, April 18, 2005

Critique of the computer vision community: flaws in method

Most compuver vision scientists are extremely practical-minded engineers that know a little math and think its a lot. Yet they are so pragmatic and anxious to produce any result whatsoever that they end up without solving the REAL thing. Many try to avoid the real, systematic, and, yes, time-consuming but ever necessary way of problem solving.

Sunday, April 17, 2005

Speed up long links in GCC by 10x

I usually get very slow linking times for C++ applications that use a lot of huge libraries with debug information. I got a 10x speedup in GNU/Linux just by upgrading my linker to the latest CVS snapshot. Simply install a new binutils package from:

http://www.gnu.org/software/binutils/

Basically do a ./configure && make install then remove your old binutils package that comes with your distro.

I went from 30s link time to 3s :-)) I can finally debug my app without annoying delays.

Thursday, April 07, 2005

Think!

Passe 90% do seu tempo pensando e planejando o que vai fazer e como vai fazer. Use apenas 10% para efetivamente fazer algo. Acima de tudo, nao faca o contrario.