<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-901450827416843192</id><updated>2011-08-01T10:45:00.153-07:00</updated><category term='simplicity engineering complexity complicated simple music algorithms'/><title type='text'>Pere Ferrera Bertran</title><subtitle type='html'>Engineering thoughts</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://ferrerabertran.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/901450827416843192/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://ferrerabertran.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Pere Ferrera Bertran</name><uri>http://www.blogger.com/profile/15193988750211986641</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_pdu3R1NtfUs/Sv00ZbDKUtI/AAAAAAAAAAQ/zqs9MYnLa6o/S220/0f2e6de.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>17</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-901450827416843192.post-596991415799086923</id><published>2011-05-07T02:54:00.000-07:00</published><updated>2011-05-07T03:08:02.164-07:00</updated><title type='text'>Datasalt</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-dcDQPp9YxbI/TcAarHV3IWI/AAAAAAAAAf0/PjEyVVMnvOI/s320/Datasalt%2BTransparente%2Bletras%2Bnegras.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 67px;" src="http://2.bp.blogspot.com/-dcDQPp9YxbI/TcAarHV3IWI/AAAAAAAAAf0/PjEyVVMnvOI/s320/Datasalt%2BTransparente%2Bletras%2Bnegras.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;I like to start new exciting things in spring. I think it's the best season of the year. It's not that cold to hide at home and it's not that hot yet to rest all day long. &lt;br /&gt;&lt;br /&gt;After several years working at different Internet companies I've decided to start my own one. I am creating a company with &lt;a href="http://www.ivanprado.es"&gt;Iván de Prado&lt;/a&gt; around the "Big Data" market which is called &lt;a href="http://www.datasalt.com"&gt;Datasalt&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;Simply put, we're going to &lt;span style="font-style:italic;"&gt;add some salt&lt;/span&gt; to your data. We'll analyze, transform and play with any amount of data thanks to the &lt;span style="font-weight:bold;"&gt;cloud&lt;/span&gt; and technologies like &lt;span style="font-weight:bold;"&gt;Hadoop&lt;/span&gt;, &lt;span style="font-weight:bold;"&gt;SOLR&lt;/span&gt;, &lt;span style="font-weight:bold;"&gt;Cassandra&lt;/span&gt;, &lt;span style="font-weight:bold;"&gt;MongoDB&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;We'll be working on new products and tools that'll help us, our customers and the open-source community.&lt;br /&gt;&lt;br /&gt;Checkout our &lt;a href="http://www.datasalt.com/blog/es/"&gt;spanish&lt;/a&gt; and &lt;a href="http://www.datasalt.com/blog"&gt;english&lt;/a&gt; blogs!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/901450827416843192-596991415799086923?l=ferrerabertran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ferrerabertran.blogspot.com/feeds/596991415799086923/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://ferrerabertran.blogspot.com/2011/05/datasalt.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/901450827416843192/posts/default/596991415799086923'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/901450827416843192/posts/default/596991415799086923'/><link rel='alternate' type='text/html' href='http://ferrerabertran.blogspot.com/2011/05/datasalt.html' title='Datasalt'/><author><name>Pere Ferrera Bertran</name><uri>http://www.blogger.com/profile/15193988750211986641</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_pdu3R1NtfUs/Sv00ZbDKUtI/AAAAAAAAAAQ/zqs9MYnLa6o/S220/0f2e6de.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-dcDQPp9YxbI/TcAarHV3IWI/AAAAAAAAAf0/PjEyVVMnvOI/s72-c/Datasalt%2BTransparente%2Bletras%2Bnegras.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-901450827416843192.post-4523195024974577334</id><published>2011-05-07T02:49:00.000-07:00</published><updated>2011-05-07T02:54:17.351-07:00</updated><title type='text'>Linkody</title><content type='html'>How do you check whether your site is still being linked by site X? Is there a way to handle the status of several backlinks automatically? Yes, there is! Just check this "backlink checker" out. It's called &lt;a href="http://www.linkody.com/"&gt;Linkody&lt;/a&gt;. It'll handle it all for you and notify you when that bad friend just removed a link of yours from his site.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/901450827416843192-4523195024974577334?l=ferrerabertran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ferrerabertran.blogspot.com/feeds/4523195024974577334/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://ferrerabertran.blogspot.com/2011/05/linkody.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/901450827416843192/posts/default/4523195024974577334'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/901450827416843192/posts/default/4523195024974577334'/><link rel='alternate' type='text/html' href='http://ferrerabertran.blogspot.com/2011/05/linkody.html' title='Linkody'/><author><name>Pere Ferrera Bertran</name><uri>http://www.blogger.com/profile/15193988750211986641</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_pdu3R1NtfUs/Sv00ZbDKUtI/AAAAAAAAAAQ/zqs9MYnLa6o/S220/0f2e6de.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-901450827416843192.post-1198961229788484196</id><published>2010-11-02T07:46:00.001-07:00</published><updated>2010-11-02T07:55:11.055-07:00</updated><title type='text'>Percolator</title><content type='html'>&lt;a href="http://research.google.com/pubs/pub36726.html"&gt;Big things happening&lt;/a&gt;. Google described how they implemented an ACID-Compliant distributed transaction system on top of BigTable. Some people out there claiming Map/Reduce is dead just because Google is not using batch processing anymore for indexing. The fact is that Percolator is not a general-purpose system, i.e. it can't do joins. &lt;br /&gt;&lt;br /&gt;It kind of recovers the old idea of triggers - just that now triggers can also scale horizontally. Plus these triggers are written in a 21th century language, not in PL/SQL - BigTable and Percolator communicate through RPCs.&lt;br /&gt;&lt;br /&gt;I don't think Map/Reduce is dead. It will still be an elegant programming model suitable for most data processes. &lt;br /&gt;&lt;br /&gt;However speaking about real-time, huge data sets: things are changing.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/901450827416843192-1198961229788484196?l=ferrerabertran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ferrerabertran.blogspot.com/feeds/1198961229788484196/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://ferrerabertran.blogspot.com/2010/11/percolator.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/901450827416843192/posts/default/1198961229788484196'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/901450827416843192/posts/default/1198961229788484196'/><link rel='alternate' type='text/html' href='http://ferrerabertran.blogspot.com/2010/11/percolator.html' title='Percolator'/><author><name>Pere Ferrera Bertran</name><uri>http://www.blogger.com/profile/15193988750211986641</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_pdu3R1NtfUs/Sv00ZbDKUtI/AAAAAAAAAAQ/zqs9MYnLa6o/S220/0f2e6de.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-901450827416843192.post-2911887681744822931</id><published>2010-09-13T04:45:00.000-07:00</published><updated>2010-09-13T05:10:04.766-07:00</updated><title type='text'>Dream awareness and its complexity</title><content type='html'>Probably you'll know about &lt;a href="http://en.wikipedia.org/wiki/Lucid_dream"&gt;lucid dreaming&lt;/a&gt;. If not, it is a very interesting matter worth reading about it. Despite all the mythology and pseudo-science surrounding it (astral bodies, astral traveling and such), lucid dreaming is a scientific topic firstly investigated by &lt;a href="http://en.wikipedia.org/wiki/Stephen_LaBerge"&gt;PhD Stephen LaBerge&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;There's been this recent movie called Inception that kind of has to do with it - but frankly I'm not strongly recommending it. &lt;br /&gt;&lt;br /&gt;From time to time I happen to be 100% aware that I'm dreaming. More rarely, these dreams last long and are very detailed and real. I probably could count with my fingers the times this has happened to me.&lt;br /&gt;&lt;br /&gt;Last night I had one of these. After realizing I was dreaming, I ended up exploring the world that my subconscious was continuously creating and doing random stuff to see how physics seem to be broken in dreams. I remember me throwing a pen and watching it 'fall up' instead of falling down. There was an old vintage TV that I wanted to break with an ashtray and the ashtray disintegrated itself when colliding with the TV - isn't it a beautiful metaphor for 'old things never die'?&lt;br /&gt;&lt;br /&gt;Now there's the interesting part of the dream. I wanted to test the creativity of my subconscious by rapidly moving from room to room in the dream flat I was in. Every new room I discovered was more of an opened space and I was slowly moving somewhere outdoors. Every new space I discovered was larger and more detailed. I finally ended up in a huge field with bridges, walls, rivers, lakes, trees, mountains and hundreds of thousands of people walking, sitting, talking, smoking or having a drink. I slowly walked through this massive event and asked to myself: "Where do all these faces come from? Is my mind kind of creating them on-the-fly? Is my mind recovering faces from a database of random people who walk in the street everyday?". I was shocked. If I was asked to draw something beautiful in a paper, it would probably take me years to recreate all what I was contemplating. And it was all happening real-time. &lt;br /&gt;&lt;br /&gt;The dream ended after I talked to a random blonde girl. She was normal except for the fact that her eyes were drawn manga-style instead of them being real. I told her: "You have weird eyes". And the dream ended.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/901450827416843192-2911887681744822931?l=ferrerabertran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ferrerabertran.blogspot.com/feeds/2911887681744822931/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://ferrerabertran.blogspot.com/2010/09/dream-awareness-and-its-complexity.html#comment-form' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/901450827416843192/posts/default/2911887681744822931'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/901450827416843192/posts/default/2911887681744822931'/><link rel='alternate' type='text/html' href='http://ferrerabertran.blogspot.com/2010/09/dream-awareness-and-its-complexity.html' title='Dream awareness and its complexity'/><author><name>Pere Ferrera Bertran</name><uri>http://www.blogger.com/profile/15193988750211986641</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_pdu3R1NtfUs/Sv00ZbDKUtI/AAAAAAAAAAQ/zqs9MYnLa6o/S220/0f2e6de.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-901450827416843192.post-8146081425970818389</id><published>2010-09-12T04:42:00.000-07:00</published><updated>2010-09-12T04:51:49.752-07:00</updated><title type='text'>Plume</title><content type='html'>In my spare time I am collaborating to the &lt;a href="http://github.com/tdunning/Plume"&gt;Plume&lt;/a&gt; project:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;"&lt;span class="Apple-style-span" style="font-family: 'Bitstream Vera Sans Mono', Courier, monospace; font-size: 11px; color: rgb(68, 68, 68); white-space: pre-wrap; "&gt;Plume is a (so far) serial, eager approximate clone of FlumeJava. The intent is to experiment with the design of the API both to understand the design decisions the Google team made and to see if there are good alternatives."&lt;/span&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I first knew of &lt;a href="http://www.ivanprado.es/2010/07/flumejava-easier-way-for-writing-map.html"&gt;FlumeJava thanks to Ivan&lt;/a&gt;. After I read Google's paper I thought "if this was implemented, it would be really usefull". I thought about beginning a prototype on my own, just to experiment. Just when I was about to write the first lines, I opened my reader and found &lt;a href="http://tdunning.blogspot.com/2010/07/new-grool.html"&gt;this blog post from Ted Dunning&lt;/a&gt;. It was just like its blog title: 'Surprise and Coincidence'!&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It's my first open-source collaboration and the closer we get to a first working version, the more exciting it gets. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Stay tuned, you hadoopers!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/901450827416843192-8146081425970818389?l=ferrerabertran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ferrerabertran.blogspot.com/feeds/8146081425970818389/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://ferrerabertran.blogspot.com/2010/09/plume.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/901450827416843192/posts/default/8146081425970818389'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/901450827416843192/posts/default/8146081425970818389'/><link rel='alternate' type='text/html' href='http://ferrerabertran.blogspot.com/2010/09/plume.html' title='Plume'/><author><name>Pere Ferrera Bertran</name><uri>http://www.blogger.com/profile/15193988750211986641</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_pdu3R1NtfUs/Sv00ZbDKUtI/AAAAAAAAAAQ/zqs9MYnLa6o/S220/0f2e6de.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-901450827416843192.post-3711743850367638764</id><published>2010-07-19T05:03:00.000-07:00</published><updated>2010-07-19T05:38:35.025-07:00</updated><title type='text'>We are information</title><content type='html'>Do you know which is the point in &lt;a href="http://en.wikipedia.org/wiki/Cryonics"&gt;cryonics&lt;/a&gt;? It is to avoid the &lt;a href="http://en.wikipedia.org/wiki/Information-theoretic_death"&gt;information-theoretic death&lt;/a&gt; of our brain. So, &lt;span style="font-weight: bold;"&gt;we are but information&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Then I thought: if the point is to keep our information and we are but information, couldn't we have another - more scalable - way of preserving it rather than having tons of frozen brains all over a room?&lt;br /&gt;&lt;br /&gt;What if we did a dump of ourselves? What is the information we have to dump?&lt;br /&gt;&lt;br /&gt;First of all, we need a dump of our DNA. Then, we need to dump the actual state of our brain to not loose our acquired knowledge and personality. We can nowadays express the DNA as a sequence of bytes (althought it seems &lt;a href="http://www.neowin.net/forum/topic/815004-length-of-human-dna-in-bytes/"&gt;there is some discerning on it&lt;/a&gt;). But what about our brain? Will &lt;a href="http://en.wikipedia.org/wiki/Computational_neuroscience"&gt;computational neuroscience&lt;/a&gt; or some other discipline be able to transfer someday the state of our brain to a sequence of bytes?&lt;br /&gt;&lt;br /&gt;Can you imagine the power of being able to save the information in your brain to a computer, modifying it and then being able to assimilate it again?&lt;br /&gt;&lt;br /&gt;- You could apply patches. For example, you could apply the patch to modern times depression and instantly overcome it.&lt;br /&gt;- You could backup important memories just as you backup your pictures. You wouldn't need to write down everything that happens in your life to a notebook anymore!&lt;br /&gt;&lt;br /&gt;On the other hand:&lt;br /&gt;&lt;br /&gt;- Your hidden thoughts won't be hidden anymore. You would have to encrypt them.&lt;br /&gt;- Important organizations could steal brain data to extract information, predictions on aggregate people wishes, political views, and more. Exactly what they do now, just that it would be easier.&lt;br /&gt;&lt;br /&gt;Current cryogenic institutes have a replication factor of one just because there is only one copy of the DNA and the brain state of a human being - the brain itself. Understanding ourselves as an array of bytes opens the door to the usage of modern IT methods for &lt;span style="font-weight: bold;"&gt;persisting&lt;/span&gt; human beings.&lt;br /&gt;&lt;br /&gt;I wouldn't say it is impossible that we can restore a human being from a backup in the future just like we restore documents now.&lt;br /&gt;&lt;br /&gt;"&lt;span style="font-style: italic;"&gt;Damn, a terrorist had put a bomb in my car and I died yesterday. I had to restore myself from last week's backup&lt;/span&gt;"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/901450827416843192-3711743850367638764?l=ferrerabertran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ferrerabertran.blogspot.com/feeds/3711743850367638764/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://ferrerabertran.blogspot.com/2010/07/we-are-information.html#comment-form' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/901450827416843192/posts/default/3711743850367638764'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/901450827416843192/posts/default/3711743850367638764'/><link rel='alternate' type='text/html' href='http://ferrerabertran.blogspot.com/2010/07/we-are-information.html' title='We are information'/><author><name>Pere Ferrera Bertran</name><uri>http://www.blogger.com/profile/15193988750211986641</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_pdu3R1NtfUs/Sv00ZbDKUtI/AAAAAAAAAAQ/zqs9MYnLa6o/S220/0f2e6de.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-901450827416843192.post-4862246838457528116</id><published>2010-06-16T12:29:00.000-07:00</published><updated>2010-07-19T05:02:30.894-07:00</updated><title type='text'>Software engineering</title><content type='html'>&lt;a href="http://www.stevemcconnell.com/ieeesoftware/bp13.htm" target="_blank"&gt;Should software development be engineering?&lt;/a&gt; We have enough knowledge nowadays to speak about &lt;span style="font-weight: bold;"&gt;software engineering&lt;/span&gt;. Practices used in design, code construction, integration and QA can be scientifically applied towards practical ends.&lt;br /&gt;&lt;br /&gt;I have seen people using the word "engineering" as a synonym of bureaucracy, as if the concept of software engineering was opposed to the use of modern software development methodologies like RAD. Take this &lt;a href="http://martinfowler.com/articles/newMethodology.html" target="_blank"&gt;essay&lt;/a&gt; from Martin Flower with the quote "[...] &lt;span style="font-style: italic;"&gt;reaction to the bureaucracy of the engineering methodologies&lt;/span&gt; [...]" as an example.&lt;br /&gt;&lt;br /&gt;However, &lt;a href="http://en.wikipedia.org/wiki/Agile_software_development#Contrasted_with_other_iterative_development_methods" target="_blank"&gt;wikipedia comes to the rescue&lt;/a&gt; with a sentence that I consider valid: "[...] &lt;span style="font-style: italic;"&gt;This distinction is misleading, as it implies that agile methods are 'unplanned' or 'undisciplined'. Further, agile teams may employ very  highly disciplined formal methods&lt;/span&gt; [...]"&lt;br /&gt;&lt;br /&gt;I believe brilliant projects start by proper specs, design and continue with a strong test-driven coding.&lt;br /&gt;&lt;br /&gt;Unfortunately, nowadays most applied methodology is still "code and fix". Specially within strong market-driven companies that ask their developers to provide prototypes with very short deadlines - just for the sake of releasing something before their competitors.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/901450827416843192-4862246838457528116?l=ferrerabertran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ferrerabertran.blogspot.com/feeds/4862246838457528116/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://ferrerabertran.blogspot.com/2010/06/software-engineering.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/901450827416843192/posts/default/4862246838457528116'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/901450827416843192/posts/default/4862246838457528116'/><link rel='alternate' type='text/html' href='http://ferrerabertran.blogspot.com/2010/06/software-engineering.html' title='Software engineering'/><author><name>Pere Ferrera Bertran</name><uri>http://www.blogger.com/profile/15193988750211986641</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_pdu3R1NtfUs/Sv00ZbDKUtI/AAAAAAAAAAQ/zqs9MYnLa6o/S220/0f2e6de.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-901450827416843192.post-4774368738970147217</id><published>2010-06-16T11:47:00.000-07:00</published><updated>2010-06-16T12:22:02.899-07:00</updated><title type='text'>Computers versus humans: feelings and emotions</title><content type='html'>In Barcelona we have a metro line that is entirely driven by computers. I find it funny that in general we, as humans, tend to rely more on human drivers than computer-assisted ones. I think it is a cultural matter that arises from ignorance and that we will pull through over the next generations. It is probably due to human speciesism too.&lt;br /&gt;&lt;br /&gt;Now, from my point of view there is one critical thing that differentiates us from computers: &lt;span style="font-weight:bold;"&gt;feelings&lt;/span&gt; and &lt;span style="font-weight:bold;"&gt;emotions&lt;/span&gt;. These may bring a human to poorly perform in any task. I see them as counter-productive routines written in our brain that are triggered more or less often depending on our nature as individuals. Can you imagine what would happen if computers had feelings and emotions influencing their activity? &lt;br /&gt;&lt;br /&gt;- Imagine an emotional web service whom you send several incorrect requests in a row. It gets pissed off with you and decides not to return you anything in the next several requests...&lt;br /&gt;&lt;br /&gt;- Imagine an emotional interpreter that has sentimental problems. It can't properly concentrate and will throw unexpected, non-deterministic errors to your scripts that you won't be able to debug...&lt;br /&gt;&lt;br /&gt;- Imagine that two components of your server are angry with each other and decide not to talk to each other anymore for a while...&lt;br /&gt;&lt;br /&gt;The magnitude of the influence of emotions and feelings in our work life is so big that good companies have to sort out all kind of problems related to them. They even might have personnel only dedicated to team building. Failure to create a good environment for positive human emotions to arise could lead to a company's disaster. What is even worst, is that our psychology tends to change very little with time and in the end it becomes a key component for recruiters to make the appropriate decision.&lt;br /&gt;&lt;br /&gt;Diego Campo has &lt;a href="http://xmariachi.blogspot.com/2010/06/gestion-de-las-emociones-en-el-deporte.html"&gt;a nice theory about human performance in sports where feelings pay an important role&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/901450827416843192-4774368738970147217?l=ferrerabertran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ferrerabertran.blogspot.com/feeds/4774368738970147217/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://ferrerabertran.blogspot.com/2010/06/computers-versus-humans-feelings-and.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/901450827416843192/posts/default/4774368738970147217'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/901450827416843192/posts/default/4774368738970147217'/><link rel='alternate' type='text/html' href='http://ferrerabertran.blogspot.com/2010/06/computers-versus-humans-feelings-and.html' title='Computers versus humans: feelings and emotions'/><author><name>Pere Ferrera Bertran</name><uri>http://www.blogger.com/profile/15193988750211986641</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_pdu3R1NtfUs/Sv00ZbDKUtI/AAAAAAAAAAQ/zqs9MYnLa6o/S220/0f2e6de.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-901450827416843192.post-1072624014789814997</id><published>2010-03-31T10:05:00.000-07:00</published><updated>2010-09-12T12:16:17.232-07:00</updated><title type='text'>Virtual Theremin</title><content type='html'>I have been working in a prototype of a synthesizer that converts the output of a webcam into sound. The name 'Virtual Theremin' is not very original as there appears to be other similar things exactly named like that - I am very bad for names. I will talk about them later.&lt;br /&gt;&lt;br /&gt;You can see how the VT looks like in this &lt;a href="http://www.youtube.com/results?search_query=ferrerabertran+VT&amp;amp;search_type=&amp;amp;aq=f" target="_blank"&gt;demo videos I just recorded&lt;/a&gt;.&lt;div&gt;&lt;br /&gt;&lt;b&gt;So how does it work?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;To illustrate how the VT is implemented, let's imagine our friend &lt;span style="font-style:italic;"&gt;Felix the cat&lt;/span&gt; is the input of the VT in a certain moment in time. Then, the state of the wave function will be obtained by computing two projections: the one in the X axis and the one in the Y axis. To compute the projections I just consider p(x) = sum(img(x, y)) for all possible y values, and viceversa. Each projection has different meaning for the computation of the wave form. The projection in Y is used to represent a spectral analysis whereas the projection in X is used to calculate a base frequency. For the spectral analysis I just discretize the projection to a reasonable limit (16 partials) and for the base frequency I compute the mean of the distribution of the projection.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_pdu3R1NtfUs/S7OCQIYbZ_I/AAAAAAAAABc/6iLDn_keQ8s/s1600/VT.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_pdu3R1NtfUs/S7OCQIYbZ_I/AAAAAAAAABc/6iLDn_keQ8s/s320/VT.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5454846787315263474" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Before doing the projections, I binarize the image and optionally apply gradient detection to it.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Hasn't someone done something like that?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;I am aware that very similar things exist. There are very complex proprietary pieces of software that can do almost anything with live video. Speaking about simple software like mine, &lt;a href="http://www.youtube.com/watch?v=DIdO5tPi8LA" target="_blank"&gt;this&lt;/a&gt; and &lt;a href="http://www.youtube.com/watch?v=sF_S2OVXqS8" target="_blank"&gt;this&lt;/a&gt; are using a different approach: they are getting the input of the waveform inside the webcam output, whereas in the VT the whole webcam output is the input of the waveform. I think this is a big difference. It probably has been simpler to implement (otherwise you have to first recognize some kind of object to get some input) and it leads to infinite possibilities (any image can be the input of a waveform).&lt;br /&gt;&lt;br /&gt;Finally, &lt;a href="http://prototypen.com/blog/falk/archive/coolprojects/wii-visual-ther.html" target="_blank"&gt;this thing implemented using the Wii&lt;/a&gt; is really cool.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/901450827416843192-1072624014789814997?l=ferrerabertran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ferrerabertran.blogspot.com/feeds/1072624014789814997/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://ferrerabertran.blogspot.com/2010/03/virtual-theremin.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/901450827416843192/posts/default/1072624014789814997'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/901450827416843192/posts/default/1072624014789814997'/><link rel='alternate' type='text/html' href='http://ferrerabertran.blogspot.com/2010/03/virtual-theremin.html' title='Virtual Theremin'/><author><name>Pere Ferrera Bertran</name><uri>http://www.blogger.com/profile/15193988750211986641</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_pdu3R1NtfUs/Sv00ZbDKUtI/AAAAAAAAAAQ/zqs9MYnLa6o/S220/0f2e6de.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_pdu3R1NtfUs/S7OCQIYbZ_I/AAAAAAAAABc/6iLDn_keQ8s/s72-c/VT.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-901450827416843192.post-5204607715431574244</id><published>2010-03-17T15:15:00.000-07:00</published><updated>2010-03-18T07:55:21.329-07:00</updated><title type='text'>If a painter was a computer engineer...</title><content type='html'>Our friend painter in &lt;span style="font-style:italic;"&gt;everything-as-computer-engineering-world&lt;/span&gt; wakes up every morning and starts painting at 9.30 AM. He knows what he has to do: he has to paint a certain picture. He has the picture in mind and he has been taught how to paint it. He starts painting and realizes that his favourite black pen is painting blue ink today. "Oh, I saw that happening sometime. It is not a &lt;a href="http://en.wikipedia.org/wiki/Reproducibility"&gt;reproducible&lt;/a&gt; problem, and I don't know what's going on. Last time I stored the pen in its box, opened it again and it painted black again". So our friend painter does what he thought it would work but, to his surprise, the pen is still painting blue afterwards. "Damn, there is something going wrong in here. I will check the documentation". The painter reads the documentation of his favourite black pen and searches for a section called F.A.P. (Frequently Arising Problems). He searches for the point "My pen is painting blue instead of black. What can be going on?". "Yeah, that's it, here we go". The documentation says: "We are aware that, under certain circumstances, this pen might paint in different colours than the one it is meant to paint. Please check for an updated refill". &lt;br /&gt;&lt;br /&gt;Got it. Our friend goes to an ink shop and asks for an updated refill for his pen. He asks the seller, Mr Google, "What should I order? My pen is painting blue instead of black today". The seller opens a book by its first page and gives him several options:&lt;br /&gt;&lt;br /&gt;Mr. Google - "Did you check the humidity of your painting room? Above 64% of humidity may cause your pen to convert black into blue ink. I have an updated refill that will avoid this problem at least above 40% of humidity. &lt;br /&gt;&lt;br /&gt;Unsure of that, the painter goes back home and checks its humidity. 55%, nothing to worry about. &lt;br /&gt;&lt;br /&gt;Mr. Google - "Did you dream with Russian women? Some people are experiencing blue ink after dreaming with Russian women. In this case you may want to wait for tomorrow, there is no known fix for that problem."&lt;br /&gt;&lt;br /&gt;The painter hesitates for a while. "I don't remember what I dreamt!".&lt;br /&gt;&lt;br /&gt;Mr. Google - "Do you feel rather depressed? Some depressed people have experienced random blue ink. To solve this issue, you have to draw using your left hand until the black colour is back."&lt;br /&gt;&lt;br /&gt;The painter thinks about it. "I could destroy what I've done so far by trying to paint with my left hand. And I can't depend on drawing with my left hand: that's not a &lt;a href="http://en.wikipedia.org/wiki/Scalability"&gt;scalable&lt;/a&gt; solution!".&lt;br /&gt;&lt;br /&gt;Mr. Google - "If you are painting inside a 32 square meters room, moving to a 64 square meters room may help".&lt;br /&gt;&lt;br /&gt;"OK, but my flat is not that big...".&lt;br /&gt;&lt;br /&gt;Mr. Google - "Does this pen really fit your painting project? There are too many opened issues for it. Maybe you should consider using a different pen?"&lt;br /&gt;&lt;br /&gt;"Damn! I would have to repaint everything from scratch! In &lt;span style="font-style:italic;"&gt;everything-as-computer-engineering-world&lt;/span&gt;, it is not possible to paint something with one pen and then continue painting it with another pen."&lt;br /&gt;&lt;br /&gt;Mr. Google looks at the second page of its book - "Did you hear a man laughing downstairs while you painted blue for the first time? In that case there is a known fix for the problem."&lt;br /&gt;&lt;br /&gt;"Ah, the man laughing downstairs. It remains me of something. What should I do?".&lt;br /&gt;&lt;br /&gt;"Just go change the blue refill he put in your pen by a standard black one. And think about a revenge".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/901450827416843192-5204607715431574244?l=ferrerabertran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ferrerabertran.blogspot.com/feeds/5204607715431574244/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://ferrerabertran.blogspot.com/2010/03/if-painter-was-computer-engineer.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/901450827416843192/posts/default/5204607715431574244'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/901450827416843192/posts/default/5204607715431574244'/><link rel='alternate' type='text/html' href='http://ferrerabertran.blogspot.com/2010/03/if-painter-was-computer-engineer.html' title='If a painter was a computer engineer...'/><author><name>Pere Ferrera Bertran</name><uri>http://www.blogger.com/profile/15193988750211986641</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_pdu3R1NtfUs/Sv00ZbDKUtI/AAAAAAAAAAQ/zqs9MYnLa6o/S220/0f2e6de.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-901450827416843192.post-2681065657082628525</id><published>2010-03-02T11:17:00.000-08:00</published><updated>2010-03-02T11:45:11.559-08:00</updated><title type='text'>Virtual or real?</title><content type='html'>Since almost a year, I have been buying some effect pedals for my instruments. I am slowly building a real &lt;a href="http://en.wikipedia.org/wiki/Daisy_chain_(electrical_engineering)"&gt;daisy chain&lt;/a&gt;. Someone could think: what do you need that for? You can buy one &lt;a href="http://www.native-instruments.com/#/en/products/guitar/guitar-rig-4-pro/"&gt;Guitar Rig&lt;/a&gt; and you'll be able to create any possible effect chain, including effects and amp/microphone emulations that you'll never buy in your life! Well, this is kind of true. In fact, I have been using guitar rig for a while. The thing is, I got sick of manipulating virtual interfaces. I like to press real buttons, watch real leds turn on and use real smooth knobs. A virtual interface for that will never be as pleasant to use as the real one. &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_pdu3R1NtfUs/S41neCtwNGI/AAAAAAAAABU/Ed8KdAD7c0c/s1600-h/mis+pedales.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://4.bp.blogspot.com/_pdu3R1NtfUs/S41neCtwNGI/AAAAAAAAABU/Ed8KdAD7c0c/s320/mis+pedales.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5444121290383307874" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Conversely, there are many things whose experience improve in their virtual version. Even though I don't understand it, it appears &lt;a href="http://www.newscientist.com/article/dn16624-itunes-university-better-than-the-real-thing.html"&gt;virtual lectures are better than real ones&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;And &lt;a href="http://www.pcmag.com/article2/0,2817,32908,00.asp"&gt;Mark peace in this article's ending&lt;/a&gt; is right, children of the future will experience virtual things pretty much the same as we experience real things now. So, probably my son will plug, unplug and tweak all sort of virtual effect pedals; to him they will appear as if they were "real".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/901450827416843192-2681065657082628525?l=ferrerabertran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ferrerabertran.blogspot.com/feeds/2681065657082628525/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://ferrerabertran.blogspot.com/2010/03/virtual-or-real.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/901450827416843192/posts/default/2681065657082628525'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/901450827416843192/posts/default/2681065657082628525'/><link rel='alternate' type='text/html' href='http://ferrerabertran.blogspot.com/2010/03/virtual-or-real.html' title='Virtual or real?'/><author><name>Pere Ferrera Bertran</name><uri>http://www.blogger.com/profile/15193988750211986641</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_pdu3R1NtfUs/Sv00ZbDKUtI/AAAAAAAAAAQ/zqs9MYnLa6o/S220/0f2e6de.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_pdu3R1NtfUs/S41neCtwNGI/AAAAAAAAABU/Ed8KdAD7c0c/s72-c/mis+pedales.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-901450827416843192.post-3089607663526789127</id><published>2010-02-08T07:51:00.000-08:00</published><updated>2010-02-08T08:51:14.297-08:00</updated><title type='text'>Regarding the simulation hypothesis</title><content type='html'>There appears to be a lot of bad arguments against the &lt;a href="http://www.simulation-argument.com/matrix.html"&gt;simulation hypothesis&lt;/a&gt;. As an example, once I read someone saying that simulated realities should be of lower complexity than the reality which is simulating them. I think it is not true, and that &lt;a href="http://en.wikipedia.org/wiki/Self-replication"&gt;self-replication&lt;/a&gt; is only one example. There is also this &lt;a href="http://en.wikipedia.org/wiki/Von_Neumann_universal_constructor"&gt;Von Neumann universal constructor&lt;/a&gt; which not only can reproduce itself but it can also grow in complexity with time. &lt;br /&gt;&lt;br /&gt;I went to &lt;a href="http://en.wikipedia.org/wiki/Simulation_hypothesis#cite_note-Bostrom-4"&gt;wikipedia to read more about the simulation hypothesis&lt;/a&gt; and found a list of "However"'s that surprised me a lot. I will comment them all:&lt;br /&gt;&lt;br /&gt;- "&lt;span style="font-style:italic;"&gt;The assumption of this theorem is very far from being complete [...]&lt;/span&gt;"&lt;br /&gt;&lt;br /&gt;Not very good for the first one: a negative-proof fallacy.&lt;br /&gt;&lt;br /&gt;- "&lt;span style="font-style:italic;"&gt;Arguments against simulation realism: Gravitational singularity, any of scientifical singularities [...]&lt;/span&gt;"&lt;br /&gt;&lt;br /&gt;I don't see why an implementation of gravitation could not return Infinity for a certain combination of space and time coordinates.&lt;br /&gt;&lt;br /&gt;- "&lt;span style="font-style:italic;"&gt;[...] Weak helpfulness of Weather simulation, weak helpfulness of Earthquake prediction [...]&lt;/span&gt;"&lt;br /&gt;&lt;br /&gt;I don't quite understand this one. The fact that current weather simulators could improve doesn't seem to say nothing against or in favour of the simulation hypothesis.&lt;br /&gt;&lt;br /&gt;- "&lt;span style="font-style:italic;"&gt;[...] Butterfly effect [...]&lt;/span&gt;"&lt;br /&gt;&lt;br /&gt;Is this saying that simulations have to be linear? Aren't non-linear systems allowed?&lt;br /&gt;&lt;br /&gt;- "&lt;span style="font-style:italic;"&gt;Simulations are sometimes modified during their lifespan, but Physical constants (exact), Mathematical constants (exact), Exact trigonometric constants are stable (not to be confused with programming constants which are changeable&lt;/span&gt;)"&lt;br /&gt;&lt;br /&gt;This one is a bit blurry. First of all, programming constants are not generally changed once the program is compiled. All programs have some exact constants declared whose value doesn't change unless a hacker modifies the exact byte of the constant in the compiled code. Secondly, this argument is a fallacy; the fact that some simulations are modified during their lifespan doesn't mean that there can't be simulations whose foundations don't change at all. &lt;br /&gt;&lt;br /&gt;- "&lt;span style="font-style:italic;"&gt;Simulations are temporal ("can be turned off", "restarted"), so the longer we (mankind and/or a person) live, the less likely it is that we are part of a simulation&lt;/span&gt;"&lt;br /&gt;&lt;br /&gt;That is assuming that: "If a simulation is turned off or restarted, agents inside the simulation will notice it". I don't think that needs to be true. Maybe the universe just restarted now after being applied a patch and we didn't notice. &lt;br /&gt;&lt;br /&gt;- "&lt;span style="font-style:italic;"&gt;Simulation that is undetectable for scientists (for instance both astronomer and at the same time quantum physicist) would have to be very large and detailed, and hard to motivate with mankind ethic&lt;/span&gt;."&lt;br /&gt;&lt;br /&gt;This is a misunderstood in complexity. Complexity doesn't only arise from very large and detailed systems, it can arise from very simple ones. Exact examples for this are fractals and, in general, any non-linear system.&lt;br /&gt;&lt;br /&gt;- "&lt;span style="font-style:italic;"&gt;Theory about simulation undetectable by scientists is not approved by ockham razor principle.&lt;/span&gt;"&lt;br /&gt;&lt;br /&gt;As if the Ockham Razor was a dictator who says what is true and what is not! Even though, it is the best argument in the list.&lt;br /&gt;&lt;br /&gt;I think there isn't any reason why a system could not be simulated. Universally accepted &lt;a href="http://en.wikipedia.org/wiki/Church%E2%80%93Turing_thesis"&gt;Church-Turing hypothesis&lt;/a&gt; says Turing machines can execute any algorithm, and any digital computer is already a Turing machine given that it had unlimited resources. And in practice, none algorithm needs unlimited resources. &lt;br /&gt;&lt;br /&gt;However, &lt;a href="http://en.wikipedia.org/wiki/Technological_singularity"&gt;is the number of available computational resources going to become a singularity ever&lt;/a&gt;?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/901450827416843192-3089607663526789127?l=ferrerabertran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ferrerabertran.blogspot.com/feeds/3089607663526789127/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://ferrerabertran.blogspot.com/2010/02/regarding-simulation-hypothesis.html#comment-form' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/901450827416843192/posts/default/3089607663526789127'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/901450827416843192/posts/default/3089607663526789127'/><link rel='alternate' type='text/html' href='http://ferrerabertran.blogspot.com/2010/02/regarding-simulation-hypothesis.html' title='Regarding the simulation hypothesis'/><author><name>Pere Ferrera Bertran</name><uri>http://www.blogger.com/profile/15193988750211986641</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_pdu3R1NtfUs/Sv00ZbDKUtI/AAAAAAAAAAQ/zqs9MYnLa6o/S220/0f2e6de.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-901450827416843192.post-6838607412519015213</id><published>2010-01-27T07:20:00.001-08:00</published><updated>2010-09-12T12:19:49.787-07:00</updated><title type='text'>Algorithmic music generation</title><content type='html'>Because I have studied music as well as computer engineering, I am interested in all topics that involve computer science and music. I have researched a little bit on &lt;a href="http://digitalmusics.dartmouth.edu/~wowem/hardware/algorithmdefinition.html"&gt;algorithmic composition&lt;/a&gt; and created a tool that can generate music based on cyclic series. It is inspired by the theory of &lt;a href="http://en.wikipedia.org/wiki/Serialism"&gt;serialism&lt;/a&gt;, specially the theory behind &lt;a href="http://en.wikipedia.org/wiki/Twelve-tone_technique"&gt;dodecaphony&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_pdu3R1NtfUs/TI0nZs-sTcI/AAAAAAAAABw/s2E-tARMBII/s1600/smg.JPG"&gt;&lt;img src="http://2.bp.blogspot.com/_pdu3R1NtfUs/TI0nZs-sTcI/AAAAAAAAABw/s2E-tARMBII/s320/smg.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5516108441123048898" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 217px; " /&gt;&lt;/a&gt;&lt;div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span"  style="color:#0000EE;"&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/span&gt;&lt;/div&gt;The tool pretends to answer the question: can beautiful music be created by only using the rules of serialism?&lt;br /&gt;&lt;br /&gt;In short, what this tool does is generate music by using a simple rule: repeating a series of notes in such a way that none of the notes is more important than the rest. You generate a series of notes and the program will play it according to some parameters. You can shuffle the serie from time to time, transpose it, use retrograde or inverted series and even assign basic series of durations and intensities.&lt;br /&gt;&lt;br /&gt;The resulting MIDI file can be opened with any music editor and mixed with your favourite instruments.&lt;br /&gt;&lt;br /&gt;When doing algorithmic composition programming, there is always the risk of ending up creating yet another random music generator (though there are some &lt;a href="http://www.nosuch.com/tjt/tunetoys.html"&gt;funny random music generators&lt;/a&gt; out there, and even &lt;a href="http://www.essl.at/works/lexson-online.html"&gt;serious projects with awesome mechanics involved&lt;/a&gt;). In my case I decided to create something simple and controllable, so that you always know what's going on and can therefore change parameters based on something, not just on pure chance.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/901450827416843192-6838607412519015213?l=ferrerabertran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ferrerabertran.blogspot.com/feeds/6838607412519015213/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://ferrerabertran.blogspot.com/2010/01/algorithmic-music-generation.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/901450827416843192/posts/default/6838607412519015213'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/901450827416843192/posts/default/6838607412519015213'/><link rel='alternate' type='text/html' href='http://ferrerabertran.blogspot.com/2010/01/algorithmic-music-generation.html' title='Algorithmic music generation'/><author><name>Pere Ferrera Bertran</name><uri>http://www.blogger.com/profile/15193988750211986641</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_pdu3R1NtfUs/Sv00ZbDKUtI/AAAAAAAAAAQ/zqs9MYnLa6o/S220/0f2e6de.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_pdu3R1NtfUs/TI0nZs-sTcI/AAAAAAAAABw/s2E-tARMBII/s72-c/smg.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-901450827416843192.post-8547445152874157571</id><published>2010-01-13T12:27:00.000-08:00</published><updated>2010-01-13T13:20:53.587-08:00</updated><title type='text'>What if ... ?</title><content type='html'>&lt;br /&gt;One of the coolest thing the human being has is the ability of formulating questions and hypothesis. Sometimes, though, they are completely useless. &lt;br /&gt;&lt;br /&gt;- Inconsequential questions: &lt;a href="http://www.simulation-argument.com/matrix.html"&gt;What if the universe was a simulation&lt;/a&gt;? Well, it is funny to imagine, but it is completely inconsequential: from our point of view life goes the same way with or without it being it a simulation. &lt;br /&gt;&lt;br /&gt;- Hidden questions: The question 'What if a benevolent god created the universe?' is hiding a funnier one: 'What if an evil creator did the universe?'. If you think about it, if there was a creator, it is more likely to be a cruel god than a kind one (not a citation, but something I remember from &lt;span style="font-style:italic;"&gt;&lt;a href="http://www.amazon.co.uk/Can-Robot-Human-Perplexing-Philosophy/dp/1851685316"&gt;Peter Cave - Can a robot be human?&lt;/a&gt;&lt;/span&gt;).&lt;br /&gt;&lt;br /&gt;- Badly-defined questions: 'What if machines could think?', 'What if machines became intelligent?'. First of all, &lt;a href="http://en.wikipedia.org/wiki/Intelligence"&gt;what does thinking/being intelligent mean&lt;/a&gt;? Even if we built a machine that mimicked a human, someone could always say that &lt;span style="font-style:italic;"&gt;it is rather a machine, not a human&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;- Questions that have no answer: 'Who am I?', 'What is life for?'. Evolution brought us the ability of questioning things, but we don't need to question everything! Even though, it is strange to think that some questions just don't have an answer.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Meaning_of_life#Absurdism"&gt;Is the co-presence of man and the universe absurd&lt;/a&gt;? - (Funny how Camus defines religion as a philosophical suicide)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/901450827416843192-8547445152874157571?l=ferrerabertran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ferrerabertran.blogspot.com/feeds/8547445152874157571/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://ferrerabertran.blogspot.com/2010/01/what-if.html#comment-form' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/901450827416843192/posts/default/8547445152874157571'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/901450827416843192/posts/default/8547445152874157571'/><link rel='alternate' type='text/html' href='http://ferrerabertran.blogspot.com/2010/01/what-if.html' title='What if ... ?'/><author><name>Pere Ferrera Bertran</name><uri>http://www.blogger.com/profile/15193988750211986641</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_pdu3R1NtfUs/Sv00ZbDKUtI/AAAAAAAAAAQ/zqs9MYnLa6o/S220/0f2e6de.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-901450827416843192.post-43622188086269673</id><published>2009-12-16T12:07:00.000-08:00</published><updated>2009-12-16T13:33:43.281-08:00</updated><title type='text'>The human being: when a system becomes too complex</title><content type='html'>It is said that human beings are wise enough to save the earth. The fact is that we are doing not more than destroying it. Our complexity can save the world, but first of all our complexity devastates our environment. Wouldn't it be easier if we were just a bit simpler?&lt;br /&gt;&lt;br /&gt;Is the human being &lt;span style="font-style:italic;"&gt;a 'system' which became too complex&lt;/span&gt;?&lt;br /&gt;&lt;br /&gt;In my few years as engineer I have already witnessed the dead of systems because of their own complexity. Normally systems begin simple and small, they can be fully tested and easily monitored; they don't hurt anyone. But the process of incrementally adding components - and thus complexity - to the system is a very delicate one. When this is not done carefully, the system begins to be unstable, hard to mantain, impossible to modify and very difficult to debug. &lt;br /&gt;&lt;br /&gt;When an engineer confronts a system which has became too complex, the smart solution is destroying it and replacing it by a simpler one. In other words, complexity is most of the times a disadvantage, not an advantage.  &lt;br /&gt;&lt;br /&gt;Sometimes I think about how many complex things we have developed and how much complexity we go through in our daily routine and wonder if it wouldn't be better to be a simpler specie.&lt;br /&gt;&lt;br /&gt;What is my cat thinking when he stares at me while I am thinking about this all? Nothing. That's the power of simplicity.&lt;br /&gt;&lt;br /&gt;Ending quote from &lt;span style="font-style:italic;"&gt;Matrix&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;"I'd like to share a revelation that I've had during my time here. It came to me when I tried to classify your species and I realized that you're not actually mammals. Every mammal on this planet instinctively develops a natural equilibrium with the surrounding environment but you humans do not. You move to an area and you multiply and multiply until every natural resource is consumed and the only way you can survive is to spread to another area. There is another organism on this planet that follows the same pattern. Do you know what it is? A virus. Human beings are a disease, a cancer of this planet. You're a plague and we are the cure."&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;P.D. - Funny how human complexity can bypass natural selection according to &lt;a href="http://www.medicalnewstoday.com/articles/169819.php"&gt;this article&lt;/a&gt;. Not even the wisdom of our environment can destroy us.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/901450827416843192-43622188086269673?l=ferrerabertran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ferrerabertran.blogspot.com/feeds/43622188086269673/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://ferrerabertran.blogspot.com/2009/12/human-being-when-system-becomes-too.html#comment-form' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/901450827416843192/posts/default/43622188086269673'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/901450827416843192/posts/default/43622188086269673'/><link rel='alternate' type='text/html' href='http://ferrerabertran.blogspot.com/2009/12/human-being-when-system-becomes-too.html' title='The human being: when a system becomes too complex'/><author><name>Pere Ferrera Bertran</name><uri>http://www.blogger.com/profile/15193988750211986641</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_pdu3R1NtfUs/Sv00ZbDKUtI/AAAAAAAAAAQ/zqs9MYnLa6o/S220/0f2e6de.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-901450827416843192.post-4025640853333303974</id><published>2009-11-20T09:31:00.000-08:00</published><updated>2009-11-20T11:23:53.554-08:00</updated><title type='text'>Life as a search algorithm</title><content type='html'>&lt;a href='http://en.wikipedia.org/wiki/Search_algorithm#Uninformed_search'&gt;Uninformed search&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It is the simplest method and probably the less used one. I often find people building complex heuristics around things that can be simply solved by brute force. Why would you try to guess which one of these three girls will like to have a date with you? The search space is small enough, just try asking the three of them! &lt;br /&gt;&lt;br /&gt;&lt;a href='http://en.wikipedia.org/wiki/Simulated_annealing'&gt;Simulated annealing&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Example #1: A situation where you drink too much. You will try to optimize the fun you get from the people in the party. At the beginning of the search, the 'temperature' of your drunkness is high and you will tend to switch conversations from one person to another, even if the second person is not as interesting as the one you were talking with. When the night passes by, your drunkness gets colder, you get depressed and you tend to just stay with the person you have nearby.&lt;br /&gt;&lt;br /&gt;Example #2: Relationships. Isn't it easier to quit a relationship in the very beginning of it rather than quitting after three years? &lt;br /&gt;&lt;br /&gt;&lt;a href='http://en.wikipedia.org/wiki/Greedy_algorithm'&gt;Greedy algorithms&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Why do people try to pack things into a bag using greedy strategies? Things like picking the bigger item at each step and putting it in the bigger hole available. It just doesn't work! It's the kind of NP problems that don't accept greedy strategies!&lt;br /&gt;&lt;br /&gt;What about life? In life we try to maximize the accumulated pleasure throughout the lived years. We usually take a greedy approach for solving the pleasure of life, but a lot of people find real happiness by introducing random deviations in the search space, for instance, relocating in a different country for no apparent reason.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/901450827416843192-4025640853333303974?l=ferrerabertran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ferrerabertran.blogspot.com/feeds/4025640853333303974/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://ferrerabertran.blogspot.com/2009/11/life-as-search-algorithm.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/901450827416843192/posts/default/4025640853333303974'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/901450827416843192/posts/default/4025640853333303974'/><link rel='alternate' type='text/html' href='http://ferrerabertran.blogspot.com/2009/11/life-as-search-algorithm.html' title='Life as a search algorithm'/><author><name>Pere Ferrera Bertran</name><uri>http://www.blogger.com/profile/15193988750211986641</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_pdu3R1NtfUs/Sv00ZbDKUtI/AAAAAAAAAAQ/zqs9MYnLa6o/S220/0f2e6de.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-901450827416843192.post-3401965676819801761</id><published>2009-11-13T01:31:00.000-08:00</published><updated>2009-11-13T02:20:17.811-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='simplicity engineering complexity complicated simple music algorithms'/><title type='text'>About simplicity</title><content type='html'>The older I get, the more I tend to value simplicity. Engineers like me are already taught in early stages of their learning processes that good solutions are often simple ones. Nonetheless we keep increasing the complexity of problems which are, by nature, far simpler.&lt;br /&gt;&lt;br /&gt;Not that I can consider myself too old, but situations where I recall past mistakes arise more and more often. Thoughts like 'No, this ain't going to work' or 'I have to think about a simpler approach', 'This whole thing is getting too complex'. Not only in engineering aspects of my life, but also in musical and social ones.&lt;br /&gt;&lt;br /&gt;Do young people make things too complex because of their natural amount of energy? Is this energy lost with time - mainly because of failed experiences - or does it simply flow in a different, wiser and more controlled way?&lt;br /&gt;&lt;br /&gt;I remember in my first years of learning piano the sensation of being frustrated just because 'I couldn't play that fast'. I wanted to play all sorts of complicated rhythms, harmonies and melodies. Today I would just be happy of being able to record a warm sound - one that is warmer enough.&lt;br /&gt;&lt;br /&gt;True complexity seems to be hidden behind neat simplicity.&lt;br /&gt;&lt;br /&gt;P.D. - You can check the &lt;a href='http://www.pedroferrera.net/projects.html'&gt;"Simplicity proof-of-concept" experiment&lt;/a&gt; I did in a programming contest. I created a super-simple football team which happened to be better than 75% of the teams in the contest.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.pedroferrera.net/grids.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 356px; height: 552px;" src="http://www.pedroferrera.net/grids.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/901450827416843192-3401965676819801761?l=ferrerabertran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ferrerabertran.blogspot.com/feeds/3401965676819801761/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://ferrerabertran.blogspot.com/2009/11/about-simplicity.html#comment-form' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/901450827416843192/posts/default/3401965676819801761'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/901450827416843192/posts/default/3401965676819801761'/><link rel='alternate' type='text/html' href='http://ferrerabertran.blogspot.com/2009/11/about-simplicity.html' title='About simplicity'/><author><name>Pere Ferrera Bertran</name><uri>http://www.blogger.com/profile/15193988750211986641</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_pdu3R1NtfUs/Sv00ZbDKUtI/AAAAAAAAAAQ/zqs9MYnLa6o/S220/0f2e6de.jpg'/></author><thr:total>3</thr:total></entry></feed>
