<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-527335393773434386</atom:id><lastBuildDate>Sat, 06 Sep 2025 02:16:22 +0000</lastBuildDate><category>tech</category><category>trip</category><category>personal</category><category>science</category><title>Vincent&#39;s Blog</title><description>Geek and Art Lover</description><link>http://bluevincent.blogspot.com/</link><managingEditor>noreply@blogger.com (Vicente Ordonez)</managingEditor><generator>Blogger</generator><openSearch:totalResults>33</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-527335393773434386.post-1629870912292957110</guid><pubDate>Tue, 21 Jan 2014 21:41:00 +0000</pubDate><atom:updated>2014-02-12T14:23:58.514-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">science</category><category domain="http://www.blogger.com/atom/ns#">tech</category><category domain="http://www.blogger.com/atom/ns#">trip</category><title>Australia and Computer Vision</title><description>Note: I have more than ever been busy with work and the loss of reach my blog suffered when Google Buzz ended has reduced a bit of the motivation I had earlier when updating it. I won&#39;t say I&#39;m making a resolution for a come back this year but I will try to write earlier and write often.&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpgpfQqJrzIKWUqGrsSTvb0iZ4VkMow8pzVQTIMF6iHxmiRbwGw5K0OjI-IUHMlnoA3YA5eiBbijny0cAMXvqBFk8hGpjNAk47YspSi6sRX03ampEWpSnLd8a2Aa4V-I0ALeM7oVxjGsw2/s1600/1486147_10152048228223954_771219364_o.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpgpfQqJrzIKWUqGrsSTvb0iZ4VkMow8pzVQTIMF6iHxmiRbwGw5K0OjI-IUHMlnoA3YA5eiBbijny0cAMXvqBFk8hGpjNAk47YspSi6sRX03ampEWpSnLd8a2Aa4V-I0ALeM7oVxjGsw2/s1600/1486147_10152048228223954_771219364_o.jpg&quot; height=&quot;265&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;The Three Sisters, a rock formation in the Blue Mountains in New South Wales, Australia.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
I was recently lucky enough to attended a big conference in computer vision, the ICCV - International Conference in Computer Vision. It took place in Australia last December and it was refreshing. Australia is a great place to visit but more on that later. One thing that took me by surprise was that I and my collaborators were awarded the prestigious &lt;a href=&quot;http://en.wikipedia.org/wiki/Marr_Prize&quot;&gt;Marr Prize&lt;/a&gt; in computer vision. I&#39;m very grateful about that. I won&#39;t go into details about our own work that led to this prize in this blog post but I will borrow an excerpt from &lt;a href=&quot;http://quantombone.blogspot.com/2013/12/brand-spankin-new-vision-papers-from.html&quot;&gt;Tomasz&#39;s vision blog&lt;/a&gt; to describe it:&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;padding-left: 40px;&quot;&gt;
&lt;span style=&quot;color: #666666;&quot;&gt;&quot;[...].&amp;nbsp;&lt;span style=&quot;background-color: white; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.200000762939453px;&quot;&gt;It is all about&amp;nbsp;&lt;/span&gt;&lt;b style=&quot;background-color: white; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.200000762939453px;&quot;&gt;entry-level categorie&lt;/b&gt;&lt;span style=&quot;background-color: white; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.200000762939453px;&quot;&gt;s - the labels people will use to name an object - which were originally defined and studied by psychologists in the 1980s.&amp;nbsp;In the ICCV paper, the authors study entry-level categories at a large scale and learn the first models for predicting entry-level categories for images. The authors learn mappings between concepts predicted by existing visual recognition systems and entry-level concepts that could be useful for improving human-focused applications such as natural language image description or retrieval. NOTE: If you haven&#39;t read Eleanor Rosch&#39;s seminal 1978 paper,&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://commonweb.unifr.ch/artsdean/pub/gestens/f/as/files/4610/9778_083247.pdf&quot; style=&quot;background-color: white; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.200000762939453px; text-decoration: none;&quot;&gt;The Principles of Categorization&lt;/a&gt;&lt;span style=&quot;background-color: white; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.200000762939453px;&quot;&gt;, do yourself a favor: grab a tall coffee, read it and prepare to be rocked. [...]&lt;/span&gt;&quot;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
I not only recommend following his blog but also to check out and fund his new venture on &lt;a href=&quot;http://www.kickstarter.com/projects/visionai/vmx-project-computer-vision-for-everyone&quot;&gt;Kickstarter&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
The conference was a big success and we saw some of the new trends in the field that are getting more established. I will briefly discuss two of those trends: 1) Using geometry for high level computer vision tasks like detection or total scene understanding. 2) Using neural networks and particularly deep architectures. These two separate trends share some history. Geometry was initially taken as the main tool for solving vision problems but time seemed to prove that, at least for object recognition, representing images with 2D templates and using clever machine learning was sufficient to recognize objects. This approach has practically solved the problem of detecting faces. Geometry was to an extent confined to a separate track of classic tasks like reconstruction from multiple images. But in this new trend there is a clear revival for geometry in recognition where people have realized that in order to move forward to make recognition more general we need to incorporate geometry back into the mix.&lt;br /&gt;
&lt;br /&gt;
In the same light neural networks were at some point more or less thought as a general black-box for learning. You show the computer some images and some labels and the neural network learns how to label new images by adjusting weights and filters on the input representations. This weight and filter system has some analogy to how networks of neurons work together, hence the name. They were also used together with 2D templates to learn to detect things like digits or faces and they were successful. Unfortunately there was the problem of scaling to more general neural network architectures with more layers. This required adjusting an enormous amount of parameters that computers were just not able to handle at the time. Machine learning theorists also came up with very solid theory for other alternatives to neural networks like max-margin classifiers and kernels that had better theoretical grounds and comparable performance than the neural networks of the time. And soon people largely stopped using neural networks to attempt computer vision problems and even problems in other fields. This recent revival and interest in neural networks in computer vision is due to recent key successes in training deep neural network architectures that have shown superior performance on several important vision tasks. Today&#39;s computers combined with large amounts of data and clever new techniques have all made this possible.&lt;br /&gt;
&lt;br /&gt;
Our paper on &lt;a href=&quot;http://www.cs.unc.edu/~vicente/entrylevel/index.html&quot;&gt;entry-level categories&lt;/a&gt; doesn&#39;t fall in any of the above two categories but instead insists on yet a new focus on vision which is that of finding clever representations of what we should be learning about our visual world. Solving computer vision is not just about translating pixel content into labels but rather about building a higher representation model of the visual world that we can eventually apply to specific instances of this visual world. We have advocated for some time that we can augment this visual world model using knowledge collected from text and studying how people describe images using natural language.&lt;br /&gt;
&lt;br /&gt;
I will take the almost impossible task of using my last paragraph to highlight Australia as a destination. It is an awesome place! Being a huge island, the fauna of Australia is just so different than everywhere else that it feels the closest to a totally different planet. I can only imagine how was the first encounter of non-aborigins of the island with those animals. The kangaroos are like a portrayal of deers taken from a very creative sci-fi movie except they are real. The koalas also have no parallels. The wombats and tasmanian devils are also something to be set apart from the rest of the fauna. I also had a chance to visit Cairns and the The Great Reef Barrier and while this is an awesome view of the underwater fauna I have to say that I enjoyed the above ground fauna the most.&lt;br /&gt;
&lt;br /&gt;</description><link>http://bluevincent.blogspot.com/2014/01/australia-and-computer-vision.html</link><author>noreply@blogger.com (Vicente Ordonez)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpgpfQqJrzIKWUqGrsSTvb0iZ4VkMow8pzVQTIMF6iHxmiRbwGw5K0OjI-IUHMlnoA3YA5eiBbijny0cAMXvqBFk8hGpjNAk47YspSi6sRX03ampEWpSnLd8a2Aa4V-I0ALeM7oVxjGsw2/s72-c/1486147_10152048228223954_771219364_o.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-527335393773434386.post-1326544727692580801</guid><pubDate>Fri, 08 Nov 2013 04:59:00 +0000</pubDate><atom:updated>2013-11-07T21:28:33.666-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">personal</category><title>Graduate School Restarts</title><description>&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;float: right; margin-left: 1em; text-align: right;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgiLkJgtlFGDkka0fSO2p5yasJ742PDpNrQcbna3_kG2sDiQCMeb9jXAXHHVphIq-HdoC8Dpna45p08-4l8I8mERqOHtrVNJQwq5oW6ssq5NeW04gnBGgfcB5z2K6to7mC3QvqiOg_viTX/s1600/418d3e4423ab11e38a2722000a9f1925_7%255B1%255D.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgiLkJgtlFGDkka0fSO2p5yasJ742PDpNrQcbna3_kG2sDiQCMeb9jXAXHHVphIq-HdoC8Dpna45p08-4l8I8mERqOHtrVNJQwq5oW6ssq5NeW04gnBGgfcB5z2K6to7mC3QvqiOg_viTX/s320/418d3e4423ab11e38a2722000a9f1925_7%255B1%255D.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;UNC Chapel Hill&#39;s Iconic Old Well&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
I haven&#39;t blogged about my graduate school experience for a while but a lot has happened. I just spent last
summer at the &lt;a href=&quot;http://labs.ebay.com/&quot;&gt;eBay Research Labs&lt;/a&gt;. I will write more about my work at eBay later. I will also be attending a research conference in Sidney on December. But the more important thing going with my graduate life is that I transferred to the &lt;a href=&quot;http://www.unc.edu/&quot;&gt;University of North Carolina at Chapel Hill&lt;/a&gt; to finish my doctoral dissertation.&lt;br /&gt;
&lt;br /&gt;
Academic research groups in US higher education institutions are like small start-up companies and they are too subject of acqui-hires by other schools. I&#39;m moving along with my research group from the &lt;a href=&quot;http://www.stonybrook.edu/&quot;&gt;State University of New York at Stony Brook&lt;/a&gt; to the flagship school of the state system in North Carolina to continue on my research. I was counting the number of times that I have moved in the past 10 years and it is certainly more than a dozen times. But this is the time when I have felt the most nostalgia about relocating to a different place. People say that time goes faster after you are a teenager but those 4 years on New York State were a century for me. I learned so much academically and from life, I learned to cook, I learned to drive and wear many other hats. I&#39;m above all extremely grateful that I could meet a lot of the people I met. Had I not met some of these people I would just not be complete today. I lived so much in so little time. I like to look back at all the excitement that I had when I started this blog&amp;nbsp;&lt;a href=&quot;http://www.bluevincent.com/2009/09/graduate-school-starts.html&quot;&gt;Graduate School Starts&lt;/a&gt;&amp;nbsp;and so I named this post Graduate School Restarts because I&#39;m keeping this same excitement and curiosity for science for this last lap in my graduate school journey.</description><link>http://bluevincent.blogspot.com/2013/11/graduate-school-restarts.html</link><author>noreply@blogger.com (Vicente Ordonez)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgiLkJgtlFGDkka0fSO2p5yasJ742PDpNrQcbna3_kG2sDiQCMeb9jXAXHHVphIq-HdoC8Dpna45p08-4l8I8mERqOHtrVNJQwq5oW6ssq5NeW04gnBGgfcB5z2K6to7mC3QvqiOg_viTX/s72-c/418d3e4423ab11e38a2722000a9f1925_7%255B1%255D.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-527335393773434386.post-7960646114973589099</guid><pubDate>Sun, 28 Apr 2013 19:37:00 +0000</pubDate><atom:updated>2013-11-07T21:28:44.324-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">personal</category><category domain="http://www.blogger.com/atom/ns#">trip</category><title>Montauk - Far far away on Long Island</title><description>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxmGwZdULTtohZ07F6E5uZwBstjONKyypqK6EIfZS1r0fX2Wxo8Bnj8j4gYOrEnk4e0Q3WHLSWJj_3OSyjZTFQJLZYk2PkDFjPmxLtoC-S6_Xbl-VbVUbtnJBjDu8KnJyU7nCeTzwYCZZ5/s1600/photo+(7).JPG&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxmGwZdULTtohZ07F6E5uZwBstjONKyypqK6EIfZS1r0fX2Wxo8Bnj8j4gYOrEnk4e0Q3WHLSWJj_3OSyjZTFQJLZYk2PkDFjPmxLtoC-S6_Xbl-VbVUbtnJBjDu8KnJyU7nCeTzwYCZZ5/s320/photo+(7).JPG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
It seems I like pictures of lighthouses. I think I got a better picture here than the one I took of the&amp;nbsp;&lt;a href=&quot;http://www.bluevincent.com/2012/01/fire-island-lighthouse.html&quot;&gt;Fire Island Lighthouse&lt;/a&gt;, also on Long Island.&amp;nbsp;I was actually working with pictures of lighthouses some time back on a vision project so I have seen at least in pictures a lot of lighthouses in several shapes and colors.&lt;br /&gt;
&lt;br /&gt;
Montauk is the easternmost part of Long Island and therefore the easternmost part of New York State. Iconic place in the movie &lt;i&gt;Eternal Sunshine of the Spotless Mind&lt;/i&gt;, one of the first movies I watched after the&amp;nbsp;&lt;i&gt;Dumb and Dumberer&lt;/i&gt;-stage of one of my favorite actors: Jim Carrey. Another serious movie I like from him is the &lt;i&gt;Truman Show&lt;/i&gt;, of which I made a reference in my earlier post about mosaics (&lt;a href=&quot;http://www.bluevincent.com/2012/12/starry-night-mosaic-art.html&quot;&gt;Starry Night Mosaic Art&lt;/a&gt;).&lt;br /&gt;
&lt;br /&gt;
Long Island has many niceties that I haven&#39;t yet explored, another movie that is coming this year and portraits some of the forgotten glamour of Long Island is &lt;i&gt;The Great Gatsby&lt;/i&gt; starring Leonardo DiCaprio as Mr. Gatsby. I will try to visit a couple of those mansions from the 1920&#39;s before the end of the year and post some more pictures.</description><link>http://bluevincent.blogspot.com/2013/04/montauk-far-far-away-on-long-island.html</link><author>noreply@blogger.com (Vicente Ordonez)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxmGwZdULTtohZ07F6E5uZwBstjONKyypqK6EIfZS1r0fX2Wxo8Bnj8j4gYOrEnk4e0Q3WHLSWJj_3OSyjZTFQJLZYk2PkDFjPmxLtoC-S6_Xbl-VbVUbtnJBjDu8KnJyU7nCeTzwYCZZ5/s72-c/photo+(7).JPG" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-527335393773434386.post-4766865809381106164</guid><pubDate>Sun, 16 Dec 2012 04:19:00 +0000</pubDate><atom:updated>2013-11-07T21:29:00.521-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">tech</category><title>Starry Night Mosaic Art</title><description>I&#39;m posting here a picture that I generated using so called &lt;i&gt;mosaic art&lt;/i&gt;, which is a technique used by several artists and designers consisting of depicting an image using smaller units of content. The smaller units can usually be other images, for instance, remember the poster of the movie &lt;a href=&quot;http://www.impawards.com/1998/truman_show_ver1_xlg.html&quot;&gt;The Truman Show&lt;/a&gt;?&amp;nbsp;There is software available to generate this type of images, here is one named&amp;nbsp;&lt;a href=&quot;http://www.mazaika.com/gallery.html&quot;&gt;Mazaika&lt;/a&gt;. Mosaic art has also been popularized to some extent by artists such as Chuck Close or &lt;a href=&quot;http://www.juanosborne.com/&quot;&gt;Juan Osborne&lt;/a&gt;&#39;s amazing text mosaics. I wanted to do a simple experiment that incorporates an additional variable that I haven&#39;t seen in previous mosaics.&lt;br /&gt;
&lt;br /&gt;
Coming from a computer vision perspective my motivation here is that most mosaics that tile images try to match only the color of the image for each specific location but they do not capture other characteristics like gradients (a sense of directionality) which is a common feature in most of today&#39;s computer vision systems. Take as inspiration the picture of the Starry Night by Vincent Van Gogh, made available by the &lt;a href=&quot;http://www.googleartproject.com/collection/moma-the-museum-of-modern-art/artwork/the-starry-night-vincent-van-gogh/320268/&quot;&gt;Google Art Project&lt;/a&gt; at incredible resolutions. I&#39;m including here a pretty high res picture if you click on it but feel free to explore the link above.&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghi5-5icEofXSaME7lUIIn93gApCcxPUd0ZiCAgZ_bDzSNl_-6tdcZRzeAMnexM9dSuON_40SOFBn4osmWreYOlCm_9Xij6D2EUDY3tCJAkWS-NBZ95fRrwxSi2QoV8ODtb2NbtDE490-y/s1600/starry_night_4412_5571.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;253&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghi5-5icEofXSaME7lUIIn93gApCcxPUd0ZiCAgZ_bDzSNl_-6tdcZRzeAMnexM9dSuON_40SOFBn4osmWreYOlCm_9Xij6D2EUDY3tCJAkWS-NBZ95fRrwxSi2QoV8ODtb2NbtDE490-y/s320/starry_night_4412_5571.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Click on the image for higher resolution.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
For this kind of image, gradients are just as beautiful as colors and a good mosaic should be capturing both when tiling images. I used a database of 1 million pictures taken from Flickr to retrieve the closest matching image regarding both color and gradients for every tile in the composition. I also made sure to add some randomization so that nearby tiles don&#39;t get too similar images and only slightly modified the tonality of the resulting picture. I will try to update this post if I find a way to return even better matches regarding color and gradients or better&amp;nbsp;tiling&amp;nbsp;but I hope this mosaic conveys the idea of using gradients (a popular cue for many state of the art feature descriptors in computer vision) for creating mosaics.&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiy3xecU6V_VFEm4wcDThJViUg3Ahr12ODDj_bNC6bUbSZunCarc2lmhtAF1WCkTPIC000zI7V1C6CHr44mjUl8YVLGFGDeJ3Z9BEhIq2W2-ET_zh0ktpnqmuAKG67bXuJXY7yMmG-6NcbC/s1600/starry_change.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;253&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiy3xecU6V_VFEm4wcDThJViUg3Ahr12ODDj_bNC6bUbSZunCarc2lmhtAF1WCkTPIC000zI7V1C6CHr44mjUl8YVLGFGDeJ3Z9BEhIq2W2-ET_zh0ktpnqmuAKG67bXuJXY7yMmG-6NcbC/s320/starry_change.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Click on the image for higher resolution&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</description><link>http://bluevincent.blogspot.com/2012/12/starry-night-mosaic-art.html</link><author>noreply@blogger.com (Vicente Ordonez)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghi5-5icEofXSaME7lUIIn93gApCcxPUd0ZiCAgZ_bDzSNl_-6tdcZRzeAMnexM9dSuON_40SOFBn4osmWreYOlCm_9Xij6D2EUDY3tCJAkWS-NBZ95fRrwxSi2QoV8ODtb2NbtDE490-y/s72-c/starry_night_4412_5571.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-527335393773434386.post-8227603006630772452</guid><pubDate>Thu, 19 Jul 2012 05:47:00 +0000</pubDate><atom:updated>2012-07-18T22:55:18.872-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">personal</category><category domain="http://www.blogger.com/atom/ns#">trip</category><title>2300 Jackson Street</title><description>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
The King of Pop, the Greatest Entertainer of All Time, I don&#39;t think any superlative can account for the genius of this man born in Gary, Indiana, a small city a few miles away south of Chicago. The neighborhood doesn&#39;t look in any way special, it looks just like any neighborhood in a suburb. The town is surrounded by big factories and it doesn&#39;t feel like you are getting closer to this seemingly forgotten landmark. It feels like there is usually nobody around but it only takes a minute or two to start seeing cars stopping and fans getting out to take pictures. This is not the Neverland ranch or the Hollywood Walk of Fame, this is the true place where you can relate to Michael Joseph Jackson, the child that grew onto one of the biggest talents humanity has witnessed.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMKA_7v4H66esJ2NjwESKzth6-nZTHfh3-lygKpvtG-I2DhBcuGsFtFylW1SLJeL7e3IwWXbkPm_cEU3IisGG4nFJInPiByvK92eDUQwx_8o4_aZE1ndxA4yYEKosDJi5n9lvxeJL7PXwH/s1600/DSC_0806.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;265&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMKA_7v4H66esJ2NjwESKzth6-nZTHfh3-lygKpvtG-I2DhBcuGsFtFylW1SLJeL7e3IwWXbkPm_cEU3IisGG4nFJInPiByvK92eDUQwx_8o4_aZE1ndxA4yYEKosDJi5n9lvxeJL7PXwH/s400/DSC_0806.JPG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;At the intersection of Jackson Street and Jackson Family Boulevard.&lt;br /&gt;
Gary, Indiana.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg02MxYQSrKEaTm3PGfEmYvgux6j0UtxgTCtNs5mWNo_mdIzkAn4zMCkdxY-SOOnmLCevrBUNDGRn-4g9fdWnFIchpBd7wpWzTZOVCdfuq8108aZILd0CQQ7jbe1U2yn6i6RKxxQiKtqMFE/s1600/DSC_0854.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;265&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg02MxYQSrKEaTm3PGfEmYvgux6j0UtxgTCtNs5mWNo_mdIzkAn4zMCkdxY-SOOnmLCevrBUNDGRn-4g9fdWnFIchpBd7wpWzTZOVCdfuq8108aZILd0CQQ7jbe1U2yn6i6RKxxQiKtqMFE/s400/DSC_0854.JPG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Whiteboard outside the house. Lots of messages already.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;</description><link>http://bluevincent.blogspot.com/2012/07/2300-jackson-street.html</link><author>noreply@blogger.com (Vicente Ordonez)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMKA_7v4H66esJ2NjwESKzth6-nZTHfh3-lygKpvtG-I2DhBcuGsFtFylW1SLJeL7e3IwWXbkPm_cEU3IisGG4nFJInPiByvK92eDUQwx_8o4_aZE1ndxA4yYEKosDJi5n9lvxeJL7PXwH/s72-c/DSC_0806.JPG" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-527335393773434386.post-2154916216992303308</guid><pubDate>Mon, 21 May 2012 06:00:00 +0000</pubDate><atom:updated>2012-05-21T07:47:00.748-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">science</category><category domain="http://www.blogger.com/atom/ns#">tech</category><title>Visual Attention and Visual Saliency</title><description>&quot;Everybody knows what attention is ...&quot;&lt;br /&gt;
-William James 1890&lt;br /&gt;
&lt;br /&gt;
This quote is referenced in a research paper&amp;nbsp;from the Visual Computing group at Microsoft Research Asia (MSRA), titled&amp;nbsp;&quot;Learning to Detect a Salient Object&quot;. I don&#39;t know exactly the context for that quote but it is interesting that somebody says this in 1890 when yet today we don&#39;t know many things about visual attention. Visual attention is particularly interesting in Computer Vision because in this field we want to teach computers how to recognize things in the visual world and it seems humans might be taking advantage of things like visual attention in ways computers still aren&#39;t.&lt;br /&gt;
&lt;br /&gt;
To actually give some definition of visual attention I would say that it is the condition by which our vision focus in more or less degree on some things within the total amount of information that is perceived. Particularly in computer vision there are some research lines that are closely related to ideas in visual attention, one of them is visual saliency, which could cover among other things a) class-independent object detection or proto-object detection (although proto-objects as defined in the visual perception literature might not be directly usable in a practical application), b) detecting salient objects on an image (under the assumption that we humans do not consider all objects are equally visually important) or c) Detecting saliency maps that define regions that are important on an image without explicitly associating them with an object.&lt;br /&gt;
&lt;br /&gt;
The paper from MSRA (&quot;Learning to Detect a Salient Object&quot; CVPR&#39;07) detects a salient object under the assumption that we know a priori that there exists a salient object in the image. I believe this assumption holds for a large number of images on the web because that&#39;s just the way we think when we capture pictures, we usually focus on something. It is easy to imagine that not only Microsoft but also Google are already using some form of visual saliency to autocrop images from the web for display on search results or generating thumbnails. But beyond this obvious application there is room for using these kind of techniques to improve object detection itself or at least to avoid trying to detect objects on every possible location within an image.&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYUE_yR70dJ9J5iBfXRzjC_gVtlZQIRp786hFOltItMBqca0eGXLsAq7ixTpPPLo0ud7cRqCpTLznp7UIC-N4FJAXPTckoERuiGHpWptHPP5HhQ7u_q0py1QCkDb88P514iH07hFR-eprG/s1600/figure.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;236&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYUE_yR70dJ9J5iBfXRzjC_gVtlZQIRp786hFOltItMBqca0eGXLsAq7ixTpPPLo0ud7cRqCpTLznp7UIC-N4FJAXPTckoERuiGHpWptHPP5HhQ7u_q0py1QCkDb88P514iH07hFR-eprG/s320/figure.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Sample saliency maps for the top left image used as features in &amp;nbsp;the MSRA paper.&lt;br /&gt;
Those maps were generated using my own implementation of their method.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
The MSRA paper also introduces the&amp;nbsp;&lt;a href=&quot;http://research.microsoft.com/en-us/um/people/jiansun/SalientObject/salient_object.htm&quot;&gt;MSRA Salient Object Database&lt;/a&gt;, a large collection of images with manually annotated bounding boxes enclosing the salient object on each image. The only thing not included is source code, that&#39;s why in 2009 while I was starting graduate school I decided to implement their method on Matlab [&lt;a href=&quot;http://www.cs.stonybrook.edu/~vordonezroma/code.html&quot;&gt;link to source code&lt;/a&gt;]. And although the CRF formulation is not exactly the same, I get similar performance to the one reported in the original paper (See slides included at the end of this post). The paper has got some considerable attention since it was first published and so although I don&#39;t keep track of how many people are downloading my code, I see a lot of traffic coming from Google search. Also I didn&#39;t run many experiments beyond what is explained in the original paper but I found somebody using my code who did a more thorough evaluation. This was done by a student at the Computer Vision class at the University of Texas Austin&amp;nbsp;&lt;a href=&quot;http://vision.cs.utexas.edu/cv-fall2011/slides/larry-expt.pdf&quot;&gt;http://vision.cs.utexas.edu/cv-fall2011/slides/larry-expt.pdf&lt;/a&gt;. As I had expected this method does better than Itti &amp;amp; Koch (previous much simpler approach) but only when it actually detects something, which is most likely to happen in the kind of images where we have a clear single salient object, the kind of images the method was trained on.&lt;br /&gt;
&lt;div id=&quot;__ss_2747824&quot; style=&quot;width: 425px;&quot;&gt;
&lt;b style=&quot;display: block; margin: 12px 0 4px;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;object height=&quot;355&quot; id=&quot;__sse2747824&quot; width=&quot;425&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=recognition-projectupdate2-091218220741-phpapp02&amp;stripped_title=visual-salency-learning-to-detect-salient-objects&quot; /&gt;















&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;/&gt;















&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot;/&gt;















&lt;embed name=&quot;__sse2747824&quot; src=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=recognition-projectupdate2-091218220741-phpapp02&amp;stripped_title=visual-salency-learning-to-detect-salient-objects&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;425&quot; height=&quot;355&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
&lt;br /&gt;
Links in this post:&lt;br /&gt;
MSRA: Learning to detect a salient object source code:
&lt;br /&gt;
&lt;a href=&quot;http://vicenteordonez.com/code.html&quot;&gt;http://www.cs.stonybrook.edu/~vordonezroma/code.html&lt;/a&gt;&lt;br /&gt;
Saliency Experiments Slides from the University of Texas Austin:&lt;br /&gt;
&lt;a href=&quot;http://vision.cs.utexas.edu/cv-fall2011/slides/larry-expt.pdf&quot;&gt;http://vision.cs.utexas.edu/cv-fall2011/slides/larry-expt.pdf&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;</description><link>http://bluevincent.blogspot.com/2012/05/visual-attention-and-visual-saliency.html</link><author>noreply@blogger.com (Vicente Ordonez)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYUE_yR70dJ9J5iBfXRzjC_gVtlZQIRp786hFOltItMBqca0eGXLsAq7ixTpPPLo0ud7cRqCpTLznp7UIC-N4FJAXPTckoERuiGHpWptHPP5HhQ7u_q0py1QCkDb88P514iH07hFR-eprG/s72-c/figure.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-527335393773434386.post-3687142050298889798</guid><pubDate>Thu, 29 Mar 2012 03:40:00 +0000</pubDate><atom:updated>2012-05-21T07:47:18.962-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">personal</category><category domain="http://www.blogger.com/atom/ns#">trip</category><title>Going South</title><description>&lt;div style=&quot;text-align: left;&quot;&gt;
This is an East Coast story: Finally I found some time after a couple of conference deadlines to embark on a road trip from Long Island to Virginia Beach. Stops at Jersey City (NJ), New York City (NY), Newark (NJ), Hamburg (PA), Hightstown (NJ), passing through corn fields in Delaware (DE), Pocomoke City (MD), Virginia Beach (VA), Richmond (VA), Baltimore (MD), Atlantic City (NJ), Jersey City (NJ), New York City (NY) and back to homely Port Jefferson Station (NY).&lt;br /&gt;
&lt;br /&gt;
&lt;iframe frameborder=&quot;0&quot; height=&quot;430&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; scrolling=&quot;no&quot; src=&quot;http://maps.google.com/maps/ms?msid=205764028075970748653.0004bc5532cecb78a525b&amp;amp;msa=0&amp;amp;ie=UTF8&amp;amp;t=m&amp;amp;ll=39.436193,-74.926758&amp;amp;spn=5.938706,9.338379&amp;amp;z=6&amp;amp;output=embed&quot; width=&quot;585&quot;&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;small&gt;View &lt;a href=&quot;http://maps.google.com/maps/ms?msid=205764028075970748653.0004bc5532cecb78a525b&amp;amp;msa=0&amp;amp;ie=UTF8&amp;amp;t=m&amp;amp;ll=39.436193,-74.926758&amp;amp;spn=5.938706,9.338379&amp;amp;z=6&amp;amp;source=embed&quot; style=&quot;color: blue; text-align: left;&quot;&gt;East Coast Trip 2012&lt;/a&gt; in a larger map&lt;/small&gt;


&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: -webkit-auto;&quot;&gt;
&lt;span style=&quot;text-align: left;&quot;&gt;Old Google maps still a wonderful tool for displaying geographical stories.&amp;nbsp;&lt;/span&gt;
&lt;/div&gt;
&lt;/div&gt;</description><link>http://bluevincent.blogspot.com/2012/03/going-south.html</link><author>noreply@blogger.com (Vicente Ordonez)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-527335393773434386.post-4312749011736002645</guid><pubDate>Wed, 15 Feb 2012 19:18:00 +0000</pubDate><atom:updated>2025-09-05T12:45:44.535-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">tech</category><title>Simple Audio Synthesizer in Java</title><description>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: -webkit-auto;&quot;&gt;
This is about a program I wrote in 2005. The objective was to generate sounds that resemble the sounds of real musical instruments. This blog post includes an executable JAR file and the source code for this. If you computer is Java-ready you can start by trying it here right away [&lt;a href=&quot;https://www.dropbox.com/scl/fi/s2nyk1mjoveqzpozvjmor/Yass-src.zip?rlkey=84piv8e9g0r2viu7zlni6p6mp&amp;amp;st=a0e6mgn3&amp;amp;dl=0&quot;&gt;YASS&lt;/a&gt;]. (UI in English).&lt;/div&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcH27tU3hNOfvuP7gExKzfApiDcyykeKl8NBQVoRvdxoaVn5IV4_Nf5gtfUReBgq0hRJHBjL3FK-fctBlVcyaTKwL7Ly_dwmegmLx9hrO_rxYf_foXOdmkXA_g5DhrRlYOsHDZ9fUeW4zJ/s1600/yass.png&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcH27tU3hNOfvuP7gExKzfApiDcyykeKl8NBQVoRvdxoaVn5IV4_Nf5gtfUReBgq0hRJHBjL3FK-fctBlVcyaTKwL7Ly_dwmegmLx9hrO_rxYf_foXOdmkXA_g5DhrRlYOsHDZ9fUeW4zJ/s320/yass.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;This is how the UI should look like (Except this one is the original UI in Spanish)&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
It uses a bottom-up approach to recreate the sounds of real musical instruments by starting from the most basic constructs - simple sinusoidal functions. This means that more complex wave functions are created by aggregating&amp;nbsp;sinusoidal waves with different frequencies and modulating the amplitude of the resulting waves using envelope functions. The UI allows to modify the basic wave function by modifying the individual sinusoidal waves or choosing from a preset list of wave functions. It also allows for choosing from a preset list of envelope functions. Finally it allows to choose from a preset list of musical instruments. This latter option just chooses the appropriate wave functions and envelope functions that make the resulting sound resemble a musical instrument. This last part was done just by using my own judgement and not any machine learning (Disclaimer: I don&#39;t pride myself of having a sense of musical aptitude). And this is all this program can do.&lt;br /&gt;
&lt;br /&gt;
One thing that is most likely wrong is the keyboard, I wouldn&#39;t trust the mapping of the tones in the keyboard to the actual tones, this is a quick fix though.&amp;nbsp;I frankly don&#39;t remember where did I get the mapping for this keyboard.&amp;nbsp;This document from the University of Tennessee explains how to make the mapping correctly:&amp;nbsp;&lt;a href=&quot;http://web.eecs.utk.edu/~qi/ece505/project/proj1.pdf&quot;&gt;http://web.eecs.utk.edu/~qi/ece505/project/proj1.pdf&lt;/a&gt;.&lt;br /&gt;
Another thing that I&amp;nbsp;definitely&amp;nbsp;have to credit is Manfred Thole&#39;s demo on Fourier Synthesis, while I clearly took inspiration on the sinusoidal editor from his demo I totally borrowed his function to convert integers to the&amp;nbsp;&lt;span class=&quot;Apple-style-span&quot; face=&quot;sans-serif&quot; style=&quot;font-size: 13px; line-height: 19px;&quot;&gt;&lt;i&gt;μ-law&lt;/i&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;scale&lt;span class=&quot;Apple-style-span&quot; face=&quot;sans-serif&quot; style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;http://www.thole.org/manfred/fourier/en_idx.html&quot;&gt;http://www.thole.org/manfred/fourier/en_idx.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Finally I was not sure if I should post the source code for two reasons: 1) Function definitions, variable names, etc are all in Spanish and I&#39;m writing my blog in English. 2) I actually lost the original source code and had to decompile the class files inside the JAR file to get source code and recompile it again with the UI in English, thus additionally losing comments and therefore potentially not acknowledging some sources of inspiration and some wisdom for the future. Still I&#39;m including here the source code in case somebody finds it useful despite of cons 1) and 2), one good thing is that it still compiles in the Java SDK 7 even after decompilation: [&lt;a href=&quot;https://www.dropbox.com/scl/fi/s2nyk1mjoveqzpozvjmor/Yass-src.zip?rlkey=84piv8e9g0r2viu7zlni6p6mp&amp;amp;st=a0e6mgn3&amp;amp;dl=0&quot;&gt;Yass-src.zip&lt;/a&gt;].</description><link>http://bluevincent.blogspot.com/2012/02/simple-audio-synthesizer-in-java.html</link><author>noreply@blogger.com (Vicente Ordonez)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcH27tU3hNOfvuP7gExKzfApiDcyykeKl8NBQVoRvdxoaVn5IV4_Nf5gtfUReBgq0hRJHBjL3FK-fctBlVcyaTKwL7Ly_dwmegmLx9hrO_rxYf_foXOdmkXA_g5DhrRlYOsHDZ9fUeW4zJ/s72-c/yass.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-527335393773434386.post-8489706469763250948</guid><pubDate>Sun, 12 Feb 2012 18:05:00 +0000</pubDate><atom:updated>2012-02-14T21:17:28.352-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">personal</category><title>Learning English</title><description>I mentioned in some older post about how I learned to write in my native language when I was young [&lt;a href=&quot;http://www.bluevincent.com/2011/07/learning-karate-by-waxing-cars.html&quot;&gt;Learning Karate by Waxing Cars&lt;/a&gt;], &amp;nbsp;in this post I will explain how I learned to communicate in a second language: English. I started to get interested in this language when I was a 13-14 year old teenager with lots of spare time. I was good at school but English is something that most of the times you don&#39;t get to learn at schools in Ecuador even with proper motivation. I had decided to learn this language as something that might be useful later but most importantly because I saw this as a challenge and something that nobody close to me could do at least at the time. I had no clue about how one teaches himself a second language so I took an English-Spanish dictionary and tried to learn every word brute-force style. Disappointed after some time I tried to learn the grammar rules from another book. Although more motivated by my recent experience with the&amp;nbsp;acquired&amp;nbsp;ability of creating some simple sentences using the few grammar rules I had learned I was still totally lacking any form of speech or listening skills.&lt;br /&gt;
&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;float: right; margin-left: 1em; text-align: right;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.esl.net/speak_to_me.html&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXuj8Nc9WMoIarDYprbgOMl71uqIznFeHhjNR-DEmWCL724S-koBzlJ1rkgPRgTQBmZCGiYQtrYwXpThaPqk7Ns953LmK2xMFvbnaXkC_xWVfD45lRov5b-DLoe-U38ZZfR6qvdk1OcNzI/s1600/speaktome.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;ESL videotapes that I used. I just found&lt;br /&gt;
them using Google wondering if they&lt;br /&gt;
are still available somewhere. This is&lt;br /&gt;
apparently a DVD version but I can&#39;t forget&lt;br /&gt;
the Eagle logo. [Price: $600] [&lt;a href=&quot;http://www.esl.net/speak_to_me.html&quot;&gt;link&lt;/a&gt;]&lt;br /&gt;
I think their approach is remarkable!&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
This was around 1998 and while in Silicon Valley there was already a new born Google (maybe &lt;i&gt;Backrub&lt;/i&gt;), I didn&#39;t have access to computers at the time. Fortunately I had at home an old VHS player and some ESL video tapes that my mother had got some time back from somewhere. My mother never used the tapes herself but she made sure to even photocopy the printed course materials and went as far as to retype some of the material using a typewriter (I hope I don&#39;t &amp;nbsp;get my mother into trouble because of some possible case of copyright infringement). Look at the picture in this blog post and the caption.&amp;nbsp;The&lt;i&gt;&amp;nbsp;Speak to Me&lt;/i&gt;&amp;nbsp;course is 90% about practicing in front of the screen by repetition, these are not lectures. (Again another example related to&amp;nbsp;[&lt;a href=&quot;http://www.bluevincent.com/2011/07/learning-karate-by-waxing-cars.html&quot;&gt;Learning Karate by Waxing Cars&lt;/a&gt;] although this time took me longer to realize about the success of this attempt). This educational resource was treasure to me. I went through every one of these more than a half dozen videotapes twice. This time I was very satisfied with the results and was eager to take it to a next level. Unfortunately most private English classes in Ecuador are either very expensive or a well elaborated scam. My parents just could not afford it. So I forgot about English for a while.&lt;br /&gt;
&lt;br /&gt;
Two years later in my last year (senior year?) of high school I was fortunate enough to have assigned a native level speaker as my English teacher, Ms. Martha Dockter. To my own surprise I realized that I could already engage in casual conversation with her in English without major trouble. I had not met any other&amp;nbsp;English speaker&amp;nbsp;before. Ms. Martha was very helpful on correcting a lot of mistakes on my writing and speech, I learned tons with her. She passed away in 2008&amp;nbsp;(†). Her &lt;a href=&quot;http://www.findagrave.com/cgi-bin/fg.cgi?page=gr&amp;amp;GRid=42192269&quot;&gt;obiturary &lt;/a&gt;reads that she was the daughter of a Reverend from Mansfield, Ohio who travelled to Ecuador with his wife to do missionary work. I&#39;m sure there are many more students like me grateful for her teachings.&amp;nbsp;This is my story about how in a time before the internet I got to learn a second language. Finding the educational resources was harder than today but finding the willingness for self-education was still as hard as it is today.&lt;br /&gt;
&lt;br /&gt;</description><link>http://bluevincent.blogspot.com/2011/11/learning-english.html</link><author>noreply@blogger.com (Vicente Ordonez)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXuj8Nc9WMoIarDYprbgOMl71uqIznFeHhjNR-DEmWCL724S-koBzlJ1rkgPRgTQBmZCGiYQtrYwXpThaPqk7Ns953LmK2xMFvbnaXkC_xWVfD45lRov5b-DLoe-U38ZZfR6qvdk1OcNzI/s72-c/speaktome.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-527335393773434386.post-8975349191987805253</guid><pubDate>Sat, 28 Jan 2012 20:56:00 +0000</pubDate><atom:updated>2012-02-13T16:02:42.100-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">trip</category><title>The Fire Island Lighthouse</title><description>&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;float: left; margin-right: 1em; text-align: left;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZA5Cg2sig4_lx1lGvZ36H-msP5B7wg7i7byUvxpTmo-kWSAsHFBgCSiW1ERTjGbaUSmpmcGa8WA4JPZAuR541eiiHabeTBEuYhXFPH55cURKh4JcPMNGLOEOaSHcqmromb95hkHO-ZdkG/s1600/photo+(5).JPG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;330&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZA5Cg2sig4_lx1lGvZ36H-msP5B7wg7i7byUvxpTmo-kWSAsHFBgCSiW1ERTjGbaUSmpmcGa8WA4JPZAuR541eiiHabeTBEuYhXFPH55cURKh4JcPMNGLOEOaSHcqmromb95hkHO-ZdkG/s320/photo+(5).JPG&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Fire Island Lighthouse&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
Fire Island is a smaller island connected to the south shore of Long Island. I have been there a couple of times already but so far I have not been able to get there before 3pm so that I can get into the top of the lighthouse. I have not been able to make it even before 4pm so that I can make it to the museum that is located in the building besides the lighthouse. Still there are some nice afternoon views and you can more than often get to spot deer. At least to some of my friends this seems to have become &amp;nbsp;the place for when you are getting bored at home and feel like driving.&lt;br /&gt;
&lt;br /&gt;
Interesting fact is that Fire Island is one of the islands that are part of the Long Island and New York City barrier islands. Another of these islands being Coney Island for which I also dedicated a blog post some time back &lt;a href=&quot;http://www.bluevincent.com/2010/07/new-york-aquarium-and-coney-island.html&quot;&gt;&quot;The New York Aquarium and Coney Island&quot;&lt;/a&gt;. I will update this entry once I get to enter the lighthouse and the museum (and this might not happen for quite a while), for now I just wanted to share the picture I took with my fancy smartphone.</description><link>http://bluevincent.blogspot.com/2012/01/fire-island-lighthouse.html</link><author>noreply@blogger.com (Vicente Ordonez)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZA5Cg2sig4_lx1lGvZ36H-msP5B7wg7i7byUvxpTmo-kWSAsHFBgCSiW1ERTjGbaUSmpmcGa8WA4JPZAuR541eiiHabeTBEuYhXFPH55cURKh4JcPMNGLOEOaSHcqmromb95hkHO-ZdkG/s72-c/photo+(5).JPG" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-527335393773434386.post-52451212942390328</guid><pubDate>Sun, 06 Nov 2011 05:44:00 +0000</pubDate><atom:updated>2012-03-05T12:33:01.607-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">science</category><category domain="http://www.blogger.com/atom/ns#">tech</category><title>Colorado Springs and Kinect</title><description>I have again neglected my blog for sometime due to deadlines and other aside work. I just realized I never got myself some time to write about my visit to Colorado Springs for CVPR 2011 during the summer. Actually there is not much for me to say about Colorado Springs since I hardly visited any places beyond the hotel so I will just mainly refer about one particular paper presented in this conference.&lt;br /&gt;
&lt;br /&gt;
CVPR 2011 might perhaps be remembered as the conference where the research paper&amp;nbsp;&lt;i&gt;Real-time Human Pose Recognition in Parts from Single Depth Images &lt;/i&gt;(The Kinect paper!)&lt;i&gt;&amp;nbsp;&lt;/i&gt;by Microsoft Research was presented. (Ok, this is obviously an overstatement, quality of research at this conference is really high) Microsoft Kinect is a product that has had a big impact that goes beyond gaming. This is a very iconic example of Computer Vision that works and is readily available to the world.&lt;br /&gt;
&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;float: left; margin-right: 1em; text-align: left;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTEhM3X1UW8BaGXO83I6OFHpzqkWUGXyMYP_9FT4kjc5pOrNFoGT3SlVlqXNK8ebBhYkx0SuZUM6oOpP4MLjbvFuyQoMEo-dHO0M2X_DodXBjzukNAIMTlqiN1rh81YPI6FzR8LGvGm6ks/s1600/shapeimage_1.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTEhM3X1UW8BaGXO83I6OFHpzqkWUGXyMYP_9FT4kjc5pOrNFoGT3SlVlqXNK8ebBhYkx0SuZUM6oOpP4MLjbvFuyQoMEo-dHO0M2X_DodXBjzukNAIMTlqiN1rh81YPI6FzR8LGvGm6ks/s1600/shapeimage_1.png&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Wearing a cap and being Kinect captured&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
Kinect has inspired hackers (&lt;a href=&quot;http://kinecthacks.net/&quot;&gt;http://kinecthacks.net/&lt;/a&gt;),&amp;nbsp;artists (&lt;a href=&quot;http://artandcode.com/3d/&quot;&gt;http://artandcode.com/3d/&lt;/a&gt;)&amp;nbsp;and general technology enthusiasts since its introduction some time ago. It has also inspired researchers to create new algorithms that can clean the data captured by the Kinect sensors and make the most out of it or just play with it (here&amp;nbsp;&lt;a href=&quot;http://acberg.com/kinect/&quot;&gt;http://acberg.com/kinect/&lt;/a&gt;&amp;nbsp;some kinect hacking in Matlab by Alex Berg, one of my vision professors in Stony Brook). The picture I included in this blog post was ironically captured in our fancy Motion Capture Lab using the inexpensive capturing device from Microsoft. People here have also been working on Kinect with applications to Music performances and Motion identification. (More links to be added later...). &lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #cc0000;&quot;&gt;Update&lt;/span&gt;&lt;/b&gt;: Interactive Music using Kinect:&amp;nbsp;&lt;a href=&quot;http://tamaraberg.com/papers/kinect_music.pdf&quot;&gt;http://tamaraberg.com/papers/kinect_music.pdf&lt;/a&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Although I didn&#39;t stay for the whole week of the conference I also presented a paper in CVPR 2011 about automatically estimating photo-quality and user engagement for photographs titled:&amp;nbsp;&lt;i&gt;High Level Describable Attributes for Predicting Aesthetics and Interestingness.&lt;/i&gt;&amp;nbsp;Our goal was to use Computer Vision to recognize what are the kind of photographs that users think are cool without explicitly having to ask them &lt;i&gt;what is cool?&lt;/i&gt; (Note: Users might not even realize what are the individual things that make them judge something as cool or interesting).&amp;nbsp;&lt;/div&gt;</description><link>http://bluevincent.blogspot.com/2011/11/colorado-springs.html</link><author>noreply@blogger.com (Vicente Ordonez)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTEhM3X1UW8BaGXO83I6OFHpzqkWUGXyMYP_9FT4kjc5pOrNFoGT3SlVlqXNK8ebBhYkx0SuZUM6oOpP4MLjbvFuyQoMEo-dHO0M2X_DodXBjzukNAIMTlqiN1rh81YPI6FzR8LGvGm6ks/s72-c/shapeimage_1.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-527335393773434386.post-2089979779678383172</guid><pubDate>Sun, 11 Sep 2011 02:26:00 +0000</pubDate><atom:updated>2012-05-21T07:56:17.266-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">tech</category><title>Time for Mobile!</title><description>&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
&lt;b&gt;Update 10/05/2011:&amp;nbsp;&lt;/b&gt;Steve Jobs just passed away, my deep admiration for his work and legacy will always be alive. People like him have made working in Silicon Valley a dream for people like me.&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some years back there was a time when people thought it was time for mobile! but it wasn&#39;t. It was around 2002 when developers were being lured to creating wap applications for the new generation of more capable phones. Java had already gained popularity and it was finally serving its purpose of being a language designed to run on top of anything. J2ME applications were a hot topic, at least among developers. But I was always more attracted to web application development and so selectively chose not to go into the mobile arena. I never coded any J2ME or wap application or anything that runs on a cellphone even though most of my peers would &quot;wow!&quot; such developments. And of course this is my personal opinion and you should understand I&#39;m biased on this topic but I know some people will agree and I have some good reasons product of my own experience to think that time for mobile is now and it wasn&#39;t quite ready before.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVbf0-QhA1TuLsJc0Oq3T7fK5Myh5Uu0UxsveRrITNG6HCCIjK-M3xpV12JEndXeGEYs_-qWd_Zt0vy_OIRIKCsnldhW2_Sm1le8I0nE_ZZVxklqS50wpeTQJ_XhkdDLD9BGdCbn-6vrtC/s1600/android.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVbf0-QhA1TuLsJc0Oq3T7fK5Myh5Uu0UxsveRrITNG6HCCIjK-M3xpV12JEndXeGEYs_-qWd_Zt0vy_OIRIKCsnldhW2_Sm1le8I0nE_ZZVxklqS50wpeTQJ_XhkdDLD9BGdCbn-6vrtC/s200/android.png&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
When I say time for mobile I mean time for developers to create applications and really start making profit and embracing powers that go beyond the typical desktop application. Technology has made a lot of progress of course. Now a smartphone can run stuff on the GPU (Graphics Processing Unit) that go beyond drawing things on the screen. You can take not only full advantage of the web but also other multimodal sources of information like GPS and information coming from various sensors: proximity, orientation, etc. But the more important changes are the not very technical ones, now you have a more clear model for distributing applications massively (Apple Appstore, Android market), and devices are more third party application centric than before. More importantly you have a more clear model for monetizing applications!, you can create the new big hit $1 app or you can go big with advertisements. You have already been listening for some time on the news about kids making $1 applications and going big and you might think I&#39;m writing this way too late. I think this is partially true but while one-big-hit-wonders happened in the previous years, the success of those were in a lot of cases hard to predict. Today you can start a more principled&amp;nbsp;entrepreneurial&amp;nbsp;project and gain some reasonable success even if you don&#39;t happen to become a big hit.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeCRu0LgfKMb2AHW8ihhLTyxXVSfEkt1YRrrpQ_wVUh56-RJLZ2uFjzsXNpO8GCbZz25eiP-NUyxZ1SiRjwVKVN-q8OEdr1uHSSUXVuC1PBqT79ljvVI_MWqduIstA9gU7-fMI7y-khGA3/s1600/iphone-logo.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeCRu0LgfKMb2AHW8ihhLTyxXVSfEkt1YRrrpQ_wVUh56-RJLZ2uFjzsXNpO8GCbZz25eiP-NUyxZ1SiRjwVKVN-q8OEdr1uHSSUXVuC1PBqT79ljvVI_MWqduIstA9gU7-fMI7y-khGA3/s1600/iphone-logo.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
The establishment of Social has powered the establishment of Mobile and also the other way around.&amp;nbsp;Social networking applications bring people even closer when they incorporate mobile, for instance Foursquare lets you see whom of your friends is around you at a given time by using your mobile device location and the location of your friends (&lt;a href=&quot;http://www.bluevincent.com/2011/05/mapping-world-from-housingmaps-to.html&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: blue;&quot;&gt;see my previous post mentioning Foursquare&lt;/span&gt;&lt;/a&gt;). You can engage users in a more personal level connection using mobile.&lt;br /&gt;
&lt;br /&gt;
Finally, there are a lot of other things I would like to write about mobile, for instance&amp;nbsp;&lt;i&gt;Computer Vision for mobile&lt;/i&gt; since I work in Computer Vision and I spent the last summer working with images at the Multimedia Content Analysis team at Android. I gladly noticed how much people from everywhere inside Google especially from research teams were willing to contribute to Android and what cool applications are out there from third party developers taking advantage of Computer Vision both for Android and iPhone. One thing I will not write about is the controversy on which one is better or their legal problems on patents and the like. I really admire Steve Jobs and I think without his vision and the iPhone coming into the mobile scene things wouldn&#39;t have moved so fast, taking the idea of multi-touch to mainstream usage in a product for the first time was a big hit but the technological advances have been the sum of the knowledge of so many people and I think the world is a more colorful place with competition that fits the needs of several groups of users.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;</description><link>http://bluevincent.blogspot.com/2011/09/time-for-mobile.html</link><author>noreply@blogger.com (Vicente Ordonez)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVbf0-QhA1TuLsJc0Oq3T7fK5Myh5Uu0UxsveRrITNG6HCCIjK-M3xpV12JEndXeGEYs_-qWd_Zt0vy_OIRIKCsnldhW2_Sm1le8I0nE_ZZVxklqS50wpeTQJ_XhkdDLD9BGdCbn-6vrtC/s72-c/android.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-527335393773434386.post-3887966049806199850</guid><pubDate>Thu, 28 Jul 2011 05:23:00 +0000</pubDate><atom:updated>2012-02-12T10:21:53.233-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">personal</category><category domain="http://www.blogger.com/atom/ns#">tech</category><title>Learning Karate by Waxing Cars</title><description>I will introduce here an article by Peter Norvig that I recently read and involves a discussion about Artificial Intelligence, Statistical Models and Machine Learning, but before posting the link I will introduce the discussion with an example:&lt;br /&gt;
&lt;br /&gt;
When I was a child I learned how to write proper Spanish by following what I will refer in this article as the &lt;i&gt;karate-kid&lt;/i&gt;&amp;nbsp;or &lt;i&gt;Mr.-Miyagi&lt;/i&gt; approach.&amp;nbsp;I present here two approaches to learn and improve your basic writing&amp;nbsp;skills.&lt;br /&gt;
1. Take a class on grammatical and&amp;nbsp;orthographic&amp;nbsp;rules.&lt;br /&gt;
2. Read lots of&amp;nbsp;grammatically&amp;nbsp;and&amp;nbsp;orthographically&amp;nbsp;correct text, not bothering about rules.&lt;br /&gt;
&lt;br /&gt;
By using the first approach you can get a sense of how to construct correct sentences early on, but the effects depend a lot on having rules hard-coded in your brain very heavily, practicing with those rules with lots of examples can certainly reinforce the rules to be learned.&lt;br /&gt;
&lt;br /&gt;
The second approach does not involve learning rules at all but just reading lots of text data, let&#39;s say books. After reading lots of correctly structured sentences and words you can develop a &lt;i&gt;sense&lt;/i&gt; of how a correctly structured sentence or word &lt;i&gt;feels&lt;/i&gt; like without being conscious about rules. In other words for some cases you will be using rules almost without consciously thinking about them due to the amazing ability of our brains to find patterns.&amp;nbsp;This second approach is the data-driven approach or as I prefer to call it, the&amp;nbsp;&lt;i&gt;karate-kid&lt;/i&gt;&amp;nbsp;approach because I suspect this is the path&amp;nbsp;&lt;a href=&quot;http://en.wikipedia.org/wiki/Kesuke_Miyagi&quot;&gt;Mr. Miyagi&lt;/a&gt;&amp;nbsp;would have chosen if he had to mentor a pupil about how to write properly.&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4p8XI6dPucupxQRBpPDYdBU9DdgbhZc0OwEot_2YjBEkTQhx5ctsQSOr9FYamMSW3RG7HhQ61zPtB0Zya8yCPN-xWwDdKTL5olbiQJVEREoCRfj71SzWaUQrJ2SmQL6Lzc3rgHpyUN08Q/s1600/squish+%25281%2529.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;213&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4p8XI6dPucupxQRBpPDYdBU9DdgbhZc0OwEot_2YjBEkTQhx5ctsQSOr9FYamMSW3RG7HhQ61zPtB0Zya8yCPN-xWwDdKTL5olbiQJVEREoCRfj71SzWaUQrJ2SmQL6Lzc3rgHpyUN08Q/s320/squish+%25281%2529.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Mr. Miyagi asking his pupil to wax cars over and over again.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
The field of Artificial Intelligence used to follow the first approach. If you want a smart computer, then hard code rules on it so that it can behave as desired.&amp;nbsp;Hard-coding rules doesn&#39;t scale very well so you might want to learn the rules from data or adapt the rules over time but ultimately people realized that you might not really need to care about rules at all, as long as you just care about the system behaving as desired. &amp;nbsp;This is the topic of discussion in the article by Peter Norvig in response to Noam Chomsky&#39;s remarks where Chomsky apparently derided machine learning researchers. You can read it in the following link, I highly recommend it:&amp;nbsp;&lt;a href=&quot;http://norvig.com/chomsky.html&quot;&gt;http://norvig.com/chomsky.html&lt;/a&gt;</description><link>http://bluevincent.blogspot.com/2011/07/learning-karate-by-waxing-cars.html</link><author>noreply@blogger.com (Vicente Ordonez)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4p8XI6dPucupxQRBpPDYdBU9DdgbhZc0OwEot_2YjBEkTQhx5ctsQSOr9FYamMSW3RG7HhQ61zPtB0Zya8yCPN-xWwDdKTL5olbiQJVEREoCRfj71SzWaUQrJ2SmQL6Lzc3rgHpyUN08Q/s72-c/squish+%25281%2529.jpg" height="72" width="72"/><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-527335393773434386.post-2087644830743721313</guid><pubDate>Thu, 07 Jul 2011 01:19:00 +0000</pubDate><atom:updated>2011-07-06T18:19:52.865-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">trip</category><title>San Francisco Bay Area - Summer 2011</title><description>&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtw6DjE_TDER5akzYglMttqn35kldBVI6vyCQxbzDtyUT-ff-bB9kkixzhEpgDvJLbEF117eRWKNw0P9O1HhsCaqUdZ6rMuTtiT1jhb4UfRvgyhHq4rxICds8yK5qMQ3w2D-0f6x2vF-Rf/s1600/photo+%25287%2529.JPG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;298&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtw6DjE_TDER5akzYglMttqn35kldBVI6vyCQxbzDtyUT-ff-bB9kkixzhEpgDvJLbEF117eRWKNw0P9O1HhsCaqUdZ6rMuTtiT1jhb4UfRvgyhHq4rxICds8yK5qMQ3w2D-0f6x2vF-Rf/s400/photo+%25287%2529.JPG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Golden Gate Bridge insider&#39;s view&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;I&#39;m writing this after a long gap since my last post due to the burden of moving all the way to the west coast and signing contracts for every other thing imaginable that comes with relocation. I&#39;m working in multimedia content analysis for Android during the summer. Probably the couple of friends who read my blog already know what is Android but I will anyways write here the explanation I gave to my parents: Android is an operating system that can be installed in a variety of&amp;nbsp;smart phones&amp;nbsp;manufactured by different companies. It&#39;s pretty much what Windows used to be for PC&#39;s. Note: Maybe you already noticed, but obviously this doesn&#39;t represent the views from my employer in any way! The thing is I didn&#39;t feel like explaining Android is open source which means you can download, read and analyze its source code and it has a very open model for writing and publishing new applications, including games!&lt;br /&gt;
&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;float: right; text-align: right;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/--nFyw4cxcao/ThDa95TUFHI/AAAAAAAAHOQ/rXhcOl7Dksw/s1600/photo+%25285%2529.JPG&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;http://1.bp.blogspot.com/--nFyw4cxcao/ThDa95TUFHI/AAAAAAAAHOQ/rXhcOl7Dksw/s320/photo+%25285%2529.JPG&quot; width=&quot;238&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Yoda fountain outside of Lucasfilms&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
Regarding the San Francisco Bay area, there are a couple of new places I visited this time, from the Santa Cruz Beach Boardwalk to the south up to Sausalito to the north. Sausalito is on the other side of the Golden Gate bridge and I include a picture here while crossing it. Another iconic place I wanted to visit for so long was the Yoda fountain outside of Lucasfilms. I felt like the security guard outside the building gave me the &quot;oh here it comes another freak&quot;-kind of look :) and then gently pointed that we can park anywhere for 20 minutes, so I guess lots of Star Wars fans go there just to take a picture of the fountain. Next to the place is the Palace of Fine Arts Theater and the Exploratorium. So if you visit any of those places then you might want to take a walk and take a picture of the iconic Yoda fountain.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;</description><link>http://bluevincent.blogspot.com/2011/07/san-francisco-bay-area-summer-2011.html</link><author>noreply@blogger.com (Vicente Ordonez)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtw6DjE_TDER5akzYglMttqn35kldBVI6vyCQxbzDtyUT-ff-bB9kkixzhEpgDvJLbEF117eRWKNw0P9O1HhsCaqUdZ6rMuTtiT1jhb4UfRvgyhHq4rxICds8yK5qMQ3w2D-0f6x2vF-Rf/s72-c/photo+%25287%2529.JPG" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-527335393773434386.post-3796144771474761846</guid><pubDate>Tue, 17 May 2011 19:14:00 +0000</pubDate><atom:updated>2011-07-07T15:53:13.278-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">tech</category><title>Mapping the world - from housingmaps to foursquare</title><description>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwcS2x0UAktFsGDsMQ8-fLgJijAVPU5RdW2Qd-mLxq32qfeqWGqKWpTZ-q6hOjOhSox1qDGNAwyKudJN8xhoWTtZbJRnktiI8SrqbZoy16eRdVgEju6TC_OY_0vqnWJaSqM41Ufd-QMjK6/s1600/284156082.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; id=&quot;:current_picnik_image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghbZ1Bz5vp7UnfijkB4SvIl5A0oUYR-EM1F8KpBuAp1uQ0imTmIgwWi1mTYIsLYtUeJFaobUUmRV9Vj9DNPW8WprxKB7qSjtTftE8z_XlRA9B4gaabAWGkIeGwmgz6OCk1Q_2-be3unNEq/s1600/14078461329_k5v7C.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;This is the map generated using part of the controversial consolidated.db from my iPhone.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;div style=&quot;text-align: left;&quot;&gt;Yes, the above picture was generated using the pretty much talked consolidated.db file from my iPhone. I&#39;m not planning to write a post about such controversy, a lot has already been said. I want to rather use this map to start talking about web mapping applications and applications that leverage the use of geo-data and two&amp;nbsp;entrepreneur&amp;nbsp;stories that have amazed me.&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;When I found about this iPhone-tracking-your-every-move controversy, as a good geek I tried to get the map of my recent movements and downloaded an application that some good developers had already put online. From the map it seems that I have yet left to explore Nassau County and the boroughs of New York, especially Brooklyn and Queens which are closer. I have mainly been visiting places in Manhattan and around Stony Brook in Suffolk County like: East Setauket, Smithtown, Selden, Centereach, Lake Grove and Port Jefferson.The consolidated.db file also successfully recorded my visit to Fire Island in the south shore of Long Island and another recent visit to Coney Island in the south of Brooklyn. Looking at your data on maps is a nice experience because even though you might have been to a lot of places, it is hard to have a picture of how much you have explored until you see your data in an actual picture!&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;An interesting related note I found is that there&#39;s a group of researchers in the &lt;a href=&quot;http://nytlabs.com/&quot;&gt;New York Times Company Research and Development Lab&lt;/a&gt;&amp;nbsp;asking for people to donate their iPhone consolidated.db data for the benefit of all [see &lt;a href=&quot;http://openpaths.cc/&quot;&gt;openpaths.cc&lt;/a&gt;]. More interesting to me than the applications on transportation, epidemiology or land use that they suggest is the fact that The New York Times Company has a full research lab. I like the idea that research is so important these days even for a media company best known for distributing one of the most popular newspapers.&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;Now I will talk about the first&amp;nbsp;entrepreneurship&amp;nbsp;story. Undoubtedly two mapping applications that changed things on the web were Google Maps and Google Earth, both cited as milestones in the &lt;a href=&quot;http://en.wikipedia.org/wiki/Web_mapping#History_of_web_mapping&quot;&gt;history of web mapping&lt;/a&gt;&amp;nbsp;compiled on the Wikipedia. They both started from the minds of very keen engineers and&amp;nbsp;entrepreneurs&amp;nbsp;but there&#39;s another&amp;nbsp;story on top of that. They allowed people to start mapping anything without the effort of installing your own geographical information system. But most people might not know that this was not the case in the beginning of Google Maps where you didn&#39;t use to have a nice API. &amp;nbsp;One research engineer working in the field of Computer Graphics and trying to make computer&amp;nbsp;generated&amp;nbsp;images more realistic spent some of his research time on an aside project later known as&amp;nbsp;&lt;a href=&quot;http://housingmaps.com/&quot;&gt;housingmaps.com&lt;/a&gt;, where he merged the information from craigslist (housing advertisements) and Google Maps. This application didn&#39;t go unnoticed, it became so popular that people often believe this as one of the reasons for Google to release a full developer&#39;s API. The next year he was named one of the TR35 (Top innovators under 35) [&lt;a href=&quot;http://www.technologyreview.com/TR35/Profile.aspx?TRID=437&quot;&gt;link here&lt;/a&gt;] for creating this web application often regarded as the first maps&amp;nbsp;mash-up. What I like about this story is the fact that his big idea came from an aside project and the fact that coding this application probably didn&#39;t take longer than a month.&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;float: right; margin-left: 1em; text-align: left;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFiEhjLvLF5KWUfimsdgyYEzz1UpNaKFTM45Y6DZtwVaFDzy2bfwkQKSDfJgPESpMnk72AfgTRVO3h38z7e0774MpXmXFhutarIfDPPuPs6ovnNLO8wF1Gcuc1wB6iK6nn01vyE4x_RTNa/s1600/farfaraway.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;120&quot; id=&quot;:current_picnik_image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFiEhjLvLF5KWUfimsdgyYEzz1UpNaKFTM45Y6DZtwVaFDzy2bfwkQKSDfJgPESpMnk72AfgTRVO3h38z7e0774MpXmXFhutarIfDPPuPs6ovnNLO8wF1Gcuc1wB6iK6nn01vyE4x_RTNa/s200/farfaraway.png&quot; width=&quot;120&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Foursquare Badge rewarding&lt;br /&gt;
people for visiting three times&lt;br /&gt;
any place above 59th street in&lt;br /&gt;
New York City.&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;div style=&quot;text-align: left;&quot;&gt;The second story concerns another application that uses geo-data although it doesn&#39;t include maps itself:&amp;nbsp;&lt;a href=&quot;http://foursquare.com/&quot;&gt;foursquare&lt;/a&gt;. A mobile application where you voluntarily reveal your location and moves through checking-in into different venues. It pulls your latitude-longitude coordinates from your mobile device so that you&#39;re one click away from shouting your location to the world or your friends. More recently you have the option to upload a picture about the places you visit. Chances to collect some fine-grained image dataset about places some day? [like the &lt;a href=&quot;http://graphics.cs.cmu.edu/projects/im2gps/&quot;&gt;im2gps&lt;/a&gt; project]. Well, the story about foursquare is that it was developed by engineers who had previously worked at Google. But there are quite a few startups founded by former Google employees you might say. The interesting part is that these guys had already developed before joining Google another location based application called &lt;a href=&quot;http://en.wikipedia.org/wiki/Dodgeball_(service)&quot;&gt;dodgeball&lt;/a&gt;, which was acquired by Google. Some time later they left Google and started again but this time they came up with this thing called &lt;a href=&quot;http://foursquare.com/&quot;&gt;foursquare&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
My friends&amp;nbsp;often ask me how to do stuff with the Google Maps API&amp;nbsp;because I did an internship at Google in one of the Google Earth/Maps teams. Although I did indeed worked with one such team, my work was mostly concerned with server-side programming of image processing&amp;nbsp;routines for aerial images. I in fact used the Google Maps API a bit for displaying results and also on my own time just for fun but I don&#39;t have vast experience with it and I know they have kept adding lots of features to it.&amp;nbsp;I will end this by just wondering what else is left to do with maps and how many other useful linear information can be nicely mapped.&lt;/div&gt;</description><link>http://bluevincent.blogspot.com/2011/05/mapping-world-from-housingmaps-to.html</link><author>noreply@blogger.com (Vicente Ordonez)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghbZ1Bz5vp7UnfijkB4SvIl5A0oUYR-EM1F8KpBuAp1uQ0imTmIgwWi1mTYIsLYtUeJFaobUUmRV9Vj9DNPW8WprxKB7qSjtTftE8z_XlRA9B4gaabAWGkIeGwmgz6OCk1Q_2-be3unNEq/s72-c/14078461329_k5v7C.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-527335393773434386.post-3585770752439200752</guid><pubDate>Fri, 29 Apr 2011 00:46:00 +0000</pubDate><atom:updated>2012-02-29T12:28:02.812-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">science</category><title>High School Algebra in Latin America</title><description>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEic-o-0fDoP9jrjJ0tjbvHC44ljw0KZxiQsEgLX_rlyEsAKPoZ1dR1QaS3Ji13gmT_u23f1nldwl8iQsTdr_w5TT87ilCJfptQsX3tLgehdMEgjfmYjR_eaRosCGYbDpMn7w8XiGFaAisDQ/s1600/Baldor.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEic-o-0fDoP9jrjJ0tjbvHC44ljw0KZxiQsEgLX_rlyEsAKPoZ1dR1QaS3Ji13gmT_u23f1nldwl8iQsTdr_w5TT87ilCJfptQsX3tLgehdMEgjfmYjR_eaRosCGYbDpMn7w8XiGFaAisDQ/s200/Baldor.jpg&quot; width=&quot;132&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
I&#39;m grossly generalizing here in the title of this post, I will mostly discuss about my own experience as a high school student in Ecuador. But as I have read from several sources, some of these things indeed apply to lots of places in Latin America. That being said, I will keep the title.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
If you come from one of the spanish-speaking countries in Latin America, you might with high probability recognize the book cover in this blog post. This is what used to be and is the synonym for algebra for most high school students in those regions. If you don&#39;t recognize this image, be it because you&#39;re not from Latin America or you really didn&#39;t know about it, then I would really like to know what&#39;s the standard book used in your country for learning algebra. This book is so pervasive in lots of places in Latin America that the word Algebra and Baldor and the picture of the guy with the turbant all come together to people&#39;s mind when the word &#39;algebra&#39; is uttered.&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;br /&gt;
What most people don&#39;t know is that Baldor was a Cuban mathematician who later emigrated to the United States and not the guy with the turbant depicted on the book cover. I couldn&#39;t find much information about his education in mathematics or other published material from him but he held a teaching position in the United States later in life, although the book was already being distributed from Mexico at the time. I believe one of the reasons for the adoption of his book was the lack of mathematics textbooks in Spanish at the time. But mainly because this is also a good book and if it has any flaws I believe those are the same flaws that books in other languages might have and I will refer to this in the following paragraphs.&lt;br /&gt;
&lt;br /&gt;
One thing that I particularly like about this book is that it&#39;s well organized and easy to follow, I would say even easy to follow on your own. One thing I don&#39;t like is that most of the exercises are repetitive and easy, even sometimes boring. One thing that I like is that every few pages it has short biographies for every major mathematician in history. This is probably the first book where students get to know who are Laplace, Euler, Descartes, Newton, Fermat, etc. Guys who you will keep on hearing from, especially if you go into the hard sciences later in college.&lt;br /&gt;
&lt;br /&gt;
Finally I will quote something said by the great physicist Richard Feynman in his interview with the BBC and which I think illustrates a criticism that applies to this book as well as to books in other languages regarding teaching science:&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #073763;&quot;&gt;&quot;I learnt algebra fortunately by not going to school and knowing the whole idea was to find out what&amp;nbsp;&lt;i&gt;x&lt;/i&gt;&amp;nbsp;was and it didn&#39;t make any difference how you did it, there&#39;s no such thing as, you know, you do it by arithmetic, you do it by algebra, that was a false thing that they had invented in schools so that the children who have to study algebra can all pass it. They had invented a set of rules which if you followed them without thinking could produce the answer: subtract 7 from both sides, if you have a multiplier divide both sides by the multiplier and so on, and a series of steps by which you could get the answer if you didn&#39;t understand what you were trying to do.&quot;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
I think this applies to this textbook and I highly doubt Prof. Feynman was ever in touch with our legendary Baldor&#39;s Algebra. Sadly, this is just the way Algebra is being taught in schools in general: learn the rules and get me the results.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Related Links, Sources:&lt;/b&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.youtube.com/watch?v=0XgmrMZ0h54&quot;&gt;Richard Feynman&#39;s interview&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://en.wikipedia.org/wiki/Aurelio_Baldor&quot;&gt;Aurelio Baldor&#39;s wikipedia entry&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Update (April 30, 2011):&lt;/b&gt;&lt;br /&gt;
I just want to clarify that even though I mention this Baldor Algebra book was adopted maybe because it was a good book giving the standards of the time and available books in Spanish, I also state that it&#39;s too easy and boring and even if it was more difficult then it would still fall in the mistakes other books fall, just teaching calculations and rules and not the beauty of math. The idea is better pictured in the following video, this is a TED Talk by Conrad Wolfram on his view of teaching math.&lt;br /&gt;
&lt;a href=&quot;http://www.ted.com/talks/conrad_wolfram_teaching_kids_real_math_with_computers.html&quot;&gt;http://www.ted.com/talks/conrad_wolfram_teaching_kids_real_math_with_computers.html&lt;/a&gt;&lt;br /&gt;
(Thanks&amp;nbsp;&lt;a href=&quot;http://twitter.com/TrickSerge&quot;&gt;@sergioroa&lt;/a&gt;&amp;nbsp;from DFKI - Germany&amp;nbsp;for sending the link)&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;</description><link>http://bluevincent.blogspot.com/2011/04/high-school-algebra-in-latin-america.html</link><author>noreply@blogger.com (Vicente Ordonez)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEic-o-0fDoP9jrjJ0tjbvHC44ljw0KZxiQsEgLX_rlyEsAKPoZ1dR1QaS3Ji13gmT_u23f1nldwl8iQsTdr_w5TT87ilCJfptQsX3tLgehdMEgjfmYjR_eaRosCGYbDpMn7w8XiGFaAisDQ/s72-c/Baldor.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-527335393773434386.post-5068418245306563338</guid><pubDate>Mon, 11 Apr 2011 05:13:00 +0000</pubDate><atom:updated>2012-02-13T16:12:26.998-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">tech</category><title>Minesweeper as an Introduction to Computer Science</title><description>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://draft.blogger.com/#&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJP91fnRrnbhF6pWH0cJRKyVIEM24vlIa4p2CL_cNDZDukXbBc79PA6Ps_DyTxcwTo8L_s3CDbdTVy5sBomNh_VE3oOh7Pb9xv2kUnNbttpc6bu4pUSq7Ls1UsLNhRimo1nUgE5W8suBhk/s1600/minesweeper.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
The very first computer game that I remember playing is Minesweeper, in spanish &lt;i&gt;Buscaminas &lt;/i&gt;(literally translates as Minefinder). It was probably 1997 during one day I was visiting the workplace of my father, I started exploring a computer with Windows 95. I think my father had loosely explained to me some of the basics about computers but I think it was mainly my experience with video games that made the transition smooth. I quickly navigated through the task bar looking for games and ended up clicking on the salient smiley face icon. I randomly clicked through the cells and ended up losing the game quickly and with disappointment. I had to wait some 3 years later until my family could finally acquire a personal computer for our house.&lt;br /&gt;
&lt;br /&gt;
I liked minesweeper very much and I want to explain here how I embraced it in my education and what are the things I believe we can learn from such game that according to Wikipedia has been there since the early mainframes in the 60&#39;s. The first thing I liked about the game is that it is very self contained, it&#39;s more exciting if you figure out the game rules by yourself while trying it. You will quickly realize what are the meanings of the numbers when you start uncovering cells: The number of bombs around that cell. Then you will start realizing how to use this information and start finding patterns: The 1&#39;s in the corners, the 2&#39;s in the corners, several combinations of 2&#39;s and 3&#39;s and so on, those patterns that allow you to become faster and really master the game. Shortly after I started playing, my father and sister also liked the game and started playing it, often challenging ourselves in our computer.&lt;br /&gt;
&lt;br /&gt;
After some time and with lots of spare time and a computer at home, I started exploring some basic programming. What I was actually most interested was in learning how to create webpages but at some point I found myself with programming some Javascript, mostly to open the infamous popup windows and creating some more stylish navigation menus. But I also started to wonder how to encode the rules of a game like minesweeper and thought maybe it would be a good exercise to try. I couldn&#39;t do it at the time and in my naive attempts without any guidance other than Yahoo Search and Altavista and the less known newcomer Google, I tried to learn the Pascal programming language to do the job but honestly I couldn&#39;t get very far on my own. I had to wait another 2 or 3 years until I was in my second year of college.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
So I&#39;m talking now about 2004, after an introduction to programming class and a data structures class under my belt. I was enrolled in the &#39;Object Oriented&#39; programming class, a still hot topic at the time, at least in the local tech community back there. So I set my mind that I would use this class as an opportunity to implement minesweeper and play around with the rules of the game to create some variants of the basic game. The basic&amp;nbsp;game requires an understanding of several things, there are two obvious things that you will gain from the experience:&lt;br /&gt;
&lt;br /&gt;
1. Be good at manipulating arrays/matrices: Obvious! The game even looks like a matrix so this is the data structure you will need. You will have to traverse the matrix up and down, forward and backwards in every way possible. I implemented this in Java so I didn&#39;t need to think about dynamic allocation of arrays explicitly but if you want your game dimensions to be variable (beginner, medium, expert), then in a language like C you will want to go dynamic.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
2. Be good at using recursion: This might not be too obvious but uncovering a cell with no number and no mine requires propagating a recursion call in several directions until you find a numbered cell. There&#39;s always a way to do it without recursion but recursion just comes naturally.&lt;br /&gt;
&lt;br /&gt;
Beyond these two things you can learn about the power of random number generation when you&#39;re writing the routine to place the mines and also a basic convolution-like operation when you&#39;re assigning the numbers to the cells after the placement of the mines. Also if you&#39;re really into it you will notice things from the Windows Minesweeper like the fact that you never hit a bomb in your first move.&lt;br /&gt;
&lt;br /&gt;
In the realm of Object Oriented programming itself which was the excuse for getting into this project, you can also learn to encapsulate your objects so well as to have the ability to create a new game by instantiating a Minesweeper class. Things like: new Minesweeper(), new Minesweeper(&#39;expert&#39;), new Minesweeper(width, height, mineCount). Or even more, generalize your game to add the extra features in this way: SuperMinesweeper extends Minesweeper. Which effectively addresses the whole purpose of programming with objects in mind.&lt;br /&gt;
&lt;br /&gt;
Minesweeper is not the only game that I get to program when I was on my first steps in the world of programming but now that I&#39;m usually writing code for image processing and computer vision I get to remember the first times I was traversing matrices and performing convolutions and recursion calls over rows and columns.&amp;nbsp;I&#39;m including in this post a caption of the game that looks as close as it can get to the one distributed in older Windows versions. The code I wrote back then is still fully working but nowadays you can find lots of minesweeper implementations out there, even in Javascript which needs you to install nothing, you can try &lt;a href=&quot;http://www.minesweeperonline.com/#expert&quot;&gt;this one&lt;/a&gt;. Indeed you can find so many variants of it online and from so many places around the world. I, for one, thank all the programmers who wrote the early versions of minesweeper and also Microsoft&#39;s decision to include this nice game in his most popular software. This is a game that I believe has truly inspired many people even so far as to somebody proving that &lt;a href=&quot;http://www.hermann-uwe.de/blog/minesweeper-is-np-complete&quot;&gt;Minesweeper is NP-complete&lt;/a&gt;!&amp;nbsp;How cool is that?</description><link>http://bluevincent.blogspot.com/2011/04/minesweeper-as-introduction-to-computer.html</link><author>noreply@blogger.com (Vicente Ordonez)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJP91fnRrnbhF6pWH0cJRKyVIEM24vlIa4p2CL_cNDZDukXbBc79PA6Ps_DyTxcwTo8L_s3CDbdTVy5sBomNh_VE3oOh7Pb9xv2kUnNbttpc6bu4pUSq7Ls1UsLNhRimo1nUgE5W8suBhk/s72-c/minesweeper.png" height="72" width="72"/><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-527335393773434386.post-7516898793980722296</guid><pubDate>Sat, 26 Feb 2011 17:43:00 +0000</pubDate><atom:updated>2011-03-31T09:44:13.212-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">tech</category><title>Podcast search - Large scale media retrieval</title><description>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBqj_Qc4ZiGUFDzjfQdAWYicfXdzATgVWruYmuLmqntlbCkciR9Nz0N5n4h-Q4ivF6eOQ7129HPH8yQCSvX4UiFsMpOmWbJlAMW1yCssKnkQb9qINKZUQgM3Z6VeJp7YIJ312wH-g6JB-e/s1600/vikingo.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em; text-align: left;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;158&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBqj_Qc4ZiGUFDzjfQdAWYicfXdzATgVWruYmuLmqntlbCkciR9Nz0N5n4h-Q4ivF6eOQ7129HPH8yQCSvX4UiFsMpOmWbJlAMW1yCssKnkQb9qINKZUQgM3Z6VeJp7YIJ312wH-g6JB-e/s200/vikingo.png&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;This is a follow-up post from my last &lt;a href=&quot;http://bluevincent.blogspot.com/search/label/tech&quot;&gt;tech&lt;/a&gt;&amp;nbsp;post on &lt;a href=&quot;http://bluevincent.blogspot.com/2011/02/speech-to-text-using-java.html&quot;&gt;Speech to Text using Java&lt;/a&gt;. I&#39;m exploring here one idea I envisioned some time back (almost 4 years ago now) when I was a college student. This is the reason that pushed me to look for mature speech recognition technologies that I could use.&amp;nbsp;By the way, this reminds me of some online lectures that I was listening the other day of Prof. Stephen Boyd (Stanford) on Convex Optimization where he was commenting that saying something is a &quot;technology&quot; might feel like derogatory to some people because this translates to using something as a black box without really understanding what is inside but he said he usually replies back by saying that most of us use TCP/IP without a deep understanding of what&#39;s going on inside to get a secure channel.&amp;nbsp;In my case I was decided to use speech recognition roughly as a black box but ended up learning a bit of the underlying grounds anyways (language models, acoustic models, HMM&#39;s, etc).&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;My goal with my experiments with speech recognition technologies was to find a useful way to do video content retrieval using noisy automatically extracted transcriptions. Using this at the time I might have tried to beat&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/&quot;&gt;Youtube&lt;/a&gt;&amp;nbsp;on search&amp;nbsp;(insert smiley face here), I even sketched the web search interface included in this post. But I was aware that making this at web-scale would require more computing power than whatever I could have available, especially at the time when I was working on this back in 2007 when &lt;a href=&quot;http://en.wikipedia.org/wiki/Amazon_Elastic_Compute_Cloud#History&quot;&gt;Amazon EC2&lt;/a&gt;&amp;nbsp;was in its early stages, the &lt;a href=&quot;http://en.wikipedia.org/wiki/Azure_Services_Platform&quot;&gt;Windows Azure Platform&lt;/a&gt; was non-existent and even &lt;a href=&quot;http://code.google.com/appengine/&quot;&gt;Google App Engine&lt;/a&gt; was yet not released. I had to seriously narrow down my objective and make something that people who want media attention with a partially working prototype justify usually as &quot;proof of concept&quot; and in my case I would use this proof-of-concept as my way out of college.&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;At the time there was still a lot of buzz about podcasts on the web, which are the audio versions of blogs. So some companies were developing search solutions that could potentially look (or in this case listen) inside the contents of a large collection of audio documents. I&#39;m including here a timeline of events related to podcast search and the use of speech recognition for large media search:&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;b&gt;December 2004:&lt;/b&gt; Blinkx launches as the first audio search engine powered by speech-to-text technologies&amp;nbsp;&lt;a href=&quot;http://www2.prnewswire.com/cgi-bin/stories.pl?ACCT=LRTVN.story&amp;amp;STORY=/www/story/12-16-2004/0002636303&amp;amp;EDATE=THU+Dec+16+2004,+08:02+AM&quot;&gt;http://www2.prnewswire.com/cgi-bin/stories.pl?ACCT=LRTVN.story&amp;amp;STORY=/www/story/12-16-2004/0002636303&amp;amp;EDATE=THU+Dec+16+2004,+08:02+AM&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;b&gt;April 2005:&lt;/b&gt; Podscope launches as the first audio search engine powered by speech-to-text technologies. (Hey! wasn&#39;t it Blinkx the first one?)&amp;nbsp;&lt;a href=&quot;http://en.wikipedia.org/wiki/Podscope&quot;&gt;http://en.wikipedia.org/wiki/Podscope&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;b&gt;October 2005:&lt;/b&gt; Yahoo! Podcasts gets created although I haven&#39;t found if they used speech-to-text&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;a href=&quot;http://docs.yahoo.com/docs/pr/release1266.html&quot;&gt;http://docs.yahoo.com/docs/pr/release1266.html&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;b&gt;January 2006: &lt;/b&gt;Podzinger launches featuring a US government funded speech recognizer&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;a href=&quot;http://www.internetnews.com/infra/article.php/3576941/PodZinger-Launches-Audio-Search-Service.htm&quot;&gt;http://www.internetnews.com/infra/article.php/3576941/PodZinger-Launches-Audio-Search-Service.htm&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;b&gt;July 2006:&lt;/b&gt; AOL Launches Podcast Search (powered by Podscope), this was the major internet company launching a service like this! I haven&#39;t found any information about when they broke the deal but AOL Podcast Search doesn&#39;t seem to be available anymore.&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;a href=&quot;http://news.ebrandz.com/ask-a-aol/2005/336-aol-launches-podcast-search.html&quot;&gt;http://news.ebrandz.com/ask-a-aol/2005/336-aol-launches-podcast-search.html&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;a href=&quot;http://web.resourceshelf.com/go/resourceblog/42962&quot;&gt;http://web.resourceshelf.com/go/resourceblog/42962&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;b&gt;October 2006: &lt;/b&gt;Microsoft uses some help from Blinkx technologies for their video search.&amp;nbsp;&lt;a href=&quot;http://en.wikipedia.org/wiki/Blinkx&quot;&gt;http://en.wikipedia.org/wiki/Blinkx&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;b&gt;June 2007: &lt;/b&gt;Plugdd starts as a podcast search solution using speech-to-text technologies.&amp;nbsp;&lt;a href=&quot;http://mashable.com/2007/06/29/pluggd-launches-audio-search-player-on-cnet/&quot;&gt;http://mashable.com/2007/06/29/pluggd-launches-audio-search-player-on-cnet/&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;b&gt;October 2007: &lt;/b&gt;Yahoo! closes Yahoo! Podcasts&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;a href=&quot;https://searchengineland.com/yahoo-podcasts-to-close-the-sorry-state-of-podcast-search-12288&quot;&gt;https://searchengineland.com/yahoo-podcasts-to-close-the-sorry-state-of-podcast-search-12288&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;b&gt;July 2008: &lt;/b&gt;Google Launches a test version of their Speech Recognition based Video Retrieval system&amp;nbsp;&lt;a href=&quot;http://googleblog.blogspot.com/2008/07/in-their-own-words-political-videos.html&quot;&gt;http://googleblog.blogspot.com/2008/07/in-their-own-words-political-videos.html&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;b&gt;February 2009: &lt;/b&gt;TED adds captions and translated captions to its videos by using the power of the crowd&amp;nbsp;&lt;a href=&quot;http://blog.ted.com/2009/02/09/unveiling_teds/&quot;&gt;http://blog.ted.com/2009/02/09/unveiling_teds/&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;b&gt;November 2009:&lt;/b&gt; Google Launches automatic captions from youtube videos&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;a href=&quot;http://googleblog.blogspot.com/2009/11/automatic-captions-in-youtube.html&quot;&gt;http://googleblog.blogspot.com/2009/11/automatic-captions-in-youtube.html&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;This list is not exhaustive but I think it&#39;s enough to draw some conclusions. I included the fact that TED added captions generated by users in 2009 because I used some TED videos in my project to generate automatic transcripts so that video content from TED could be searched. I thought that since TED is all about interesting ideas it was a&amp;nbsp;pity&amp;nbsp;that you could not search based on contents. If I had put my idea/prototype online in 2007 it would have been useless by 2009 when it was no longer necessary to do automatic speech recognition when you already have perfect transcriptions in several languages for most TED videos. Another thing that I can see from 2007 up until now is that two big companies decided to shutdown their podcast search service (Yahoo and AOL). I was actually surprised that Google was not going into using speech recognition for audio search back then, they took their time and they have incorporated this into their already existing products (Youtube, Google Voice).&amp;nbsp;&amp;nbsp;Podscope hasn&#39;t changed much since 2007 and Podzinger was rebranded twice (Everyzing, RAMP). Things move relatively slow in this area mostly because building automatic speech recognition software that is speaker independent and handles a large vocabulary is very expensive so only big companies or companies already owning rights over speech recognition software can compete. I think we yet have to see what&#39;s the final take on search based on audio contents, I think the best example today is the automatic caption generation on Youtube videos.&lt;/div&gt;</description><link>http://bluevincent.blogspot.com/2011/02/podcast-search-large-scale-media.html</link><author>noreply@blogger.com (Vicente Ordonez)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBqj_Qc4ZiGUFDzjfQdAWYicfXdzATgVWruYmuLmqntlbCkciR9Nz0N5n4h-Q4ivF6eOQ7129HPH8yQCSvX4UiFsMpOmWbJlAMW1yCssKnkQb9qINKZUQgM3Z6VeJp7YIJ312wH-g6JB-e/s72-c/vikingo.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-527335393773434386.post-1022919474024353080</guid><pubDate>Wed, 23 Feb 2011 17:42:00 +0000</pubDate><atom:updated>2011-02-22T21:44:18.388-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">trip</category><title>Washington DC, Philadelphia and Baltimore</title><description>At the beginning of this year I was part of a two-day trip crossing through five states in the East Coast of the United States: New York, New Jersey, Pennsylvania, Delaware, Maryland. Following the same procedures as in my &lt;a href=&quot;http://bluevincent.blogspot.com/2010/08/niagara-falls.html&quot;&gt;Niagara trip&lt;/a&gt; we embarked on a shuttle at Chinatown. Here are some pictures we took along the way:&lt;br /&gt;
&lt;table&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;float: right; margin-left: 1em; text-align: right;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjI-H9K_D-bnXPy2FTRMcdpCq05SPklngpuRn5fZgg6mbKxw6-1HcsWMnyftxuG2QiffOWZfRZTjXfWwJt7rpQmNudkf-bQEr4tdhpKpo5Bc5EdPlJQL_Pl0vPg8hH2fQpvC0LyDW3VKV16/s1600/IMG_3535.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;150&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjI-H9K_D-bnXPy2FTRMcdpCq05SPklngpuRn5fZgg6mbKxw6-1HcsWMnyftxuG2QiffOWZfRZTjXfWwJt7rpQmNudkf-bQEr4tdhpKpo5Bc5EdPlJQL_Pl0vPg8hH2fQpvC0LyDW3VKV16/s200/IMG_3535.JPG&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;US Capitol in Washington D.C.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td&gt;&lt;br /&gt;
&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8AXzVOTKGRBsvpBTXqnFy4bZxYNuzgvMMeZvK1xL4kbRvybru5iuuGn5QELURXf6A1ihjoSfEZS7Q1bPwikPIhbQ55X66GupZ6AkJn3QlitsYVprXrO3JpbzG4IDQDhm2nX-XpLe7jDT_/s1600/IMG_3331.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8AXzVOTKGRBsvpBTXqnFy4bZxYNuzgvMMeZvK1xL4kbRvybru5iuuGn5QELURXf6A1ihjoSfEZS7Q1bPwikPIhbQ55X66GupZ6AkJn3QlitsYVprXrO3JpbzG4IDQDhm2nX-XpLe7jDT_/s200/IMG_3331.JPG&quot; width=&quot;150&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Independence Hall - Philadelphia, Pennsylvania&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmYtwoGPfMM34SPcYVGBiGjgSBdUxzw1MhWGuDvF57n2WfsJZJdb6E8vVHpGvEgGRGpoj8r8sC2eA3nSewrne_uvmDSipeaBaMiYUK5qUtMvGPgh4isf3OgDNeKW8JLxCHN6gSCli-WhaG/s1600/IMG_3768.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;150&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmYtwoGPfMM34SPcYVGBiGjgSBdUxzw1MhWGuDvF57n2WfsJZJdb6E8vVHpGvEgGRGpoj8r8sC2eA3nSewrne_uvmDSipeaBaMiYUK5qUtMvGPgh4isf3OgDNeKW8JLxCHN6gSCli-WhaG/s200/IMG_3768.JPG&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Baltimore Inner Harbor, Maryland&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td&gt;&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiF5tPlr3GdsuBr3b6e0YdnkEdLQHMiRTHpE1jl1HZ7W-eP-wDl9y8MBY31P1WlGUzZ0TIJY-nEj-84hrVYsePCx_S7PrbSYttW9qXR26yEfyUTf7lq9oq8NqNs9fbrzwtvZKhspLKXeA92/s1600/IMG_3477.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;150&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiF5tPlr3GdsuBr3b6e0YdnkEdLQHMiRTHpE1jl1HZ7W-eP-wDl9y8MBY31P1WlGUzZ0TIJY-nEj-84hrVYsePCx_S7PrbSYttW9qXR26yEfyUTf7lq9oq8NqNs9fbrzwtvZKhspLKXeA92/s200/IMG_3477.JPG&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Potomac River - Washington D.C.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;</description><link>http://bluevincent.blogspot.com/2011/02/washington-dc-philadelphia-and.html</link><author>noreply@blogger.com (Vicente Ordonez)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjI-H9K_D-bnXPy2FTRMcdpCq05SPklngpuRn5fZgg6mbKxw6-1HcsWMnyftxuG2QiffOWZfRZTjXfWwJt7rpQmNudkf-bQEr4tdhpKpo5Bc5EdPlJQL_Pl0vPg8hH2fQpvC0LyDW3VKV16/s72-c/IMG_3535.JPG" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-527335393773434386.post-64245249994861695</guid><pubDate>Sun, 20 Feb 2011 19:43:00 +0000</pubDate><atom:updated>2012-05-21T20:25:55.131-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">tech</category><title>Speech to Text using Java</title><description>Is there out any utility,&amp;nbsp;preferable&amp;nbsp;command line that allows you to input an audio file and output a text file? Moreover, is there such a thing packaged as a library that developers can use? And yet again another technical requirement, is there something like it written on Java or another high level language? And as if it was not enough I want it for free. More than three years back I was looking for such a solution and I could not find something that works &lt;i&gt;out of the box&lt;/i&gt;. If you try searching for something like this you will probably find the &lt;a href=&quot;http://cmusphinx.sourceforge.net/sphinx4/&quot;&gt;sphinx-4&lt;/a&gt; project, a speech recognizer entirely written in Java. I spent a lot of time trying to understand the underlying basis of speech recognition and how it works, what are the roles of Language Models, Vocabularies, Acoustic Models, etc and not very few hours trying to make the whole thing work. I was successful in making it recognize isolated digits but what I wanted was general speech recognition that could deal with&amp;nbsp;continuous speech, large vocabulary and complex grammar models. So I tried making it work for this scenario but I was&amp;nbsp;unsuccessful, and for some of those models with larger vocabularies the system was very slow and I couldn&#39;t get much help with the documentation and available examples on the web. Without coming up with more excuses for my failed attempt I decided to take a different approach.&lt;br /&gt;
&lt;br /&gt;
Surfing for other possible solutions I found some documentation for speech recognition engines from private companies that usually ship their products with a developer&#39;s API, big companies like IBM or Nuance. They would usually implement an interface known as SAPI (Speech Application Programming Interface) developed by Microsoft to provide speech recognition capabilities to Windows applications. In the same lines there is a JSAPI specification for the Java programming language. Microsoft not only developed the SAPI specification but also includes his own speech recognizer with some versions of the Windows operating system. So I downloaded the SAPI Software Development Kit and wrote a simple command line utility that reads a raw audio wav file and outputs a text file with the transcription of what was said in the audio file. Results were not great, especially because the recognition engine is not very speaker independent and some audio files that I tried had noise/music in the background.&lt;br /&gt;
&lt;br /&gt;
The results of this hacking activity went beyond&amp;nbsp;modifying&amp;nbsp;one of their code examples to write this command line utility but I also wrote a JNI &amp;nbsp;(Java Native Interface) interface to use the recognition engine from Java, although I have to stress I did it more as a practicing exercise because I&#39;m still limited to read only from a wav file. Of course this will only work on Windows but portability is something you will have to give up for this time if you want all those things that I mentioned at the beginning of this post. I&#39;m including a link here with the command line utility with source code and the Java interface and one example of usage of the interface using Java.&lt;br /&gt;
&lt;br /&gt;
Download:&amp;nbsp;&lt;a href=&quot;https://sites.google.com/site/filestoragerer/files/Wav2Text.zip?attredirects=0&amp;amp;d=1&quot;&gt;wav2text.zip&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
One limitation of those tools will also be that the wav file must be a PCM raw audio file with 22KHz frequency, 16 bit per sample and stereo sound. For this purpose I recommend using some nice command line utility to do the job: You can use &lt;a href=&quot;http://sox.sourceforge.net/&quot;&gt;SoX&lt;/a&gt;, an open source library and command line tool to change any of those parameters from the wav audio file. Also it would be great if you could input mp3 files or even video files. The problem with mp3 is that there are not so many solutions for conversion out of the box due to patents. You will have to download and compile&amp;nbsp;&lt;a href=&quot;http://lame.sourceforge.net/download.php&quot;&gt;LAME&lt;/a&gt;&amp;nbsp;and integrate this encoder with SoX in order to get SoX to convert raw PCM wav files to mp3 encoded files. For video files the best solution is to use &lt;a href=&quot;http://www.mplayerhq.hu/design7/news.html&quot;&gt;mplayer&lt;/a&gt; from the command line using &lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #660000;&quot;&gt;mplayer -vo null -ao pcm:file=%FILE_PATH%&lt;/span&gt;. This will extract the audio from the video file.&lt;br /&gt;
&lt;br /&gt;
Getting to hack with audio and video formats and speech recognition development was an interesting experience, this also exposed me to other higher level technologies like VoiceXML and later I had the chance to meet one of the developers of &lt;a href=&quot;http://www.firevox.clcworld.net/&quot;&gt;Firevox&lt;/a&gt;, a Firefox extension that focus on&amp;nbsp;accessibility. Coincidentially a research project here at Stony Brook also does accesibility using voice technologies: &lt;a href=&quot;http://www.cs.sunysb.edu/~sbhearsay/index.htm&quot;&gt;HearSay&lt;/a&gt;.

&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivJUnlb1UZ1Zi2HkbNTClEZYRrNJC8vOABcf85orVapUhnn6iS3mxXTyJI4x3PRmT96ihHocqxEA-QqmpcaUtsKFiLtZSFZU0qj9e3pPb3EUOFdQYygXdI8untRSS8pqTpak5TCi-WRi2d/s1600/100629-beach-04.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivJUnlb1UZ1Zi2HkbNTClEZYRrNJC8vOABcf85orVapUhnn6iS3mxXTyJI4x3PRmT96ihHocqxEA-QqmpcaUtsKFiLtZSFZU0qj9e3pPb3EUOFdQYygXdI8untRSS8pqTpak5TCi-WRi2d/s200/100629-beach-04.jpg&quot; width=&quot;163&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;font-size: 13px; text-align: center;&quot;&gt;This book &amp;nbsp;about the history of vocoders&lt;br /&gt;
is titled: &quot;How to wreck a nice beach&quot;&lt;br /&gt;
a phrase commonly used as example of&lt;br /&gt;
the difficulty of speech recognition,&lt;br /&gt;
because it sounds like:&amp;nbsp;&quot;How to recognize speech&quot;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;</description><link>http://bluevincent.blogspot.com/2011/02/speech-to-text-using-java.html</link><author>noreply@blogger.com (Vicente Ordonez)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivJUnlb1UZ1Zi2HkbNTClEZYRrNJC8vOABcf85orVapUhnn6iS3mxXTyJI4x3PRmT96ihHocqxEA-QqmpcaUtsKFiLtZSFZU0qj9e3pPb3EUOFdQYygXdI8untRSS8pqTpak5TCi-WRi2d/s72-c/100629-beach-04.jpg" height="72" width="72"/><thr:total>6</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-527335393773434386.post-296469293898396759</guid><pubDate>Wed, 12 Jan 2011 19:04:00 +0000</pubDate><atom:updated>2012-05-21T07:48:02.552-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">personal</category><category domain="http://www.blogger.com/atom/ns#">tech</category><title>Google New York</title><description>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbtyW7RtnjdDzz4fdBNZBgDL0NFFKmogAo7DPXXClYRqbCstuRLmnqW38tEGhh9tWTssrMpDbLGGAZ9vrnbjmMAkoAGyCd2wucpB1MbhWHPTOoqfbZL8WR6d8B713RzrUI79T6qhX7mNRp/s1600/IMG_0766%255B1%255D.JPG&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em; text-align: justify;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbtyW7RtnjdDzz4fdBNZBgDL0NFFKmogAo7DPXXClYRqbCstuRLmnqW38tEGhh9tWTssrMpDbLGGAZ9vrnbjmMAkoAGyCd2wucpB1MbhWHPTOoqfbZL8WR6d8B713RzrUI79T6qhX7mNRp/s320/IMG_0766%255B1%255D.JPG&quot; width=&quot;239&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Google invited the Computer Science graduate student community at Stony Brook to visit their offices in New York last December. Most of the people were busy giving finals and wrapping up their Fall semester, still we managed to go there with a group of fellow graduate students. Weather was very cold but no snow yet at the time.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
The tour was guided by both a Google software engineer and a recruiter. The company is moving from their Times Square location to two new buildings and although they only occupy a couple of floors on those buildings, the place still looks huge. From the outside the building we visited looks like any other building in Manhattan. This came in contrast to the Google-land looks of their main offices in California but once you&#39;re inside those buildings the feeling is the same, an open place full of fun and geek culture in every bit.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
We attended a Tech Talk given by a Software Engineer and Ph.D. alumni of Stony Brook working on Google Local Search. He explained a lot of the challenges he has to deal with in his daily work and how they collect, interpret, present and more importantly search through geo data. Before the talk we played a trivia game where we could win precious Google merchandise. I managed to get away with the two items shown in the picture of this post: A Google mug and an Android plush doll. I got the green Android by completing the phrase of Edsger Dijkstra: &lt;i&gt;&quot;Computer Science is no more about computers than astronomy is about &lt;u&gt;telescopes&lt;/u&gt;&quot; &lt;/i&gt;and I won the mug by remembering the original name given to the Google search engine when it was first put online: &lt;i&gt;Backrub&lt;/i&gt;.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
After the talk and with some Google goodies in hand we had lunch with the rest of employees in the nice restaurants that have made this company famous for the free and good food. Beyond Google we didn&#39;t do much this day. We went to Washington Square Park with a group of friends and did some shopping nearby. Google New York seems like an awesome place to work although for me I came to realize that most of the work in my field of interest is happening in the west coast.&lt;/div&gt;</description><link>http://bluevincent.blogspot.com/2011/01/google-new-york.html</link><author>noreply@blogger.com (Vicente Ordonez)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbtyW7RtnjdDzz4fdBNZBgDL0NFFKmogAo7DPXXClYRqbCstuRLmnqW38tEGhh9tWTssrMpDbLGGAZ9vrnbjmMAkoAGyCd2wucpB1MbhWHPTOoqfbZL8WR6d8B713RzrUI79T6qhX7mNRp/s72-c/IMG_0766%255B1%255D.JPG" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-527335393773434386.post-7154637967835783791</guid><pubDate>Wed, 12 Jan 2011 06:40:00 +0000</pubDate><atom:updated>2011-01-12T13:22:29.765-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">trip</category><title>The Museum of Modern Art - MoMA in New York City</title><description>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnBtoHBJl4PhguJHCVcCPSN5pablS7DWuDxzLeGIIg3YAlDI2cMakfXeibSQHxFhMO7Hzg-m4ScQqFTJJU3ah3ri9lZ-slD8AKWHd6NuACxDmAOvygLv1Db_yvCjYDlL73zLOt6udND306/s1600/IMG_2872.JPG&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em; text-align: justify;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnBtoHBJl4PhguJHCVcCPSN5pablS7DWuDxzLeGIIg3YAlDI2cMakfXeibSQHxFhMO7Hzg-m4ScQqFTJJU3ah3ri9lZ-slD8AKWHd6NuACxDmAOvygLv1Db_yvCjYDlL73zLOt6udND306/s320/IMG_2872.JPG&quot; width=&quot;240&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Me and a group of friends visited MoMA in New York last November. Being part of the State University of New York system grants you some benefits on some of these venues and visiting this important museum in New York is not one we wanted not to take advantage of. The streets of the city were particularly crowded since it was Thanksgiving season and people were buying and selling stuff more than ever.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;I had already visited more than two years ago MoMA San Francisco and admired some of the most relevant pieces in contemporary art. San Francisco and New York are very different in several respects, but they are definitely the two most important cities in the US&amp;nbsp;when it comes to art. I used to do painting and charcoal drawing myself before going to college. I attended a couple of academies when I was a kid but when deciding my career I didn&#39;t pursue this further. Nevertheless, this helped me gaining some knowledge and appreciation for art.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;I noticed that one of the pieces that most attracted the attention from the public was &lt;i&gt;Starry Night&lt;/i&gt; by Vincent Van Gogh. But I had the chance to see other works that I had only seen in the books from my art classes from when I was a kid.&amp;nbsp;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial, sans-serif; font-size: x-small; line-height: 15px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;i&gt;Les Demoiselles d&#39;Avignon or&lt;/i&gt;&amp;nbsp;the &lt;i&gt;Three Musicians&lt;/i&gt; from Pablo Picasso are a good example. In the picture in this entry I am with a Jackson Pollock painting, although his art of composition of simple forms in complicated ways has received mixed critics, one of his paintings is considered the world&#39;s most expensive painting, sold in 2006 in 140 million dollars. The art of Monet, Mondrian, Dalí, Miró, Warhol also made the trip to the city more than worth it. Next time I will try to visit the Metropolitan Museum, another big one for art in New York City.&lt;/div&gt;</description><link>http://bluevincent.blogspot.com/2011/01/museum-of-modern-art-moma-in-new-york.html</link><author>noreply@blogger.com (Vicente Ordonez)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnBtoHBJl4PhguJHCVcCPSN5pablS7DWuDxzLeGIIg3YAlDI2cMakfXeibSQHxFhMO7Hzg-m4ScQqFTJJU3ah3ri9lZ-slD8AKWHd6NuACxDmAOvygLv1Db_yvCjYDlL73zLOt6udND306/s72-c/IMG_2872.JPG" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-527335393773434386.post-4928105827073088507</guid><pubDate>Wed, 03 Nov 2010 20:04:00 +0000</pubDate><atom:updated>2012-07-18T11:50:21.162-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">tech</category><title>MapReduce -&gt; GFS -&gt; Bigtable</title><description>&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;float: right; margin-left: 1em; text-align: right;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPVnZ9E6IvKsFmnFeUtsnEc2ZSbziF3qUog11WEqbXBRdo_026idruRWGt_Uqrc5XKItT7pDBi_pa-B5fVbzCuVEZtSSd1BBHzqoU6aSIKH4P2TndYy_PI-K3KYfaP0F1504-Hig0OdPqI/s1600/4842874045_d9dd346016.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;150&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPVnZ9E6IvKsFmnFeUtsnEc2ZSbziF3qUog11WEqbXBRdo_026idruRWGt_Uqrc5XKItT7pDBi_pa-B5fVbzCuVEZtSSd1BBHzqoU6aSIKH4P2TndYy_PI-K3KYfaP0F1504-Hig0OdPqI/s200/4842874045_d9dd346016.jpg&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;A yellow elephant, a perfect mascot&lt;br /&gt;for anything geeky.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
Some friend was recently interviewing for a full time position at Google. So we had this small conversation over email about some of the&amp;nbsp;infrastructure&amp;nbsp;that engineers have to master inside to build the magic that makes Google scale to humanity orders of magnitude. This is not a big secret, there is a lot information on the Internet by now and Google itself has published papers about these technologies. But I would like to share the things that I learned some time back during my stay at Google. I will try to explain what are MapReduce, GFS and Bigtable from the developer&#39;s perspective.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 16px;&quot;&gt;MapReduce:&lt;/span&gt;&lt;/b&gt; What do you usually do when you want to run your code over a large set of data in parallel? Naturally you would execute several instances of your program with different parts of your big set of data as input. Even better you could run those several instances of your program on different computers. There are several issues you have to take care of when you do this: Writing some extra code that splits the data and sends the appropriate pieces to each of your program instances, distributing your program itself to each computer and then collecting the data in a single place. And also you might want to think about some basic synchronization (counters) and fault tolerance. MapReduce takes care of most of those basic and more advanced things, you write your piece of code that will take data as input and you send your code and an initialization file to the MapReduce system that will be in charge of distributing your program and executing instances with the&amp;nbsp;specified&amp;nbsp;inputs. Why the name MapReduce? This is because the framework also addresses another issue. What is a general way of describing a distributed process that is so general that can be used to implement most kinds of distributed processing? &amp;nbsp;The answer is mapping and reducing. The processes that perform mapping are called mappers and the processes that perform reducing are called reducers. Mappers take an instance of the data as input and process it to generate some output. Reducers take the outputs of several mappers (or other reducers) as inputs and output a single output. It is interesting that by implementing our own mappers and reducers we can implement most processing functions that one might need. I will give two examples below:&lt;br /&gt;
&lt;br /&gt;
Let&#39;s say you&#39;re in charge of calculating the average age of people on Facebook, your data is very big obviously and you will need to compute this average in a distributed way. In this case you would implement mappers that take a &lt;b&gt;&lt;i&gt;(date of birth)&lt;/i&gt;&lt;/b&gt; as input and output &lt;b&gt;&lt;i&gt;(key, (age, 1))&lt;/i&gt;&lt;/b&gt;, where key is a constant in this case. Your reducers would take an input of the form &lt;i&gt;&lt;b&gt;list of (age, count)&lt;/b&gt;&amp;nbsp;&lt;/i&gt;and they would output a pair &lt;b&gt;&lt;i&gt;(key, (agesum, countsum))&lt;/i&gt;&lt;/b&gt; that adds the ages and keeps the count of to how many people these age sum corresponds. At the end we will have a single output because the reducers will continue reducing until we have one output per key. So let&#39;s say you want to calculate the average age of people on Facebook by each country instead of average of all, then you would just need to use the country as the key and the reducers will receive a list of age and count only for the same key and will keep reducing until you get one output for every country.&lt;br /&gt;
&lt;br /&gt;
Sometimes you don&#39;t need the reducers at all, let&#39;s say in the above example that you need to store a pre-calculated value of the age of the person using the &lt;a href=&quot;http://en.wikipedia.org/wiki/East_Asian_age_reckoning&quot;&gt;East Asian age reckoning&lt;/a&gt;&amp;nbsp;in which new borns are considered to have 1 year old at the time of birth and the age changes each Lunar Year. In this case the mappers take&amp;nbsp;&lt;b&gt;&lt;i&gt;(date of birth)&amp;nbsp;&lt;/i&gt;&lt;/b&gt;as input and output&amp;nbsp;&lt;i style=&quot;font-weight: bold;&quot;&gt;(East Asian age)&lt;/i&gt;, and there is no need to use reducers, the process is purely mapping. You can watch how other algorithms can be implemented in MapReduce in the next video.&lt;br /&gt;
&lt;a href=&quot;http://www.cloudera.com/videos/mapreduce_algorithms&quot;&gt;http://www.cloudera.com/videos/mapreduce_algorithms&lt;/a&gt;&amp;nbsp;(They explain sorting)&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 16px;&quot;&gt;GFS: &lt;/span&gt;&lt;/b&gt;There is one problem with the above approach that GFS solves. By using MapReduce we are now able to distribute our processing to hundreds of computers but imagine all those processes trying to read from the same physical location. This will slow down most hard drives and also processes will block while trying to read the data. So if you have a distributed processing system you will also need a distributed file system and that is GFS. A good MapReduce framework will not only use a distributed file system but will also try to assign data to each mapper based on the physical proximity of data.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 16px;&quot;&gt;Bigtable:&lt;/span&gt;&lt;/b&gt; Instead of reading/writing to files it would be better if you had some more structured way of storing your data, like a database. Bigtable is a database that runs on GFS. But Bigtable is not only a database that runs in GFS, it is also a different kind of database. Some differences are that in Bigtable you can have varying amount of columns for each row without any penalty in performance and you don&#39;t need to define columns when creating the tables. The original paper says about Bigtable: &#39;A Bigtable is a sparse, distributed, persistent multidimensional sorted map&#39;. And I found this nice article explaining each of those properties in more detail&amp;nbsp;&lt;a href=&quot;http://jimbojw.com/wiki/index.php?title=Understanding_Hbase_and_BigTable&quot;&gt;http://jimbojw.com/wiki/index.php?title=Understanding_Hbase_and_BigTable&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Finally I will translate the proper title of this post &lt;br /&gt;
&lt;b&gt;&#39;Google MapReduce -&amp;gt; Google File System -&amp;gt; Google Bigtable&#39;&lt;/b&gt;&lt;br /&gt;
to the opensource Apache implementation of these technologies &lt;br /&gt;
&lt;b&gt;&#39;Apache Hadoop -&amp;gt; Hadoop Distributed File System-&amp;gt; HBase&#39;&lt;/b&gt;.</description><link>http://bluevincent.blogspot.com/2010/11/mapreduce-gfs-bigtable.html</link><author>noreply@blogger.com (Vicente Ordonez)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPVnZ9E6IvKsFmnFeUtsnEc2ZSbziF3qUog11WEqbXBRdo_026idruRWGt_Uqrc5XKItT7pDBi_pa-B5fVbzCuVEZtSSd1BBHzqoU6aSIKH4P2TndYy_PI-K3KYfaP0F1504-Hig0OdPqI/s72-c/4842874045_d9dd346016.jpg" height="72" width="72"/><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-527335393773434386.post-9203430219296278878</guid><pubDate>Wed, 27 Oct 2010 00:02:00 +0000</pubDate><atom:updated>2011-01-12T13:23:12.861-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">trip</category><title>Machine Learning and The New York Academy of Sciences</title><description>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgw6kZiCDZIudmJ48FEWeFDL4zJRuzvgiuDiLNcRiEDckn_BlVWnk68ITr56vMtHpce-PBydgEhmluJu76wtDBlgEvtkonM0ET1v7gFBH15uKzqI3NWiWkz3FwBMZjVyOjgy2nArGG81Rkw/s1600/photo+(1)+-+Copy.JPG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: justify;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;216&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgw6kZiCDZIudmJ48FEWeFDL4zJRuzvgiuDiLNcRiEDckn_BlVWnk68ITr56vMtHpce-PBydgEhmluJu76wtDBlgEvtkonM0ET1v7gFBH15uKzqI3NWiWkz3FwBMZjVyOjgy2nArGG81Rkw/s320/photo+(1)+-+Copy.JPG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Last Friday some friends and I attended the 5th Machine Learning Symposium organized by The New York Academy of Sciences in Manhattan. People from institutions nearby presented some of their research going in Machine Learning and Learning Theory. Even when I have been mostly working on Computer Vision and Images, the kind of projects that I am working on have a lot to do with Machine Learning so I&#39;m very excited that there exists such a large local community interested in those topics in which I mostly rely upon and might potentially contribute. I would like to comment some of my impressions about the Machine Learning and Computer Vision community ecosystem and how there is an EM-like process going between these two.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Sometimes people in Computer Vision contribute to Machine Learning and sometimes people in Machine Learning contribute to Computer Vision as well. Computer Vision scientists get better results as they get better understanding of the human visual system and also when they get better ways to learn from data. So they often find themselves coming up with new techniques to discover patterns on image data. On the other hand Machine Learning researchers will often try&lt;/div&gt;&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;float: right; margin-left: 1em; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkCTc_xoY4OiF5IE5h1LhdaJAuBgRyAAQJ3FIkw26MVpxJOjSc3IafxguO8gTOGEVdVL108RnuOD79Hn17t-lUBgahzt-5l5Ass3yEdR825385W5I0BpXprFVhvyN1jRONmooWEoHcQi9s/s1600/photo.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkCTc_xoY4OiF5IE5h1LhdaJAuBgRyAAQJ3FIkw26MVpxJOjSc3IafxguO8gTOGEVdVL108RnuOD79Hn17t-lUBgahzt-5l5Ass3yEdR825385W5I0BpXprFVhvyN1jRONmooWEoHcQi9s/s320/photo.JPG&quot; width=&quot;239&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Charles Darwin at The New York Academy of Sciences&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;to prove their theories on interesting datasets. Interesting could mean complicated but could also mean datasets that are likely to be reproduced by a natural or artificial process. In this case image statistics are a very interesting case because they come with their own encoded statistics, the so-called natural image statistics. Another application that comes with natural statistics is NLP or Natural Language Processing. So very often Machine Learning researchers find themselves trying to discover patterns on either images or language. And maybe I should also mention that there are those who these days are trying to do them all three and I happen to be a member of such groups which is good because it lets me see closer what&#39;s going on in each of those fields. The symposium was very well balanced in this regard, it presented projects dealing with images, text and pure learning theory. I&#39;m looking forward to attend the meeting next year and perhaps presenting some of my own this time.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;I also want to stress how impressive New York looks from the New York Academy of Sciences auditorium. The whole&amp;nbsp;magnificence&amp;nbsp;of the giant&amp;nbsp;skyscrapers&amp;nbsp;feels like it can almost be touched and sensation of flying is astounding. You can see in the picture here the shadow projected by the building I was in onto the other buildings. Also I was very happy to find the bust of Charles Darwin in the inside. The eminent scientist that one day decided to pursue his research in the Galapagos Islands in Ecuador in his quest for uncovering the mysteries of evolution.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjylFIgtOVFBJAYbIQhyFvf5G7CsAotA20Izw00wbxYQG-iECkWvtw_auZocBfT13O6x_3qVA0X11gSkehRDagJ34JTk_EGyF-mVMy5tlXU8jaCHwi7YzTftYb9gWNztRCDMGHU3YCkjS_u/s1600/photo+(2).JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;239&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjylFIgtOVFBJAYbIQhyFvf5G7CsAotA20Izw00wbxYQG-iECkWvtw_auZocBfT13O6x_3qVA0X11gSkehRDagJ34JTk_EGyF-mVMy5tlXU8jaCHwi7YzTftYb9gWNztRCDMGHU3YCkjS_u/s320/photo+(2).JPG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;View from The New York Academy of Sciences&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;</description><link>http://bluevincent.blogspot.com/2010/10/machine-learning-and-new-york-academy.html</link><author>noreply@blogger.com (Vicente Ordonez)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgw6kZiCDZIudmJ48FEWeFDL4zJRuzvgiuDiLNcRiEDckn_BlVWnk68ITr56vMtHpce-PBydgEhmluJu76wtDBlgEvtkonM0ET1v7gFBH15uKzqI3NWiWkz3FwBMZjVyOjgy2nArGG81Rkw/s72-c/photo+(1)+-+Copy.JPG" height="72" width="72"/><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-527335393773434386.post-1580701804754585090</guid><pubDate>Sun, 12 Sep 2010 22:39:00 +0000</pubDate><atom:updated>2011-01-12T11:09:48.374-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">tech</category><title>Texture Synthesis, Computer Graphics and Computer Vision</title><description>Choosing some problem to work on is a very difficult task, regardless of the area that you work on. Sometimes we choose problems based solely on our personal curiosity, other times due to funding commitments. This time I was trying to decide about a small project assignment using computer graphics based solely on personal curiosity. One insight I had some time back before starting graduate school was the importance of image processing on computer graphics, especially when it comes to rendering and synthesizing textures. I thought this problem was interesting for several reasons: It was a relatively simple but well defined problem, it required knowledge about image processing, graphics, data structures, statistics, visual perception and optimization. There was already a body of knowledge from where I could learn. And there have been a lot of successful applications and future works based on those methods. I can mention now image inpainting, non photo realistic rendering and some popular seam carving methods on image processing. &lt;br /&gt;
&lt;br /&gt;
The problem of texture synthesis can be described as follows: Let&#39;s say we need to put a texture on a large floor for a video game, but we only have a texture image of a small size. How do we texturize the entire floor? One thing we can do is to repeat our small image over and over until the whole surface is covered. We will obtain easily noticeable boundaries, and even if we create special textures that match in the boundaries cylindrically we will still notice the same pattern repeating over and over at a fixed rate. The ideal solution would be to create a method that &#39;learns&#39; the texture in order to create a larger one that can give you the same appearance locally and globally as the original texture.&lt;br /&gt;
&lt;br /&gt;
I looked at several publications on this and invariably the use of image samples to synthesize textures was the one that had established the most profound impact in the area. The idea of these methods is to take small image patches from the image pattern that you want to reproduce and place them randomly in the output texture but taking care of merging the boundaries without noticeable effects. I can&#39;t really survey those methods in a blog post but I actually did a small survey on them in this technical report&lt;br /&gt;
&lt;a href=&quot;http://www.cs.sunysb.edu/~vordonezroma/texturesynth.pdf&quot;&gt;http://www.cs.sunysb.edu/~vordonezroma/texturesynth.pdf&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
I chose to implement the method described in the SIGGRAPH 2001 paper named &#39;Image Quilting for Texture Synthesis and Transfer&#39; by AA Efros (Berkeley) and WT Freeman (MERL). &amp;nbsp;Now 9 years after the paper was originally published and 1 year after I decided to take a look and implement this method, Prof. Efros was awarded the Significant New Researcher Award at this year SIGGRAPH 2010. &amp;nbsp; An excerpt of the award recognition reads:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&#39;...Efros has published in a variety of areas in computer graphics&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;and computer vision, but his work can be broadly characterized&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;as employing data-driven approaches to solve problems that are&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;difficult to model using parametric methods. For example his work&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;in texture synthesis by example revolutionized an area in which&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;previous researchers had largely employed parametric approaches&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;with moderate success ...&#39;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Which also summarizes what I had in mind before, this method and problem was one that was significant, has a proven track of applications derived from it, I can learn from and is definitely worth looking at. I created a video of my program synthesizing several textures. I include here the video and the slides that I presented in my class of Computer Graphics under the kind supervision of Prof. Hong Qin.&lt;br /&gt;
&lt;br /&gt;
&lt;object height=&quot;340&quot; width=&quot;560&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/t6DzioKuVEs?fs=1&amp;amp;hl=en_US&amp;amp;rel=0&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot;&gt;&lt;/param&gt;&lt;embed src=&quot;http://www.youtube.com/v/t6DzioKuVEs?fs=1&amp;amp;hl=en_US&amp;amp;rel=0&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;560&quot; height=&quot;340&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;center&gt;&lt;br /&gt;
&lt;div id=&quot;__ss_2802719&quot; style=&quot;width: 425px;&quot;&gt;&lt;object height=&quot;355&quot; id=&quot;__sse2802719&quot; width=&quot;425&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=texturesynthesis-091230151953-phpapp01&amp;rel=0&amp;stripped_title=texture-synthesis&quot; /&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;/&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot;/&gt;&lt;embed name=&quot;__sse2802719&quot; src=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=texturesynthesis-091230151953-phpapp01&amp;rel=0&amp;stripped_title=texture-synthesis&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;425&quot; height=&quot;355&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
&lt;div style=&quot;padding: 5px 0 12px;&quot;&gt;View more &lt;a href=&quot;http://www.slideshare.net/&quot;&gt;presentations&lt;/a&gt; from &lt;a href=&quot;http://www.slideshare.net/vicente.ordonez&quot;&gt;Vicente Ordonez&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;&lt;/center&gt;</description><link>http://bluevincent.blogspot.com/2010/09/texture-synthesis-computer-graphics-and.html</link><author>noreply@blogger.com (Vicente Ordonez)</author><thr:total>0</thr:total></item></channel></rss>